←2012-12-22 2012-12-23 2012-12-24→ ↑2012 ↑all
00:00:39 -!- sebbu4 has joined.
00:00:40 <zzo38> Do you mean things like bind2 = join .: liftA2 and so on?
00:00:41 <Sgeo> Which takes the appearance of a function ??? :: (Monad m) => m a -> a
00:00:41 -!- sebbu4 has quit (Excess Flood).
00:00:57 <Sgeo> Said function can only be used in a certain context
00:01:03 <monqy> what do you mean takes the appearance
00:01:04 <zzo38> You need a macro, then.
00:01:07 <monqy> and used in a certain context
00:01:08 -!- sebbu4 has joined.
00:01:08 -!- sebbu4 has quit (Changing host).
00:01:08 -!- sebbu4 has joined.
00:01:11 <zzo38> It is not a function.
00:01:17 <monqy> I don't think you're speaking haskell
00:01:30 <monqy> you're speaking (???language) with haskellish syntax
00:01:34 <Sgeo> monqy, yes
00:01:40 <elliott> 23:59:35 <Sgeo> An applicative-ish syntax for using monads
00:01:44 <elliott> do you mean applicatives
00:01:54 <elliott> alt. have you seen the work on effect systems
00:02:01 -!- sebbu4 has changed nick to sebbu.
00:02:04 <Sgeo> Haven't seen the work on effect systems :(
00:02:07 <FreeFull> I'm thinking m a -> a would cause a lot of trouble with the IO monad
00:02:10 <monqy> Sgeo: well my point with you should express your thoughts in haskell is we don't know what you're talking about when you use these weird terms
00:02:15 -!- GreyKnight has quit (Ping timeout: 265 seconds).
00:02:26 <elliott> eff, frank, etc.
00:02:32 <Sgeo> monqy, the best I can do is Haskell with shift and reset forms
00:02:49 <elliott> how about haskell with the Cont monad
00:03:01 <elliott> since it is a first-class representation of delimited continuations
00:03:03 <elliott> that already exists
00:03:14 <monqy> FreeFull: the point is sgeo isn't speaking haskell. he's speaking a weird thing.
00:03:33 <Sgeo> FreeFull, it shouldn't
00:04:04 <monqy> FreeFull: don't think anything sgeo's saying applies to haskell....
00:04:23 <FreeFull> What does it apply to?
00:04:31 <monqy> idk something weird
00:04:34 <monqy> but not haskell
00:04:54 <Sgeo> It's not "really" taking an arbitrary m a and turning it into a, it's taking the rest of the computation up to the reset, with its location as \a ->, and using >>= on its argument and that lambda
00:05:18 <Sgeo> Oh, I know: It's a bit like calling <- a function
00:05:22 <zzo38> Maybe it can apply to Ibtlfmm but even if it does, it would be a macro, and not a function.
00:05:31 -!- GreyKnight has joined.
00:05:49 <elliott> remember that time I proposed using Cont rather than confusing people
00:06:03 -!- GreyKnight has quit (Client Quit).
00:06:06 <zzo38> elliott: How is that?
00:06:07 <Sgeo> I propose that this is for languages that don't have do
00:06:12 <monqy> remember that time I hinted in that direction and made explicit sgeo was confusing people
00:06:12 <Sgeo> And that do is ugly
00:06:24 <FreeFull> What would be a language that would be the opposite of Haskell?
00:06:32 <monqy> FreeFull: meaningless question
00:06:45 <elliott> Sgeo: i propose that this proposal is completely irrelevant to your question...
00:06:58 <monqy> Sgeo: could you -please- use Cont so I can understand what you're saying
00:07:03 <elliott> Sgeo: i assume you have heard of applicative notation right
00:07:07 <monqy> Sgeo: because otherwise I'm not getting anything out of your words
00:07:09 <elliott> since this sounds like you're edging in that direction but in a really weird way
00:07:15 <elliott> of course you still won't be able to do join which is kind of important
00:07:27 <Sgeo> ??? (??? a) is join
00:07:37 <monqy> idiom brackets can do join!!!!!!can't they
00:07:40 <FreeFull> elliott: Applicative doesn't really do m a -> a
00:08:08 <Sgeo> I'm not "really" doing m a -> a either, just the illusion of it
00:08:13 <monqy> FreeFull: sgeo was never talking about m a -> a. he was talking about somethign weird that he -called- m a -> a
00:08:22 <Sgeo> Maybe I should just go write Factor code, would that help?
00:08:32 <FreeFull> Might do
00:08:34 <elliott> no
00:08:42 <monqy> we don't know factor we know Cont
00:08:49 <monqy> so can you please use Cont to communicate with us
00:09:03 <Sgeo> What are the types of shift and reset in Cont?
00:09:05 <monqy> otherwise we won't be very helpful??
00:09:09 <elliott> still would like an answer to my Applicative question
00:09:18 <FreeFull> Sgeo: What are the stack effects of shift and reset in Factor?
00:09:19 <monqy> o yes i would like an answer to that too
00:09:25 <hagb4rd> you should know that monqy exists in 3 persons..father son and..
00:09:38 <hagb4rd> the beast
00:09:45 <elliott> shift f = Cont (flip runCont id . f)
00:09:52 <elliott> reset m = return (runCont m id)
00:09:54 <elliott> is the form oleg uses
00:09:58 <elliott> runCont and Cont work just fine though
00:09:59 <elliott> :t runCont
00:10:01 <lambdabot> Cont r a -> (a -> r) -> r
00:10:03 <elliott> :t cont
00:10:05 <lambdabot> ((a -> r) -> r) -> Cont r a
00:10:11 <Sgeo> f <$> ma <*> mb <*> pure c <*> md --> f (??? a) (??? b) c (??? d)
00:10:24 <elliott> so (| f a b ~c d |)
00:10:51 <elliott> anyway just look at frank and eff if you want applicative notation for effects
00:12:06 -!- oerjan has quit (Quit: Good night).
00:12:09 <elliott> Sgeo: but, your ??? function still clearly doesn't exist in Haskell
00:12:20 <elliott> if you want to work with the effect of a continuation then you want to write with Cont
00:12:22 <FreeFull> Sgeo: f <$> ma <*> mb <*> pure c <*> md would return the m d of md :: m d though
00:12:29 <elliott> what
00:12:32 <elliott> ?????
00:12:33 <elliott> what
00:13:07 <FreeFull> I mean, if m is [], then it will return a [] d
00:13:26 <elliott> that's not true
00:13:32 <elliott> are you familiar with Applicatives?
00:13:55 <FreeFull> > (+) <$> [1] <*> [2]
00:13:57 <lambdabot> [3]
00:14:31 <monqy> > (\ a b -> show (a + b)) <$> Just 1 <*> Just 2
00:14:33 <lambdabot> Just "3"
00:14:41 <Sgeo> I'm just going to go ahead and call it mamb
00:14:44 <Sgeo> And write code
00:14:46 <monqy> nb that is not Maybe Int
00:14:49 <FreeFull> monqy: Oh yeah, you're right
00:15:15 <elliott> Sgeo: just call it "wtf". it's nothing to do with amb really
00:15:27 <FreeFull> It returns m b of f :: a -> b
00:16:02 <Sgeo> In Factor, { 1 2 3 } amb seems to return a 1, unless backtracking occurs, in which case it returns 2, unless that backtracks too, in which case it returns 3
00:17:50 <FreeFull> Of course I have no idea what backtracking means here
00:18:10 <monqy> does anyone
00:18:55 <Sgeo> { 1 2 3 } amb dup 2 = require .
00:18:57 <Sgeo> Will print 2
00:19:35 <zzo38> O, so that is how it works.
00:19:45 <FreeFull> So require goes back and undoes everything until it gets a true?
00:19:57 <Sgeo> FreeFull, yes
00:21:27 <FreeFull> How does it mix with IO?
00:22:14 <Sgeo> The IO will get performed each time around. So probably a bad idea to mix them
00:23:21 <FreeFull> Depends on the IO I suppose
00:24:07 <FreeFull> How far does require go back to? The nearest amb?
00:25:03 <Sgeo> The nearest amb, unless that amb fails entirely, in which case it goes up an amb
00:26:02 <coppro> FreeFull: how it actually works is it saves the continuation
00:26:14 <coppro> and then runs it until it erorrs, and if it does, it retries with the next option
00:28:22 <FreeFull> I don't see how this would make any sense for anything other than a [] of options
00:29:35 <FreeFull> Or something similar in structure
00:30:20 <Bike> you can do it with infinite sets pretty easily
00:33:58 -!- azaq23 has joined.
00:38:43 <Sgeo> What would be a good non-listy monad to try my idea out on
00:38:47 <Sgeo> Not counting Cont
00:39:02 <Sgeo> (I'm considering Maybe to be listy)
00:39:43 <Ngevd> (->) r?
00:40:00 <Ngevd> Don't know what idea you're working on, though
00:41:47 <monqy> Writer, IO
00:42:47 <kmc> ((->) r) is also like a data structure
00:42:50 * Sgeo attempts to process wtf this looks like in Writer
00:42:53 <kmc> indexed by elements of r
00:42:54 <elliott> reverse state monad
00:43:06 <kmc> there's some formal distinction between data structure like monads and other ones
00:43:13 <kmc> but i forgot
00:43:14 <elliott> Sgeo: should be utterly trivial for Writer
00:43:20 <elliott> since you can implement Writer w a -> a
00:53:34 <Sgeo> wot
00:53:37 <Sgeo> "Generic word length does not define a method for the cons class."
00:55:09 <monqy> hi
00:56:48 <Sgeo> IN: scratchpad [ { 1 2 3 } mamb { 2 4 6 } mamb + 1array ] areset .
00:56:48 <Sgeo> { 3 5 7 4 6 8 5 7 9 }
00:57:16 <monqy> what's this
00:57:29 <Bike> mamb bamb bo bamb
00:57:38 <Sgeo> mamb working the way I want it to with the list monad
00:58:20 <Ngevd> Is that just (+) <$> [1,2,3] <*> [2,4,6]?
00:58:31 <Ngevd> But in a weird language I know not of
00:58:50 <Sgeo> Let's try join
01:00:16 <Sgeo> IN: scratchpad [ { { 1 2 } { 3 4 } { 5 6 } } mamb mamb 1array ] areset .
01:00:17 <Sgeo> { 1 2 3 4 5 6 }
01:00:59 <Ngevd> Success?
01:01:10 <FireFly> Is that Joy or Factor or something?
01:01:18 <Sgeo> Factor
01:02:25 <kmc> that should be in the /topic
01:02:35 <kmc> $SGEO_LANGUAGE
01:02:51 <Bike> but where else would i learn about omphaloskepsis
01:03:33 <Ngevd> Goodnight!
01:03:36 -!- Ngevd has quit (Quit: Leaving).
01:04:24 <Sgeo> I can't write a with-monad
01:04:32 <Sgeo> Because the list monad in Factor is too broken for that
01:08:40 <Sgeo> The next time I hear about someone doing a "straight translation" of monads from Haskell to another language, I will slap them
01:09:30 <elliott> something about mamb
01:12:55 -!- nooga has joined.
01:19:52 <Sgeo> This thing is acting a bit like do notation except possibly nicer
01:19:53 <Sgeo> I think
01:20:22 <Sgeo> In a more applicative language it might be nicer?
01:21:44 -!- nooga has quit (Ping timeout: 252 seconds).
01:22:32 <Sgeo> So, reader monad test ?
01:22:36 <monqy> what are you even talking about
01:23:10 <monqy> (im back hi)
01:23:16 <monqy> e.g.
01:23:18 <monqy> 17:04:24 <Sgeo> I can't write a with-monad
01:23:19 <monqy> 17:04:32 <Sgeo> Because the list monad in Factor is too broken for that
01:23:19 <monqy> 17:08:40 <Sgeo> The next time I hear about someone doing a "straight translation" of monads from Haskell to another language, I will slap them
01:23:22 <monqy> what does this mean
01:23:22 <monqy> and also
01:23:26 <monqy> 17:19:52 <Sgeo> This thing is acting a bit like do notation except possibly nicer
01:23:29 <monqy> 17:19:53 <Sgeo> I think
01:23:32 <monqy> 17:20:22 <Sgeo> In a more applicative language it might be nicer?
01:23:34 <monqy> that
01:23:37 -!- nooga has joined.
01:23:51 <elliott> it just looks like idiom brackets but noisier to me
01:24:04 <elliott> not convinced it is possible to represent join with this notatoin
01:24:10 <elliott> oh I guess he di dthat
01:24:12 <elliott> *did that
01:24:20 <Sgeo> IN: scratchpad [ ask mamb 15 + reader-monad return ] areset 5 run-reader .
01:24:20 <Sgeo> 20
01:25:15 <monqy> ????
01:27:07 <Sgeo> http://paste.factorcode.org/paste?id=2821
01:27:35 <Sgeo> Oh, whoops, prettyprint's not needed in there
01:27:37 <monqy> could you explain what these things mean
01:27:40 <monqy> & what they are doing
01:28:00 <Sgeo> areset and ashift are just me making delimited continuation operators that work the way I want them to
01:28:23 <Sgeo> Using a dynamically-scoped variable rather than actually passing quotations around on the stack
01:29:02 <monqy> but what is mamb
01:29:30 <monqy> i'm not a "factor guy" i can't look at this and immediately see what it means
01:29:44 <Sgeo> (define (mamb ma) (shift k (bind ma k)))
01:29:48 <Sgeo> ^^Scheme
01:31:38 <Sgeo> mamb calls bind with its argument and the current continuation
01:31:48 <monqy> yes i know but what is mamb supposed to do conceptually...
01:32:04 <elliott> :t \ma -> Cont (\k -> (ma >>= k))
01:32:05 <lambdabot> Not in scope: data constructor `Cont'
01:32:05 <lambdabot> Perhaps you meant one of these:
01:32:05 <lambdabot> `Const' (imported from Control.Applicative),
01:32:09 <elliott> :t \ma -> cont (\k -> (ma >>= k))
01:32:10 <lambdabot> Monad m => m a -> Cont (m b) a
01:32:37 <elliott> :t let wtf ma = cont (\k -> (ma >>= k)) in (+) <$> wtf [1, 2, 3] <*> wtf [4, 5, 6]
01:32:38 <lambdabot> Num b => ContT [b1] Identity b
01:32:55 <elliott> :t let wtf ma = cont (\k -> (ma >>= k)) in evalCont $ (+) <$> wtf [1, 2, 3] <*> wtf [4, 5, 6]
01:32:56 <lambdabot> Not in scope: `evalCont'
01:33:01 <elliott> :t let wtf ma = cont (\k -> (ma >>= k)) in flip runCont ?f $ (+) <$> wtf [1, 2, 3] <*> wtf [4, 5, 6]
01:33:03 <lambdabot> (?f::a -> [b], Num a) => [b]
01:33:08 <elliott> > let wtf ma = cont (\k -> (ma >>= k)) in flip runCont return $ (+) <$> wtf [1, 2, 3] <*> wtf [4, 5, 6]
01:33:10 <lambdabot> Terminated
01:33:14 <elliott> oh hm
01:33:35 <FireFly> Where can I read up on what this mamb/amb thing is?
01:33:35 <elliott> > let wtf ma = cont (\k -> (ma >>= k)) in flip runCont return $ (+) <$> wtf [1, 2, 3] <*> wtf [4, 5, 6]
01:33:36 <lambdabot> [5,6,7,6,7,8,7,8,9]
01:33:42 <elliott> > (+) <$> [1,2,3] <*> [4,5,6]
01:33:44 <lambdabot> [5,6,7,6,7,8,7,8,9]
01:33:53 <elliott> Sgeo: tada, was that really so hard you couldn't have done it originally
01:33:55 <monqy> FireFly: nobody knows what mamb is, amb is well-documented
01:34:08 <elliott> i know what mamb is now
01:34:52 <elliott> Sgeo: anyway see http://blog.sigfpe.com/2008/12/mother-of-all-monads.html
01:34:57 <Sgeo> elliott, that <$> and <*> for the wtf usage is only necessary because you need to use the Cont monad along with <$> and <*> to get shift and reset
01:35:13 <elliott> Sgeo: your mamb is exactly i
01:35:13 <elliott> no
01:35:23 <elliott> you don't understand my point at all
01:35:29 <Sgeo> elliott, isn't that exactly what I am doing? Taking nice syntax for the Cont monad and turning it into nice syntax for all monads
01:35:39 <elliott> nice syntax for the Cont monad = nice syntax for all monads
01:35:41 <elliott> it's equivalent
01:35:52 <elliott> what you've done is reinvent idiom brackets, which work for Cont too
01:36:58 <elliott> or rather
01:37:00 <elliott> "reverse idiom brackets"
01:37:03 <elliott> where you mark the impure expressions
01:37:08 <elliott> but the translation is basically the same
01:37:35 <elliott> (| f x y z |) = f <$> x' <*> y' <*> z' where (~x)' = x; y' = pure y
01:37:53 <elliott> well
01:37:57 <elliott> you get join too I guess but it's kind of freaky
01:38:09 <elliott> > let wtf ma = cont (\k -> (ma >>= k)) in wtf (wtf [1,2,3])
01:38:10 <lambdabot> No instance for (GHC.Show.Show
01:38:10 <lambdabot> (Control.Monad.Trans.Con...
01:38:12 <elliott> right
01:38:39 <elliott> > let wtf ma = cont (\k -> (ma >>= k)) in wtf [1,2,3] >>= twf
01:38:40 <elliott> > let wtf ma = cont (\k -> (ma >>= k)) in wtf [1,2,3] >>= wtf
01:38:41 <lambdabot> Not in scope: `twf'
01:38:41 <lambdabot> Perhaps you meant `wtf' (line 1)
01:38:42 <lambdabot> No instance for (GHC.Num.Num [b0])
01:38:42 <lambdabot> arising from a use of `e_1123'
01:38:42 <lambdabot> Possi...
01:38:44 <elliott> :t let wtf ma = cont (\k -> (ma >>= k)) in wtf [1,2,3] >>= wtf
01:38:45 <lambdabot> Num [b] => ContT [b1] Identity b
01:38:49 <elliott> :t let wtf ma = cont (\k -> (ma >>= k)) in wtf [1,2,3]
01:38:50 <lambdabot> Num a => Cont [b] a
01:39:03 <elliott> :t let wtf ma = cont (\k -> (ma >>= k)) in wtf (wtf [[1,2],[3]])
01:39:04 <lambdabot> Num t => Cont (ContT [b1] Identity b) [t]
01:39:13 <elliott> :t let wtf ma = cont (\k -> (ma >>= k)) in wtf [[1,2],[3]] >>= wtf
01:39:15 <lambdabot> Num b => ContT [b1] Identity b
01:39:23 <elliott> > let wtf ma = cont (\k -> (ma >>= k)) in runCont (wtf [[1,2],[3]] >>= wtf) id
01:39:24 <lambdabot> No instance for (GHC.Num.Num [b0])
01:39:24 <lambdabot> arising from a use of `e_1123'
01:39:24 <lambdabot> Possi...
01:39:31 <elliott> oh
01:39:32 <elliott> > let wtf ma = cont (\k -> (ma >>= k)) in runCont (wtf [[1,2],[3]] >>= wtf) return
01:39:34 <lambdabot> [1,2,3]
01:39:35 <elliott> duh
01:39:38 <elliott> right
01:39:57 <elliott> Sgeo: anyway this sounds kind of awful in practice
01:40:11 <elliott> having to write putStrLn (foo (foo getLine)) everywhere
01:40:16 <elliott> but you should take a look at eff and frank
01:57:09 <Sgeo> When you say frank I keep thinking that units calculation thingy
01:57:20 <zzo38> (Cont x) is like (Codensity (Const x)) so they are Kan extensions. As they said, everything is Kan extensions.
01:57:26 <elliott> that's frink
02:01:50 <kmc> i bet a blog post complaining about ");});});" syntax in JavaScript and comparing it unfavorably to Lisp would get approximately one billion comments on hacker news
02:02:38 <Bike> but at what cost? your very soul, kmc!
02:02:42 <kmc> exactly
02:02:44 <Fiora> if it also talked about how sexism in geek circles didn't exist it would get at least 2 billion
02:02:47 <kmc> that's why i'm not going to do it
02:03:03 <Bike> also i thought javascript had semicolon removal rules
02:03:26 <kmc> Fiora: straight white programmers with self-diagnosed aspbergers are the *real* persecuted minority!
02:03:39 <Fiora> oh wow I still have this thing bookmarked I saw
02:03:41 <Fiora> http://us2.campaign-archive1.com/?u=193b767bbb3b0eb0d949d5924&id=0c3a567f95&e=5603c292b3
02:03:50 <Jafet> I would think that the prospect of getting a billion comments on hacker news is enough motivation to not do it
02:03:54 <zzo38> kmc: You might be correct. Maybe...
02:03:57 <Fiora> A Story About Sexism in Tech Filled With Sexist Comments Denying Sexism in Tech
02:04:07 <Bike> whoa, it's like i'm really reading it
02:04:12 <Fiora> I -know=
02:04:14 <Fiora> it's perfect
02:04:25 <kmc> Bike: it does, but omitting the semicolons is super tacky
02:04:39 <Bike> «Startup Celebrity says, "Bold statement, out of context"» is "Startup Celebrity" a real thing :(
02:04:46 <kmc> or anyway JSLint will complain about it
02:04:48 <Bike> kmc: yeah well so's lisp ohhhhh
02:04:53 <Fiora> I suppose someone like zuck counts?
02:05:00 <zzo38> JavaScript semicolon removal rules might be the worst part
02:05:04 <Bike> "How I Left My Jobs as a Consultant to Found a Startup"
02:05:06 <kmc> Douglas Crockford is kinda crazy and super opinionated about minor syntax
02:05:33 <kmc> Fiora: i cried the day I saw someone on HN list Zuckerberg in the same list as RMS, Donald Knuth, John Carmak, and Linus Torvalds
02:06:01 <Bike> haha, did they really? rad
02:06:17 <kmc> How I Left My Job At A Startup Providing Services to Startups to Join a Startup Providing Services to Startups Providing Services to Startups
02:06:29 <kmc> if you're not working for at least a startup³ then you're just a MONKEY IN A CAGE man
02:06:39 <Fiora> I think HN's definition of celebrity involves making a lot of money and flipping a worthless startup for billions of dollars to some large company
02:06:59 <kmc> Fiora: thanks for the link, this is hilariou
02:07:13 <Bike> yeah i started reading HN for technical posts and then i realized that it was mostly startup crud i didn't care about
02:07:24 <kmc> Bike: let me know if you find a good venue for technical posts
02:07:30 <Fiora> I read it a looong time ago but it really seemed to stop posting the interesting things
02:07:37 <Bike> kmc: well, i read l-t-u but i don't think that's quite the same
02:07:37 <kmc> i think some bayesian filtering on HN might be the way to go
02:07:45 <Jafet> Most technical posts are also worthless crud not worth caring about
02:07:48 <Fiora> nowadays whenever I look it's like a 5% chance I find anything technical, otherwise it's all startup drama stuff
02:07:55 <kmc> i want to write a program which will feed me HN posts at a constant slow rate and I can flag them as shitty
02:07:58 <Fiora> and oh god the comments are horrid
02:08:12 <Bike> Jafet: yes, but crud about startups not worth caring about transcends standard crud.
02:09:01 <kmc> "How I remapped my capslock key to be both ESC and Ctrl" yessssssssss
02:09:05 <kmc> i should do that
02:09:07 <Fiora> I remember talking to someone at one point who actually told me she much preferred reddit /prog/, which says something about HN <_>
02:09:08 <kmc> there's a thing
02:09:15 <Jafet> Thanks for underlining your insight
02:09:18 <kmc> yeah i ragequit /r/programming a while ago
02:09:43 <kmc> http://www.reddit.com/r/coding seems reasonably high quality but has like 12 posts a month
02:09:51 <Bike> underlines are important, man. important
02:10:11 <Jafet> kmc: "therefore" hth
02:10:14 <Fiora> I really wish there was a good place for just, cool interesting sciency technology things
02:10:26 <Bike> "Are these glasses useful while coding, or is this a pseudo-science?"
02:10:28 <Fiora> without startup stuff, without neckbeards arguing about linux distros, without 500 sexist comments on everything
02:10:41 <kmc> i basically count on my friends / aquaintances talking about interesting posts online
02:11:00 <c00kiemon5ter> i count on you
02:11:06 <Bike> obviously what we need is something that's exactly like word of mouth, but with a better logo
02:11:10 <zzo38> Just because something is not science, does not necessarily make it pseudoscience.
02:11:25 <quintopia> wow what an interesting channel today
02:11:29 <kmc> maybe i should get on twitter and follow some people on twitter
02:11:44 <Sgeo> I'm on Twitter
02:11:52 <Sgeo> I should hook up my Tumblr to Twitter
02:12:04 <kmc> i,i http://jerkcity.com/_jerkcity4960.html
02:12:11 <Fiora> I get some things from tumblr at least
02:12:16 <Bike> oh, r/prog has a post on "implementing dependent type theory, part I" so that works
02:12:18 <Fiora> I follow people who post lots of astrophysicsy and astronomy stuff
02:12:44 <Fiora> christinetheastrophysicist, astrotastic, astronemma, etc
02:13:49 <elliott> Why Go Can't Scale Past 2 Billion Users
02:13:51 <elliott> this is good
02:14:02 <elliott> Voyager Season One Has Left Cable Syndication
02:14:04 <elliott> really good
02:20:17 -!- nooga has quit (Ping timeout: 255 seconds).
02:22:02 -!- augur has joined.
02:24:55 <Sgeo> elliott, which is likely to be easier for me to understand first, eff or frank?
02:25:23 <elliott> no idea
02:25:50 <elliott> see https://personal.cis.strath.ac.uk/conor.mcbride/pub/Frank/test.fk
02:25:54 <elliott> or https://personal.cis.strath.ac.uk/conor.mcbride/pub/Frank/TFM.pdf
02:26:04 <elliott> or
02:26:09 <elliott> http://math.andrej.com/2010/09/27/programming-with-effects-ii-introducing-eff/
02:26:49 <Sgeo> That post says that eff has changed considerably
02:27:43 <Sgeo> eep that :: confused me for a second
02:27:55 <Sgeo> It's almost like Haskell is the US of the functional world
02:28:14 <Sgeo> In that it uses :: for types and : for con, where everyone else uses : for types and :: for con
02:28:17 <kmc> hahaha
02:28:18 <Sgeo> s/con/cons/g
02:28:18 <kmc> yes
02:28:18 <Bike> what the hell does that me- oh
02:29:04 <shachaf> That's taken from Miranda.
02:29:26 <Bike> i thought it was going to be some convoluted political metaphor. java is china, or something. and DEBT is crosshatched everywhere
02:29:41 <kmc> the Haskell 98 report is divinely inspired and is a perfect foundation for civilization
02:29:58 <Bike> the pure city on the hill
02:29:58 <kmc> you can pry my monomorphism restriction from my cold dead hands
02:30:45 <Jafet> Haskell 2010 followers are mormons?
02:30:54 <shachaf> kmc: uh pretty sure you mean the haskell 1.4 report
02:30:57 <kmc> canadians
02:31:18 <Bike> shachaf: that can be the articles of confederation.
02:36:32 <Sgeo> x.lookup() + x.lookup()
02:36:43 <Sgeo> I assume that that's the implicit sequencing that it's warning about/
02:39:40 <Sgeo> elliott, monqy Fiora update
02:40:18 <shachaf> Bike: update
02:40:43 <shachaf> Sgeo: Your new job is to tell me when GitHub comes back up.
02:41:13 <Bike> elliot: update
02:41:40 -!- copumpkin has quit (Ping timeout: 252 seconds).
02:42:20 -!- copumpkin has joined.
02:44:31 <Sgeo> elliott, I guess I should read the theory stuff too?
02:44:39 <Sgeo> And then consider how to implement this in some language
02:45:11 <elliott> just read the frank stuff
02:45:19 <elliott> implementation is basically trivial in terms of a free monad
02:46:48 <zzo38> What are you implementing?
02:46:50 <Sgeo> I have no idea what a free monad is
02:47:06 <elliott> data Free f a = Return a | Free (f (Free f a))
02:47:08 <zzo38> data Free f x = Pure x | Free (f (Free f x));
02:47:29 <elliott> cf. http://hackage.haskell.org/package/free, http://hackage.haskell.org/package/operational (equivalent)
02:47:38 <shachaf> Free f a = (a, f (a, f (a, f (...
02:47:42 <c00kiemon5ter> github..
02:47:55 <c00kiemon5ter> i think I'll switch to bitbucket for good
02:48:09 <Sgeo> So, it lets you use any type constructor in a monadic way somehow?
02:48:47 <zzo38> And then join (Free x) = Free (join <$> x); I think
02:49:48 <shachaf> Wait.
02:49:49 <Sgeo> elliott, is this effects stuff in eff just a nicer way to define a monad?
02:49:51 <shachaf> That's Cofree
02:49:57 <shachaf> Why did I write Cofree. :-(
02:50:08 <elliott> Sgeo: I don't understand what you mean by that.
02:50:09 <shachaf> Free f a = Either a (f (Either a (f (Either a (f ...
02:50:20 <zzo38> It requires f to be a functor, but you can also use the right and left Yoneda
02:50:33 * Sgeo is unsure if the "magical" choice thing that always selects te value that leads to the lowest result is a monad
02:50:48 * Sgeo thinks it is
02:50:56 <Sgeo> Yeah, I see how to do it as a monad
02:51:10 <Sgeo> Erm, I mean, by defining bind
02:52:21 <zzo38> For example if you have data X :: * -> * where { GetChar :: X Char; PutChar :: Char -> X (); }; and then you can make (Free (CoYoneda X))
02:53:21 -!- augur has quit (Read error: Connection reset by peer).
02:53:43 <Sgeo> Typo
02:53:45 <Sgeo> "Eff has a builting effect io"
02:54:29 -!- augur has joined.
02:55:20 <zzo38> So it is another use of GADT
02:59:59 <Sgeo> I'm going to be patient and try to understand the math
03:00:50 -!- WeThePeople has quit (Quit: Leaving).
03:23:33 <Sgeo> I don't quite understand this notation fi:Ani→A
03:23:53 <Sgeo> I gather that f is a function, but what does A^n_i -> A mean?
03:23:54 <monqy> whats the context
03:23:59 <Sgeo> http://math.andrej.com/2010/09/27/programming-with-effects-i-theory/
03:24:06 <kmc> https://twitter.com/HackerNewsTips
03:24:14 <Sgeo> "An algebra (A,f1,…,fk) is a set A together with maps fi:Ani→A for i=1,…,k, called the operations. "
03:24:48 <Sgeo> Oh, I guess that f_i can take a number of arguments?
03:25:09 <Sgeo> A number of arguments fixed for each individual f_i?
03:25:49 <monqy> f_i is a function from A^{n_i} to A. depending on what n_i is, A^{n_i} is either the set of tuples of n_i A's, or functions from the set n_i to A
03:26:17 <Sgeo> The former, I think
03:27:02 <monqy> if n_i is a number you can pretend it means finite set with that many elements and then it's ~"the same thing"
03:27:37 -!- azaq23 has quit (Quit: Leaving.).
03:27:58 <Sgeo> The person is now doing arities that are arbitrary sets
03:28:15 <monqy> ok
03:36:33 * Sgeo decides to just skip that post and look at Frank
03:36:49 <monqy> oh?
03:37:47 <Sgeo> https://personal.cis.strath.ac.uk/conor.mcbride/pub/Frank/test.fk
03:38:09 <monqy> yes i know what frank is
03:39:48 <Sgeo> Nat + Nat [] Nat
03:39:55 <monqy> yes
03:39:56 <Sgeo> I don't understand that example
03:40:02 <monqy> what's not to understand about it
03:40:21 <Sgeo> Oh, is it a type declaration?
03:40:28 <monqy> you should read the notes
03:40:39 <Sgeo> "Here are some perfectly ordinary functions."
03:40:51 <Sgeo> Oh, after that
03:42:23 <Sgeo> The dull function is rather ... dull
03:42:31 <monqy> :)
03:42:53 -!- copumpkin has quit (Ping timeout: 252 seconds).
03:43:35 -!- copumpkin has joined.
03:49:22 -!- augur has quit (Remote host closed the connection).
03:54:30 <Sgeo> Trying to be sure I understand the precedence here
03:54:32 <Sgeo> Is this
03:54:34 <Sgeo> state _ [set s ? k] = state s ? k ()
03:54:35 <Sgeo> The same as
03:54:41 <Sgeo> state _ [set s ? k] = state (s ? k ())
03:54:57 <Sgeo> erm, wait, that doesn't work...
03:55:01 <Sgeo> Now I'm very confused
03:55:21 <monqy> hi im back whats up
03:57:00 <Sgeo> That state function
03:57:15 <Sgeo> In that branch, it's calling state again, right? But with what arguments?
03:57:17 <monqy> ok i'll try & explain it
03:57:23 <elliott> it's (state s) ? k ()
03:57:30 <monqy> ok elliott explains it
03:57:52 <elliott> which you can think of as state s (? (k ())
03:57:56 <elliott> )
03:58:00 <Sgeo> Wait, I can?
03:59:04 <Sgeo> I was wondering if it was maybe (state s) ? (k ())
03:59:22 <Sgeo> I take it it's not, though
04:00:15 <Sgeo> Would reading the PDF be easier?
04:02:26 <monqy> Sgeo: state describes how to run a stateful request. if your request is to set the state to s & your continuation is k, you recursively do stuff with your state being s (the thing you set your state to) and whatever you get when you pass unit to your continuation
04:04:33 <monqy> Sgeo: what in particular about that doesn't make sense?
04:05:41 <monqy> & i forget if the pdf is "easier" or not
04:05:54 <monqy> but there's nothing challenging about test.fk.....
04:06:54 <Sgeo> I guess what the ? operation does, exactly
04:06:59 <Sgeo> Why isn't it just k ()
04:08:32 <elliott> turns the stateful computation into its "interpretation"
04:08:40 <elliott> state s (k ()) would execute k ()
04:08:46 <elliott> which is totally not what you want
04:08:55 <elliott> because, remember, the whole point of this is that you (Sgeo) want applicative effects
04:09:03 <elliott> s.t. you can write f (g x) (h x) where g and h are effectful
04:09:12 <elliott> so interpreter ? action calls interpreter with the [] stuff
04:09:26 <elliott> so yes ? is a binary operator here
04:09:54 <Sgeo> Ah, ok
04:11:28 -!- Arc_Koen has quit (Quit: Arc_Koen).
04:23:16 -!- nys has quit (Quit: quit).
04:30:14 <Sgeo> shachaf, are you the person who asked to be on a GitHub back up list?
04:30:31 <shachaf> Sgeo: Thanks!
04:30:36 <shachaf> Now please take me *off* the GitHub list.
04:47:29 -!- monqy has quit (Quit: hello).
04:58:41 <Sgeo> I might end up looking at both the PDF and the example thing
04:58:56 <Sgeo> I seem to learn best by reading as many different documentation sources as possible
05:05:10 <Sgeo> Hmm, I think I get the template thing now
05:18:38 <Sgeo> The PDF didn't really explain much
05:24:44 <zzo38> The fifty moves rule, threefold repetition rule, and perpetual check rule, do not necessarily require all three; either one of the first two will do.
05:26:07 <zzo38> Although having all three does sometimes change things, the game would work without.
05:29:56 <kmc> 'Lugging around a SOAP API in 2012? Replace all occurrences of "SOAP" with "Hand Crafted Vintage XML", and lure in the Portland tech scene.'
05:30:20 <kmc> 'The SaaS field is getting very overcrowded. Consider a Software as a Faustian Bargain approach to your product instead.'
05:30:52 <elliott> shachaf: hey, you can't ask to be off the list
05:30:54 <elliott> never works for anyone else
05:31:43 <elliott> :t either LEft
05:31:45 <lambdabot> Not in scope: data constructor `LEft'
05:31:45 <lambdabot> Perhaps you meant `Left' (imported from Data.Either)
05:31:45 <elliott> :t either Left
05:31:46 <lambdabot> (b -> Either a b1) -> Either a b -> Either a b1
05:32:08 <elliott> :t either Left (?f :: s -> Either t a)
05:32:09 <lambdabot> Unbound implicit parameter (?f::s -> Either t a1)
05:32:09 <lambdabot> arising from a use of implicit parameter `?f'
05:32:09 <lambdabot> In the second argument of `either', namely
05:32:17 <elliott> :t \f -> either Left (f :: s -> Either t a)
05:32:19 <lambdabot> Couldn't match type `t' with `s -> Either t1 a1'
05:32:19 <lambdabot> `t' is a rigid type variable bound by
05:32:19 <lambdabot> the inferred type of it :: t -> Either a b -> Either a b1
05:32:21 <elliott> ????
05:32:22 <elliott> Come on.
05:32:28 <elliott> :t \(f :: s -> Either t a) -> either Left f
05:32:29 <lambdabot> (s -> Either t a) -> Either t s -> Either t a
05:42:35 -!- ogrom has joined.
05:55:54 * Sgeo thinks that eff is more understandable
06:31:13 <zzo38> Is this data types OK? data Move = Resign | Draw | Castle CastlingSide | Move Square Square Piece deriving (Eq, Ord, Read, Show); type NAG = Word8; data AnnMove = AnnMove { annMove :: Move, annNAG :: NAG, annVar :: MoveList, annText :: String } deriving (Eq, Read, Show); type MoveList = [AnnMove];
06:35:39 <Jafet> Chess is overcomplicated
06:40:54 <kmc> "Ilyumzhinov claims to have been abducted from his Moscow apartment, in 1997, by extraterrestrials, who gave him a tour of the galaxy and taught him that chess came from outer space."
06:41:55 -!- augur has joined.
06:42:29 <Jafet> That's made-up nonsense. Everyone knows it was go.
06:43:43 -!- WeThePeople has joined.
06:43:59 -!- WeThePeople has quit (Changing host).
06:43:59 -!- WeThePeople has joined.
06:46:54 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer).
06:47:44 -!- augur has quit (Remote host closed the connection).
06:57:56 -!- Nisstyre-laptop has joined.
06:57:59 <zzo38> Yes, it was go, if any of them came from outer space, which it probably didn't. Is this like a counterfactual question?
07:26:50 <zzo38> I read that in one chess tournament, a player complained that the food given to his opponent was used as a code to give advice on what move to play.
07:27:15 <Bike> but... it's not a hidden information game anyway.
07:27:57 <zzo38> I know.
07:28:43 <zzo38> Nevertheless, you are not supposed to have advice from other players in nearly any tournament of any game, and time trouble can get in the way of things too.
07:29:16 <Bike> i just can't imagine mere advice being worth such an esoteric system.
07:29:37 <Fiora> it is
07:29:38 <zzo38> I don't know if it is true, but apparently someone complained about that.
07:29:48 <Fiora> there was an incident where a player was found cheating by hearing coughs from someone in the audience
07:29:57 <Bike> goddamn.
07:29:57 <Fiora> the coughing person was hooked up to a chess engine that was analyzing the game board
07:30:03 <Bike> what.
07:30:10 <Bike> that's some oceans eleven shit
07:30:13 <Fiora> there was also a guy who went to the bathroom and used some hidden device to try to communicate
07:31:30 <zzo38> I actually (not knowing of this incident) once tried to cheat on a multiple-choice section of an exam by coughing.
07:32:42 -!- Frooxius has quit (Ping timeout: 244 seconds).
07:33:40 <Fiora> http://en.wikipedia.org/wiki/Topalov#Kramnik.E2.80.93Topalov_match_controversy
07:34:40 <Fiora> "During the tournament at Subroto Park, Umakant Sharma was caught receiving instructions from an accomplice using a chess computer via a Bluetooth-enabled device which had been sewn into his cap.[14][15] His accomplices were outside the building, and were relaying moves from a computer simulation." omg
07:34:53 <Fiora> " Officials became suspicious after Sharma had made unusually large gains in rating points during the previous 18 months, even qualifying for the national championship.[15] Umakant began the year with an average rating of 1933, and in 64 games gained over 500 points to attain a rating of 2484. Officials received multiple written complaints alleging that Umakant's moves were in exactly the same sequence suggested by the chess computer
07:35:02 <Fiora> " Eventually, in the seventh round of the tournament, Indian Air Force officials searched the players on the top eight boards with a metal detector "
07:35:20 <Bike> i... how much money is at stake here
07:35:43 <Fiora> " Their plan involved one player, Cyril Marzolo, following the tournament at home and using the computer program to decide the best moves. He would send the moves by SMS to another player, Arnaud Hauchard, who would then stand or sit at various tables as a signal to the player, Sebastian Feller, to make a certain move."
07:35:50 <Fiora> (FIDE olympiad tournament 2010)
07:35:57 <Sgeo> I doubt that people would cheat at Arimaa or Go like that. Mostly because computers still aren't that great at those games
07:36:30 <Bike> also because less people care about those games. here in eastern europe, anyway
07:37:06 -!- epicmonkey has joined.
07:37:28 <Sgeo> That's a boring reason for there to be fewer cheaters
07:37:33 -!- asiekierka has quit (Excess Flood).
07:37:37 <Sgeo> Xom is bored.
07:37:41 <Bike> the idea of someone cheatingly getting advice from a Go program, and it being shitty advice, is pretty funny though.
07:37:52 <Fiora> I think it's just a really popular sport (relatively?) so like it's more common that it's bigger news I guess
07:38:09 * Fiora throws butterflies at Sgeo
07:38:23 <Bike> how the hell do you throw a butterfly?
07:38:48 <Fiora> sorry, crawl reference ~_~
07:39:20 <Sgeo> Fiora, have you ever watched a League of Legends video? Those get narrated as though it's a sport
07:39:21 <Sgeo> No joke
07:39:43 <zzo38> A sufficiently powerful computer would be able to solve all of these games.
07:39:44 <Fiora> I used to watch a lot of starcraft casts
07:39:54 <zzo38> However I don't know if the universe has such a capacity or not.
07:40:41 <Fiora> I'm kinda surprised so many people are cheating by just plugging in the moves from a computer. that's so lazy even @_@
07:40:42 <Bike> listening to league of legends videos is quite saddening.
07:40:45 <Fiora> they could at least do some centauring
07:40:51 <Bike> centaur...?
07:41:07 <Fiora> human-computer collaboration, where you use the computer as an exploratory tool combined with human thought
07:41:12 <Bike> do you mean having a chess grandmaster dress up as a horse and play as a horse
07:41:15 <Bike> oh.
07:41:20 -!- asiekierka has joined.
07:41:26 <Fiora> http://en.wikipedia.org/wiki/Kasparov_versus_the_World like this game (since they allowed computer usage) was basically a massive centaur-fest
07:41:27 <Bike> yeah, well. human interface is hard, man.
07:41:46 <Fiora> each side spending days throwing things into computers and analyzing lines of moves 20 or 30 long and doing all kinds of crazy things
07:41:51 <Fiora> kasparov wrote a whole book on it too, it was cool
07:42:01 <Bike> is your copy autographed
07:42:04 <Fiora> <_<;
07:42:09 <Fiora> no it isn't
07:42:10 <Bike> :P
07:42:18 <Fiora> I am not that much of a fangirl okay
07:42:19 <Fiora> not QUITE that much
07:42:33 <Bike> also, isn't kasparov kind of a nutty guy
07:42:40 <Fiora> he is kinda nutty, yeah
07:42:44 <Fiora> his chess books and writing are good though
07:43:08 <zzo38> When playing chess by mail, it is sometimes allowed to take advice from other people and computers.
07:43:44 <zzo38> Fiora: Have any of the people in that game programmed the computers they used?
07:43:58 <Sgeo> Bike, how are LoL videos saddening?
07:44:02 <Fiora> that big one? given the World was like tens of thousands of people working together probably yes? XD
07:44:10 <Fiora> I'd imagine there were at least some chess AI programmers in that bunch
07:44:26 <Fiora> kasparov was using Deep Junior
07:44:29 <zzo38> OK, yes I guess you are probably correct.
07:44:46 <Bike> Sgeo: the level of taking things seriously involved. it's pretty alien to me.
07:45:01 <Sgeo> Ah
07:45:19 <Bike> like you said, they treat it very much as a sport.
07:46:06 <Sgeo> It kind of scares me away a bit from wanting to try it. Since it's a team game, I'd be afraid of my teammates getting mad at me for my incompetence
07:46:11 <Fiora> I tried watching a dota game broadcast thing once, maybe it was dota 2
07:46:12 <Fiora> i
07:46:23 <Fiora> even though I had played some dota it was really hard to keep track of because there were 10 players involved doing all kinds of different things
07:46:28 <Sgeo> Also, my current computer can't handle it, so there's that
07:46:35 <Fiora> so it was really confusing
07:46:50 <Fiora> whereas starcraft was 1v1
07:47:00 <zzo38> With sufficient time you could analyze it manually, but the computer is much faster.
07:47:07 <Bike> It also seems like the kind of game where people complain about things being nerfed or balanced or whatever constantly. Which is pretty annoying. I can barely handle en passant.
07:47:23 <Fiora> Bike: bishops are op . nerf bishops
07:47:28 <zzo38> Why are you barely handle en passant?
07:47:29 <Fiora> rooks need a boost.
07:47:47 <Bike> zzo38: making a bit of a joke about the origins of that particular rule.
07:48:12 <zzo38> Fiora: There are many chess variants with many different kind of pieces
07:49:11 <Fiora> yeah, I know there's one with um... an archbishop? which is like this knight+bishop thing I think
07:49:32 <Fiora> http://en.wikipedia.org/wiki/Archbishop_(chess)
07:49:33 <zzo38> Yes; and the knight+rook is sometimes called chancellor.
07:49:47 <Bike> Are there any chess variants with a "pope" piece? And, say, papal elections, or a college of cardinals.
07:49:51 <Fiora> XD
07:49:57 <Bike> I could go for capturing some antipopes.
07:50:03 <Fiora> ohhh, they call chess variant pieces "fairy chess pieces"
07:50:12 <Fiora> and then there's bughouse chess which I remember people playing in college
07:50:13 <zzo38> Bike: Yes, I think in some games, the king which has bishop moves in addition, is called the pope.
07:50:17 <Fiora> which was kind of terrifyingly intimidating
07:50:26 <Bike> ironically, fairies actually just play Scrabble
07:50:30 <Fiora> I like chess960, that one's a fun variant though
07:50:35 <Bike> zzo38: i see. weird
07:51:06 <Bike> Fiora: is that one of the random ones?
07:51:10 -!- Nisstyre-laptop has quit (Quit: Leaving).
07:51:28 <Fiora> it's the random one bobby fischer came up with that has 960 possible starting positions
07:51:34 <Fiora> so that you have to play without opening books
07:51:50 <Fiora> it makes things really fun and screwy and is great for people like me who can't remember opening books
07:51:54 <Fiora> <_<;;;
07:53:12 <zzo38> I also like it the game which involves some random information, although what I like best is which has partially hidden information, as well as some random chance, but mostly involving skill.
07:54:17 -!- Nisstyre-laptop has joined.
07:55:44 <kmc> Sgeo: computers are good at go now
07:55:46 <kmc> http://blog.printf.net/articles/2012/02/23/computers-are-very-good-at-the-game-of-go/
07:56:42 <Bike> aw man. i'm running out of options for confusing malignant AIs.
07:57:46 <Fiora> still pretty far behind chess though
07:57:49 <Fiora> considerig um rybka
07:57:50 <Bike> http://www.gokgs.com/servlet/graph/zen19-en_US.png hot damn!
07:57:52 <kmc> http://static.fjcdn.com/pictures/Portal_3d66bd_2045584.jpg
07:58:43 <Fiora> though there's now houdini too which is all kinds of terrifying
07:59:09 <Bike> AIs are notoriously bad at nontraditional set theory
07:59:45 <Fiora> http://www.youtube.com/watch?v=xWdMqvGMxF4 this is a fun game if I remember right
07:59:59 <Fiora> houdini sacrifices three pawns for no apparent advantage whatsoever and then wins dozens of moves later
08:00:02 <zzo38> I think in some kinds of set theory, the set of all sets does contain itself. In other kinds, it is not a meaningful statement. I think.
08:00:29 <Bike> "This makes me sad because while I wasn’t foolish enough to believe that humans would always be better at Go than computers, I did think that the process of making a computer that is very good at Go might be equivalent to the process of acquiring a powerful understanding of how human cognition works;" aww.
08:00:34 <zzo38> Fiora: Do you have the PGN of the game you are refering to?
08:00:44 <Fiora> the About has a pgn I think
08:01:04 <Bike> zzo38: usually you have a "class" of all sets instead, but it varies. in ZFC it's not a meaningful statement because you can't define a set of all sets. so, yes
08:01:06 <Fiora> gosh now I want to go back and watch more of kingscrusher videos. he's fun
08:01:28 <Bike> nice name.
08:02:17 <Fiora> the game made him really happy because a reason a lot of chess people disliked computers is they seemed to demonstrate that a lot of wonderful sacrifices, gambits, and so on were unsound given enough analysis
08:02:18 <Bike> m, i think the author of this article may be slightly underestimating how interesting you can make writing a sudoku solver
08:02:31 <Fiora> but this was a game between two of the top level computers where one of them pulls off gambits and then wins
08:02:32 <zzo38> Bike: Well, I think that if you have a sufficiently powerful computer, it can solve the game and win perfectly; no undertsanding of human cognition or of human anything is required. However, I don't think any computer is that powerful and I am also unsure if the universe has the capacity for such a computer.
08:03:04 <kmc> non well founded set theory is the kind where sets can contain themselves
08:03:31 <Bike> zzo38: http://en.wikipedia.org/wiki/Blockhead_(computer_system)
08:03:51 <zzo38> Fiora: Were they two separate computers or two programs running on the same computer?
08:04:03 <Fiora> two separate computers but I assume with similar power
08:05:06 <zzo38> Bike: It also mentions the Chinese room; something else I have read about in another book.
08:05:19 <Bike> it comes up a lot, yes
08:05:56 <zzo38> And I see the Blockhead thought experiment too now!
08:05:58 <Bike> anyway, i'm more interested in intelligence that doesn't take O(fuckoff) space, is all
08:09:51 -!- WeThePeople has quit (Remote host closed the connection).
08:10:50 -!- asiekierka has quit (Excess Flood).
08:12:50 -!- asiekierka has joined.
08:15:13 <zzo38> I read also that, in one chess game, he was playing against someone who always moved the c-pawn on the first move and wanted them to play something different, so they stuck the pawn to c2 so that it won't move.
08:21:51 <Jafet> To force them to play something original, like e4?
08:23:04 <zzo38> It doesn't matter what; they just didn't want him to play the same move he always played.
08:23:12 <zzo38> At least, it is what I think. I am unsure.
08:36:26 -!- carado has joined.
09:00:12 -!- Bike has quit (Quit: sleep).
09:18:43 -!- oklofok has quit.
09:28:14 -!- nooga has joined.
09:39:50 -!- AnotherTest has joined.
09:39:58 <AnotherTest> Hello
09:40:01 -!- nooga has quit (Ping timeout: 245 seconds).
09:41:52 -!- augur has joined.
09:41:53 -!- nooga has joined.
09:52:34 -!- oerjan has joined.
09:57:09 -!- DHeadshot has joined.
09:59:28 -!- rodgort` has quit (Remote host closed the connection).
10:07:36 -!- rodgort has joined.
10:42:23 -!- oerjan has quit (Quit: leaving).
10:55:49 -!- zzo38 has quit (Remote host closed the connection).
10:56:04 -!- Nisstyre-laptop has quit (Ping timeout: 252 seconds).
11:00:42 -!- AnotherTest has quit (Read error: Connection reset by peer).
11:00:54 -!- AnotherTest has joined.
11:15:40 -!- copumpkin has quit (Ping timeout: 252 seconds).
11:16:13 -!- copumpkin has joined.
11:23:27 -!- ogrom has quit (Quit: Left).
11:52:06 -!- ais523 has joined.
12:12:15 -!- monqy has joined.
12:24:52 -!- aloril has quit (Read error: Operation timed out).
12:32:10 -!- aloril has joined.
12:32:46 -!- mekeor has joined.
12:59:14 -!- ogrom has joined.
13:39:15 -!- AnotherTest has quit (Read error: Connection reset by peer).
13:39:26 -!- AnotherTest has joined.
13:40:20 -!- copumpkin has quit (Ping timeout: 252 seconds).
13:41:00 -!- copumpkin has joined.
14:44:31 -!- WeThePeople has joined.
14:44:48 -!- WeThePeople has quit (Changing host).
14:44:48 -!- WeThePeople has joined.
14:48:49 <FreeFull> Humans are still better than computers at sokoban
14:50:06 <fizzie> Humans are still better than computers at getting drunk.
15:09:16 -!- ogrom has quit (Quit: Left).
15:09:43 -!- carado has quit (Ping timeout: 246 seconds).
15:20:59 -!- asiekierka has quit (Excess Flood).
15:21:53 -!- asiekierka has joined.
15:26:32 -!- asiekierka has quit (Excess Flood).
15:27:53 -!- asiekierka has joined.
15:31:50 -!- WeThePeople has quit (Quit: Leaving).
15:41:44 -!- mekeor has quit (Remote host closed the connection).
15:51:56 -!- nooga has quit (Ping timeout: 260 seconds).
15:58:49 -!- azaq23 has joined.
15:58:57 -!- azaq23 has quit (Max SendQ exceeded).
15:59:16 -!- azaq23 has joined.
16:02:58 -!- DHeadshot has quit (Ping timeout: 252 seconds).
16:05:00 -!- Taneb has joined.
16:05:07 <Taneb> Help
16:05:29 <Taneb> I've messed up my video drivers and now my computer thinks I want an 800x600 screen
16:06:29 -!- DHeadshot has joined.
16:06:32 <Taneb> And I have no idea what to dooooo
16:11:49 <ais523> reinstall the drivers?
16:11:49 <lambdabot> ais523: You have 1 new message. '/msg lambdabot @messages' to read it.
16:14:02 <Taneb> ais523, I'll give that a go
16:15:38 <Taneb> In other news, I've updated that Haskell package I made a while back but haven't uploaded it for a reason.
16:25:51 -!- Taneb has quit (Quit: Leaving).
16:25:58 -!- nooga has joined.
16:27:39 -!- Taneb has joined.
16:29:14 <Taneb> Okay, that worked
16:29:16 -!- azaq23 has quit (Max SendQ exceeded).
16:30:35 -!- nooga has quit (Ping timeout: 260 seconds).
17:08:46 -!- Taneb has quit (Ping timeout: 245 seconds).
17:09:11 -!- oerjan has joined.
17:11:56 -!- Taneb has joined.
17:15:11 <oerjan> Sgeo: hm i haven't personally read that stuff, but if you want to mix delimited continuations and monads you might want to look at filinski's famous proof that pure monads can be implemented with delimited continuations...
17:15:43 <oerjan> @tell Sgeo hm i haven't personally read that stuff, but if you want to mix delimited continuations and monads you might want to look at filinski's famous proof that pure monads can be implemented with delimited continuations...
17:15:43 <lambdabot> Consider it noted.
17:17:53 <oerjan> @tell Sgeo btw if you start with a _monad transformer_, then amb should be obvious if you use [] on the bottom.
17:17:54 <oerjan> @ping
17:17:54 <lambdabot> Consider it noted.
17:17:54 <lambdabot> pong
17:21:17 -!- Arc_Koen has joined.
17:24:55 <oerjan> `addquote <kmc> i bet a blog post complaining about ");});});" syntax in JavaScript and comparing it unfavorably to Lisp would get approximately one billion comments on hacker news <Bike> but at what cost? your very soul, kmc!
17:25:01 <HackEgo> 883) <kmc> i bet a blog post complaining about ");});});" syntax in JavaScript and comparing it unfavorably to Lisp would get approximately one billion comments on hacker news <Bike> but at what cost? your very soul, kmc!
17:25:31 * oerjan wonders if those are the first color codes in the quotes database
17:25:35 <Sgeo> oerjan, I don't really understand monad transformers well enough
17:25:36 <lambdabot> Sgeo: You have 2 new messages. '/msg lambdabot @messages' to read them.
17:25:40 <Sgeo> @messages
17:25:41 <lambdabot> oerjan said 9m 58s ago: hm i haven't personally read that stuff, but if you want to mix delimited continuations and monads you might want to look at filinski's famous proof that pure monads can be
17:25:41 <lambdabot> implemented with delimited continuations...
17:25:41 <lambdabot> oerjan said 7m 47s ago: btw if you start with a _monad transformer_, then amb should be obvious if you use [] on the bottom.
17:27:11 <oerjan> > chr 126
17:27:13 <lambdabot> '~'
17:27:21 <oerjan> `quotes ^[ -~]*$
17:27:22 <HackEgo> 1) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 2) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 3) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 4) <Warrigal> GKennethR: he sh
17:27:35 <oerjan> oops
17:28:02 <oerjan> `quotes [^ -~]
17:28:04 <HackEgo> 269) <elliott> ais523: quick, say something funny <oklopol> something funny hagrea:D <oklopol> can'tä sopt laughitn \ 320) <cpressey> `quote django <HackEgo> ​352) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something <cpressey> thankfully only one \ 321) <monqy> `quote django <HackEgo> ​352) <olsne
17:29:32 <oerjan> `quotes [^ -ä]
17:29:34 <HackEgo> 320) <cpressey> `quote django <HackEgo> ​352) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something <cpressey> thankfully only one \ 321) <monqy> `quote django <HackEgo> ​352) <olsner> django is named after a person? <olsner> thought it would be a giraffe or something \ 407) <cpressey> `quote django
17:29:53 <ais523> what's up with the recursive django quotes?
17:30:07 <oerjan> `run quote 320 | hexdump
17:30:09 <HackEgo> 0000000 3233 2930 3c20 7063 6572 7373 7965 203e \ 0000010 7160 6f75 6574 6420 616a 676e 206f 3c20 \ 0000020 6148 6b63 6745 3e6f e220 8b80 3533 2932 \ 0000030 3c20 6c6f 6e73 7265 203e 6a64 6e61 6f67 \ 0000040 6920 2073 616e 656d 2064 6661 6574 2072 \ 0000050 2061 6570 7372 6e6f 203f 3c20 6c6f 6e73 \ 0000060 7265 203e 6874 756f 6867 2074 7469 7720 \
17:30:26 <oerjan> hm what was that option
17:30:55 <ais523> `run quote 320 | od -t x1
17:30:56 <HackEgo> 0000000 33 32 30 29 20 3c 63 70 72 65 73 73 65 79 3e 20 \ 0000020 60 71 75 6f 74 65 20 64 6a 61 6e 67 6f 20 20 3c \ 0000040 48 61 63 6b 45 67 6f 3e 20 e2 80 8b 33 35 32 29 \ 0000060 20 3c 6f 6c 73 6e 65 72 3e 20 64 6a 61 6e 67 6f \ 0000100 20 69 73 20 6e 61 6d 65 64 20 61 66 74 65 72 20 \ 0000120 61 20 70 65 72 73 6f 6e 3f 20 20 3c 6f 6c 73 6e \ 00
17:31:10 <oerjan> no, that is definitely not what i wanted
17:31:13 <ais523> there's an 80 8b in there
17:31:16 <oerjan> `run quote 320 | hexdump -c
17:31:18 <HackEgo> 0000000 3 2 0 ) < c p r e s s e y > \ 0000010 ` q u o t e d j a n g o < \ 0000020 H a c k E g o > 200 213 3 5 2 ) \ 0000030 < o l s n e r > d j a n g o \ 0000040 i s n a m e d a
17:31:41 <oerjan> is that HackEgo's zero-width space that got included
17:32:06 <ais523> that may be the zero width space I put into a quote ages ago to troll elliott
17:32:16 <oerjan> aha
17:32:25 <ais523> because he was really insisting on two spaces between quotes
17:32:48 <Sgeo> Grrrr
17:32:52 <oerjan> um it's just after Hackego>
17:32:55 <Sgeo> Closing one Chrome window should NOT quit Chrome
17:32:59 <oerjan> that's not between quotes
17:33:23 <ais523> hmm
17:33:28 <elliott> (IIRC it's actually just a copy-paste problem.)
17:33:28 <ais523> indeed
17:33:33 <elliott> But it's quoted now, so you can't fix it.
17:34:12 <oerjan> elliott: well it's not really a problem if HackEgo actually said it, is it :P
17:34:19 <oerjan> just accurate quoting
17:35:43 <oerjan> `cat bin/quote
17:35:44 <HackEgo> ​#!/bin/sh \ allquotes | if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ sed "$1q;d" \ else \ grep -P -i -- "$1" \ fi \ else shuf -n 1; fi
17:35:49 <fizzie> "Your daily network usage time limit has been reached" ifconfig wlan0 hw ether <previous MAC+1> "logged in to hotspot". There are *some* good things in this phone.
17:35:56 <oerjan> `cat bin/quotes
17:35:57 <HackEgo> ​#!/bin/sh \ allquotes | if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ sed "$1q;d" \ else \ grep -P -i -- "$1" \ fi \ else shuf -n 1; fi
17:36:28 <fizzie> I'm a bit surprised busybox ifconfig managed that, though.
17:36:42 -!- Taneb has quit (Quit: Leaving).
17:37:10 <ais523> fizzie: it's the sort of thing busybox might need to do, though
17:37:20 <oerjan> `quotes [\000-\037]
17:37:20 <ais523> it was originally designed as a recovery shell
17:37:22 <HackEgo> 883) <kmc> i bet a blog post complaining about ");});});" syntax in JavaScript and comparing it unfavorably to Lisp would get approximately one billion comments on hacker news <Bike> but at what cost? your very soul, kmc!
17:37:30 <oerjan> yay that worked
17:37:48 <oerjan> and indeed those were the first color codes
17:37:55 <ais523> fixing network problems is quote plausible in a recovery shell, especially if the system /normally/ uses network boot
17:39:12 <fizzie> ais523: I suppose. Their ifconfig usage message was only "ifconfig interface [address]", though, which was a bit worrying. Fortunately I managed to recall the syntax.
17:39:32 <ais523> yeah, usable usage messages /aren't/ something you need to do busybox's job
17:41:19 <fizzie> Unfortunately the uplink on this wifi is really horrible. Takes about two minutes after writing it for an IRC comment to appear.
17:41:28 <fizzie> (Yeah yeah mosh yeah.)
17:42:00 <ais523> is that total up+down latency? or just up?
17:42:36 <fizzie> Two minutes was perhaps a bit generous.
17:42:58 <oerjan> <kmc> How I Left My Job At A Startup Providing Services to Startups to Join a Startup Providing Services to Startups Providing Services to Startups <-- startup and inception are synonyms, right?
17:44:29 <Sgeo> Whatthefuck
17:44:48 <oerjan> Sgeofuck
17:44:48 <Sgeo> My mouse cursor just turned into a vertical line with diagonal spikes
17:45:07 <fizzie> I don't really know. But it is slow.
17:45:57 <Sgeo> It went away
17:46:04 <oerjan> Sgeo: sounds like part of an scp
17:46:12 <oerjan> it will not end well
17:47:02 <fizzie> (This is a Stockholm-Helsinki ferry, and the wifi was quite speedy when it was in the harbour. Don't know what they're using for connectivity on the sea.)
17:48:12 <oerjan> octopi(fi)
17:48:46 <ais523> satellite, probably
17:51:27 <fizzie> I suppose. Though I do still get GPRS/EDGE according to the phone.
17:52:03 <fizzie> There's 3G around Åland.
17:58:49 -!- nooga has joined.
18:03:48 -!- nooga has quit (Ping timeout: 264 seconds).
18:08:06 <kmc> "To land, the craft had to slow its speed and pitch the fuselage until the craft was vertical. Power could then be reduced and it would descend until the landing gear rested on the ground. This would have been a tricky and probably dangerous maneuver given that the pilot would be seated facing upward and the ground would be behind his head at this stage."
18:09:50 -!- nooga has joined.
18:13:17 <ais523> kmc: context?
18:21:50 -!- nooga has quit (Ping timeout: 265 seconds).
18:22:22 -!- nooga has joined.
18:23:26 <fizzie> Sounds like VTOL.
18:32:28 <oerjan> <elliott> Why Go Can't Scale Past 2 Billion Users <-- this was rather more intriguing before i realized you were referring to the programming language, not the game
18:32:38 <ion> hah
18:33:25 <elliott> heh
18:33:54 <nortti> :D
18:44:19 -!- ogrom has joined.
18:46:05 <kmc> http://en.wikipedia.org/wiki/Focke-Wulf_Triebfl%C3%BCgel
18:46:54 -!- Bike has joined.
18:47:13 <oerjan> hi Biket
18:48:57 <Bike> Hi oerjant.
18:51:08 -!- Frooxius has joined.
19:03:36 -!- nooga has quit (Ping timeout: 250 seconds).
19:05:50 -!- zzo38 has joined.
19:11:30 <oerjan> <Bike> like you said, they treat it very much as a sport. <-- curiously chess isn't part of the sport organizations in norway, which i understand is not the case in other places. on the flip side magnus carlsen says he'd never have gotten as far as he has if he had had to follow norwegian children's sport rules :)
19:12:24 -!- Nisstyre-laptop has joined.
19:14:26 <Fiora> it's terrifying to realize that magnums carlsen was born after me @_@
19:15:28 <oerjan> (btw he just beat kasparov's chess rating record)
19:16:15 <Fiora> wow.
19:17:03 <oerjan> admittedly those are well known to inflate over time. but he also has a nice gap to no. 2.
19:18:08 <elliott> apparently magnus carlsen was born before me
19:18:16 <elliott> good to know
19:18:53 -!- DHeadshot has quit (Read error: Connection reset by peer).
19:18:58 -!- DH____ has joined.
19:20:27 -!- AnotherTest has quit (Quit: Leaving.).
19:21:37 <Fiora> young chess prodigies are amazing
19:21:54 <Fiora> my favorite is judit polgar, I think she's rated as the strongest chess player ever through age ~14
19:21:58 <Fiora> (by age)
19:22:55 <ais523> the best 14 year old chess player ever was 14 years old at the time
19:24:34 <Fiora> and she's like "dedicating my life to the game? pff, I'll have kids and take care of a family and keep a 27xx rating anyways because I'm that amazing"
19:26:02 <ais523> now I'm wondering about something
19:26:09 <ais523> elo rankings show how well you're doing relative to others in your field
19:26:21 <ais523> and thus, elo rankings should at least in theory be comparable /between different games/
19:26:30 <ais523> so, what's the highest elo at anything ever?
19:26:35 <oerjan> um, she seems to have dropped slightly below 2700 in http://www.2700chess.com/ (you have to go to the women's list to find her)
19:26:54 <Fiora> she moves around I think, wikipedia says she's 2705 now
19:27:07 <Fiora> but I guess she might have gone down in january
19:27:33 -!- Nisstyre-laptop has quit (Quit: Leaving).
19:28:12 -!- Nisstyre-laptop has joined.
19:28:39 <Bike> why are there different mens' and womens' divisions for chess?
19:29:24 <oerjan> Bike: because there aren't enough women to compete at the top?
19:29:27 <oerjan> i assume
19:29:52 <oerjan> the gap from polgar to the next woman is very large
19:31:46 <oerjan> well, about the same as from 1 to 7 for the men. admittedly no. 7 is also the current world champion :P
19:32:11 <ais523> oerjan: is that because the others didn't participate
19:32:18 <ais523> there was some sort of schism in the chess world championship, IIRC
19:32:24 <ais523> and there were three competing champions for a while
19:32:29 <ais523> I'm not sure if it's been sorted out yet
19:32:42 <oerjan> i'm sure that was years ago...
19:32:57 <oerjan> kasparov vs. karpov iirc
19:33:20 <oerjan> none of them are even in the current 2700 list
19:33:31 <oerjan> don't remember the third one
19:36:25 <Fiora> Bike: I think especially before polgar there were almost no women in the top ranks
19:37:50 <Fiora> I remember reading an interesting article about how polgar was such an inspiration to the higher-level players that women GMs tended to play significantly more aggressively than the men because they were often emulating polger's own aggressive style
19:39:48 <Bike> nice
19:41:38 <oerjan> "The world championship was eventually reunified in 2006, when classical champion Kramnik defeated the winner of the FIDE World Chess Championship 2005, Veselin Topalov."
19:41:50 <kmc> "One pilot, Feldwebel Rolf Heitsch, had his Dornier fitted with an infantry flame thrower in its tail."
19:45:28 <ais523> kmc: I doubt it accomplished much
19:47:43 <kmc> indeed, he got shot down that day
19:48:34 <oerjan> at least he went down in flames
19:52:30 -!- mekeor has joined.
20:03:16 -!- ogrom has quit (Quit: Left).
20:14:43 -!- nooga has joined.
20:24:33 -!- ais523 has quit.
20:25:33 <oerjan> YES!
20:25:47 <oerjan> `quote hermit
20:25:49 <HackEgo> 446) <oerjan> i try to be a hermit but it's hard with all these housemates.
20:30:48 -!- epicmonkey has quit (Read error: Operation timed out).
20:39:33 <zzo38> I read the rule of the Wuss chess variant, but one thing I don't know, is if in Wuss V it is allowed to move a Wuss into an attacked square.
20:42:01 -!- nooga has quit (Ping timeout: 256 seconds).
20:51:49 -!- carado has joined.
21:36:23 -!- WeThePeople has joined.
21:48:44 -!- Taneb has joined.
22:16:30 -!- Arc_Koen has left.
22:30:01 <elliott> kmc: "Also, i think the halting problem is very uninteresting because such systems don't need to be considered valid code"
22:30:41 <quintopia> what insanity is that from
22:31:31 <elliott> #haskell
22:31:56 <Taneb> Sounds sort of like Brainfuck/w/index.php?title=Talk:Brainfuck/index.php
22:38:36 -!- Nisstyre-laptop has quit (Ping timeout: 264 seconds).
22:40:02 <monqy> elliott: whaaaaaaaaaaaat
22:40:07 <elliott> monqy: yes
22:40:55 <shachaf> monqy: what's the last kind of lens you learned
22:41:17 -!- Nisstyre-laptop has joined.
22:41:33 <monqy> probably those twanvl-styled mirrored lens familiies... i havent payed much attn to lenses
22:42:03 <shachaf> wow so passé :'(
22:42:10 <shachaf> the new lenses are so elegant, edwardk exploded
22:42:20 <monqy> which are these, the profunctor lenses
22:42:24 <shachaf> yes
22:42:30 <monqy> ok
22:42:33 <shachaf> and bifunctor lenses are also "p. cool"
22:42:37 <monqy> maybe i'll learn them sometime
22:42:38 <monqy> maybe i'll learn them sometime
22:43:29 <shachaf> monqy: class Hi p where hi :: p a b -> p (Either b a) b
22:43:56 <shachaf> what should that class be called
22:44:06 <monqy> um
22:44:13 <shachaf> "you know like category theory and stuff right"
22:44:19 <Taneb> "Propogating"?
22:44:23 <monqy> not really........
22:44:37 <monqy> i should know like category theory and stuff but
22:44:40 <monqy> i dont know all that much
22:44:57 <shachaf> well you just need to know the answer to my question
22:45:06 <shachaf> "thats like one thing how can you not know that :'("
22:45:27 <elliott> it should be called prismatic imo
22:45:38 <shachaf> imo bad name
22:46:30 <monqy> are there any contstraints on what p is, or "hi laws"
22:46:35 <shachaf> how about braided lax costrong strong monoidal functor
22:46:39 <monqy> or is that the "entire Hi"
22:46:47 <shachaf> monqy: um we don't quite know
22:46:51 <monqy> ok
22:46:51 <shachaf> p is usually a profunctor
22:47:05 <shachaf> which means that (p a b) is contravariant in a and covarint in b
22:47:07 <elliott> p is always a profunctor
22:47:24 <shachaf> elliott: it could be a double-contravariant functor!!!!!! i think
22:47:33 <Taneb> :t (id |||)
22:47:34 <lambdabot> (c -> d) -> Either d c -> d
22:47:45 <Taneb> :t (Control.Category.id |||)
22:47:47 <lambdabot> ArrowChoice a => a c d -> a (Either d c) d
22:48:52 <monqy> shachaf: what does Hi mean
22:49:02 <monqy> shachaf: or do you just want a "fany maths name"
22:49:06 <Taneb> monqy, it's the opposite of Lo
22:49:07 <monqy> fancy
22:49:10 <monqy> not fany
22:49:20 <monqy> shachaf: because im sorry i dont know the fancy maths name!!!
22:49:25 <shachaf> monqy: a "fany maths name" would be good
22:49:32 <shachaf> a "fansy math name" would be better
22:50:00 <shachaf> monqy: but some laws would be good too
22:50:20 <kmc> his brains are in terrible danger
22:50:33 <monqy> I can't make laws out of noting!!!I need to know what laws have to hold for it to do what you want it to do....and then those are the laws you want
22:51:21 <oerjan> just outsource it to agora
22:52:03 <shachaf> monqy: ok (1). uh.... lmap Right . prismatic = id??
22:52:08 <shachaf> elliott: is that a good law
22:53:02 <monqy> shachaf: i don't know what these lens things are because i don't know lens.....why are you asking me this stuff
22:53:15 <shachaf> monqy: wait sorry
22:53:19 <oerjan> because he's evil hth
22:53:24 <shachaf> monqy: lmap Right . hi = id??
22:53:32 <shachaf> good law right
22:53:35 <shachaf> is it true
22:54:08 <monqy> shachaf: i don't know what these lens things are because i don't know lens.....why are you asking me this stuff
22:54:24 <oerjan> because he's evil hth
22:54:36 <fizzie> Oh no a botloop.
22:55:29 <hagb4rd> that happens when they change something in the matrix
22:57:39 <oerjan> the matrix is so last century
22:57:47 <oerjan> now we use the tensor
22:57:59 <hagb4rd> aw.. what's that
22:58:31 <hagb4rd> ah k
22:58:38 <quintopia> enjoy living in your tensor of solidarity
23:00:51 <oerjan> hm "last century" is so last bak'tun
23:01:51 <hagb4rd> pink is the new red
23:02:48 -!- DH____ has quit (Read error: Connection reset by peer).
23:03:01 -!- DHeadshot has joined.
23:04:24 <oerjan> hm "last" is so mueval-core: Time limit exceeded
23:08:01 -!- asiekierka has quit (Excess Flood).
23:09:25 -!- asiekierka has joined.
23:36:26 <oerjan> the precise way in which ZeptoBasic is esoteric seems to elude me.
23:36:51 <Fiora> I guess you could say that the way is... esoteric?
23:37:37 <oerjan> presumably.
23:46:26 -!- Nisstyre-laptop has quit (Ping timeout: 252 seconds).
23:47:23 -!- mekeor has quit (Read error: Connection reset by peer).
23:52:34 -!- sebbu2 has joined.
23:53:50 -!- sebbu has quit (Ping timeout: 276 seconds).
←2012-12-22 2012-12-23 2012-12-24→ ↑2012 ↑all