←2011-12-18 2011-12-19 2011-12-20→ ↑2011 ↑all
00:01:13 -!- Klisz has quit (Ping timeout: 244 seconds).
00:06:20 <Sgeo> elliott, kallisti update
00:10:53 <zzo38> oerjan: Sorry, I was playing the D&D game. But yes, now I can see that.
00:11:42 <zzo38> But, yes, pure would make it have the plain value, so it is like identity, so pure x *> y = y = y <* pure x would work, I think.
00:12:36 <zzo38> That is the definition of applicative functor, I think, that pure means identity, isn't it?
00:16:39 <oerjan> well the laws listed in Control.Applicative are: pure id <*> v = v, pure (.) <*> u <*> v <*> w = u <*> (v <*> w), pure f <*> pure x = pure (f x), u <*> pure y = pure ($ y) <*> u, which are essentially the same which i baked into my FreeA instance earlier
00:17:08 <oerjan> except that the first one is made redundant by all FreeA values starting with pure
00:18:48 <elliott> :t foldl'
00:18:48 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
00:19:57 <oerjan> `log [d]ata FreeA where
00:20:04 <HackEgo> 2011-12-14.txt:04:27:51: <oerjan> as a reminder, data FreeA where Pure :: a -> FreeA t a; (:<*>) :: FreeA t (a -> b) -> t a -> FreeA t b
00:20:31 <oerjan> `log instance Applicative Free[A]
00:20:37 <HackEgo> 2011-12-14.txt:01:20:46: <oerjan> *instance Applicative FreeA t where pure = Pure; Pure f <*> Pure x = Pure (f x); fa <*> (ga :<*> xa) = Pure (.) <*> fa <*> ga :<*> xa; fa <*> Pure y = Pure ($ y) <*> fa;
00:20:46 <zzo38> Do you know if these laws allow you to make a backward version of any applicative?
00:21:02 <oerjan> zzo38: yes i'm pretty sure i've heard that mentioned before
00:21:11 <elliott> :t foldMap
00:21:12 <lambdabot> Not in scope: `foldMap'
00:21:12 <elliott> :t F.foldMap
00:21:13 <lambdabot> Couldn't find qualified module.
00:21:16 <elliott> :t Data.Foldable.foldMap
00:21:16 <lambdabot> forall a m (t :: * -> *). (Data.Foldable.Foldable t, Monoid m) => (a -> m) -> t a -> m
00:21:35 <oerjan> :t (<**>)
00:21:36 <lambdabot> forall (f :: * -> *) a b. (Applicative f) => f a -> f (a -> b) -> f b
00:21:48 <zzo38> oerjan: Do you know under what circumstances that the backward applicative can make a monad?
00:22:05 <oerjan> zzo38: in fact the backwards function is just flip (<**>)
00:22:23 <zzo38> oerjan: Yes; exactly. That is exactly what I was thinking of.
00:23:01 <oerjan> zzo38: not any more than i know the condition for the ordinary applicative
00:24:06 <oerjan> commutative monads/applicatives turn into themselves, i should think
00:24:18 <oerjan> so Maybe and Reader are trivial
00:24:31 <zzo38> Yes, a commutative applicative becomes itself, obviously
00:24:34 <oerjan> or wait
00:24:42 <oerjan> ignoring bottom.
00:24:59 <zzo38> Yes, you have to ignoring bottom. Always.
00:25:00 <oerjan> but i think you do that in the definition anyways.
00:26:36 <oerjan> well not _always_, i think sometimes bottom works as well
00:27:24 <oerjan> > (const True <$> undefined) undefined
00:27:25 <lambdabot> True
00:27:38 <oerjan> > (undefined <**> const True) undefined
00:27:38 <lambdabot> Couldn't match expected type `a -> b'
00:27:39 <lambdabot> against inferred type `GHC.Bo...
00:27:39 <elliott> zzo38: always?
00:27:42 <oerjan> oops
00:27:52 <oerjan> > (undefined <**> pure (const True)) undefined
00:27:53 <lambdabot> True
00:28:06 <oerjan> so Reader works with bottom
00:28:35 <oerjan> > (Just (const True) <*> undefined)
00:28:35 <lambdabot> *Exception: Prelude.undefined
00:28:43 <zzo38> elliott: Yes you always have to ignoring bottom to make it mathematically correct, as far as I can tell.
00:28:44 <oerjan> oops
00:28:46 -!- cheater has joined.
00:30:16 <oerjan> hm one might argue <*> for Maybe is not lazy enough, there
00:30:48 <oerjan> > (liftM2 id (Just (const True)) undefined)
00:30:48 <lambdabot> *Exception: Prelude.undefined
00:31:20 <oerjan> hm or wait no.
00:31:39 <oerjan> no, it obviously needs to be at least strict.
00:32:20 <oerjan> zzo38: the backwards State monad is probably exactly this for State
00:32:46 <oerjan> and for Writer i'd imagine you simply change to the Dual monoid
00:32:51 <zzo38> oerjan: Is the backward State applicative makes a monad?
00:33:13 <oerjan> zzo38: there's a backward State monad, i would guess it's the same thing
00:33:35 <oerjan> perhaps you can turn every monad backwards, hm
00:33:54 <zzo38> Yes, for Writer (or (,)) yes you change to the Dual monoid, so if it is commutative then it will also be commutative applicative
00:34:02 <elliott> oerjan: I doubt it
00:34:04 <zzo38> And commutative applicative becomes the same when backward
00:34:07 <elliott> how do you make join go backwards?
00:34:10 <zzo38> Yes, I doubt it too.
00:34:35 <oerjan> hm
00:34:37 <elliott> i mean, for a start, you can't really make (>>=) go backwards :)
00:34:49 <zzo38> I know any monad is applicative, and you can make the backward applicative, but I wouldn't think it necessarily will make a monad
00:35:24 <oerjan> i guess Reader, Maybe and Writer all have the property that the effects aren't really intertwined with the values
00:35:42 <oerjan> (much)
00:36:05 <elliott> oerjan: well... Reader lets you depend on the state but not change it, and Writer lets you change it but not depend on it
00:36:17 <elliott> i suppose the difference that State makes is that you can loop those two together
00:36:35 <oerjan> but still there _is_ a backwards State monad.
00:36:48 <kallisti> elliott: help left recursion what do?
00:36:54 <elliott> oerjan: well, yes, because of laziness
00:36:54 <zzo38> oerjan: OK, what is the backward state monad? I have not heard of it.
00:37:02 <elliott> kallisti: learn how parsers work.
00:37:11 <kallisti> kthx
00:37:12 <elliott> what do they actually _teach_ you at that university?
00:37:33 <kallisti> the only thing I've learned so far is so basic data structure stuff that I had glossed over in self-teaching myself (imagine that.)
00:37:34 <elliott> zzo38: http://lukepalmer.wordpress.com/2008/08/10/mindfuck-the-reverse-state-monad/
00:37:46 <elliott> zzo38: the State monad, except state propagates /back/ in time instead of forwards
00:38:06 <zzo38> elliott: Time? What does time have anything to do with it?
00:38:15 <kallisti> elliott: what do you recommend I learn about parsers. I mean, I understand why it's left recursing but not how it's possible to correct it.
00:38:25 <elliott> zzo38: well in (m >>= f) you can say that m is "before" f x, chronologically
00:38:30 <elliott> (where x is the result of m)
00:38:38 <elliott> zzo38: or more simply, each line of a "do" block is further in time
00:38:52 <elliott> then you can say that State gives you state propagating forwards in time, but RState gives you state that propagates /backwards/
00:38:55 <kallisti> maybe the terminal alternatives aren't actually being tested first due to my hackish infix operator code.
00:39:07 <elliott> kallisti: http://en.wikipedia.org/wiki/Left_recursion
00:39:30 <kallisti> elliott: I'm looking at that right now.
00:39:44 <kallisti> expr +
00:39:45 <kallisti> er
00:39:51 <elliott> kallisti: notice the long "Removing left recursion" section.
00:40:50 <zzo38> elliott: Well, OK, but I think it has not much to do with time. Simply, (m >>= f) is (join $ fmap f m). With IO monad obviously it is the order of action, in time, but other monads don't really have any time, I think.
00:41:00 <kallisti> elliott: where can I learn this notation? I'm guessing -> is a production rule and | is alternative choices and adjacent symbols are concatenated?
00:41:05 <elliott> zzo38: it's a metaphor :P
00:41:31 <elliott> kallisti: http://en.wikipedia.org/wiki/Context-free_grammar
00:41:34 <zzo38> O, it is a metaphor.
00:42:11 <elliott> kallisti: epsilon is empty string, jutaposition is concatenation, -> is production rule
00:42:48 <kallisti> elliott: right
00:44:07 <zzo38> Can it make a backward state monad transformer?
00:45:30 <kallisti> elliott: so in this notation the order of alternatives doesn't matter?
00:45:44 <oerjan> there are also extra annotations for the reruns, sort of "the making of iwc"
00:45:51 <oerjan> wrong window
00:46:00 <elliott> kallisti: it's not the "notation", it's the definition of a CFG
00:46:10 <elliott> CFGs can even have ambiguous parses
00:46:17 <kallisti> elliott: okay. same question s/notation/the definition of a CFG/
00:46:19 <elliott> i.e. valid strings which match multiple possible parse trees
00:46:57 <kallisti> so, no, the order doesn't matter
00:47:35 <kallisti> for instance, the production rule they show has the left-recursive nonterminal as the first alternatives
00:47:43 <kallisti> mine are the last alternatives.
00:49:26 <kallisti> oh I see.
00:49:39 <kallisti> partly
00:50:23 -!- augur has quit (Remote host closed the connection).
00:52:30 <zzo38> I think you could make a "Newdata" monoid to make the Writer discard old data like this: mempty = Newdata Nothing; mappend (Newdata x) (Newdata y) = Newdata (maybe x Just y);
00:52:52 <oerjan> for newbies to the subject, determining whether a CFG has any ambiguous parses is an undecidable problem (you can encode the TM halting problem into it)
00:54:30 <elliott> oerjan: i'm sure that will help kallisti's left-recursion problem immensely :D
00:54:33 <oerjan> :t First
00:54:34 <lambdabot> forall a. Maybe a -> First a
00:54:39 <kallisti> elliott: oh definitely.
00:54:54 <oerjan> or wait
00:55:22 <oerjan> :t Last
00:55:23 <lambdabot> forall a. Maybe a -> Last a
00:55:32 <oerjan> zzo38: i think that may be what Last does
00:55:49 <oerjan> > mempty :: Last Int
00:55:50 <lambdabot> Last {getLast = Nothing}
00:56:07 <zzo38> oerjan: O, yes, probably that is it. You could obviously make any monoid backward, too.
00:56:17 <kallisti> elliott: bah, that's going to make my grammar so ugly. :P
00:56:30 -!- zzo38 has quit (Remote host closed the connection).
00:56:33 <elliott> kallisti: use a parser library that optimises left-recursion, then
00:56:38 <elliott> (optimises by eliminating :P)
00:57:00 <kallisti> bleh. not enough time to do that. :P
00:57:03 <oerjan> > foldMap Last [Nothing, Just 3, Nothing, Just 5, Nothing]
00:57:04 <lambdabot> Not in scope: `foldMap'
00:57:06 <oerjan> oops
00:57:14 <oerjan> @hoogle foldMap
00:57:14 <lambdabot> Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
00:57:14 <lambdabot> Data.Traversable foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m
00:57:22 <oerjan> > Data.Foldable.foldMap Last [Nothing, Just 3, Nothing, Just 5, Nothing]
00:57:23 <lambdabot> Last {getLast = Just 5}
00:58:54 <kallisti> elliott: I may just make array subscripting an infix operator because I already have code to parse an arbitrary prefix/infix precedence table.
00:59:35 <kallisti> but I'll try the expr[expr] way
00:59:41 <elliott> kallisti: expr[expr] _is_ an infix operator.
00:59:57 <kallisti> yeah but it's got the weird dangly ]
01:00:00 <elliott> it's the infix operator [, except it's expr '[' (expr with ']')
01:00:03 <elliott> that's all
01:00:12 <kallisti> hm
01:00:21 <kallisti> I might be able to hack that into my infix code. :P
01:00:21 <elliott> i.e. (expr,']')
01:00:24 <elliott> *(expr ']')
01:00:34 <shachaf> elliott: Why is #haskell so terrible.
01:00:48 <oerjan> "expr with ']'" is a nice token for parsing the remainder of listlike things
01:00:51 <elliott> shachaf: Indeed.
01:01:06 <shachaf> It used to be good, I think.
01:01:09 <elliott> shachaf: (What's happened this time?)
01:01:15 <shachaf> Oh, it's just all these people.
01:01:20 <shachaf> Nothing in particular.
01:01:30 <elliott> It kind of got terrible when Haskell exploded in popularity and the signal/noise ratio plummeted.
01:01:33 <oerjan> you can make bf parsing LR(0) that way, i think
01:01:33 <kallisti> elliott: congratulations, you just convinced me to write an ugly hack. :P
01:01:49 <elliott> I probably won't go there much any more now that I can direct my amazingly intelligent Haskell questions to Stack Overflow.
01:02:00 <elliott> (So amazingly intelligent, nobody ever answered them!)
01:02:25 <shachaf> So amazingly intelligent that no one even understands them, no doubt.
01:02:36 * shachaf likes http://djm.cc/bignum-results.txt
01:02:45 <elliott> Well, anything that spans more than three sentences in one line is ignored in #haskell.
01:02:49 <shachaf> Of course the winning entry is the sort of thing you'd expect.
01:03:03 <oerjan> elliott: well never mind that, you'll soon have amassed enough points to smite those evil non-answerers.
01:03:03 <elliott> People prefer the lower-hanging fruit from people who don't bother reading GHC's error messages before complaining about them.
01:03:18 <shachaf> Yes.
01:03:25 <shachaf> Which only encourages that behaviouur. :-(
01:03:25 <elliott> oerjan: Yes! I will lure them into my Stack Overflow lair and remove their stacks.
01:03:40 <kallisti> elliott: write a bunch of blog articles about unsolved Haskell problems and how interesting they are, then make a Wikipedia article called "unaswered questions in Haskell" while sourcing your very notable blog and see if anyone provides answers.
01:03:41 <elliott> shachaf: Remember #haskell-in-depth?
01:03:45 <elliott> That probably lasted whole *days*!
01:04:06 <shachaf> elliott: Whoa, man, that's still around?
01:04:15 <oerjan> yesterday i got inspired to go to stackoverflow and see if there was anything i could help with, but elliott had answered everything, so there was no use.
01:04:16 <elliott> Probably not. I guess it depends on your definition of "around".
01:04:21 <shachaf> All I see in the backlog is join and quit messages and day change messages.
01:04:22 <elliott> oerjan: :D, seriously?
01:04:34 <shachaf> And quite a few day change messages for the few screenfuls of backlog that I keep, on top of that.
01:06:13 <oerjan> elliott: ok _maybe_ camccann [sp?] had done some of it.
01:07:33 * elliott is fairly tempted to make "<oerjan> yesterday i got inspired to go to stackoverflow and see if there was anything i could help with, but elliott had answered everything, so there was no use." his profile on SO.
01:07:43 <elliott> That would make my avatar expand into a shiny little card thing on mouseover!!!
01:07:47 <elliott> SO SHINY.
01:07:53 <oerjan> yay
01:08:13 <shachaf> I don't answer questions on StackOverflow.
01:08:14 <shachaf> Or ask them.
01:08:29 <shachaf> That's a form of protest for them having deleted my account once.
01:08:39 <shachaf> ...Deleted for lack of activity. But still.
01:09:45 <oerjan> well i've only answered one question, and that was a couple weeks ago.
01:10:01 <shachaf> Actually I answered a question once.
01:10:12 * elliott only joined because he had a pressing question to which #git's answer was "your workflow is broken, guess you just have to DEAL WITH IT FOREVER!".
01:10:27 <shachaf> elliott: Did StackOverflow provide a better answer? :-)
01:10:36 <elliott> shachaf: Yep.
01:10:51 <shachaf> Oh.
01:10:55 <elliott> The answer was "rewrite history in the master branch so that the thing that's causing problems never happened".
01:10:58 <elliott> It actually worked perfectly.
01:11:00 <shachaf> Well, that other channel is full of gits.
01:11:12 <shachaf> Yay, rewriting history!
01:11:15 <elliott> shachaf: It may have something to do with the fact that my problem took several paragraphs to explain.
01:11:16 * shachaf push --force
01:11:26 <elliott> That's several more than any IRC channel can be bothered with.
01:11:34 <shachaf> Not *any* IRC channel.
01:11:54 * elliott considers introducing a rootkit into an innocuous clean-up commit somewhere in the middle of history with push --force.
01:12:28 <shachaf> That's why you never push --force.
01:12:32 <elliott> oerjan: Was it something easy? Because I have a MONOPOLY on the easy questions, man.
01:12:46 <elliott> shachaf: push --force is way preferable to the problems I was having.
01:13:03 <elliott> Also I could just introduce a rootkit as the only change in a commit and nobody would notice since everyone just (git pull && make)s..
01:13:07 <elliott> s/\.\././
01:14:24 <shachaf> You're reflogging a dead horse.
01:14:35 <elliott> Which horse?
01:14:40 <elliott> Oh.
01:14:41 <elliott> I hate you.
01:14:43 <oerjan> elliott: http://stackoverflow.com/questions/8296695/is-milner-let-polymorphism-a-rank-2-feature/8433852#8433852
01:15:02 <elliott> oerjan: ah. so no, then :P
01:15:10 <elliott> i even saw that question
01:15:30 <elliott> oerjan: Ha ha, I have over 100 times your rep. MY PRECIOUS MEANINGLESS INTERNET POINTS!
01:16:34 <elliott> Hey, that guy accepted the wrong answer (the one that isn't mine). :(
01:16:46 <oerjan> fyl
01:17:35 * shachaf has 5 more reputation than Ørjan! Hah!
01:17:36 -!- Patashu has joined.
01:18:00 <elliott> oerjan: Hmm, is the type system you talked about decidable?
01:18:19 <oerjan> almost certainly not
01:18:27 <elliott> :(
01:18:36 -!- cheater has quit (Excess Flood).
01:18:43 <elliott> cheater sure does excess flood a lot.
01:18:47 <elliott> oerjan: Well, hmm, I don't see why not.
01:18:59 <oerjan> i mean, you can tell from the type whether a term is normalizable, which is essentially solving the halting problem
01:19:02 <elliott> oerjan: Checking a term has type (A /\ B) is just checking it has type A and type B.
01:19:07 <elliott> Checking a term has type omega is just const True.
01:19:09 <oerjan> s/the type/the set of types/
01:19:13 -!- cheater has joined.
01:19:21 <elliott> Hmm, I guess so.
01:19:57 <oerjan> in fact, a term reduces to \x -> x iff it has type A -> A
01:20:38 <elliott> oerjan: oh, wait, it was a type system for the entire LC
01:20:46 <oerjan> yes
01:20:52 <elliott> I was assuming it was just like Hindley-Milner, but with more stuff :)
01:20:58 <elliott> well, without the inferrence bit
01:20:59 <Sgeo> /?> does in fact act like ?> in PHP
01:21:12 <oerjan> nope. it doesn't even have polymorphism.
01:21:14 <Sgeo> erm
01:21:16 <Sgeo> //?> does in fact act like ?> in PHP
01:21:46 <Sgeo> Or hmm, maybe not
01:21:50 <oerjan> well apart from the first level of type variables.
01:22:11 <elliott> oerjan: erm neither does haskell :P
01:22:15 <elliott> by that definition
01:22:57 <oerjan> i mean, no let-polymorphism
01:23:05 <Sgeo> Soeone said that it is in fact just //?>
01:23:10 <Sgeo> Which ends PHP mode
01:23:14 <oerjan> you get to list every type you need to use a term with
01:23:39 <elliott> shachaf: "{loader.c} very big very big"
01:23:42 <elliott> What a good column.
01:23:45 <elliott> Er, row.
01:23:50 <elliott> oerjan: right
01:23:59 <shachaf> elliott: At least we all know how to compare "big" to "very big"!
01:24:00 -!- ais523 has quit (Remote host closed the connection).
01:24:11 -!- tuubow has joined.
01:24:14 <shachaf> > "very big" > "big"
01:24:15 <lambdabot> True
01:24:17 <shachaf> QED
01:24:39 <elliott> "{pete.c} and {pete-2.c} are both attempts to loop until the biggest integer
01:24:39 <elliott> is found. This cannot succeed as there is no biggest integer."
01:24:41 <elliott> Come on, Pete!
01:24:44 <elliott> You're better than this.
01:24:51 <oerjan> > "extremely small" < "small"
01:24:52 <lambdabot> True
01:24:53 <elliott> Wow, Pete submitted 8 entries.
01:24:55 <oerjan> it works!
01:24:58 <shachaf> elliott: Don't worry, that's what pete-3 through pete-7 are for.
01:25:06 <shachaf> Or maybe pete-8.
01:25:08 <elliott> shachaf: What about pete-9?
01:25:14 <elliott> *9
01:25:21 * shachaf waits.
01:25:23 <kallisti> elliott: I could also use this code to support expr(expr)
01:25:25 <Sgeo> Who are we mocking?
01:25:31 <elliott> *F[omega**omega](E(500))
01:25:34 <kallisti> elliott: you know, if I ever support first-class functions
01:25:35 <shachaf> Maybe it was a different Pete for each one!
01:25:41 <monqy> is sgeo even qualified to mock anything
01:26:02 <elliott> kallisti: I think you'll find you are implementing ``INFIX + SURROUND NOTATION''.
01:26:11 <elliott> Terminology (c) TehZ being a moron 2011-2011.
01:26:25 <monqy> tehz being a moron is 2011 only?
01:26:51 <shachaf> `addquote <elliott> I hate you.
01:26:51 <elliott> (Terminology (c) TehZ being a moron) 2011-2011.
01:26:53 <HackEgo> 768) <elliott> I hate you.
01:26:55 * elliott fixes the situation with surround notation.
01:27:40 <elliott> loader.c is beautiful.
01:27:41 <kallisti> elliott: SURROUND? sounds fancy
01:28:25 <elliott> (In theory as well as implementation.)
01:29:51 <elliott> shachaf: Hey! He's the guy who wrote that advanced optimising brainfuck compiler.
01:31:07 -!- augur has joined.
01:31:28 <shachaf> elliott: Figures.
01:31:30 <shachaf> Which one?
01:31:50 <elliott> bfdb, the only non-esotope compiler of the highest rank in http://code.google.com/p/esotope-bfc/wiki/Comparison.
01:32:22 <shachaf> Oh, the person who did the contest, not the person who wrote the winning entry.
01:33:33 <elliott> "I have not even used any preprocessor tricks to shorten the code,
01:33:33 <elliott> since I expect my entry to be already uncomparable to any other
01:33:33 <elliott> entry not using a nearly identical function scema."
01:33:33 <elliott> http://djm.cc/marxen-comments.txt
01:33:36 <elliott> So cocky, Mr. Loser!!!
01:38:31 * elliott dd if=iso of=/dev/sdb
01:38:51 * shachaf cp iso /dev/sdb
01:38:59 <shachaf> I win this round of shgolf.
01:39:24 <elliott> shachaf: I believe most cps will refuse to do that.
01:39:33 <pikhq_> <iso>/dev/sdb
01:39:45 <elliott> At least I believe GNU cp does unlink + open + write in that situation.
01:39:52 * pikhq_ wins this round of better-shell-than-you
01:40:35 <monqy> what shell is good shell
01:41:08 <shachaf> pikhq_ wins, I suppose.
01:47:01 <elliott> pikhq_: shachaf: Convince me to reboot into this installation medium and installaton it.
01:48:52 <monqy> what is it...
01:49:03 <shachaf> elliott: reboot into this installation medium and installaton it.
01:49:12 <elliott> The same thing I'm running, it's just a convenient way to clear out all this crap I have.
01:56:18 <elliott> Wow, how did ~ become 15 gigabytes?
01:57:24 <shachaf> täysjyväruisleipäshachaf@argon:~$ df -h /home
01:57:24 <shachaf> Filesystem Size Used Avail Use% Mounted on
01:57:24 <shachaf> /dev/sda7 286G 222G 50G 82% /home
01:57:44 <elliott> Please tell me that's not your real username.
01:57:54 <shachaf> Oh.
01:58:01 <elliott> No wait don't.
01:58:01 <shachaf> No, my username is jsut the last seven characters of that.
01:58:04 <elliott> I want to believe.
01:58:05 <elliott> Dammit.
01:58:11 <elliott> Change your username to that.
01:58:15 <shachaf> But täysjyväruisleipä is good too.
01:58:22 * shachaf is presently enjoying some täysjyväruisleipä.
01:58:26 <elliott> No, täysjyväruisleipäshachaf.
01:58:53 <shachaf> elliott: I don't mean «"täysjyväruisleipä" would make a good username». I mean that täysjyväruisleipä is good.
01:59:04 <elliott> I DON'T CARE.
01:59:08 -!- elliott has quit (Quit: ragepat).
02:22:03 <kallisti> perhaps the fact that my operator parser is actually non-associative is interfering with things.
02:27:26 <oerjan> in which elliott ragepats due to his seething hate of wholemeal bread.
02:36:57 -!- Nisstyre has quit (Read error: Connection reset by peer).
02:38:32 -!- Nisstyre has joined.
02:48:26 -!- pikhq_ has quit (Read error: Operation timed out).
02:50:49 -!- pikhq has joined.
03:10:24 -!- TeruFSX has joined.
03:38:34 <Sgeo> DEAR GOD I NEED CSS
03:38:47 <monqy> hi
03:39:32 <oerjan> comprehensive salvation system
03:40:13 -!- TeruFSX_ has joined.
03:40:36 <Sgeo> I'd link to the problem, but
03:40:46 <Sgeo> I'm tempted to use tables to style the page
03:40:49 <Sgeo> I really, really am
03:41:11 <Sgeo> I _know_ tables
03:41:23 <Sgeo> I don't know how to use CSS to make one thing appear next to another
03:42:16 <kallisti> "make one thing appear next to another" in what way.
03:42:23 <kallisti> there are different ways to do it.
03:42:40 <Sgeo> Like, a button to delete some text should appear next to the text, not below it
03:42:56 <Sgeo> Maybe I should just link
03:43:00 <Sgeo> Crud, forgot to stop XSS
03:43:01 <kallisti> Sgeo: I'd say tables are porbably better for your sanity.
03:43:17 -!- TeruFSX has quit (Ping timeout: 252 seconds).
03:44:46 <Sgeo> There we go, XSS blocked
03:45:10 <kallisti> Sgeo: otherwise you'd want to use CSS positioning or float.
03:45:33 <kallisti> well, I won't say you /want/ to use those. :P
03:46:32 <kallisti> but float can be used to arrange elements in a way that's similar to tables.
03:50:21 <kallisti> http://www.w3schools.com/css/tryit.asp?filename=trycss_float6
03:50:35 <kallisti> though honestly I don't know why this would be preferred to tables. I find it hard to follow from the stylesheet.
03:52:09 <Sgeo> Well, this is not what I wanted
03:52:18 <Sgeo> I put float:right on all of the Delete buttons
03:52:28 <Sgeo> I kind of want to show yo
03:52:30 <Sgeo> you
03:53:08 <Sgeo> I think I'll use a table
03:53:31 <Sgeo> Instead, I'll use tables
03:57:28 <Sgeo> I sold my soul to table.
03:57:52 <kallisti> there's... nothing wrong with tables.
03:59:15 <kallisti> I think the HTML should convey structural information, while CSS should convey aesthetic details.
04:03:42 <Sgeo> But this is an aesthetic detail!
04:03:55 -!- TeruFSX_ has changed nick to TeruFSX.
04:04:03 <kallisti> Sgeo: the structural layout of the page?
04:04:22 <oerjan> what, only 7 spam messages on the wiki since yesterday? something must be wrong.
04:04:34 -!- archelliott has joined.
04:04:39 <archelliott> sup
04:04:42 <kallisti> oerjan: the spammers are realizing no one actually pays attention
04:04:45 <oerjan> sorry, 8
04:04:46 <kallisti> archelliott: yo
04:04:52 <pikhq> archelliott: Is arch any good?
04:05:09 <oerjan> very archaic
04:05:11 <Sgeo> I should probably actually write delete.php
04:05:44 <kallisti> the most common thing I've heard about Arch from people: "bah, I haven't set this up. brb I'm going to install X"
04:06:03 <archelliott> pikhq: I've been using it for the past few months, this is just my nick for the irssi on the console while it installs :P
04:06:29 <pikhq> kallisti: I used Gentoo for several years, so setup is *unlikely* to be an issue for me.
04:06:55 <archelliott> pikhq: I would... cautiously say yes. I'm preferring it to Debian so far because it updates much, much quicker, and the low-patch, manual-configuration nature is what it is.
04:07:25 <archelliott> pikhq: There are a few really stupid things -- for instance, "python" is a link to python3, and you have to do python2 to get something that can actually run anything -- but only a few.
04:07:37 <archelliott> Also, there's no freeze cycle, which is nice. :p
04:08:41 <archelliott> pacman itself I'm not the biggest fan of; it's a fairly reasonable package manager, but seemingly a bit slow (this may just be psychological; it's certainly not a substantial difference, and I haven't compared it to apt at all), and just generally fairly bare-bones compared to aptitude. But it works fine.
04:09:20 <archelliott> The AUR has just about everything under the sun, including packages for proprietary software and even payware (you supply the tarball), so that's nice.
04:09:44 <archelliott> Something like yaourt of course provides easy access to the AUR and makes pacman a bit fancier. I've been using aurget, but I don't think I still will on this reinstall; it's a bash script and it shows.
04:09:53 <archelliott> Although, yaourt still has quite a lot of bash, I gather.
04:10:34 <archelliott> pikhq: The multilib situation isn't as good as it should be, but whose is. There's a separate multilib repo with lib32-* for just about everything, and you get to install a "gcc-multilib" package from there that replaces your normal gcc.
04:10:46 <archelliott> Beyond that it just works (you have to add the repo though; it's official but not default).
04:10:54 <pikhq> archelliott: Absolutely nothing does multilib "well" yet, though.
04:11:05 <archelliott> Well, yes.
04:11:10 <archelliott> "Wait for Kitten" and so on.
04:11:20 <pikhq> Well, actually, that's not true. Mandriva does it nicely.
04:11:30 <pikhq> You install x86 packages.
04:11:36 <pikhq> That's... Literally it.
04:11:41 <archelliott> If you're sick of Debian I'd say give it a try. There's not really all that much *to* Arch as a distro, so it doesn't take more than a week or two to figure out if you like it.
04:12:00 <kallisti> archelliott: how does one get tired of Debian?
04:12:02 <archelliott> pikhq: So people on x86 have everything in funky directories? :p
04:12:05 <pikhq> Not so much "sick of" as "have a handful of annoyances at it".
04:12:36 <pikhq> archelliott: Actually, it's generally the 64-bit stuff that has to deal with that. Remember, /lib on x86-64 is /lib64.
04:12:55 <archelliott> kallisti: By noticing how fucking old everything is, even in testing. Or by realising that the freeze is really annoying.
04:13:17 <kallisti> "the freeze"?
04:13:27 <pikhq> kallisti: testing freezes for upcoming releases.
04:13:50 <archelliott> kallisti: testing stops getting updates for quite a while before a stable release.
04:14:02 <archelliott> You could use sid, but then your system is too broken to appreciate the rolling nature.
04:14:20 <archelliott> You could use sid + every available experimental package if you want to blow up a few computers.
04:14:26 <archelliott> Debian: it gives you choices.
04:14:32 <kallisti> sid = rolling release Debian?
04:14:50 <kallisti> lol im no0b
04:15:04 <archelliott> sid = the unstable repository.
04:15:08 <pikhq> sid = "THIS WILL BREAK"
04:15:12 <archelliott> Updates flow from experimental to unstable to testing to stable.
04:15:23 <archelliott> experimental can't boot; it's not a complete system.
04:15:31 <archelliott> unstable is always called sid, 'cuz it breaks things.
04:15:32 * kallisti picks that one.
04:15:32 <pikhq> The "experimental" bit is optional, IIRC.
04:15:40 <archelliott> testing is called whatever stable will be called next.
04:15:49 <archelliott> stable is named after Toy Story characters that aren't Sid.
04:15:53 <pikhq> Normally you just submit to unstable.
04:16:02 <archelliott> pikhq: Right, I thought that might be the case
04:16:26 <pikhq> experimental is for, e.g. testing a new X feature.
04:16:36 <pikhq> IIRC Wayland is in experimental.
04:16:41 <kallisti> or quantum teleporting.
04:17:13 <archelliott> pikhq: More Arch notes: It just uses BSD init, so... yeah. rc.d scripts are tedious to write, but at least they're fairly simple. And you configure things by modifying the DAEMONS array in /etc/rc.conf (a bash script!) rather than messing around with an inittab.
04:17:48 <archelliott> pikhq: Also there's /etc/conf.d for passing arguments and stuff to things that /etc/rc.d starts, so it's not as bad as it could be.
04:18:05 <pikhq> I seem to remember BSD init just being the default there. I distinctly remember them having runit packages, for instance...
04:18:06 <coppro> kim jong-il is dead
04:18:14 <kallisti> yes
04:18:18 <archelliott> Changing "defaults" to "noatime" in fstab is how you get noatime, right?
04:18:19 <archelliott> fstab scares me.
04:18:23 <archelliott> coppro: Neat!
04:18:38 <archelliott> Wasn't the kid he was grooming for dictator-in-waiting reluctant?
04:18:53 <coppro> Dunno
04:18:59 <coppro> his third son was to be his successor
04:19:05 <coppro> there was a bunch of speculation it would be his first
04:19:07 <archelliott> pikhq: There's packages for lots of things. But running anything but bsdinit is fairly impractical.
04:19:20 <coppro> who is a stuck-up self-indulgent prick from what I've heard
04:19:23 <coppro> so people were worried
04:19:26 <archelliott> pikhq: Every package comes with rc.d scripts, the rc.conf thing only works with bsdinit, etc.
04:19:29 <archelliott> coppro: Unlike Kim Jong-Il?
04:19:58 <archelliott> pikhq: There's a moderately large repository of systemd scripts and the like for it, but it's very much the path of least resistance just to use bsdinit.
04:20:17 <coppro> archelliott: Kim Jong-Il had a good understanding of his limitations, although he would do his very best to ensure that no one knew he had any
04:20:27 <pikhq> Meh, still better than SysV init.
04:21:02 <archelliott> coppro: Gonna go out on a limb and say that the people of North Korea are going to be starving even more than they are in the near future.
04:21:07 <coppro> and he wasn't a prick from what I heard
04:21:13 <coppro> archelliott: dunno. Also, arch?
04:21:27 <archelliott> coppro: He's a dictator, it's literally impossible for him not to be a prick by definition.
04:21:32 <archelliott> coppro: What about it?
04:21:43 <archelliott> pikhq: Hmm, is "defaults,noatime" really distinct from "noatime"?
04:21:44 <coppro> archelliott: for all I know his third son might be like "wtf are we doing guises, lets appease the west and destarve our country"
04:21:55 <coppro> archelliott: why are you arch all of a sudden?
04:22:29 <archelliott> coppro: Is his third son the one that was all jet-setting about Europe?
04:22:36 <archelliott> And because I'm using irssi from the console from an installation CD.
04:22:36 <coppro> archelliott: dunno
04:22:40 <coppro> ah
04:22:41 <archelliott> I didn't want to have to type my NickServ password.
04:22:43 <archelliott> I'm lazy.
04:25:36 <pikhq> archelliott: Dunno.
04:26:32 <archelliott> pikhq: Hmm, do you use noatime or relatime
04:27:09 <pikhq> I personally use relatime, as is default on recent Linux.
04:27:46 <archelliott> Oh, is it default?
04:27:48 <archelliott> With "defaults"?
04:28:10 <pikhq> Yeah.
04:28:16 <archelliott> Looks like I don't gotta do nothin'!
04:28:28 <archelliott> If there's one thing Arch has, it's a recent kernel :P
04:28:37 <pikhq> Seems ever since 2.6.30.
04:29:00 <pikhq> strictatime is necessary if you want the POSIX behavior.
04:29:33 <archelliott> pikhq: Oh, another Arch comment: What its installer calls "GRUB" is actually GRUB Legacy (the other option is syslinux); personally I use ext2 /boot + jfs / and GRUB Legacy.
04:29:45 <archelliott> Installing GRUB 2 manually is probably not worth the hassle just to avoid a /boot.
04:30:37 <pikhq> ATM it'd be a royal freaking pain for me to avoid a /boot.
04:30:54 <archelliott> Oh, you're one of those LVM crazies.
04:30:56 <pikhq> Yeah.
04:31:16 <pikhq> Unfortunately, it's a pain to resize an LVM physical volume.
04:31:27 -!- GreaseMonkey has joined.
04:32:00 <pikhq> And I've had this partition setup since before GRUB 2 was sane.
04:32:12 <archelliott> pikhq: Another Arch comment, then: Its wiki has very good in-depth discussion of software and its configuration, primarily on Arch. You'll probably want to read the LVM wiki page for installation details.
04:32:38 <archelliott> (It basically goes like "create partitions manually, and then make sure to flip all these switches in the config files the installer dumps you in".)
04:32:51 <archelliott> It has support for booting LVM OOTB, though, just needs enabling.
04:33:12 <archelliott> Welp, looks like I have enough partitions installed to reboot
04:33:16 <archelliott> See you on the other side
04:33:19 -!- archelliott has quit (Quit: Lost terminal).
04:33:41 -!- zzo38 has joined.
04:36:06 -!- elliott has joined.
04:36:07 <elliott> Hi.
04:36:48 <monqy> hi
04:36:58 <elliott> Hi.
04:37:47 <Sgeo> DEVICE=GENERAL.MDV
04:37:52 <elliott> hi
04:38:01 <Sgeo> No idea what that means, but that text is within one of these MIDI files
04:39:10 <elliott> pikhq: More Arch Comments(tm): The distro GHC package is good, but avoid the haskell-* packages, especially from AUR; they're mostly good-quality, and the majority of the AUR ones are built with profiling and shared library support, but the ones that are out of date or lack profiling bring the whole thing down; stick to manually-installed cabal-install etc.
04:39:49 <elliott> This is relevant to me, as my next task after installing Xorg is to install xmonad.
04:40:48 <elliott> pikhq: Oh! Another important thing: You'll want to avoid the "xorg" metapackage, it brings in way too much crap. xorg-server + the driver packages you need is far better.
04:40:51 <elliott> Aaaand that's it.
04:41:04 <elliott> (It depends on every driver that X.org upstream ships.)
04:47:24 * elliott installs that bastion of temporary window managers, twm.
04:47:50 * elliott also temporarily installs xterm to remove later.
04:49:07 <elliott> Woot! Things broke since the last time I did all this.
04:52:26 <elliott> pikhq: Why isn't my mouse working in X :(
05:00:40 <elliott> Well this sucks.
05:04:28 <elliott> pikhq: ;___;
05:04:49 -!- MDude has changed nick to MSleep.
05:05:28 <pikhq> "Gingrich said that, as president, he would abolish whole courts to be rid of judges whose decisions he feels are out of step with the country."
05:05:35 <pikhq> Is he trying to be the country's first dictator?
05:05:59 <elliott> SUUUURE JUST TALK ABOUT POLITICS, MY MOUSE IS HURT PERMANENTLY
05:07:38 <shachaf> Aw, I missed Arch-Elliott.
05:08:31 <elliott> He died because my FUCING MOUSE DOESN'T WORK.
05:08:33 <kallisti> elliott: do you know any good parser generators for Python? (particularly one that supports LR)
05:08:43 <elliott> kallisti: No.
05:08:47 <elliott> Nothing in Python is good.
05:09:15 <pikhq> Among decisions he is against: stopping public-school mandated prayer, anything supporting homosexuality.
05:09:26 <elliott> pikhq: I've even installed xf86-input-mouse ;_______________;
05:09:34 <elliott> ;____________________________________________________________________________________________________________________________________________________________________________________;
05:10:11 <kallisti> elliott: there's a package called Plex that mimics GNU Lex. Is this a good thing or a bad thing?
05:10:36 <pikhq> kallisti: There is no such thing as GNU Lex.
05:10:38 <elliott> kallisti: There's no program called "GNU Lex", and lex isn't a parser generator, so no.
05:10:53 <kallisti> oh Flex
05:11:06 <elliott> Which is not a GNU project.
05:11:25 <monqy> is there a pbison
05:11:31 <elliott> Pison.
05:11:43 <elliott> oerjan: yo fix my mouse thx
05:11:50 <monqy> ya(p)cc
05:12:20 <kallisti> monqy: there's pybison
05:12:30 <monqy> close enough
05:12:33 <monqy> pyson
05:12:43 <monqy> not that I support using it
05:12:50 <monqy> just it mihgt do what you want (badly)
05:12:52 <kallisti> PyBison is a YACC (Yet Another Compiler Compiler) style parser. PyBison was written by Scott Hassan in 1997 and almost disappeared.
05:12:55 <kallisti> sounds good.
05:13:12 <monqy> are parser combinators any good in python
05:13:13 <kallisti> A completely different PyBison can be found at (version 0.1.8 as of 2006-06-22):
05:13:14 <monqy> (canned laughter)
05:13:31 <kallisti> monqy: I'm having issues with them.
05:13:42 <elliott> just write a recursive-descent parser
05:13:47 <elliott> like a real finite state automaton
05:14:00 <elliott> monqy: WH;Y DOESNT MEMY NOUSE WORK!!!!!
05:14:08 <monqy> elliott: i forget..................
05:14:11 <elliott> pikhq: HELP
05:14:15 * elliott CRY
05:14:16 * elliott CRY
05:14:16 * elliott CRY
05:14:21 <kallisti> okay this version of pybison looks to be somewhat maintained and also has LALR support.
05:14:25 <monqy> elliott: i may or may not have had that probelm in the past, and i may or may not have solved it by using methods deprecated by now
05:14:29 <pikhq> elliott: Um. Look at /var/log/Xorg.0.log?
05:14:31 <monqy> elliott: i forget these things
05:15:04 <elliott> pikhq: I did. All the evdev lines pretty much go "ah yes, you have a USB keyboard! and a laptop keyboard! and a synaptics trackpad! (that one doesn't work to move the cursor, incidentally) and a power button!" and nothing about any mice.
05:15:22 <elliott> I've installed xf86-input-mouse and xf86-input-synaptics (just in case??? it's a USB mouse).
05:15:26 <elliott> No difference.
05:15:31 <elliott> And this "just worked" with udev previously...
05:16:31 <pikhq> elliott: Seems you want evdev?
05:16:44 <elliott> pikhq: Yes, I of course have xf86-input-evdev; the Xorg server depends on it.
05:16:50 <pikhq> Didn't realise.
05:16:53 <elliott> My (USB) keyboard works, just not my mouse :/
05:17:07 <pikhq> I'm at a loss.
05:18:44 -!- Sgeo has quit (Ping timeout: 240 seconds).
05:18:46 <elliott> I... _suppose_ I could just soldier on to install xmonad and try and fix this afterwards, but I Don't Really Want To(tm).
05:20:15 <elliott> pikhq: If it helps any, nothing in /dev/input reacts to mouse movement.
05:20:27 <elliott> So I think this is a udev-level problem, and I have no idea how to fix those; there's no udev driver packages or anything.
05:20:38 <pikhq> Or missing kernel modules.
05:20:53 <elliott> For a bog-standard Microsoft USB mouse?
05:20:54 <pikhq> (which is *unlikely*, given you have the USB HID working)
05:21:03 <elliott> Hmm.
05:21:09 <elliott> Maybe the problem is that I haven't rebooted.
05:21:09 <pikhq> Yeah, that should just be a standard HID device.
05:21:20 <elliott> It could be that it activated my keyboard because, well, you always need a keyboard.
05:21:23 <elliott> But didn't bother with the mouse?
05:21:26 <elliott> Fuck it, I'd might as well try it.
05:21:27 -!- elliott has quit (Quit: leaving).
05:21:36 <pikhq> Which is supported by the *exact same module* as your keyboard.
05:21:52 -!- Sgeo has joined.
05:22:03 <Sgeo> Grrrr
05:22:05 <Sgeo> How long was I gone form
05:22:07 <Sgeo> *for
05:22:19 <monqy> it's been so long I've forgotten
05:22:39 -!- Jafet has quit (Quit: Leaving.).
05:23:02 <Sgeo> I do not feel like starting Timidity from the beginning
05:23:38 -!- elliott has joined.
05:23:44 <elliott> I have but one question to offer the world.
05:23:49 <elliott> WHY THE FUCK DID THAT WORK
05:24:08 <pikhq> Fuck if I know.
05:24:18 <elliott> WELCOME TO LINUX, EVERYBODY!!!
05:25:02 <elliott> I think Xorg has correctly detected that I have a high-PPI display, and twm is making its window titles appropriately over-chunky, but the problem is that all I have installed are bitmap fnots, so it has a tiny little title looking ridiculous in the middle of a ginormous frame.
05:25:06 <elliott> *fonts
05:26:57 <elliott> Huh. 96x96 dots per inch.
05:27:05 <elliott> I guess twm just wanted to draw some big borders?
05:27:38 <shachaf> elliott: How's your mouse?
05:27:42 <elliott> Working.
05:27:44 <shachaf> Aw.
05:27:47 <shachaf> I was about to fix it.
05:27:54 <elliott> > fix mouse
05:27:55 <lambdabot> Not in scope: `mouse'
05:27:59 <elliott> You can't.
05:28:13 <shachaf> Your mouse isn't in my scope?
05:28:27 <elliott> Yes, precisely.
05:28:58 -!- elliott has quit (Quit: Lost terminal).
05:30:00 -!- elliott has joined.
05:30:03 -!- elliott has quit (Changing host).
05:30:03 -!- elliott has joined.
05:30:06 <elliott> pikhq: What's the Best Terminal?
05:30:33 <shachaf> elliott: urxvt
05:30:36 <shachaf> Obviously.
05:30:45 <shachaf> (Actually urxvt is just OK.)
05:31:00 <elliott> shachaf: Yes, I know a lot of just OK terminals. Such as urxvt, and gnome-terminal.
05:31:05 <elliott> I was hoping there might be something better.
05:31:34 <elliott> (My main complaints with urxvt are (a) you need extra shit just for it to recognise URLs and (b) you can't get a scrollbar with both works nicely and doesn't look awful.)
05:33:28 <shachaf> > fix (elliott's.mouse) now
05:33:29 <lambdabot> working (elliott's.mouse)
05:33:45 <shachaf> elliott: You should write a terminal TO END ALL TERMINALS.
05:33:45 <elliott> Yay!
05:33:53 <elliott> shachaf: I've considered it, like, twice.
05:34:04 <elliott> But it's one of the most boring, most difficult, and least rewarding NIHings possible.
05:34:11 <shachaf> elliott: Linux started as a terminal emulator, you know.
05:34:16 <shachaf> Your pet OS is next!
05:34:23 <elliott> shachaf: And look where that got it!
05:34:25 <elliott> A Unix clone!
05:34:32 <elliott> A *bad* Unix clone!
05:34:53 <shachaf> (*bad* Unix) clone or *bad* (Unix clone)?
05:35:04 <shachaf> elliott: Also, the fact that you can install a thing to make URL recognition work is *good*.
05:35:06 <elliott> The former is redundant.
05:35:11 <shachaf> Rather than being one monolithic package that does things.
05:35:41 <shachaf> Modularity should be encouraged. It's not a terminal emulator's job to recognitionalise URLs.
05:35:50 <elliott> shachaf: Well, perhaps. I think on the list of software I urgently desire to be modular, terminals are very low down. And modularity has a large up-front cost in complexity on Unix, so making it modular and writing an addon usually has way less payoff than just writing the code directly.
05:36:09 <elliott> I like modularity, but half of @'s schtick is that Unix is basically fundamentally non-composable, so... yeah.
05:36:17 <elliott> That's an Opinion I Hold.
05:36:32 <shachaf> elliott: urxvt uses Perl for modularity, and Perl is fundamentally un-UNIXy.
05:36:40 <shachaf> So you should be happy.
05:36:46 * shachaf is glad that @ is going to wind up like Perl.
05:37:02 <elliott> On the contrary, it's the latest in a proud Unix heritage line of being fundamentally un-UNIXy.
05:37:13 <elliott> I believe dd was in the initial Unix; or was it find?
05:37:59 <shachaf> Apparently dd was in Version 7 Unix.
05:38:00 <shachaf> Weird.
05:38:27 <Sgeo> Is there anything bad about dd other than the if= and of=?
05:38:31 <elliott> It was, like, Unix 8-10 where they started realising they had a mountain of cruft and tried to reduce it.
05:38:35 <elliott> Then they threw it all out and started again.
05:38:50 <elliott> Sgeo: Well, apart from its invocation syntax being incredibly un-UNIXy, its entire functionality is that.
05:38:55 <shachaf> Plan 9 is the ultimate OS. There's no way @ can beat Plan 9.
05:39:09 <elliott> It bundles diverse features such as character-set conversion, skipping bytes, etc. into a monolithic tool.
05:39:24 <elliott> (Note: Unix is actually fairly composable at the base level, if you're operating on streams of bytes.)
05:39:31 <elliott> (Unfortunately, most things aren't streams of bytes.)
05:39:47 <shachaf> EVERYTHING IS STREAMS OF BYTES. with newlines
05:39:51 <elliott> shachaf: I like Plan 9 a lot, but if it were true to its convictions, it wouldn't have a C compiler.
05:40:12 <elliott> After all, if everything is a file, then rc should be an incredibly expressive programming language for the environment.
05:40:18 <elliott> (Given a compiler.)
05:40:33 <elliott> And if strings are the best data structure, well... rc, man! It just has strings.
05:40:39 <elliott> Also lists of strings, but everyone makes concessions for practicality.
05:41:34 <shachaf> What about lists of lists of strings?
05:41:42 <elliott> rc doesn't have those.
05:41:52 <shachaf> What about lists of lists of lists of strings?
05:41:56 <elliott> It's like Perl; ($a $b) concatenates $a and $b.
05:41:59 <Sgeo> This song is like a rock Ode to Joy or something
05:42:01 <elliott> shachaf: Yes, of course it has those. (No.)
05:42:07 <elliott> Sgeo: That's the worst thing you've ever said.
05:42:28 <shachaf> elliott: Aw. My working hypothesis was that it had them for odd-numbered repetitions of "lists of".
05:42:39 <elliott> shachaf: Prime, actually.
05:42:45 <elliott> It's more efficient.
05:42:55 <Sgeo> http://daychilde.com/midiguy/87197438.mid
05:43:00 <shachaf> Prime numbers like 1, and unlike 2.
05:43:08 <shachaf> Maybe it's only for numbers that are ∈ {1,5}.
05:43:10 <elliott> I am so glad I can't click links right now.
05:43:16 <shachaf> What about lists of lists of lists of lists of lists of strings?
05:43:21 <elliott> Maybe that's a blessing in disguise of rxvt.
05:43:23 <elliott> shachaf: Only on Sundays.
05:43:27 <elliott> pikhq: WHAT BEST TERMINAL
05:43:30 <shachaf> elliott: By the way, I can't click links at all.
05:43:38 <shachaf> Or, rather, I don't.
05:43:46 <Sgeo> I love this
05:43:50 <shachaf> elliott: When I see a link I copy it into my browser's URL bar.
05:43:57 <elliott> shachaf: By clicking it to select it.
05:43:59 <elliott> Q.E.Z.
05:44:03 <shachaf> elliott: This is because clicking a link doesn't open it in Chrome's Incognito Mode.
05:44:21 <Sgeo> shachaf, what do you think of this .mid?
05:44:29 <shachaf> Sgeo: Can't listen to audio here.
05:44:32 <Sgeo> Aww
05:44:40 <shachaf> Nor do I want to listen to "like a rock Ode to Joy or something"
05:45:03 * elliott is going to write the best song ever and it's going to be called "Like a rock Ode to Joy or something".
05:45:08 <elliott> AND THEN SHACHAF WILL RUE THE DAY HE SAID THOSE WORDS.
05:45:45 * shachaf kangas the day.
05:46:02 <shachaf> elliott: What date was your birthday, by the way?
05:46:02 <elliott> Kangarue is not a thing, shachaf.
05:46:14 <shachaf> elliott: Kangarue is totally a thing!
05:46:17 <elliott> And instead of answering that, I'm going to install urxvt.
05:46:20 -!- elliott has quit (Quit: doop).
05:47:52 <shachaf> @tell elliott Imagine if your computer supported multitasking so you could run the "install urxvt" program at the same time as the "don't-want-to-be-overheard-hacker-talk" program.
05:47:52 <lambdabot> Consider it noted.
05:48:22 -!- elliott has joined.
05:48:34 <zzo38> Consider it noted.
05:48:38 <Sgeo> It seems to be called "End of the Century"
05:48:46 <elliott> Targets (34): atk-2.2.0-1 cairo-1.10.2-2 libdatrie-0.2.5-1 libthai-0.1.16-1 pango-1.29.4-1 libxcursor-1.1.12-1 randrproto-1.3.2-1 libxrandr-1.3.2-2 libxml2-2.7.8-1 shared-mime-info-0.91-1 libtasn1-2.9-1 nettle-2.4-1 p11-kit-0.9-1 gnutls-3.0.9-1 libdaemon-0.14-1 dbus-1.4.16-1 avahi-0.6.30-6 libcups-1.5.0-1 gtk-update-icon-cache-2.24.8-2 gtk2-2.24.8-2 dbus-glib-0.98-1
05:48:46 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
05:48:52 <elliott> nspr-.8.9-2 sqlite3--3.7.9-1 nss-3.12.11-3 alsa-lib-1.0.24.1-1 xorg-xset-1.2.2-1 xdg-utils-1.1.0rc1-3 libevent-2.0.16-1 scrnsaverproto-1.2.1-1 libxss-1.2.1-1 ttf-dejavu-2.33-1 desktop-file-utils-0.18-1 hicolor-icon-theme-0.12-1 chromium-16.0.912.63-1
05:48:53 <zzo38> Consider it noted backward by mistake.
05:48:56 <elliott> Look at these fucking dependencies.
05:48:59 <elliott> How many dependencies can one program have?!
05:49:10 <elliott> It is like THE INFINITE UNENDING DEPENDENCY CHAIN. Not hyperbolic in the slightest.
05:49:13 <elliott> Actually they're not all that bad.
05:49:19 <elliott> But it looks so long in this tiny terminal.
05:49:22 <elliott> Must be the bitmap font.
05:49:34 <elliott> @messages
05:49:35 <lambdabot> shachaf said 1m 43s ago: Imagine if your computer supported multitasking so you could run the "install urxvt" program at the same time as the "don't-want-to-be-overheard-hacker-talk" program.
05:49:37 <Sgeo> http://www.youtube.com/watch?v=JW4cNIFpBzQ
05:49:51 <elliott> shachaf: I was using the console, man! I had like 6 tasks.
05:49:55 <elliott> Max.
05:49:59 <elliott> Can't waste those buggers.
05:50:05 <shachaf> elliott: Also, did you know about xpra?
05:50:08 <elliott> You know, twm isn't really all that bad.
05:50:11 <elliott> shachaf: What's that?
05:50:16 <shachaf> Like screen for X11.
05:50:17 <elliott> I don't have a usable browser yet.
05:50:21 <shachaf> Detach/attach etc.
05:50:23 <elliott> shachaf: So, a tiling window manager?
05:50:24 <elliott> Oh.
05:50:28 <elliott> Ah, I think so, yes.
05:50:30 <elliott> If it's the one I'm thinking of.
05:50:39 <shachaf> Are you thinking of xpra?
05:50:41 <shachaf> If so, yes.
05:50:43 <elliott> I don't use remote X programs, though.
05:50:44 <shachaf> If not so, no.
05:50:46 <elliott> That way lies madness.
05:50:56 <shachaf> elliott: So what? This is also helpful if you restart your X server
05:51:13 <elliott> OK, point. Does that actually work with a reparenting window manager?
05:51:25 <elliott> Though I don't know that xmonad is actually reparenting.
05:51:55 <elliott> Also, can it be configured to just detach everything, or would I have to code up some shaky loop for the purpose? Still, I don't restart X often.
05:52:04 <elliott> X crashes a lot, but usually because of other programs misbehaving.
05:52:30 <shachaf> elliott: It works like screen. When your X session dies, the programs don't.
05:52:34 <shachaf> Then you can reättach.
05:53:40 <elliott> http://ompldr.org/vYnQ2Zg
05:53:50 * elliott is the only twm + chromium user in the universe.
05:54:00 <shachaf> elliott: Delete that screenshot. :-(
05:54:11 <shachaf> I guess you can't.
05:54:15 * shachaf doesn't like being screenshot.
05:54:28 <elliott> shachaf: I specifically picked ompldr because they last forever, unlike imgur, too.
05:54:39 <elliott> Your words are recorded FOREVER in a screenshot in some logs right after you say them.
05:54:55 <shachaf> imgur doesn't last for the ever?
05:55:19 <elliott> It used to, but then it started pushing terabytes of bandwidth per time interval.
05:55:32 <shachaf> elliott: So you're using Arch?
05:55:36 <elliott> Yes.
05:55:56 <elliott> Yes! An easy Stack Overflow question! All I need is, um, a Haskell compiler and a wnidow manager I don't loathe.
05:55:56 <shachaf> Is it good?
05:56:01 <elliott> shachaf: I just answered that at length!
05:56:10 <shachaf> I missed that.
05:56:40 <elliott> http://codu.org/logs/log/_esoteric/2011-12-19#040655archelliott
05:57:06 <shachaf> "I'm preferring it to Debian so far because it updates much, much quicker, and the low-patch, manual-configuration nature is what it is."
05:57:32 <shachaf> "updates" in the sense of "apt-get update"?
05:57:47 <shachaf> Or in the sense of upgrades? Doesn't it compile things on upgrades?
05:57:48 <elliott> In the sense of "new upstream versions being uploaded to the repositories".
05:57:54 <elliott> And no, Arch is a binary distribution.
05:57:55 <shachaf> Oh, *that* sense.
05:58:00 <shachaf> It's a binary distribution?
05:58:04 <elliott> Yes.
05:58:07 <elliott> i686 and x86-64.
05:58:10 <shachaf> Exclusively?
05:58:19 <shachaf> Didn't it use to be source-based?
05:58:23 <elliott> Well, you can download the package repos and "makepkg" and all that.
05:58:24 <elliott> shachaf: No.
05:58:31 <shachaf> Weird.
05:58:48 <pikhq> shachaf: In a sense it's source-based, in that you can use it that way if you really want.
05:59:06 <pikhq> But, this is not at all how it's meant to be used.
05:59:36 <shachaf> > comparе "Arch" "Gentoo"
05:59:38 <lambdabot> EQ
05:59:39 <shachaf> Hmm.
05:59:42 <elliott> Okay, I really need to get xmonad running, this is unbearable.
05:59:53 <elliott> I can't bear it because I am not a bear.
06:00:04 <shachaf> Maybe I'll install the Archlinux sometime.
06:00:27 <elliott> But it's still on GHC 7.0.3! Admittedly 7.2.2 is in [testing].
06:01:00 <elliott> INSTALL QUICKER YOU STUPID THING, I HAVE A STACKOVERFLOW QUESTION TO ANSWER.
06:01:05 <elliott> While learning to use a new window manager!
06:01:08 <elliott> The BEST TIME to do anything.
06:01:09 <shachaf> elliott: Didn't you hear, you can get GHC 7.5 nowadays?
06:01:16 * elliott uses GHC 8.
06:01:25 <elliott> It's like GHC 7 but I hex-edit the binary to say 8.
06:01:26 <shachaf> > round 7.5
06:01:27 <lambdabot> 8
06:01:36 * elliott uses GHC @.
06:01:45 <shachaf> elliott: You should oct-edit the binary instead of hex-editing it.
06:02:01 <elliott> shachaf: @ actually stores files in octal instead of hex form.
06:02:04 <elliott> True Fact(tm)
06:02:16 <elliott> It's one better.
06:02:17 * shachaf >>= undefined
06:02:27 <elliott> And, um, 8 less.
06:02:30 <elliott> No wait, 9.
06:02:34 <elliott> 9 less and one better.
06:02:39 <elliott> If I remember how arithmetic works today.
06:03:25 <zzo38> What... store files in octal instead of hex form? That should be a function of the hardware instead of the software isn't it? And anyway it store file in 8-bits in 1 byte form.
06:05:05 <elliott> Time to install xmonad and all its dependencies.
06:10:31 -!- elliott has quit (Quit: leaving).
06:11:15 <oerjan> :t comparе
06:11:15 <lambdabot> Not in scope: `compar'
06:11:22 <oerjan> funny guy
06:11:42 -!- elliott has joined.
06:12:03 <Sgeo> o.O
06:12:07 <Sgeo> :t id
06:12:08 <lambdabot> forall a. a -> a
06:12:11 <elliott> TODO: Get urxvt using a reasonable font, learn enough xmonad to use it well enough to write this SO question.
06:12:11 -!- Jafet has joined.
06:12:11 <Sgeo> :t compare
06:12:12 <lambdabot> forall a. (Ord a) => a -> a -> Ordering
06:12:14 <elliott> *answer.
06:12:20 <Sgeo> Oh, shenanigans>?
06:12:24 <Sgeo> :t compare
06:12:25 <lambdabot> lexical error at character '\SI'
06:12:37 * Sgeo fails at shenanigans
06:12:54 -!- elliott has quit (Client Quit).
06:16:44 <Sgeo> kallisti, monqy update
06:16:52 <monqy> sgeo........................
06:17:40 * kallisti has no idea what to do.
06:18:08 <kallisti> should I keep using this parser combinator thing and attempt to hack it to not hit max stack depth
06:18:24 -!- elliott has joined.
06:18:25 <kallisti> or should I switch to pybison which uses flex/yacc
06:18:32 <monqy> hitting max stack depth? ahahahah
06:18:36 <elliott> Okay, this is starting to get reasaonable.
06:19:01 <monqy> have you disabled the thingy that changes focus when you mouseover windows? that's the first thing to disable
06:19:03 <Sgeo> elliott, update
06:19:08 <elliott> monqy: Seriously?
06:19:11 <elliott> That's great with a tiling W<.
06:19:12 <elliott> WM.
06:19:22 <monqy> ehh, I dislike it
06:19:33 <monqy> I usually just do the keyboard thing
06:19:41 <Sgeo> monqy, should I not ping you on update?
06:20:25 <monqy> I was going to write something about the feeling of hopelessness and entrapment when sgeo calls out your name and whispers "update" but then I decided not to
06:20:41 <monqy> because kallisti had said another thing that ruined it
06:20:46 <monqy> or would have
06:20:48 <monqy> if I had written it
06:21:07 <oerjan> sweet sweet taste of despair. or is that blood.
06:21:44 <kallisti> elliott: can I interpret PEG to mean "allows left recursion"?
06:21:56 <Sgeo> monqy, monqy update regarding opinion of update
06:21:56 <kallisti> oh, no.
06:21:58 <kallisti> no I cannot.
06:22:22 <monqy> sgeo............................
06:23:35 * Sgeo should stop
06:23:49 <kallisti> http://www.seehuhn.de/pages/wisent this might be good? I can't tell if it's being maintained though.
06:24:21 <elliott> god, I hope that guy just gives me the bounty so I don't have to answer this thing
06:24:50 <Sgeo> bounty?
06:24:55 <elliott> stack overflow
06:25:04 <Sgeo> Stack Overflow has bounties?
06:25:09 <kallisti> Sgeo: elliott is playing stack overflow: the game
06:25:10 <elliott> yes
06:25:50 <kallisti> maybe I should start directing my questions to stack overflow with the hope that elliott will actally answer them that way.
06:25:57 <elliott> that would work
06:26:35 <elliott> :t do { x <- (+); return x }
06:26:36 <lambdabot> forall a. (Num a) => a -> a -> a
06:26:44 <elliott> :t do { x <- (+); y <- (-); return (x+y) }
06:26:45 <lambdabot> forall a. (Num a) => a -> a -> a
06:26:53 * shachaf return
06:27:21 * kallisti >>=
06:27:49 * oerjan traverse
06:27:57 * monqy
06:28:28 <kallisti> the fabled monqy combinator.
06:29:15 * elliott removes xev, xdpyinfo and twm to feel more hardcore.
06:29:26 <kallisti> it automatically determines the appropriate use of punctuation and case for any strings within an arbitrary function.
06:29:37 <Sgeo> > ($5) . ($5) $ do { x <- (+); y <- (-); return (x+y) }
06:29:38 <lambdabot> 10
06:30:01 <elliott> Cool, if I click on the red border of Chromium, I get
06:30:02 <elliott> [4385:4385:4059690450:ERROR:browser_main.cc(146)] Gdk: IA__gdk_window_get_events: assertion `GDK_IS_WINDOW (window)' failed
06:30:05 <elliott> [4385:4385:4059690513:ERROR:browser_main.cc(146)] GLib-GObject: g_object_ref: assertion `G_IS_OBJECT (object)' failed
06:30:08 <elliott> [4385:4385:4059762607:ERROR:browser_main.cc(146)] GLib-GObject: g_object_unref: assertion `G_IS_OBJECT (object)' failed
06:30:11 <elliott> in my chromium-running terminal.
06:30:24 <kallisti> exciting
06:30:31 <monqy> the trick is to ignore the terminal or don't have one
06:30:40 <elliott> It's a temporary solution!
06:30:43 <kallisti> conclusion: the red border of Chromium is neither a window nor an object
06:30:53 <shachaf> elliott: Are you running xmonad now?
06:30:57 <elliott> monqy: Wow, tell me there's a way to get mouse events to the border of a window to go inside it.
06:31:05 <elliott> I can't shoot my mouse to the top of the window and use the scroll wheel to select tabs in Chromium.
06:31:08 <elliott> That's my *lifeline*.
06:31:20 <monqy> i don't knowww :(
06:31:45 <elliott> Major TODO: Get font rendering not looking like shit, get urxvt not looking like shit.
06:32:00 <kallisti> urxvt
06:32:15 <kallisti> sheesh, people think they can just use any combination of characters to name something.
06:32:25 <shachaf> elliott: Is this xmonad?
06:32:40 <elliott> kallisti: Our X11 virtual terminal, Unicode.
06:32:43 <elliott> shachaf: Yes.
06:32:45 <elliott> shachaf: Why?
06:33:09 <shachaf> If your Chromium window is the only one visible, you can use SmartBorders.
06:33:35 <elliott> Well, it isn't, but it will be once I get a workspace setup I like.
06:33:43 <elliott> The setup will probably involve one workspace per application, dynamically allocated.
06:33:54 <elliott> Well, for most things, anyway.
06:34:07 <kallisti> like alt-tabbing, but better.
06:34:20 <elliott> kallisti: I would use dmenu or such to switch.
06:34:23 <elliott> That's much better than alt-tab.
06:35:03 <elliott> shachaf: "I upgraded Haskell over the weekend." Is it okay to be annoyed at statements like this?
06:35:14 <elliott> It's worse because the Haskell Platform folks actively promote it.
06:35:21 <elliott> "Download Haskell", fuck you.
06:35:27 <shachaf> elliott: Not if you're Simon Peyton Jones and Haskell 2010 was released.
06:35:28 <kallisti> I have the opposite approach in that I typically don't maximize windows and instead have many small windows everywhere. So I'd probably used a lot of tiled windows (shocking)
06:35:36 <elliott> shachaf: :-D
06:35:39 <pikhq> shachaf: :)
06:35:51 <pikhq> Otherwise, "I upgraded C"
06:35:53 <pikhq> *groan*
06:36:06 <elliott> -- dmr, RIP.
06:36:20 <pikhq> :'(
06:37:07 * kallisti upgraded IRC
06:37:11 <kallisti> it's now based on XML.
06:38:11 <pikhq> And called "Jabber".
06:38:14 <zzo38> Could it be possible to make the ReadthisT transformer going backward?
06:38:56 <elliott> shachaf: You may be interested in: https://wiki.archlinux.org/index.php/Rxvt-unicode#Yankable_URLs_.28No_Mouse.29
06:39:00 <zzo38> Or any of my other transformers?
06:41:08 <kallisti> Å
06:42:05 <shachaf> elliott: I am aware of that extension's existence.
06:42:07 <zzo38> newtype ReadthisT f x = ReadthisT { runReadthisT :: f () -> f x }; lift = ReadthisT . const; fmap f = ReadthisT . (fmap f .) . runReadthisT; join (ReadthisT x) = ReadthisT (\y -> x y >>= ($ (() <$ (y >> x y))) . runReadthisT);
06:42:14 * elliott restarts X.
06:42:24 -!- elliott has quit (Quit: Lost terminal).
06:44:24 <oerjan> http://www.reddit.com/r/programming/comments/ngngc/the_haskell_platform_20114_is_now_available/c39140r
06:48:45 -!- elliott has joined.
06:48:46 -!- elliott has quit (Changing host).
06:48:46 -!- elliott has joined.
06:48:58 <elliott> Does anyone know how to get fontconfig to tell me what its configuration is?
06:49:12 <kallisti> at first I read that URL to say "the haskell platform 2014 is now available"
06:49:14 <kallisti> already?
06:49:43 <oerjan> kallisti: they're clearly merging feather into the type system.
06:50:39 <oerjan> repetition just for elliott: http://www.reddit.com/r/programming/comments/ngngc/the_haskell_platform_20114_is_now_available/c39140r
06:52:28 -!- elliott_ has joined.
06:52:31 -!- elliott_ has quit (Changing host).
06:52:31 -!- elliott_ has joined.
06:52:55 <elliott_> oerjan: What #haskell needs is an offshoot, #cale-patiently-explaining-haskell-to-morons. It's a good public service, it's just incredibly frustrating to watch :P
06:53:16 -!- elliott has quit (Ping timeout: 245 seconds).
06:53:54 <elliott_> "Do I still need a graduate degree in category theory in order to print to a log file?"
06:54:01 <elliott_> This reminds me! I should not read /r/programming.
06:54:27 <elliott_> shachaf: Do you know the horror that comes from your tab titles being subpixel-antialiased with a subtly but noticeably different algorithm from the page content?
06:54:38 <elliott_> I have failed to replicate my fontconfig rules in Xresources. :(
06:54:52 <kallisti> elliott_: don't you know that writing to log files is what Real Programmers do?
06:55:10 <kallisti> I'm writing to a log file right now. It's so legitimate.
06:56:36 <elliott_> "Trolling aside:
06:56:37 <elliott_> I'm someone who loved programming in ML (predecessor of Haskell) in college but still has the worldview that user interaction, file handling/writing/reading, UI and such stuff is hard to do in functional languages without it feeling forced/backwards.
06:56:40 <elliott_> "
06:56:43 <elliott_> It's funny because they said "trolling aside".
06:57:03 <elliott_> "Eh.
06:57:03 <elliott_> My brain tried hard at Haskell.
06:57:03 <elliott_> I did not grok it.
06:57:03 <elliott_> I also do not understand Monads. The little I understand is that they seem to describe some mystic, arcane concepts which only those within the circle understand.
06:57:05 <oerjan> <elliott_> This reminds me! I should not read /r/programming. <-- hey i only pointed you at that one subthread
06:57:06 <elliott_> "
06:57:09 <elliott_> sadfjkghl
06:57:11 <elliott_> I am closing this tab now.
06:57:26 <elliott_> You know, we should convert all our monads into arrows just so people stop fucking saying that.
06:58:28 <Sgeo> My Haskell-tainted mind made me write a PHP function differently from the way I was going to do it
06:58:35 <kallisti> :t sort
06:58:36 <lambdabot> forall a. (Ord a) => [a] -> [a]
06:58:38 <Sgeo> I returned a string instead of just echoing
06:58:38 <kallisti> @src sort
06:58:38 <lambdabot> sort = sortBy compare
06:58:43 <monqy> Sgeo: oh no
06:58:45 <elliott_> It's not the Haskell mind virus, it's the Haskell mind helper.
06:58:53 <kallisti> @src sortBy
06:58:54 <lambdabot> sortBy cmp = foldr (insertBy cmp) []
06:59:10 <kallisti> wat
06:59:31 <elliott_> Insertion sort? Nice.
06:59:33 <elliott_> Not what GHC uses, though.
06:59:42 <kallisti> I would have expected something bet-- oh
06:59:51 <elliott_> "@src" sucks bigtime.
06:59:56 <kallisti> yeah I've gathered.
06:59:59 <Sgeo> @src elliott_
06:59:59 <lambdabot> Source not found. You type like i drive.
07:00:26 <elliott_> pikhq: Hey, how do you set the cursor in X? I have an X rather than a pointer.
07:00:27 <oerjan> kallisti: ghc uses mergesort
07:00:31 <kallisti> elliott_: granted I believe it was written with the purpose of helping newbies, and not as a tool for people who want to actually know what the source code looks like in GHC.
07:00:42 <elliott_> kallisti: Well, it's not even GHC, it's just base.
07:00:44 <kallisti> oerjan: any particular reason why mergesort is preferred to quicksort?
07:00:51 <elliott_> But it's a mix of the Report, random shit, and missingness.
07:00:54 <elliott_> kallisti: Quicksort sucks on linked lists.
07:01:03 <kallisti> ah okay.
07:01:04 <elliott_> Quicksort also has terrible worst-case behaviour compared to mergesort.
07:01:10 <kallisti> that makes sense.
07:01:10 <elliott_> Also, quicksort sucks when you're not mutating.
07:01:15 <kallisti> yeah
07:01:16 <elliott_> In fact I wouldn't call it "quicksort" if it didn't mutate.
07:01:25 <kallisti> right.
07:01:35 * elliott_ has no idea why quicksort is so vastly overrated.
07:01:50 <elliott_> Maybe it's because it has "quick" in the name.
07:01:51 <Sgeo> Most languages are fine with mutation?
07:01:57 -!- zzo38 has quit (Quit: When the executioner goes to the cell, he finds out that the prisoner's brains have been replaced by silver money. So now he has no job, but at least he can still get paid by stealing the money.).
07:02:01 <kallisti> elliott_: well it does have better constant factors doesn't it?
07:02:10 <elliott_> Sgeo: Mergesort is preferable even with mutation.
07:02:14 <elliott_> kallisti: Citation needed.
07:02:29 <elliott_> I think mergesort can be slightly slower on tiny lists, but that's the most I've heard.
07:02:30 <kallisti> elliott_: does my data structures class count as a source?
07:02:43 <elliott_> No, your university sounds terrible.
07:02:44 <kallisti> maybe they Lied to me.
07:02:56 <Sgeo> Can't be worse than mine
07:03:02 <oerjan> kallisti: http://www.haskell.org/ghc/docs/latest/html/libraries/index.html is where i usually go to look up base code
07:03:33 <oerjan> hoogle also gives source links
07:03:43 <kallisti> elliott_: you can Wikipedia as well as I can.
07:03:45 <elliott_> oerjan: http://hackage.haskell.org/package/base
07:03:46 <elliott_> Get with the program.
07:04:31 <kallisti> :t insertBy
07:04:32 <lambdabot> forall a. (a -> a -> Ordering) -> a -> [a] -> [a]
07:04:47 <kallisti> :t insert
07:04:48 <lambdabot> forall a. (Ord a) => a -> [a] -> [a]
07:04:56 <kallisti> I'm guessing insert is... (<) sorted insert?
07:05:07 <kallisti> > insert 3 [1,2,4,5]
07:05:08 <elliott_> > insert 42 [1,2,3,4,999]
07:05:08 <lambdabot> [1,2,3,4,5]
07:05:09 <lambdabot> [1,2,3,4,42,999]
07:05:28 -!- DCliche has quit (Quit: You are now graced with my absence.).
07:06:17 <kallisti> @pl (\x y -> 1)
07:06:17 <lambdabot> const (const 1)
07:06:22 <kallisti> ah, yes.
07:07:03 <elliott_> shachaf: How do I get a thing showing which workspace I'm on? Is that part of the dzen2/xmobar/so on so forth clique?
07:07:12 <kallisti> > insertBy (const (const GT)) 4 [1,6,23,6,4,7,2]
07:07:13 <lambdabot> [1,6,23,6,4,7,2,4]
07:07:51 <kallisti> that's totally a thing you'd want to do, btw.
07:08:56 <elliott_> I'm using irssi. I should stop using irssi.
07:09:16 <oerjan> NEVER
07:09:22 <elliott_> shachaf: FreeBSD? Seriously?
07:14:21 -!- elliott_ has quit (Quit: Lost terminal).
07:19:19 <shachaf> @tell elliott The server I run my IRC client on runs FreeBSD, yes.
07:19:19 <lambdabot> Consider it noted.
07:19:49 <shachaf> @tell elliott "Is that part of the dzen2/xmobar/so on so forth clique?" Yes.
07:19:50 <lambdabot> Consider it noted.
07:21:42 -!- elliott has joined.
07:21:44 -!- elliott has quit (Changing host).
07:21:44 -!- elliott has joined.
07:21:49 <elliott> dzen or xmoadbar??? CAST YOUR VOTES.
07:21:49 <lambdabot> elliott: You have 2 new messages. '/msg lambdabot @messages' to read them.
07:22:00 <shachaf> elliott: dzen
07:22:05 <elliott> WHY.
07:22:05 <fizzie> I vote for taffybar, just to be different.
07:22:15 <kallisti> > sort [1000..1]
07:22:15 <shachaf> elliott: I find xmobar strongly distasteful.
07:22:16 <lambdabot> []
07:22:16 <elliott> I ALREADY KNOW YOU USE DZEN YOU CANNOT FOOL ME FIZZIE.
07:22:20 <kallisti> oh rite
07:22:24 <kallisti> > sort [1000,999..1]
07:22:24 <elliott> shachaf: OK WHY
07:22:25 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
07:22:30 <fizzie> elliott: Sure, but it's not like I should practice what I preach.
07:22:34 <elliott> All I remember is looking at the webpage and going (a) "oh, this seems simple" (b) I wonder why it's using types like that.
07:22:39 <kallisti> > sort [10000,999..1]
07:22:39 <shachaf> elliott: Also, I used xmonad-inside-GNOME once with gnome-panel.
07:22:39 <lambdabot> [999,10000]
07:22:42 <kallisti> lol
07:22:45 <kallisti> > sort [10000,9999..1]
07:22:45 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28...
07:22:56 <elliott> shachaf: fizzie does that, I think.
07:23:00 <elliott> He's ``weird''.
07:23:14 <fizzie> I do that, but I've only got indicator-applets and a systray in the gnome-panel.
07:23:19 <shachaf> elliott: Anyway, everything I've seen of xmobar has made me not like it.
07:23:28 <fizzie> I have those dzen panels for workspace indicators and window title, one per monitor.
07:23:28 <shachaf> Including the name -- trying to make itself look "official" and all.
07:23:59 <elliott> shachaf: What have you seen that isn't the name?
07:24:06 <fizzie> I vaguely recall that gnome-panel's workspace switcher was all strange-looking for this dual-monitor uses-IndependentScreens setup.
07:24:09 <shachaf> Whereas dzen has many flaws but at least it's simple-ish.
07:24:33 <elliott> dzen does xft, right? Just checking.
07:24:45 <shachaf> elliott: Some of the code, problems that people have complained about in IRC, the configuration file, a couple of specific modules, and the author talking about it back when the author was around.
07:24:52 <fizzie> It does xft, though I think the version that was in Ubuntu 11.04 didn't.
07:25:05 <fizzie> Don't know about 11.10.
07:25:09 <elliott> shachaf: Hmm, what such complaints? (What about the author?)
07:25:11 <elliott> This is a SERIOUS DECISION.
07:25:14 <shachaf> There exists a version of dzen that does xft.
07:25:15 <elliott> Gotta be in possession of ALL THE FACTS.
07:25:18 <shachaf> elliott: Look, this was years ago.
07:25:22 <shachaf> I haven't run xmonad in more than a year.
07:25:26 <elliott> xmobar is years old?
07:25:31 <shachaf> Yes.
07:25:42 <elliott> Wait, so is the NEW WAVE OF FADDISH TILING WMS.
07:25:47 <elliott> I'm old.:/
07:26:02 <elliott> Oh, the maintainer has a @gnu.org address.
07:26:05 <elliott> I'll go with dzen.
07:26:07 <shachaf> You think *you're* old?
07:26:14 <shachaf> How do you think *I* feel?
07:26:23 <fizzie> The http://dzen.googlecode.com/svn/trunk version does xft.
07:26:27 <elliott> shachaf: Older.
07:26:52 <shachaf> xmobar was released no later than Jun 2007.
07:27:13 <elliott> So what are dzen's many flaws?
07:27:23 <shachaf> It's limited.
07:27:33 <shachaf> People get around this by running multiple instances and arranging them just right.
07:27:40 * elliott was mostly considering xmobar because of seeing ezyang's blog post about making it semi-transparent somewhere.
07:27:45 <elliott> Not that I want a semi-transparent bar thing.
07:27:48 <elliott> It just looked nice.
07:27:51 <shachaf> elliott: Also, XFT IS EVIL FIGHT THE ANTIALIASING CONSPIRACY USE ION3
07:27:53 <elliott> And that's, like, a celebrity endorsement.
07:28:06 <elliott> shachaf: I am totally immune to tuomov antialiasing jokes!
07:28:08 <pikhq> shachaf: Derp.
07:28:23 * shachaf , like, actually *met* ezyang a couple of months ago.
07:28:31 <elliott> shachaf: I decided I'd read the entire contents of his blog chronologically before dismissing him as an idiot, and he had too many correct opinions for me to.
07:28:35 <shachaf> It was crazy, man.
07:28:37 <elliott> (Even if he is a total asshole.)
07:28:42 <elliott> Not ezyang.
07:28:42 <elliott> tuomov.
07:29:05 <shachaf> Wait, tuomov is the celebrity here?
07:29:16 <elliott> I, um, don't think so?
07:29:32 * shachaf isn't sure what's going on anymore.
07:29:33 <pikhq> He did write Ion, though.
07:29:56 <shachaf> Anyway, nobody said tuomov was an idiot.
07:30:11 <fizzie> I tried to draw some layout indicators with dzen2 ^r(...)^ro(...)^p(-X;+Y)^r(...) style of mess, but that went nowhere fast.
07:30:15 <elliott> fizzie: So do I need to get some third-party patched dzen to get xft?
07:30:24 <elliott> shachaf: Certainly; I never implied otherwise.
07:30:32 <fizzie> elliott: <fizzie> The http://dzen.googlecode.com/svn/trunk version does xft.
07:30:36 <fizzie> That's not third-party.
07:30:40 <fizzie> That's just "new enough".
07:30:46 <shachaf> elliott: ANTIALIASING IS THE DEVIL. DON'T BE THE DEVIL. DON'T ANTIALIAS.
07:30:47 <elliott> Although "unecological penis enhancement" wrt multiple monitors is a lot funnier to mock than his Xft spiel.
07:30:51 <elliott> fizzie: Ah.
07:31:11 <fizzie> Could be one of the devils... er, what was I going to say? Oh yes, that maybe one of the releases do Xft too.
07:31:14 <elliott> fizzie: Does 0.8.5 sound new enough?
07:31:26 -!- aloril has quit (Ping timeout: 240 seconds).
07:31:27 <elliott> That's what the Arch has.
07:31:50 <fizzie> No, because that's what my work-Ubuntu has too, and it didn't do it.
07:32:08 <fizzie> It's apparently the latest actual release.
07:32:10 <elliott> Well, it is -7. Maybe there's a patch. Maybe I'll check.
07:32:18 <shachaf> @google arch dzen xft
07:32:21 <lambdabot> https://wiki.archlinux.org/index.php/Dzen
07:32:26 <shachaf> zomg
07:32:35 <elliott> Nope. :(
07:32:48 <elliott> As of revision 241 (development), dzen2 has optional support for Xft. To enable Xft, you should build dzen2 with these options: (edit config.mk)
07:32:52 <elliott> Sigh.
07:32:59 <elliott> fizzie: Tell me about taffybar!
07:33:06 <elliott> What, it uses GTK.
07:33:07 <shachaf> elliott: I recommend that you write a status bar TO END ALL STATUS BARS.
07:33:14 <fizzie> I haven't actually tried it, but I have a quote about it somewhere.
07:33:30 <elliott> shachaf: I just want a clock and workspace info! I don't even care about the window title!
07:33:47 <fizzie> <vav> taffy needs more hackers to add more widgets. Is missing some stuff most people want. Still pretty neat though so long as it keepz being developed.
07:33:48 <elliott> shachaf: And maybe a volume indicator.
07:33:56 <fizzie> There; I suppose you'll trust someone who writes "keepz".
07:33:57 <elliott> fizzie: You... save quotes that boring?
07:34:01 <elliott> Even HackEgo doesn't save quotes that boring.
07:34:02 <fizzie> No, I grepped for it.
07:34:12 <shachaf> `log <fizzie>
07:34:49 <HackEgo> 2011-12-06.txt:13:49:47: <fizzie> The mutable-integer Linux.
07:34:57 <shachaf> elliott: HackEgo saves *every* quote.
07:35:02 <elliott> True dat.
07:35:12 <shachaf> Come to think of it, that's pretty good.
07:35:15 <elliott> fizzie: I'm going to have to either have a junk window when I play Minecraft, or have a gigantic 800x800 mcmap to get it square. :(
07:35:19 <shachaf> `addquote <fizzie> The mutable-integer Linux.
07:35:23 <HackEgo> 769) <fizzie> The mutable-integer Linux.
07:35:26 <fizzie> It was the "MInt Linux", I think.
07:35:32 <shachaf> Oh.
07:35:35 <shachaf> :-(
07:35:38 <kallisti> elliott: apparently Data.List is claiming that the foldr (insertBy cmp) [] implementation of sortBy is the "quick sort" algorithm taken from HBC's QSort library.
07:35:53 <kallisti> elliott: I wonder if they're saying that it's actually quicksort or if that's just what they called it for some reason.
07:35:55 <elliott> kallisti: Well, it might be quick. But it's not quicksort.
07:36:01 <shachaf> Haskell B. Curry had a QSort library?!
07:36:03 <elliott> (It isn't quick.)
07:36:12 <elliott> kallisti: *hbc, I think.
07:36:24 <shachaf> elliott: Insertion sort is pretty quick!
07:36:53 <kallisti> elliott: hey, don't ask me, I'm just quoting the comment verbatim.
07:37:24 <fizzie> "When humans manually sort something (for example, a deck of playing cards), most use a method that is similar to insertion sort.[1]" -- ooh, I was so sure that'd be a [citation needed] fact.
07:37:36 <fizzie> It's citing Robert Sedgewick, Algorithms, Addison-Wesley 1983 (chapter 8 p. 95).
07:37:57 * elliott is an octopus, and so uses parallel sorting algorithms.
07:38:27 <shachaf> elliott: So how would you sort ~2000 books?
07:38:37 <kallisti> I find what's fast for me is not quite so fast for my computer, and vice versa.
07:38:41 <elliott> shachaf: 8 at a time.
07:38:58 <shachaf> elliott: My father and I encountered this problem a while ago.
07:39:11 <elliott> I suggest not sorting them.
07:39:12 <elliott> O(0).
07:39:50 <shachaf> And also, stop caring about which book you want to read.
07:39:52 <kallisti> elliott: the actual merge sort used in base is actually pretty cool.
07:39:55 <shachaf> So you have O(1) indexing.
07:40:07 <kallisti> the insertion sort is just used if the USE_REPORT_PRELUDE macro is defined.
07:40:32 <elliott> shachaf: I agree.
07:40:42 <elliott> Much faster.
07:41:25 <fizzie> "What do you call an accident victim octopus?" "A heptapus." NUMBER PREFIX JOKES
07:41:44 <kallisti> ..
07:43:54 <elliott> shachaf: So what can dzen do that isn't text?
07:44:04 <fizzie> It can do a RECTANGLE.
07:44:08 <elliott> Gosh.
07:44:11 <shachaf> elliott: I think it can display bitmaps?
07:44:13 <fizzie> An outline or a filled one.
07:44:20 <fizzie> It can do bitmaps too if you're a SURRENDER MONKEY.
07:44:20 <shachaf> And rectangles, too.
07:44:30 <shachaf> Who cares about things that isn't text?
07:44:37 <elliott> I should probably install xmonad-contrib.
07:44:38 <fizzie> Also BALLS.
07:44:46 <fizzie> I mean, circles.
07:44:51 <shachaf> elliott: XMONAD-CONTRIB
07:44:59 <elliott> shachaf: Hi.
07:45:13 -!- aloril has joined.
07:45:27 <shachaf> I'm, like, totally a committer to xmonad-contrib.
07:45:29 <elliott> Have I mentioned I'm kind of tempted to write an xcb binding for Haskell and port xmonad to it?
07:45:40 <elliott> shachaf: Wow, that's, like, several degrees above "monkey" in the global pecking order.
07:45:43 * elliott bows.
07:45:50 <elliott> I'm a committer to @.
07:46:07 <shachaf> elliott: Wow, that's, like, several degrees below "monkey" in the global pecking order.
07:46:19 <elliott> Exactly!
07:46:21 <shachaf> Anyway, doesn't @ use the @ version control system?
07:46:22 <fizzie> Wasn't there a binding already? I think I saw a mention when reading about xcb "the other day".
07:46:22 <elliott> That's why I'm bowing.
07:46:34 <elliott> fizzie: There seems to have been one that got lost to the Sands of Time.
07:46:40 <fizzie> Aw.
07:47:00 <shachaf> elliott: Anyway, if you committed to @, then there must be a repository you committed to.
07:47:08 <shachaf> Can I get it?
07:47:09 <elliott> Also its author was talking on the xcb list about how amazing Haskell is for this, since you can just structure every asynchronous operation with unsafeInterleaveIO and the information will only be retrieved from xcb when you forced the result.
07:47:13 <fizzie> Oh well, WAYLAND.
07:47:14 <elliott> So I don't think I'd use that one anyway.
07:47:33 <elliott> shachaf: No. It only works on @ computers.
07:47:41 <shachaf> So it doesn't work?
07:47:47 <fizzie> You can call those "atting machines".
07:47:58 * elliott has a suspicion that xmonad's extravagant claims of perfect design and stability are accomplished by putting everything useful in the significantly laxer xmonad-contrib.
07:48:03 <elliott> shachaf: It works. If you have @.
07:48:16 * shachaf would totally contribute to @.
07:48:24 <elliott> Is there something I can install to, um, click on my fancy workspace indicators to switch to them?
07:48:33 <elliott> When I'm in Web Browsing Mode(tm) I don't really like moving my hand to the keyboard.
07:48:33 <shachaf> There does not yet exist a single atting machine. elliott isn't even up to a half-atter yet.
07:48:42 <fizzie> Half-otter.
07:48:56 <fizzie> I have clickable workspace indicators, but they're sort of... hand-made.
07:49:09 <elliott> Handmade howso :P
07:49:23 <shachaf> elliott: We're just talking in #-blah about how inflexible xmonad's design is.
07:49:39 <elliott> It is?
07:49:44 <shachaf> Yes.
07:49:47 <elliott> Howso
07:50:14 <shachaf> kmc wanted to write a static tiling and it didn't lend itself to it.
07:50:27 <elliott> Only bad people want static tilings.
07:50:47 <shachaf> Like tuomov?
07:51:00 <elliott> I never said he wasn't bad.
07:51:19 <fizzie> I have ^ca(1,echo blah)...^ca() around the indicators, and then that dzen2 runner script which reads from dzen2's stdout and writes suitable events to xmonad to switch; if you do the usual thing of just spawnPipe'ing dzen2 (or something) that's not very worky.
07:51:45 <elliott> fizzie: Oh, I saw your dbus stuff.
07:51:51 <elliott> I explicitly thought, "why is this moron using dbus?".
07:51:54 <fizzie> Octobus.
07:52:22 <Sgeo> FTP also lends itself well to vomiting unsafeInterleaveIO all over your library.
07:52:26 <elliott> So can you change the background of some text depending on whether it's the current workspace or not in dzen2?
07:52:32 <fizzie> Broken pipes are the #1 reason for frozen XMonads, I think: http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_questions#XMonad_is_frozen.21
07:52:55 <shachaf> elliott: If you want click-to-switch-to-arbitrary-workspace, you might need to install a smarter panel.
07:52:56 <elliott> Sgeo: In fairness I think the xcb thing would make the requests as soon as the action happens, and just only request the response from the xcb server when you forced it.
07:53:03 <fizzie> Certainly you can change the background of text.
07:53:05 <shachaf> elliott: Any EWM-compliant workspace switcher would do.
07:53:07 <elliott> The problem being that you could still send off requests to do things before previous ones finish.
07:53:21 <elliott> fizzie: Does the background stretch all the way to the top and bottom of the panel?
07:53:24 <shachaf> elliott: This is the announcement of xmobar: http://www.haskell.org/pipermail/xmonad/2007-June/001042.html
07:53:28 <fizzie> elliott: It does.
07:53:35 <elliott> shachaf: I don't really want a smarter panel, though; I spent a few million years trying to find a good panel and never did.
07:53:38 <elliott> fizzie: Yay.
07:53:44 <Sgeo> elliott, that sounds exactly like ftphs
07:53:47 <shachaf> elliott: gnome-panel works just fine.
07:54:20 <elliott> shachaf: That mail isn't *that* bad. Also that guy doesn't seem to maintain it anymore, but whatever.
07:54:25 <elliott> Sgeo: Well, except FTP is a synchronous protocol.
07:54:35 <elliott> shachaf: And gnome-panel does not just "work fine".
07:54:36 <Sgeo> elliott, I'm undecided whether to just make ftphs strict, or to have lazy functions but the results get forced when the next ftp thing is called. I think I'll have functions like the latter, except marked as lazy
07:54:42 <elliott> At least, gnome3-panel certainly doesn't.
07:54:55 <Sgeo> So I'm not actually that undecided
07:55:02 <elliott> Sgeo: getDirectory :: String -> IO (IO (Maybe FileEntry))
07:55:04 <shachaf> elliott: Well, it's not that mail. I haven't seen it before, I think.
07:55:21 <elliott> getAll :: IO (Maybe a) -> IO [a]
07:55:46 <elliott> getAll m = x >>= maybe (return []) (\x' -> (x':) <$> getAll m)
07:55:50 <elliott> Or something.
07:56:23 * Sgeo was planning on having the FTP connection store an IORef ()
07:56:34 <elliott> shachaf: What was taht border thing you mentioned?
07:56:36 <Sgeo> Although maybe IORef (IO ()) won't make me feel weird
07:56:46 <elliott> Sgeo: What use is an IORef ()?
07:56:57 <elliott> Oh, IORefs can contain unevaluated values.
07:57:07 <elliott> Sgeo: Just rip out the unsafeInterleaveIO. Or don't, because it's a waste of time since nobody uses FTP.
07:57:14 <elliott> Write ftp-enumerator or whatever.
07:57:50 <Sgeo> elliott, I'm going to disable the unsafeInterleaveIO except for the marked lazy functions
07:58:01 <Sgeo> And there will be no lazy functions without a strict alternative
07:58:16 -!- cheater has quit (Ping timeout: 245 seconds).
07:58:22 <elliott> Sgeo: There is no point retaining a broken interface.
07:58:37 <Sgeo> The laziness might be useful to someone grabbing a large file
07:59:18 <Sgeo> And it wouldn't be backwards compatible anyway: The lazy functions are getting lazy in front of their names
07:59:36 <elliott> Well, that's what iteratees are for. If you're going to waste time on FTP at least go all the way.
07:59:42 <elliott> (Thus <elliott> Write ftp-enumerator or whatever.)
08:00:11 <shachaf> elliott: SmartBorders?
08:00:37 <Sgeo> I should be sleeping
08:01:05 <elliott> shachaf: Yes, thanks.
08:01:14 <elliott> shachaf: Not in xmonad-contrib?
08:01:50 <shachaf> It is in xmonad contrib.
08:02:04 <elliott> shachaf: /SmartBorders/ on the Hackage page returns nothing.
08:03:01 <elliott> fizzie: https://sites.google.com/site/gotmor/dzen Well, the official site advertises "optional xft support"; would be strange if it weren't in the stable release...
08:04:20 <elliott> Hello,
08:04:20 <elliott> Congratulations -- you are one of the top new Stack Overflow users for the week of Dec 12 2011!
08:04:23 <elliott> http://stackexchange.com/leagues/week/stackoverflow/2011-12-12
08:04:25 <elliott> It's users like you who make the Stack Overflow community worth visiting in the first place.
08:04:28 <elliott> Awwww, how sweet.
08:04:29 <shachaf> elliott: Do you want me to run (ack-)grep for you? OK. :-)
08:04:30 <shachaf> Layout/NoBorders.hs
08:04:41 <elliott> shachaf: "ack-grep" is my favourite binary name ever.
08:05:20 <shachaf> elliott: I have ln -s ack ack-grep
08:08:10 -!- azaq23 has quit (Quit: Leaving.).
08:08:32 <elliott> You know, Alt is not a very good prefix for an emacs user.
08:09:04 <shachaf> elliott: You're using Alt as your modkey?
08:09:05 <shachaf> Are you crazy?
08:09:10 <shachaf> Mod4 immediately.
08:09:14 <fizzie> elliott: htkallas@pc112:~/inst/dzen2-0.8.5$ grep -i xft * # no matches
08:09:40 <fizzie> The SVN version has it as an uncommentable thing in config.mk.
08:10:09 <elliott> shachaf: Which one is mod4?
08:10:17 <shachaf> "Windows" key.
08:10:17 <elliott> fizzie: Fair enough.
08:10:29 <shachaf> Do they have "Windows" keys in the UK?
08:10:30 <elliott> shachaf: Not an option, my sole windows key is badly-placed.
08:10:42 <shachaf> elliott: Fine, bind it to caps-lock.
08:10:42 <elliott> Alt Gr is what I'm leaning towards, but I don't know what its number is.
08:10:44 <fizzie> shachaf: They don't even have "doors" in the UK, that's how poor they are.
08:10:45 <elliott> Heck no.
08:10:52 <elliott> fizzie: Says the Finn.
08:10:58 <elliott> Did they ever manage to get vodka doors working?
08:11:28 <shachaf> Oh, fizzie is Finnish.
08:11:33 <shachaf> fizzie: What's a good way to learn Finnish?
08:12:15 <fizzie> Being born here and then learning from people around you`
08:12:19 <fizzie> s/`/?/
08:12:32 <fizzie> Now I trailing-spaced a `.
08:12:34 <shachaf> fizzie: Yes, I was thinking you'd say something along those lines.
08:12:44 <fizzie> It's the only way I really have experience of.
08:13:18 <shachaf> It's apparently an unpopular language to learn.
08:13:47 <elliott> shachaf: tswett knows more Finnish than the Finns.
08:13:51 <elliott> (Not an accurate statement.)
08:14:17 <elliott> shachaf: You should try and get drafted and learn the language on the job.
08:14:28 <shachaf> fizzie: What's being drafted like?
08:14:55 <elliott> Drafty.
08:16:27 <shachaf> Maybe I should institute a policy of not answer questions that can be answered with a few seconds and the Google.
08:17:08 <fizzie> If that's draft as in compulsory military service, I did that the lazy-bum way; but from what I hear from others, it makes men out of boys. Or so they claim.
08:17:10 <elliott> Not answer?
08:17:42 <pikhq> fizzie: That sounds vaguely homoerotic.
08:17:51 -!- oerjan has quit (Quit: leaving).
08:18:13 <shachaf> fizzie: What's that way?
08:21:42 <fizzie> It's the "civil service" way. Basically you just find a place from a qualifying organization (non-profit, or part of the public sector, or whatever) and then do some sort of a job for a year with very low pay (but paid meals + rent). E.g. I did fiddle around with PageMaker for this place where they train prison guards (they also do books and such about it), and quite a lot of people just sysadmin at their university or whatnot.
08:22:35 <fizzie> Oh, and there's a one-month training thing, which from what I recall was mostly about sauna and sausages.
08:22:54 <fizzie> I suppose there were some lectures too.
08:23:30 <shachaf> fizzie: Nakki?
08:24:04 <fizzie> That's the diminutive form of sausage.
08:24:21 <shachaf> Oh. It's not a specific kind?
08:25:03 <fizzie> Well, depending on how specific "specific" means. It's the small(er) kind.
08:25:13 <shachaf> elliott: Do you know what's weird? Windows programmers.
08:25:31 <pikhq> shachaf: The "real" way to learn Finnish is to learn Japanese and get some brain damage. :P
08:25:50 <elliott> fizzie: dzen2 is reasonable with CPU usage and the like, right? This is CLEARLY WORTH WORRYING ABOUT.
08:25:53 <elliott> shachaf: ++
08:26:07 <fizzie> elliott: I haven't noticed it running, if that's what you mean.
08:26:47 <fizzie> At the moment, it seems to be using 1.2 megabytes of resident memory, and 0.0 percent of CPU time.
08:27:03 <elliott> So which modNMask is alt grrrr?
08:27:06 <shachaf> pikhq: What?
08:27:43 <fizzie> You can 'xev' for that stuff. Strange configurations may need some xmodmapping.
08:27:46 <shachaf> elliott: xev + xmodmap
08:27:52 <pikhq> shachaf: Snark about how Finnish and Japanese coincidentally have very vague, superficial similarities in how they sound.
08:27:55 <elliott> "XMonad's defaults with multiple monitors may seem confusing and chaotic until explained and illustrated."
08:28:07 <fizzie> Here according to xev it produces ISO_Level3_Shift, which seems to be mod5 according to xmodmap.
08:28:09 <shachaf> pikhq: They do? They've always sounded completely different to me.
08:28:23 <pikhq> *shrug*
08:28:37 <elliott> No, xev gives me "Alt_L" and the like. Although I guess maybe xmodmap has some kind of query mode?
08:28:42 <elliott> Oh, that's what you just implied.
08:28:50 <shachaf> elliott: Are you sure you even have AltGr enabled?
08:28:51 <fizzie> 'xmodmap' without arguments prints the modifier mapping.
08:29:01 <elliott> shachaf: It's what the key is labelled./
08:29:08 <shachaf> elliott: In the default layout I usually get in X11 the right Alt key is just mapped to Alt.
08:29:13 <shachaf> I always have to enable it myself.
08:29:17 <elliott> mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
08:29:24 <elliott> Well that's stupid. :(
08:29:50 <fizzie> Finnish layouts always "enable" AltGr, but that's because we use it for all kinds of characters, like all of @${[]}\|.
08:30:05 <fizzie> Anyway, I suppose you could xmodmap Alt_L out of mod1 into mod5.
08:30:13 <elliott> What's the Approved(tm) thing to do that?
08:30:16 <fizzie> Or Alt_R. Or whichever it is.
08:30:19 <elliott> I try to avoid remembering things about X.
08:31:16 <fizzie> xmodmap -e 'remove mod1 = Alt_R' -e 'add mod5 = Alt_R' # untested
08:31:20 <fizzie> I don't know if it does multiple -e.
08:31:42 <elliott> Isn't there a thing to load from a file?
08:32:06 <fizzie> ~/.Xmodmap is the common file for it.
08:32:16 <fizzie> Might be it's autoloaded by the X startup scripts by default.
08:32:55 <fizzie> Or I don't know about common, but it's what I seem to have had back when I needed some "keycode N = keysym" remappings for weird keys.
08:33:05 <elliott> What's the default layoutHook? SO DIFFICULT :'(
08:33:15 <shachaf> lambdabot: "layoutHook defaultLayout"
08:33:23 <shachaf> That's right, lambdabot.
08:33:27 <shachaf> Now you know.
08:33:29 <shachaf> Stupid bot.
08:33:32 <elliott> shachaf: I want to inline it to modify it. :p
08:33:48 <shachaf> elliott: Just look at Config.hs, then.
08:34:09 <shachaf> elliott: Or at the Template Config on the Wiki.
08:34:40 <shachaf> layout = tiled ||| Mirror tiled ||| Full where tiled = Tall nmaster delta ratio; nmaster = 1; ratio = 1/2; delta = 3/100
08:35:39 <elliott> Wow, that's rather involved.
08:35:55 * elliott wonders WTF delta is.
08:36:06 <shachaf> The amount it shifts by when you resize it, I think.
08:36:24 * elliott wonders whether ratio is the size of the master or the size of the secondary.
08:41:00 <elliott> shachaf: Where do I go to see errors if mod-q fails silently? :(
08:43:38 <shachaf> elliott: Install xmessage.
08:43:53 <elliott> shachaf: Ha, seriously?
08:43:54 <shachaf> elliott: Alternatively, redirect errors into ~/.xmonad-errors from whatever is starting xmonad.
08:44:10 <shachaf> elliott: Well, that's how it used to be a while ago.
08:44:30 <elliott> I like how it doesn't float the xmessage. :/
08:45:26 <shachaf> If you want to float your xmessages, you gotta do it yourself, dawg.
08:46:40 <elliott> xmonad-contrib is too big.
08:47:16 <shachaf> Yes.
08:47:19 <shachaf> It's full of junk.
08:48:12 <elliott> shachaf: So what do you use these days?
08:48:22 <shachaf> elliott: Metacity.
08:48:28 <shachaf> I never bothered to change it.
08:48:51 <shachaf> It's, like, who cares, man, you know what I'm sayin'?
08:49:11 <elliott> shachaf: Have fun when your distro gets round to GNOME 3.
08:49:32 <shachaf> elliott: That's why I'm not upgrading.
08:49:38 <elliott> At all?
08:49:49 <shachaf> Well, from Ubuntu 11.04.
08:49:57 <shachaf> I started using Ubuntu for a silly reason anyway.
08:50:04 <shachaf> I've only liked it less over the years.
08:50:10 <shachaf> I'll probably install Arch or something rather than upgrade Ubuntu.
08:51:52 <elliott> What's the silly reason? My reason for switching to Arch was that it had GHC 7.
08:52:21 <shachaf> My father was using it and wanted me to fix all his problems by encountering them myself first.
08:52:25 <shachaf> Or something along those lines.
08:52:27 <shachaf> I didn't really care.
08:55:29 <elliott> I'm so glad xmonad-contrib ahas
08:55:36 <elliott> I'm so glad xmonad-contrib has David Roundy's configuration.
08:55:45 <elliott> The one thing I want out of my utility module is the ability to be a real physicist.
08:55:49 <elliott> *package
08:56:06 <shachaf> droundy doesn't use xmonad anymore.
08:56:14 <shachaf> I think he forked the repository or something like that.
08:57:22 <elliott> Doesn't he also eschew cabal?
08:57:24 <elliott> Strange guy.
08:58:54 -!- elliott has quit (Quit: Lost terminal).
09:01:35 -!- amca has joined.
09:07:38 -!- Ngevd has joined.
09:08:00 -!- elliott has joined.
09:08:22 <elliott> Ooh, xmonad fails quite massively at floating XChat's preference windows.
09:08:57 <fizzie> They do float for me.
09:09:03 <elliott> Well, yes, but try selecting a font.
09:09:24 <elliott> Okay, I need to install a GTK theme so that this doesn't look like complete crap.
09:09:28 <fizzie> Oh, the font-select-o-tron indeed doesn't.
09:09:49 <Ngevd> Today's Gunnerkrigg Court is SO GOOD
09:10:07 <elliott> fizzie: I don't suppose you have anything for feeding libnotify type things into a dzen?
09:10:14 <elliott> I can cook something up myself, but it'd be nice if it already existed.
09:10:20 <fizzie> Nope.
09:11:05 -!- tuubow has quit (Ping timeout: 240 seconds).
09:11:29 -!- elliott has quit (Client Quit).
09:11:52 -!- elliott has joined.
09:11:54 -!- elliott has quit (Client Quit).
09:13:24 -!- elliott has joined.
09:13:34 <elliott> Okay, not only do I need a GTK theme, I need a dmenu-or-equivalent.
09:13:38 <elliott> (What do y'allz use?)
09:13:44 <elliott> *you all gentlepeople
09:13:53 <elliott> shachaf: Thanks for smartBorders btw
09:14:02 <shachaf> elliott: You're welcome.
09:14:09 <shachaf> I didn't write it or anything.
09:14:10 <Deewiant> I use dmenu
09:14:17 <shachaf> But I'll take the credit.
09:14:24 <elliott> className =? "Putty" --> doFloat,
09:14:27 <elliott> fizzie: You use _putty_?
09:14:30 <elliott> On _Linux_?
09:14:31 <shachaf> elliott: By the way, you're going to want URGENCY hooks eventually.
09:14:36 <elliott> shachaf: What do they do?
09:14:50 <shachaf> elliott: So that when a window beeps, the workspace colour in your dzen changes.
09:14:57 <elliott> Deewiant: With a billion patches, no doubt!!!!!! (I can't really run something that uses bitmap fonts, I just can't.)
09:15:03 <shachaf> "beep" being the thing that makes the taskbar item flash, or whatever it is.
09:15:15 <elliott> shachaf: But everything that beeps in a way I care about also sends libnotify events.
09:15:23 <Deewiant> elliott: I hardly ever /look/ at it.
09:15:25 <shachaf> Oh, I thought you used irssi.
09:15:29 <shachaf> I guess not.
09:15:30 <elliott> I did until ~5 seconds ago.
09:15:36 <elliott> And until ~a few hours before that.
09:15:43 <elliott> I needed something that worked from the console.
09:15:52 <shachaf> elliott: Well, you should use irssi for ever.
09:16:05 <fizzie> elliott: For nethack.alt.org; there was something Putty's CP437 did better than using konwert-to-utf8, can't recall what.
09:16:14 <fizzie> (I'm an IBMgraphics sort of a person.)
09:16:19 <shachaf> CP437!
09:16:30 <elliott> fizzie: I tried being an IBMgraphics sort of person, but the self-loathing held me back.
09:16:58 <shachaf> DECgraphics SSSSZ lyfe
09:17:04 <fizzie> But the half-integral fountains!
09:17:24 <shachaf> fizzie: Well... Yes.
09:17:36 * shachaf has never ever gotten IBMgraphics working under Linux.
09:17:42 <shachaf> Except with DOS(emu|box), I guess.
09:17:44 <elliott> konwert does it quite well.
09:17:47 <elliott> Sort of.
09:17:49 <elliott> Kinda.
09:17:58 <shachaf> Anyway, the future is neither-DEC-nor-IBMgraphics.
09:17:59 <elliott> fizzie: When reading, I found a VERY EXCITING THING.
09:18:05 <shachaf> Real NetHack players use plain old plain.
09:18:11 <elliott> fizzie: Did you know that you can tell OpenJDK you're using a non-reparenting window manager directly these days?
09:18:12 -!- olsner has quit (Ping timeout: 244 seconds).
09:18:14 <shachaf> (Also, people who want to use Interhack.)
09:18:17 <elliott> You don't have to pretend to be looking-glass 3D.
09:18:40 <fizzie> elliott: Yes, I did know that; sadly, I need to pretend at work because Matlab uses its bundled-in ass-old JDK.
09:18:43 <elliott> shachaf: Did you know DeathOnAStick doesn't use any graphics or colour or anything?
09:18:50 <elliott> Or the fancy walk command thing.
09:18:56 <shachaf> elliott: I did.
09:19:04 <shachaf> Colour is overrated.
09:19:08 * elliott knows this because he watched the end of their successful second attempt at insanity.
09:19:18 <shachaf> By everyone except DeathOnAStick. Colour is underrated by DeathOnAStick.
09:19:25 <shachaf> Wait, DOAS succeeded?
09:19:27 <shachaf> When did that happen?
09:19:33 <shachaf> That's the gem-polymorpher, right?
09:19:36 <elliott> shachaf: Yes.
09:19:40 <elliott> It was, like, a year ago by now?
09:19:48 <elliott> They just appeared again and #nethack was like "ooooooooh".
09:19:49 * shachaf tries to recall what DOAS was trying to do.
09:19:59 <elliott> And then about ten hours passed and then people went "WOW THEY DID IT"
09:20:13 <elliott> shachaf: http://nethackwiki.com/wiki/DeathOnAStick
09:20:29 <Ngevd> Today's Misfile is pretty good too
09:20:44 <elliott> http://newsgroups.derkeiler.com/Archive/Rec/rec.games.roguelike.nethack/2005-11/msg01798.html
09:21:14 <elliott> "Also, I reject the theory that he's
09:21:14 <elliott> making a picture -- he doesn't use color."
09:21:16 <elliott> THEORIES!
09:22:56 <shachaf> r.g.r.n
09:23:03 <elliott> fizzie: What's THE BEST GTK THEME?
09:23:12 <elliott> Player DeathOnAStick
09:23:13 <elliott> is not playing.
09:23:13 <elliott> has a save file, dated Wed, 30 Nov 2011, 04:03:20
09:23:18 <elliott> I wonder what they're doing this tmie.
09:23:19 <elliott> time.
09:23:25 <shachaf> elliott: REDMOND
09:23:30 <shachaf> Wait, is that a Qt theme?
09:23:31 <elliott> Maybe they're filling the entire game with pudding.
09:23:41 <shachaf> elliott: REDMOND + GTK QT ENGINE
09:23:48 <elliott> shachaf: It's gtk.
09:23:51 <shachaf> Man, I used to use Gtk Qt Engine.
09:23:57 * elliott too.
09:24:01 <elliott> Back when KDE sucked in different ways.
09:24:14 <shachaf> I also used to use Redmond.
09:24:18 <shachaf> In KDE.
09:24:19 <elliott> Why.
09:24:23 <shachaf> Because.
09:24:29 <kallisti> one of the students in my data structures class mentioned zippers once. SOMEONE WHO KNOWS HASKELL ERHAPS?
09:24:29 <elliott> Why.
09:24:37 <shachaf> Microsoft is very good at designing window decorations.
09:24:41 <shachaf> Or was.
09:24:46 <shachaf> Back in the Windows 2000 days.
09:24:49 <fizzie> elliott: HIGH CONTRAST LARGE PRINT INVERSE.
09:24:50 <shachaf> Man, those were the days.
09:25:18 <shachaf> elliott: How many of the students in *your* data structures class mentioned zippers once? Eh?
09:25:29 <elliott> fizzie: ;__;
09:25:36 <elliott> shachaf: Purple!
09:26:19 <elliott> I wish Mod-q let you know when it was done.
09:26:38 <shachaf> elliott: It does.
09:26:44 <shachaf> The borders flash, or something.
09:26:58 <shachaf> «Your Amazon.com order of "Chicago" has shipped!»
09:26:58 <elliott> No they don't.
09:27:01 <elliott> dzen2-xft-xpm-xinerama-svn 271-1
09:27:03 <shachaf> elliott: Mine do.
09:27:05 <elliott> What a horrid package name.
09:27:07 <elliott> shachaf: *did
09:27:26 <shachaf> Why did I order that?
09:28:04 <elliott> You know, all these fancy-schmancy "status bar"/"panel" things really need to be is something that starts a bunch of commands, with specified width and order, as X subwindow things.
09:28:22 <shachaf> elliott: That sounds so simple.
09:28:25 <shachaf> WRITE IT
09:28:29 <elliott> SO TEMPTED.
09:28:53 <shachaf> GIVE IN TO THE NIH SIDE
09:29:14 <elliott> You could even just use xclock(1) as the clock widget.
09:29:44 <elliott> Well... you'd need some kind of trick to reparent it, since it doesn't take a window ID.
09:29:56 -!- olsner has joined.
09:31:39 -!- kmc has quit (Quit: Leaving).
09:32:54 <shachaf> elliott: What if you had, like, a window manager INSIDE A WINDOW MANAGER?!?!
09:33:03 <shachaf> W I N D O W M A N A G E R C E P T I O N
09:33:04 <elliott> Oh, you can just use XReparentWindow.
09:33:15 <elliott> X is so lawless.
09:33:16 <shachaf> (This comment brought to you by: Reddit.)
09:36:29 <elliott> fizzie: You're so mean.
09:37:29 -!- tuubow has joined.
09:40:03 <elliott> shachaf: Can you find out what GTK theme fizzie uses so I can not use it?
09:42:10 <fizzie> I use whatever's the Ubnuttu-gnome default.
09:42:29 <elliott> So weird.
09:42:33 <elliott> shachaf: What's the best GTK theme?
09:46:20 <kallisti> elliott: human nature
09:46:34 <kallisti> the most insightful theme of all.
09:46:42 <shachaf> elliott: I told you, GTK Qt engine.
09:46:46 <monqy> whats a theme
09:46:51 <elliott> shachaf: Second-best???
09:46:53 <shachaf> elliott: This reduces the question to "what's the best Qt theme".
09:46:56 <elliott> monqy: EHWATHS HTEIH EBST IIOJGIOTJK THEME
09:46:59 <shachaf> elliott: The best Qt theme is "Qt GTK Engine"
09:47:04 <monqy> elliott: i dont theme.....................oopS?
09:47:43 <elliott> shachaf: I wonder what happens if you do that.
09:47:48 <elliott> monqy: You use... Raleigh?
09:47:50 <elliott> Really?
09:48:02 <kallisti> elliott: theme hipster
09:48:23 <monqy> whats raleigh is it that miserable default
09:48:24 <monqy> then yeah
09:48:36 <elliott> monqy: How.
09:48:41 <elliott> monqy: How do yo sleep.
09:48:43 <elliott> How do you breathe.
09:48:54 <elliott> How do you turn into an aardvark and devour the children of the night.
09:49:01 <monqy> the magic of apathy
09:49:21 <shachaf> I use Clearlooks.
09:49:24 <shachaf> Clearlooks is the future.
09:49:55 <elliott> shachaf: The future that doesn't actually work on GTK 3? :-)
09:51:13 <elliott> Hey pikhq, it's that time of year when I ask you for Grey Mist again.
09:51:46 <shachaf> More like GRAY MIST
09:52:11 <monqy> ;_;
09:52:16 <elliott> shachaf: More like GAY MIST.
09:52:33 <fizzie> More like YOUR FIST.
09:52:39 <elliott> Verily.
09:52:47 <elliott> God I hope that guy gives the bounty today, I want a day off.
09:52:55 <shachaf> What?
09:53:00 <elliott> Stack Overflow! It's my JOB now.
09:53:04 <elliott> It pays me in imaginary internet points.
09:53:07 * elliott $$$
09:53:14 <shachaf> A bounty will only makes you work harder, elliott.
09:53:25 <shachaf> elliott: Hey, did you ever play Diablo II?
09:53:26 <elliott> I've already worked for it, he just hasn't given it to me yet.
09:53:33 <elliott> And no; should I?
09:53:45 <shachaf> I have no idea if you should.
09:53:50 <elliott> Thanks.
09:53:56 <shachaf> But if you do, want a bunch of free items in -- USWest Ladder?
09:53:59 <shachaf> I guess that's a no.
09:54:01 <elliott> Totally.
09:54:38 <elliott> With smartBorders, switching from a borderless workspace to a borderful one draws it without borders for a split second before adding them. :(
09:54:45 <elliott> I can tell because the XChat window seems to jitter slightly.
09:54:57 <fizzie> Diablo II: Septic Bardiche of of Blight.
09:55:02 <shachaf> SCRAP EVERYTHING, WRITE @
09:55:33 <fizzie> For some reason always when I see an item called "Septic Anything" I re-assemble that as "Anything of Septic Tank Repair" in my head.
09:56:01 <shachaf> elliott: Diablo II got the formula of using a randomly-scheduled rewards to encourage you to do things that aren't even fun very well.
09:56:03 <elliott> fizzie! Buy a Septic Tank from me.
09:56:54 <elliott> shachaf: You can't allegorise my Stack Overflow addiction, I'm both completely aware of it and don't care in the slightest because being manipulated to help people with Creative Commons-licensed answers is like one of the least evil forms of manipulation ever.
09:57:18 <elliott> Like an MMORPG where the goal is to be really nice.
09:57:30 <shachaf> elliott: No, no, Iwasn't allegoriszsing.
09:57:41 <shachaf> It just reminded me.
09:57:46 <elliott> Allegoriszsing is the best thing to do.
09:57:48 <elliott> Looks kinda German.
09:58:12 <shachaf> In German, 'z' is pronounced 'tz' and 's' is pronounced 'z'.
09:58:27 <monqy> ztzz
09:58:42 <monqy> tzttztz
10:00:30 <shachaf> > iterate (>>= (\x -> case x of 'z' -> "tz"; 's' -> "z"; y -> [x])) "szs"
10:00:30 <lambdabot> ["szs","ztzz","tzttztz","ttztttzttz","tttzttttztttz","ttttztttttzttttz","tt...
10:00:38 <shachaf> > fix (>>= (\x -> case x of 'z' -> "tz"; 's' -> "z"; y -> [x])) "szs"
10:00:39 <lambdabot> Couldn't match expected type `[GHC.Types.Char] -> t'
10:00:39 <lambdabot> against inferr...
10:00:41 <kallisti> elliott: http://haskell.org/haskellwiki/Consultants
10:00:46 <kallisti> elliott: you should list yourself here.
10:01:01 <shachaf> elliott is a consultant? :-(
10:01:05 <kallisti> alongside Conal Elliott.
10:01:18 <kallisti> even though he's in north america
10:02:02 <fizzie> Also in Diablo II you can collect 14281868906496 El runes and upgrade them to a single Zod rune, though you also need 362799102 assorted gems. (Disclaimer: might have calculated wrong here, but it's something of that order of magnitude.)
10:02:11 <elliott> shachaf: No.
10:02:15 <shachaf> fizzie: Yes!
10:02:20 <shachaf> Good old runes.
10:02:32 <shachaf> fizzie: I'm pretty sure Jah or Ber is worth more than Zod in the trading circles these days.
10:02:40 <shachaf> If you play online.
10:02:46 <Deewiant> I'm pretty sure they almost always have been
10:02:48 <shachaf> Diablo II is pretty much a trading game nowadays.
10:03:09 <monqy> that's an awful lot of runes, assorted gems
10:03:11 <shachaf> It's an incredibly inefficient market, of course. :-)
10:03:25 <shachaf> monqy: Fortunately for you, you can cube gems into other gems.
10:03:45 <shachaf> So if you want to start from chipped gems, you actually need way more than 362799102
10:04:30 <fizzie> It's an awful lot of runes also because odds are you can actually find a Zod after collecting just 144238 El.
10:04:43 <shachaf> fizzie: What, in A1 Normal?
10:04:50 <fizzie> Well, not *there*, that's true.
10:05:00 <shachaf> So there you go.
10:05:13 <shachaf> You also won't find any flawless gems in A1 normal.
10:05:21 <shachaf> However, you will find quite a lot of gem shrines, so that helps.
10:05:40 * shachaf JahIthBer
10:05:45 <monqy> is diablo all about big numbers and funny names then
10:06:11 <fizzie> You only need 81 chipped gems for a flawless gem, though.
10:06:30 <kallisti> monqy: no
10:06:30 <shachaf> Isn't it 27?
10:06:49 <fizzie> Oh, right; I mean, for a perfect gem.
10:06:53 <monqy> kallisti: just big numbers?
10:07:11 <fizzie> And you don't need perfect for rune-upgrade.
10:07:32 <shachaf> fizzie: Do you actually still play the game?
10:07:36 <kallisti> monqy: it's about pressing buttons to strategically alter the state of a system so that it produces favorable conditions.
10:07:53 <monqy> kallisti: big numbers and lots of buttons
10:08:00 <monqy> are the buttons big too
10:08:04 <kallisti> no
10:08:13 <kallisti> well, depends on your scale.
10:08:18 <kallisti> they're larger than your fingertips.
10:08:27 <elliott> shachaf: fizzie has a mental encyclopedia.
10:08:36 <elliott> I call it a mentyclopedia for short. (Not true.)
10:08:59 <fizzie> Anyway, after collecting those 14 trillion El runes you can then socket it into the Ethereal Sash of Suckiness.
10:09:03 <kallisti> dude my sense of time is so fucked up lately.
10:09:06 <shachaf> Oh, earlier I was going to say: Bye, elliott. belliott.
10:09:21 <elliott> shachaf: You should change your name so it portmanteaus correctly.
10:09:22 <kallisti> I'll look at the clock, get distracted by something, and then look back and see that it's an hour later.
10:09:28 <shachaf> Because it sounds like "belly". As in "belly of the beast"
10:09:37 <elliott> Then I could execute superior portmanoeuvres.
10:09:37 <shachaf> fizzie: You can't socket sashes!
10:09:50 <fizzie> I was sort-of thinking that might be the case. :/
10:09:53 <shachaf> elliott++ # portmanoeuvres
10:10:02 <shachaf> fizzie: When was the last time you played?
10:10:08 <monqy> do any greetings/goodbyetings end in sh
10:10:09 <monqy> or sha
10:10:12 <monqy> or shach
10:10:15 <monqy> or shacha
10:10:16 <monqy> or shachaf
10:10:21 <Deewiant> ethereal cracked sash, use the socket quest to get a socket in it so you can zod it
10:10:32 <shachaf> Deewiant: ...You can't socket sashes.
10:10:37 <Deewiant> Shh
10:10:38 <kallisti> I think runes kind of broke D2
10:10:40 <shachaf> Only shields, helms, armor, and weapons.
10:10:52 <Deewiant> You're spoiling the joke.
10:11:09 <shachaf> I don't get the joke.
10:11:16 <fizzie> And I'm not really playing it, and I never really played it "for reals"; I just did my single single-player normal-difficulty LoD playthrough on battle.net, and consequently read a bit about how it's really meant to be played by Real Men.
10:11:17 <shachaf> Is this the "say something that's wrong" joke?
10:11:25 <monqy> I love that joke
10:11:26 <kallisti> shachaf: no
10:11:34 <kallisti> I have that (c)
10:11:45 <shachaf> fizzie: Wait, how is it really meant to be played by Real Humanoids?
10:11:45 <fizzie> To understand what all those "NNN Stones of Jordan sold" messages meant.
10:12:09 <shachaf> fizzie: Did you ever do the Übers?
10:12:18 <monqy> kallisti legendary humourist, renowned for his impeccable to say things that are wrong
10:12:26 <monqy> er
10:12:30 <monqy> kallisti legendary humourist, renowned for his impeccable ability to say things that are wrong
10:12:39 <fizzie> Certainly not. I could barely manage to slog through the game itself.
10:12:50 <shachaf> fizzie: Did you go all the way through to Hell?
10:12:53 <shachaf> Oh, just Normal.
10:12:57 <fizzie> Right.
10:13:01 <Deewiant> I never did the übers, most of my high-enough-level characters were before them and when they did appear I couldn't be bothered to run for the keys and whatnot
10:13:20 <shachaf> Even *I* did Nightmare in single-player.
10:13:20 <fizzie> Also it's slightly funny that Stone of Jordan is called an "unique" item.
10:13:28 <shachaf> (Well, half LAN half single-player.)
10:13:37 <shachaf> Deewiant: You can trade for keys pretty easily.
10:13:43 <Deewiant> I've never traded for anything.
10:13:53 <shachaf> Well, that makes things a bit more difficult. :-)
10:14:02 <shachaf> Anyway, smiters can do the Übers very easily.
10:14:09 <kallisti> stop talking about D2 and talk about SC2 instead so I can make insightful comments.
10:14:23 <shachaf> No.
10:14:31 <shachaf> I'll talk about RA2, though.
10:14:33 <kallisti> did you know that they're /removing/ the carrier from the next expansion?
10:14:47 <shachaf> How 'bout them Kirovs?
10:14:50 <monqy> is that the thing that does the thing
10:14:55 <kallisti> despite it being like a starcraft classic.
10:15:11 <fizzie> Also the character build names are ridiculous. "Hammerdin." "Javazon."
10:15:18 <kallisti> monqy: it's a big yellow alien ship that spits out smaller little robotic alien ships that shoot things with blue lasers.
10:15:21 <shachaf> fizzie: Well, yes.
10:15:22 <monqy> ah yes those things
10:15:37 <kallisti> monqy: you could mass up a few of them and unleash giant swarms of blue lasers on everything.
10:15:39 <shachaf> fizzie: On the other hand, what would you call them?
10:15:46 <monqy> and you had to press the button to make them do the thing right
10:15:50 <monqy> ahhh, the button
10:15:53 <kallisti> monqy: except in sc2 they made carriers more or less the least effective protoss air unit.
10:16:05 <monqy> cries
10:16:11 <fizzie> "Paladin specializing in the Blessed Hammer skill as his core competency", of course.
10:16:28 <monqy> how could they
10:16:45 <kallisti> it's no big deal it's probably a good idea unless they can make the carrier viable again.
10:16:58 <kallisti> but they're making this new air unit that shoots like big blue shocky orbs.
10:17:05 <shachaf> fizzie: Why didn't you do the multiplayer thing?
10:17:14 <monqy> do the big blue shocky orbs fly around and shoot more shocky orbs
10:17:18 <kallisti> monqy: no
10:17:21 <fizzie> shachaf: That would involve other people.
10:17:26 <monqy> then what will fill the void in my heart
10:17:41 <kallisti> monqy: I'm not really sure why they're giving protoss air units more anti-air-ness. They should improve the air-to-ground.
10:17:46 <kallisti> monqy: by, say, improving carriers.
10:17:52 <kallisti> monqy: void rays.
10:18:07 <monqy> sounds stylish
10:18:07 <kallisti> they shoot blue lasers.
10:18:16 <monqy> void lasers?
10:18:21 <kallisti> actually, yes.
10:18:23 <fizzie> I just played on battle.net in a game called "befunge" with a password of some randomly chosen name of a befunge example program from catseye. :p
10:18:26 <monqy> brilliant
10:18:28 <elliott> I like how this superficially resembles an equal two-party conversation.
10:18:39 <kallisti> fizzie: was it a single-player game? :P
10:18:55 <shachaf> fizzie: Right.
10:18:56 <elliott> fizzie: Online single player?
10:18:58 <kallisti> elliott: oh? it does?
10:19:00 <fizzie> elliott: Right.
10:19:05 <elliott> fizzie: Is this what being old feels like?
10:19:16 <kallisti> elliott: yes. ;_;
10:19:24 <shachaf> elliott: You know what being old feels like.
10:20:08 <kallisti> hi
10:20:46 <kallisti> monqy: also they're continuing to give terran more ridiculous shit as always.
10:20:53 <monqy> good good
10:21:26 <kallisti> such as giving their little flame-thrower-equipped land rover things the ability to become TRANSFORMERS
10:21:32 <monqy> and the zirg?
10:21:34 <kallisti> terran is like transformers: the race
10:21:42 <kallisti> except it's actually just people
10:21:45 <kallisti> with things that transform.
10:21:52 <monqy> close enough
10:21:54 <kallisti> http://starcraft.wikia.com/wiki/Battle_hellion
10:23:01 <monqy> ah, those wheels are not in good rover places
10:23:53 <kallisti> I like how changing into a walker suddenly makes them more powerful and heavier armored.
10:24:14 <monqy> does it
10:24:26 <kallisti> yes
10:25:21 <monqy> sounds likeable indeed
10:26:18 -!- Slereah_ has quit (Ping timeout: 252 seconds).
10:26:46 -!- elliott has quit (Read error: Connection reset by peer).
10:28:39 -!- elliott has joined.
10:30:04 -!- Slereah_ has joined.
10:35:53 -!- itidus22 has joined.
10:37:01 -!- GreaseMonkey has quit (Quit: The Other Game).
10:39:06 -!- itidus20 has quit (Ping timeout: 252 seconds).
10:50:54 <elliott> I bet the fizzie uses the damnu too.
11:00:35 -!- Ngevd has quit (Ping timeout: 252 seconds).
11:02:34 <Deewiant> Is there software that is actually called damnu
11:10:37 <elliott> Deewiant: Doubt it
11:10:53 <Deewiant> Shame
11:14:34 -!- monqy has quit (Quit: hello).
11:14:39 <elliott> Deewiant: But if I write a menu...
11:16:22 -!- Jafet has quit (Ping timeout: 240 seconds).
11:17:17 -!- Jafet has joined.
11:17:37 -!- amca has quit (Quit: Farewell).
11:18:56 <fizzie> elliott: But why would you write a menu application ais523 can't use?
11:19:56 <elliott> fizzie: REVENGE.
11:20:02 <elliott> Anyway, you're damning the program and/or system, not yourself.
11:20:11 <elliott> $ damnu
11:27:03 <elliott> Anyway, fizzie has done that thing where he doesn't deny my allegations, so I'll assume they're true.
11:36:14 <elliott> To-day feels like a day for either writing menus or something or writing Markov code.
11:36:19 <elliott> fizzie: Remember my adventures with Markov code?
11:38:25 -!- tuubow has quit (Ping timeout: 240 seconds).
11:52:04 -!- Jafet1 has joined.
11:52:10 -!- Jafet1 has quit (Changing host).
11:52:10 -!- Jafet1 has joined.
11:53:45 -!- Jafet has quit (Ping timeout: 240 seconds).
12:10:11 -!- Jafet has joined.
12:12:34 -!- Jafet1 has quit (Ping timeout: 240 seconds).
12:15:38 -!- Jafet has quit (Read error: Connection reset by peer).
12:19:04 -!- Jafet has joined.
12:34:02 -!- Jafet has quit (Quit: Leaving.).
12:35:10 -!- Sgeo has quit (Read error: Connection reset by peer).
12:35:45 -!- derdon has joined.
12:37:38 <elliott> Gah, terminal default colours are so bad
12:37:55 <elliott> It is impossible to select a background for which the default rxvt blue and yellow colours are both legible on
12:38:27 <Deewiant> I just change the blues
12:38:33 <Deewiant> And use black
12:38:36 <Deewiant> As the background
12:43:36 -!- myndzi\ has joined.
12:43:45 -!- shachaf_ has joined.
12:44:20 -!- Slereah has joined.
12:45:31 -!- Zetro_ has joined.
12:47:01 -!- elliott has quit (Ping timeout: 244 seconds).
12:47:01 -!- comex has quit (Ping timeout: 244 seconds).
12:47:02 -!- SimonRC has quit (Ping timeout: 244 seconds).
12:47:02 -!- kallisti has quit (Ping timeout: 244 seconds).
12:47:03 -!- FireFly has quit (Ping timeout: 244 seconds).
12:47:07 -!- elliott has joined.
12:47:13 -!- elliott has quit (Changing host).
12:47:13 -!- elliott has joined.
12:47:19 -!- Slereah_ has quit (Ping timeout: 240 seconds).
12:47:19 -!- Zetro has quit (Ping timeout: 240 seconds).
12:47:19 -!- mtve has quit (Ping timeout: 240 seconds).
12:47:20 -!- myndzi has quit (Ping timeout: 240 seconds).
12:47:20 -!- shachaf has quit (Ping timeout: 240 seconds).
12:47:21 -!- Zetro_ has changed nick to Zetro.
12:47:21 -!- SimonRC_ has joined.
12:47:37 -!- kallisti has joined.
12:47:37 -!- kallisti has quit (Changing host).
12:47:37 -!- kallisti has joined.
12:48:12 -!- comex` has joined.
12:49:14 -!- FireFly has joined.
12:51:12 -!- mtve has joined.
12:56:22 -!- Jafet has joined.
13:06:23 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
13:16:24 <elliott> <Deewiant> I just change the blues
13:16:25 <elliott> <Deewiant> And use black
13:16:25 <elliott> <Deewiant> As the background
13:16:32 <elliott> Deewiant: So, ~20% of the total colours
13:16:48 <elliott> Okay, actually more like 10%
13:16:56 <elliott> Assuming you count regular and intense as separate
13:18:05 <Deewiant> I change those two
13:18:25 <Deewiant> And I find it satisfactory
13:18:28 <elliott> Three
13:18:31 <elliott> Blue 1, blue 2, black
13:18:35 <elliott> Well, "background"
13:18:55 <elliott> Really what I want is a coherent theme like zenburn, but less ugly
13:19:23 <elliott> Something #111-#333ish as the background, off-white as foreground, and pleasant non-completely-saturated choices for the rest
13:19:30 <Deewiant> I just set the dark theme somehow I think
13:19:31 <elliott> But I don't know where to find such a thing with a decent number of ports.
13:33:13 -!- derdon has quit (Remote host closed the connection).
13:59:19 -!- boily has joined.
14:20:34 -!- Ngevd has joined.
14:20:51 <Ngevd> Hello!
14:20:55 <Ngevd> ...
14:21:04 -!- Ngevd has quit (Client Quit).
14:23:59 -!- Ngevd has joined.
14:24:35 -!- Ngevd has quit (Client Quit).
14:25:42 -!- Ngevd has joined.
14:32:46 <Deewiant> urxvt.background: #000000
14:32:46 <Deewiant> urxvt.foreground: #ffffff
14:32:49 <Deewiant> urxvt.color4: #0040ff
14:32:49 <Deewiant> urxvt.color12: #5c5cff
14:34:33 <Ngevd> Hello!
14:35:48 -!- MSleep has changed nick to MDude.
14:36:07 -!- itidus20 has joined.
14:36:42 <elliott> Hmm, I think I am rather unlikely to reach my target for today unless that bounty is given.
14:38:25 <Ngevd> @ping
14:38:25 <lambdabot> pong
14:38:31 <Ngevd> not good
14:38:47 -!- itidus22 has quit (Ping timeout: 240 seconds).
14:44:30 <fizzie> Deewiant: http://p.zem.fi/g8qr -- I have no idea how I've ended up with this particular list.
14:44:54 <fizzie> It's almost regular except not quite.
14:45:19 <fizzie> That one damnable out-of-place 55.
14:47:02 -!- Jafet has quit (Ping timeout: 245 seconds).
14:56:08 -!- itidus20 has quit (Read error: Connection timed out).
14:56:47 -!- itidus20 has joined.
14:57:51 <elliott> fizzie: Such ad-hocery. :(
14:58:03 <Ngevd> How are bytepusher keyboards normally mapped to QWERTY keyboards?
15:02:18 <fizzie> Bytepusher is actually used?
15:03:56 <Ngevd> @ping
15:03:56 <lambdabot> pong
15:04:08 <Ngevd> OK, that is bad
15:04:10 -!- Ngevd has quit (Quit: Goodbye).
15:04:31 -!- Ngevd has joined.
15:12:53 <tswett> I know all the Finnish.
15:13:12 <tswett> I can say words like "körsvätsiiti".
15:13:39 <tswett> And "lauskataa".
15:13:53 <tswett> Neither of which is a word any true Finn knows. Therefore, I know more Finnish than the Finns.
15:15:04 <fizzie> Ngevd: The first implementation listed has an initial first-run configuration thing where it prompts you to press the corresponding keys; then it saves those in a config file.
15:17:07 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
15:23:12 <Deewiant> tswett: I think you also need to know all the Finnish that the Finns know for that to be true.
15:27:45 <tswett> No, don't be ridikyliistä.
15:28:30 <Deewiant> I'd've gone with "ridikulöösi"
15:32:03 -!- elliott has quit (Ping timeout: 252 seconds).
15:33:35 <Ngevd> fizzie, hmmm
15:36:44 -!- Ngevd has quit (Quit: Goodbye).
15:42:49 -!- copumpkin has joined.
16:05:19 -!- Phantom_Hoover has joined.
16:06:59 <Phantom_Hoover> http://www.reddit.com/r/Minecraft/comments/nhcuf/hey_rminecraft_do_you_know_of_our_irc_channel/c398im6?context=3
16:06:59 <lambdabot> Phantom_Hoover: You have 13 new messages. '/msg lambdabot @messages' to read them.
16:07:19 <Phantom_Hoover> TkTech strikes back, and he exacts a terrible reven— wait no it's hilariously petty and largely lies.
16:08:47 -!- op_4 has quit (Ping timeout: 240 seconds).
16:09:53 -!- op_4 has joined.
16:11:19 -!- augur has quit (Remote host closed the connection).
16:12:19 -!- augur has joined.
16:16:34 -!- augur has quit (Ping timeout: 240 seconds).
16:19:39 <Phantom_Hoover> HOW HE TAKES HIS POUND OF FLESH
16:26:31 -!- op_4 has quit (Ping timeout: 244 seconds).
16:28:04 -!- op_4 has joined.
16:34:10 -!- itidus20 has quit (Quit: Leaving).
16:49:20 -!- augur has joined.
16:56:45 <Gregor> lollllllllllllllllllllllllllllllll so Cygwin's setup.exe program doesn't require administrator rights to perform an update, except that Windows 7 has a "security feature" that it simply will not allow any program with the substring "setup" in its name to be run without administrator privileges.
16:57:41 -!- kmc has joined.
17:05:32 <Phantom_Hoover> Gregor, ...
17:07:01 <Deewiant> The reason being, I guess, that programs that don't have manifest files describing whether or not they need administrator rights normally always get run without said rights, but setup programs generally need them.
17:07:42 <Gregor> Windows is such a crapchute
17:15:46 -!- itidus21 has joined.
17:37:14 <Phantom_Hoover> Oh, incidentally, biological armageddon is now a taped-up plastic tub in a skip somewhere in Edinburgh away from us.
18:19:44 -!- shachaf_ has changed nick to shachaf.
18:28:53 -!- Ngevd has joined.
18:32:06 <itidus21> "<elliott> How about this: A life where you give birth to someone who does something can be turned into a life where you do that thing!"
18:32:17 <itidus21> "<elliott> Thank god I can just breed relentlessly and enslave my children to write @, and it'll be equivalent to writing @ myself."
18:32:37 <itidus21> humm
18:33:27 <itidus21> i have another tack on this whole idea but i don't have a good way to say it.
18:34:59 <itidus21> suppose that the ultimate goal is to teach teachers.
18:36:20 <itidus21> after sufficient iterations, there will be noone who doesn't know how to teach.
18:36:34 <itidus21> unless you account for new people always being born
18:38:28 <itidus21> at this point, the ultimate goal having been brought to it's completion, what does the ultimate goal change to
18:39:28 <itidus21> ------- that one is a bit confusing.. another way i have of thinking about it is
18:41:41 <itidus21> suppose the ultimate goal is to save people from their oppressors. and then having saved them, the saved ones adopt the ultimate goal of saving others from oppressors until finally everyone has been saved from oppressors
18:42:23 <itidus21> now with everyone being saved from oppressors, the current ultimate goal becomes obsolete and so what is everyone supposed to do next?
18:44:08 <itidus21> --------- i guess in practice it doesn't work quite like that. but so applying this to the "purpose" of having more children.. so that those children will have more children
18:46:30 <itidus21> and, with offspring having offspring ad nauseum... one must inevitably ask what other end these people should be directing their energy towards
18:49:13 <itidus21> -------- so the way i see it, these situations i have described create a kind of space or level upon which other spaces or levels can be built up, analagous to the postal system only being good for delivering packages
18:49:22 <itidus21> and packages only being good for containing contents
18:53:38 <itidus21> i don't hate packaging, but i would be unlikely to pay much for a cardboard box with paint on it (unless it was like a toy)
18:54:36 <itidus21> and in the case of a bill, most of the text is there for legal purposes and the only interesting figure is the number
18:56:30 <itidus21> it's not like anyone else was talking! rant over
19:00:53 -!- zzo38 has joined.
19:01:10 -!- zzo38 has left.
19:01:13 -!- zzo38 has joined.
19:02:44 -!- kmc has quit (Quit: Leaving).
19:02:49 <zzo38> Rename the file.
19:04:15 <zzo38> The second BytePusher implementation listed has a mode where you enter the keys it tells you the SDL numbers, and then you have to make the configuration file yourself (it currently has no feature to record one itself).
19:11:12 <zzo38> The third one, I am not sure. Maybe it has built-in keyboard codes that require recompiling to change or something like that I don't know
19:13:08 <Ngevd> I started a TVTropes binge about half an hour ago
19:13:18 <Ngevd> The next thing I knew, I was on Wikiquotes
19:14:43 <zzo38> I think (ReadthisT ((,) (Last x))) is like (State x) in some ways
19:14:55 -!- zzo38 has quit (Quit: ***Terminal out of multicolor paper***).
19:17:58 <fizzie> Ngevd: Being quoted, or reading the quotes?
19:18:06 <Ngevd> The latter
19:18:11 <Ngevd> Unfortunately
19:18:24 <Ngevd> `pastequotes
19:18:32 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20096
19:19:53 <Ngevd> `quote 8
19:19:56 <HackEgo> 8) <SimonRC> TODO: sex life
19:20:01 <Ngevd> Who is SimonRC?
19:22:21 <Ngevd> Also, 507 isn't very funny
19:28:29 -!- op_4 has quit (Quit: "nothing so gives the illusion of intelligence as personal association with large sums").
19:28:35 <Ngevd> itidus21, did you ever figure out lambda calculus?
19:29:05 <itidus21> Ngevd: the closest i came to understanding it is that it's possible to use it without understanding it
19:29:18 <Ngevd> Okay
19:29:33 <Ngevd> B-)
19:29:36 <itidus21> that people probably use it without understanding it
19:30:04 <itidus21> just as one can use arithmetic without really knowing what secrets are hidden in the '+'
19:30:32 <Ngevd> `qoute 672
19:30:34 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: qoute: not found
19:30:36 <Ngevd> Wait
19:30:44 <Ngevd> quote isn't spelt like that
19:30:48 <Ngevd> `quote 672
19:30:51 <HackEgo> 672) <HackEgo> 678) <Ngevd> Dammit, Gregor, this is not the time to fall in love <HackEgo> 187) <alise> Gregor: You should never have got her pregnant. <Gregor> what whaaaaaaaaaaaat
19:34:10 <itidus21> there was some guys talking about a related thing
19:34:52 <itidus21> "<Phantom_Hoover> You'd think somebody'd have pinned down this whole arithmetic thing before then."
19:35:54 <itidus21> so, with that kind of topic in mind, people are able to make use of something without understanding it
19:36:13 <itidus21> another really great example is electricity.
19:36:15 <Gregor> `pastelogs Gregor> what whaaaaa
19:36:44 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.2169
19:37:12 <itidus21> you just need to plug in a vaccuum cleaner, flick the switch at the wall thus extending the circuit, and then flick the switch on the actual vaccuum cleaner thus completing the circuit
19:37:56 <itidus21> and you can have this blackbox view of things and use the vaccuum cleaner quite proficiently without even knowing what an electron is
19:38:22 <itidus21> certainly you don't need to know that a circuit is being completed
19:38:58 <Ngevd> You can use a computer without having a clue how programs are made
19:39:16 <Gregor> I can't.
19:39:25 <Ngevd> It was a generic "you"
19:39:35 <itidus21> and, generic_you can use lambda calculus without a deep philosophical grasp of it
19:43:46 <itidus21> it is however fairly unclear to what ends a person might do so
19:44:01 <itidus21> but do i really wanna do this
19:44:47 <itidus21> my whole resistance to understanding lambda is just another way i am resistant lately to reading or understanding anything
19:45:23 <itidus21> it's elementary that someone in a lazy state of mind won't try to learn much
19:59:06 <Ngevd> Lambda calculus is like a bunch of boxes that turn boxes into boxes
20:00:20 <Phantom_Hoover> It's like birds???
20:00:43 <Ngevd> Screw this, I'm recording a vlog about lambda calculus
20:00:50 <Ngevd> TO THE YOUTUBINATOR
20:00:55 <Phantom_Hoover> Make sure you do bird sounds.
20:01:14 <Ngevd> Hey, cool, I can upload vids longer than 15 mins now
20:01:16 <itidus21> i am not typical
20:01:25 <itidus21> you don't need to explain to me
20:01:49 <itidus21> i mean, i have some very peculiar shortcomings in comprehension of things
20:02:56 <Ngevd> It's 8 PM on Monday
20:02:59 <Ngevd> That means it's University Challenge time
20:03:03 -!- Ngevd has quit (Quit: bye).
20:03:19 <Phantom_Hoover> For me, that means it's maths time.
20:03:28 <itidus21> its not really like birds or boxes :-)
20:03:34 <itidus21> except in a mary poppins sense
20:03:41 -!- kmc has joined.
20:04:06 <itidus21> i know those analogies are done with good intentions though
20:05:24 <itidus21> http://simple.wikipedia.org/wiki/Lambda_calculus heh
20:11:10 <itidus21> agh.. now trying to understand what is meant by Entscheidungsproblem is difficult too
20:12:26 <itidus21> is arithmetic a formal language, and 2+2=4 is a logical statement in that language, and the truth value of that statement is true?
20:13:03 <itidus21> 2+2=5 being another logical statement in that language whose truth value is false
20:15:21 -!- kmc has quit (Quit: Leaving).
20:16:02 -!- ais523 has joined.
20:19:59 <itidus21> wolfram alpha is more inspired "Does there exist an algorithm for deciding whether or not a specific mathematical assertion does or does not have a proof?"
20:22:13 <ais523> itidus21: this statement is not provable
20:22:48 <itidus21> hmm
20:23:09 <itidus21> is this related to the negative proof problem with things like gods?
20:23:29 <ais523> Gödel's theorem is proved by showing that "this statement is not provable in system S" is expressible in system S, for any sufficiently expressive formal system
20:23:30 <itidus21> hmm i won't say gods..
20:23:43 <itidus21> is this related to the negative proof problem with things like wood elves?
20:23:58 <ais523> this implies that a system can't always work out whether things expressed in that system are provable, because to do so would create a paradox
20:23:58 <itidus21> "although you haven't seen a wood elf in the woods you can't prove there aren't any"
20:24:59 <itidus21> or rather
20:25:11 <itidus21> "although you haven't seen a wood elf in the woods, that doesn't prove there aren't any"
20:27:38 <ais523> itidus21: hmm… if you saw a ninja in the woods, would it prove that there are no ninjas in the woods?
20:27:46 <ais523> on the basis that, if there /were/ a ninja there, you wouldn't be able to see them?
20:28:43 <itidus21> i realize that gods are not some large animals floating in space
20:29:46 <itidus21> and i didn't want to imply some kind of atheism when i am more uncertain
20:30:10 <itidus21> but about ninjas, i dunno man :D
20:31:07 <itidus21> the property of being unobservable would make a thing very difficult indeed to observe
20:32:28 -!- Ngevd has joined.
20:32:31 <Ngevd> Hello!
20:37:40 <itidus21> so i wonder what is non computable
20:37:52 <Ngevd> Halting problem
20:39:26 <Ngevd> Linux isn't turning on my webcam.
20:39:31 <Ngevd> Ideas how to fix?
20:39:34 -!- pikhq has quit (Ping timeout: 240 seconds).
20:40:20 <itidus21> is a continuous curve from the inside of a jordan curve to the outside of a jordan curve which does not intersect with the jordan curve non-computable?
20:40:32 <itidus21> or is it merely invalid/impossible :P
20:41:31 <itidus21> i guess thats a terrible example.. can be disregarded
20:41:38 <Ngevd> The Jordan curve is a continuous loop
20:41:38 <Ngevd> So invalid
20:41:54 <Ngevd> brb
20:41:56 -!- Ngevd has quit (Quit: Leaving).
20:47:00 <itidus21> ok i see that without realizing it, that the example i gave of 2+2=4 and 2+2=5 actually falls under presburger arithmetic
20:49:07 -!- Ngevd has joined.
20:49:50 <Ngevd> Hello!
20:50:23 <Gregor> CC=cl ./configure
20:50:25 <Gregor> Best idea?
20:53:16 <Ngevd> YES
20:53:26 <Ngevd> Note that I have no idea what that will do
20:53:37 <Gregor> cl is MSVC's compiler frontend.
21:11:04 <ais523> I think that configure is at least vaguely aware of cl
21:11:22 <ais523> I'm not sure how fully it supports it, though
21:11:37 <ais523> also, cl is not nearly insane as MSVC
21:11:41 <ais523> *not nearly as insane as
21:11:56 <ais523> it's pretty typical as old and vaguely cranky ccs go
21:12:15 <Gregor> Actually configure seems to support cl quite well.
21:12:19 <Gregor> Which is frankly disappointing.
21:12:26 <ais523> Gregor: it supports everything quite well, that's the point
21:12:34 <Gregor> Yup
21:12:37 <ais523> it supports compilers that are /way/ more insane than cl
21:12:46 <Gregor> But like, who uses cl from the command line, ever
21:13:00 <ais523> Gregor: I do when I'm trying to use the Microsoft compiler
21:13:05 <ais523> it saves on having to figure out MSVC
21:13:42 <Ngevd> @ping
21:13:42 <lambdabot> pong
21:15:58 <Gregor> ais523: 'struth
21:16:19 <ais523> Gregor: I've seen a computer freeze for half an hour as a result of opening MSVC
21:16:29 <ais523> apparently it was because the network switch had broken
21:16:40 <ais523> and MSVC didn't handle the resulting error condition at all sensibly
21:21:13 <ais523> apparently, it put a separate 30 second timeout waiting for each file it was trying to load to load
21:21:26 <ais523> as in, it waited 30 seconds before realizing it couldn't read the first file, another 30 seconds before the second, etc
21:21:33 <ais523> and apparently it was trying to read around 60 files
21:26:27 -!- variable has joined.
21:30:41 <Phantom_Hoover> Ngevd, you are doing Further Maths, yes?
21:32:55 <Ngevd> Yes
21:33:55 <Ngevd> Phantom_Hoover, why do you ask?
21:33:58 <itidus21> ??
21:34:45 <Phantom_Hoover> Ngevd, because I have to do STEP III which is based on Further Maths and hence contains a fair bit of stuff I haven't done and so I hate you and also all of you other English bastareds.
21:34:47 <Phantom_Hoover> Also
21:34:49 <Phantom_Hoover> bastards
21:34:59 <itidus21> is this high school stuff you guys are talking about?
21:35:32 -!- boily has quit (Read error: Operation timed out).
21:35:42 <Phantom_Hoover> Yes.
21:36:14 <itidus21> i'm so lowly
21:36:18 <Gregor> $ cygpath -w popcount.c
21:36:18 <Gregor> C:\cygwin\home\Gregor\deps\gmp-5.0.2\mpn\generic\popham.c
21:36:20 <Gregor> Really, cygpath
21:36:24 <Gregor> Really.
21:36:36 <itidus21> i'm 29, i have no excuses for being the least knowledgable
21:37:10 <Phantom_Hoover> itidus21, I didn't actually mention anything that either STEP III or Further Maths contain?
21:38:05 <itidus21> isn't further maths a relatively dumbed down class?
21:38:24 <Phantom_Hoover> Dumbed down relative to our SUPERIOR SCOTTISH CURRICULUM, yes.
21:38:41 <Ngevd> Phantom_Hoover, do you... want any help?
21:38:53 <Phantom_Hoover> But also English people are stupid so they do more school so they also do hyperbolic trig and general binomial series for some reason??
21:39:30 <itidus21> i only have trivial algebra skills...
21:40:02 <itidus21> ahem..
21:40:07 <Phantom_Hoover> So do people taking Further Maths *badum-tshh*
21:40:33 <Ngevd> ...
21:40:34 <Ngevd> Hey!
21:40:36 <itidus21> i recall in high school the smart kids took classes named maths methods and specialist maths
21:41:18 <itidus21> ^math methods maybe
21:43:52 <itidus21> in the end it's work to learn
21:54:46 -!- Patashu has joined.
21:58:00 -!- variable has quit (Quit: I found a 1 /dev/zero).
21:59:54 -!- Guest52454 has joined.
22:00:42 -!- Guest52454 has quit (Changing host).
22:00:43 -!- Guest52454 has joined.
22:00:45 -!- Guest52454 has changed nick to variable.
22:01:36 -!- variable has quit (Excess Flood).
22:02:37 -!- variable has joined.
22:02:59 -!- variable has quit (Excess Flood).
22:03:13 -!- variable has joined.
22:04:06 <ais523> hmm, Kim Jong-Il has died
22:04:11 <ais523> official story is that it's of overwork
22:05:42 <Ngevd> Well, goodnight
22:05:44 -!- Ngevd has quit (Quit: Goodbye).
22:06:43 -!- pikhq has joined.
22:07:52 -!- derdon has joined.
22:07:59 <pikhq> Power!
22:16:29 <Phantom_Hoover> pikhq has finally taken over the US.
22:16:45 <Phantom_Hoover> Death camps for all conservatives are being set up as we speak.
22:20:48 -!- Jafet has joined.
22:22:51 <twice11> Are they strong enough to keep Rick Perry inside?
22:23:58 <pikhq> No. Which is why we have estabilished his facility at the newly estabilished test facility for nuclear space travel.
22:35:20 <Phantom_Hoover> How does that work?
22:35:42 <Phantom_Hoover> I don't think I've ever seen anyone suggest Orion-style surface-to-orbit transit.
22:47:43 -!- zzo38 has joined.
22:50:27 <zzo38> Do you like this message?
22:50:34 <zzo38> Do you like this question?
22:52:02 <pikhq> Phantom_Hoover: It works... Poorly.
22:52:08 -!- monqy has joined.
22:52:39 <Phantom_Hoover> I suspected as much, given that you probably know roughly as much about rocketry as quantum physics.
22:53:10 <pikhq> Phantom_Hoover: I'm neither a rocket scientist nor a physicist, so yeah. :)
22:53:45 <pikhq> Phantom_Hoover: The main benefit of Orion-style surface-to-orbit transit is being able to make notable swaths of the Earth uninhabitable.
22:53:47 <zzo38> Do you know how to make a bomb which is powerful enough to destroy the entire Earth and break it into a million approximately equal pieces?
22:54:10 <Phantom_Hoover> zzo38, suggest you ask Sam Hughes.
22:54:27 <pikhq> Agreed.
22:54:31 <pikhq> http://qntm.org/destroy
23:04:44 -!- Sgeo has joined.
23:12:04 <kallisti> Phantom_Hoover: quantum physics!? that's like rocket science!
23:12:25 <Sgeo> Do IORefs physically store their values, or are the values stored in the RealWorld somewhere and the IORef is just an index?
23:12:37 <zzo38> Quantum physics and rocket science are different, isn't it?
23:16:13 <itidus21> "A rocket scientist? you might as well say I am a toll collector rocket scientisthow humiliating!" sheldon cooper
23:17:04 <Phantom_Hoover> zzo38, you'd need roughly 2.24*10^32J to do it, BtW.
23:18:37 <itidus21> Other, less scientifically probable ways that Earth could be destroyed #8 Destroyed by God
23:18:53 <itidus21> #jesus
23:20:10 <kallisti> I had a dream that my irc client suddenly started telling people what music I was listening to.
23:20:15 <kallisti> it was horrible.
23:21:21 <itidus21> what i am listening to can be influenced to give a false impression
23:21:52 <Phantom_Hoover> Thin strands of glass are surprisingly flexible.
23:22:10 <itidus21> but i imagine also surprisngly sharp
23:22:23 <Phantom_Hoover> The ones I made weren't actually.
23:22:44 <kallisti> wat
23:23:03 <Phantom_Hoover> Since I melted a couple of thin glass tubes together and stretched them out while they were still liquid; the edge was smooth.
23:23:12 -!- kallisti has quit (Quit: Reconnecting).
23:23:26 -!- kallisti has joined.
23:23:26 -!- kallisti has quit (Changing host).
23:23:27 -!- kallisti has joined.
23:23:33 <Phantom_Hoover> And it could be bent a surprisingly large amount without breaking.
23:24:28 <itidus21> F:\music mp3\Loituma\Loituma - Kuutamolla\Laulu Laiskana Pitävi.mp3
23:24:41 <itidus21> "The Kanteletar," a collection of traditional poetry, here advises the young women not to sing too much if they want to get on in life. -- hmm
23:25:00 <Phantom_Hoover> There's nothing I hate more in a woman than incessant singing.
23:26:14 * itidus21 vies for pro-finland brownie points.
23:28:20 <Phantom_Hoover> Whaaat, ironing clothes is an example of a glass transition.
23:30:31 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
23:40:16 * Phantom_Hoover notes that the North Korean official website's 'forum' section is in fact a blog.
23:41:07 <monqy> ahh, that website
23:41:10 <monqy> good website
23:41:40 <Phantom_Hoover> Best website?
23:41:51 <monqy> yes yes
23:41:54 <Phantom_Hoover> It doesn't care about this decadent Western 'web' crap.
23:42:17 <kallisti> too much Haskell.
23:42:37 <monqy> does it have buttons made of flash
23:42:40 -!- Klisz has joined.
23:42:41 <monqy> in places
23:42:44 <Phantom_Hoover> monqy, no.
23:42:47 <monqy> and I remember it having a quality store too
23:42:49 <Phantom_Hoover> It just mislabels its sections.
23:42:54 <Phantom_Hoover> OMG there's a store??
23:42:58 <kallisti> I asked on Python how to get a list of consecutive pairs and someone said i = iter(list); izip(i, i)
23:43:01 -!- myndzi\ has changed nick to myndzi.
23:43:06 <kallisti> and I argued that that wasn't what I wanted
23:43:14 <monqy> I remember in some parts it had flash buttons, maybe not on the main navigation thing, but some page, somewhere
23:43:28 <kallisti> forgetting about iterators being mutable. :P
23:44:36 <Phantom_Hoover> OMFG there's a gift shop I want one of those T-shirts so much.
23:45:29 -!- comex` has changed nick to comex.
23:46:04 <Phantom_Hoover> comex!
23:46:27 <Phantom_Hoover> will you buy me an official north korea t-shirt for christmas?
23:46:48 <comex> okay
23:48:03 <Phantom_Hoover> yaaaaaaaaaaaaaaaay
23:48:17 <Phantom_Hoover> friendship comex
23:48:21 <Phantom_Hoover> north korea friends
23:48:37 <monqy> http://www.korea-dpr.com/music.htm ok i found some flash buttons
23:49:09 <monqy> oh and the buttons on the top appear to be flash too
23:53:47 * Phantom_Hoover → sleep
23:53:50 -!- Phantom_Hoover has quit (Quit: Leaving).
23:55:13 -!- derdon has quit (Remote host closed the connection).
23:59:32 <Sgeo> I don't think that's an official site?
←2011-12-18 2011-12-19 2011-12-20→ ↑2011 ↑all