←2011-09-20 2011-09-21 2011-09-22→ ↑2011 ↑all
00:01:44 -!- augur has quit (Remote host closed the connection).
00:19:58 -!- GreaseMonkey has quit (Quit: The Other Game).
00:25:25 <ais523> <Slashdot> We are helping a Slashdot reader conduct academic research by experimenting with a new feature for a handful of stories. Next to every comment, anyone can restate a point that they think the commenter is making. The goal is to encourage listening and to highlight interesting points.
00:25:31 <ais523> this is going to end in disaster :)
00:27:04 <oerjan> I believe ais523 has a bad feeling about this feature.
00:27:39 -!- nooga has quit (Ping timeout: 260 seconds).
00:28:07 <ais523> Does oerjan's summarry... elegantly distill meaning? uncover a good point? clarify the message? provoke unnecessarily? umm, it's not a summary
00:30:55 <oerjan> i see ais523 is missing the option of "make a cheap joke".
00:31:13 <ais523> oerjan: that was a quote from Slashdot's summary thing
00:31:17 <ais523> so blame Slashdot for that
00:31:21 <oerjan> aha
00:31:30 <ais523> those are the options you can vote on summaries with
00:33:07 <oerjan> how boring.
00:33:27 <ais523> wait, you can do summaries of the summaries with your votes
00:33:35 <ais523> but there doesn't seem to be any way to vote on /those/
00:33:40 * ais523 was hoping for an infinite regress
00:36:25 <oerjan> > fix (fun "vote on") :: Expr
00:36:25 <lambdabot> vote on (vote on (vote on (vote on (vote on (vote on (vote on (vote on (vot...
00:37:51 <oerjan> > fix (fun "summarized in") :: Expr
00:37:52 <lambdabot> summarized in (summarized in (summarized in (summarized in (summarized in (...
00:39:24 <monqy> :t fun
00:39:25 <lambdabot> forall a. (SimpleReflect.FromExpr a) => String -> a
00:39:42 <oerjan> :t f
00:39:43 <lambdabot> forall a. (SimpleReflect.FromExpr a) => a
00:39:59 <oerjan> basically, f = fun "f"
00:40:27 <oerjan> > foldr (.) id [f,f,f] x :: Expr
00:40:29 <lambdabot> f (f (f x))
00:40:51 <oerjan> :t x
00:40:51 <lambdabot> Expr
00:41:10 <oerjan> Expr is a more specific type, an instance of FromExpr
00:41:54 -!- ais523 has quit (Remote host closed the connection).
00:41:57 <oerjan> and then there is an instance (FromExpr a, FromExpr b) => FromExpr (a -> b) or so which is used when you apply f as a function.
00:44:10 <Madoka-Kaname> > foldr (.) id [f..] x :: Expr
00:44:11 <lambdabot> No instance for (GHC.Enum.Enum
00:44:11 <lambdabot> (SimpleReflect.Expr -> S...
00:44:17 <Madoka-Kaname> > foldr (.) id (repeat f) x :: Expr
00:44:19 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
00:45:01 <copumpkin> > fix f
00:45:02 <lambdabot> Ambiguous type variable `a' in the constraints:
00:45:03 <lambdabot> `GHC.Show.Show a'
00:45:03 <lambdabot> a...
00:45:05 <copumpkin> > fix f :: Expr
00:45:06 <oerjan> > foldr ($) x [f,f,f] -- shorter
00:45:06 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
00:45:07 <lambdabot> f (f (f x))
00:46:10 <oerjan> > x*y + w*z
00:46:11 <lambdabot> x * y + w * z
00:46:22 <oerjan> > x*(y-t) + w*z
00:46:23 <lambdabot> x * (y - t) + w * z
00:46:50 <monqy> :t expr
00:46:51 <lambdabot> Expr -> Expr
00:46:59 <oerjan> wat
00:47:04 <monqy> expr = id
00:47:13 <oerjan> hm maybe
00:47:17 <monqy> "Force something to be an expression."
00:47:23 <oerjan> > expr f
00:47:23 <lambdabot> f
00:47:38 <oerjan> useful for that, maybe
00:47:56 <monqy> > f
00:47:57 <lambdabot> Ambiguous type variable `a' in the constraints:
00:47:57 <lambdabot> `SimpleReflect.FromExpr ...
00:48:01 <monqy> mm
00:48:18 <oerjan> or more usefully, in places where putting :: Expr isn't easy
00:48:31 <oerjan> > fix (expr . f)
00:48:33 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
00:48:34 -!- invariable has changed nick to variablre.
00:48:35 -!- variablre has changed nick to variable.
00:49:04 <oerjan> > fix (join $ expr . f)
00:49:04 <lambdabot> Couldn't match expected type `m a'
00:49:05 <lambdabot> against inferred type `SimpleRef...
00:49:09 <oerjan> oops
00:49:17 <oerjan> > fix (expr . join f)
00:49:19 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
00:49:25 -!- augur has joined.
00:49:34 <oerjan> > iterate (expr . join f) x !! 3
00:49:36 <lambdabot> f (f (f x x) (f x x)) (f (f x x) (f x x))
00:50:02 <oerjan> i guess the expr . isn't really needed there
00:50:58 -!- augur has quit (Remote host closed the connection).
00:51:28 <oerjan> > f . expr . g . expr $ h x :: Expr
00:51:29 <lambdabot> f (g (h x))
00:59:59 -!- MSleep has joined.
01:01:55 <oerjan> > fix(scanl(+)0.(1:))
01:01:57 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946...
01:02:22 <oerjan> > fix(scanl(f)x.(y:))
01:02:22 -!- MDude has quit (Ping timeout: 260 seconds).
01:02:23 <lambdabot> [x,f x y,f (f x y) x,f (f (f x y) x) (f x y),f (f (f (f x y) x) (f x y)) (f...
01:03:09 <oerjan> > fix(scanl(flip f)x.(y:))
01:03:11 <lambdabot> [x,f y x,f x (f y x),f (f y x) (f x (f y x)),f (f x (f y x)) (f (f y x) (f ...
01:03:35 <Madoka-Kaname> なにそれ
01:03:39 <oerjan> > fix(scanl(flip f)y.(x:))
01:03:40 <lambdabot> [y,f x y,f y (f x y),f (f x y) (f y (f x y)),f (f y (f x y)) (f (f x y) (f ...
01:05:14 -!- augur has joined.
01:16:57 -!- calamari has left ("Leaving").
01:17:07 -!- itidus20 has joined.
01:30:44 -!- kmc has quit (Quit: Leaving).
01:51:02 -!- evincar has joined.
01:51:14 -!- tswett has quit (Changing host).
01:51:14 -!- tswett has joined.
01:51:47 <evincar> I've had an excellent but also terrible idea.
01:52:01 <evincar> Well, I had it in the past, but it's resurfaced with further development.
01:52:34 <evincar> I know I'm not well-liked in here, so only if anyone cares will I go on.
01:53:05 <oerjan> O_o
01:54:47 <evincar> oerjan: ?
01:57:03 <oerjan> it might be more productive to wait until a time when people here are active.
01:58:17 <evincar> That's true. Although people are very industrious about logreading in here.
01:58:30 <evincar> And I know elliott expressed interest in this concept once before.
01:58:56 <monqy> is it an interesting concept
02:02:13 <evincar> monqy: A long time ago I had the notion that functions are like verbs and nouns are like objects...
02:02:22 <evincar> ...and you can do computation with both of them, so why not also with adjectives/sets?
02:02:54 <evincar> So, in such a language, all terms denote sets/types, and your basic operation is something like type conversion.
02:03:00 <CakeProphet> Today, I ran.
02:03:04 <CakeProphet> wooo, computing is tough.
02:03:44 <evincar> So for example "2" would denote "the set of all things of which there are exactly two".
02:04:15 <monqy> good set
02:04:39 <evincar> "+" is "the set of all operations which return the sum of their operands"
02:04:48 <evincar> Of which there are several, and it's the compiler's job to choose which.
02:05:15 <cheater> *cough*
02:05:23 <cheater> so how did you arrive at this idea?
02:05:53 <evincar> Initially, out of the blue.
02:05:58 <evincar> It resurfaced because I was reading this: http://www.panix.com/~tehom/allnoun/allnoun8.faq
02:06:09 <cheater> you know what, blue is not my color
02:06:17 <cheater> you sure it was blue?
02:06:21 <cheater> i like red and green more
02:06:54 <monqy> arrived out of the red and green
02:07:00 <evincar> Of course, that describes a rather different language.
02:07:27 <evincar> It relates agents to roles to implicitly express relationships.
02:07:55 <evincar> Whereas I'm thinking of merely sequencing roles.
02:08:06 <cheater> that idea "of yours" is mine evincar. i called it "descriptive" or "declarative" languages and told you about it. and in fact you didn't get it at first.
02:08:06 <monqy> "sequencing roles"?
02:08:44 <cheater> which indicates to me that i should probably make a blog post about the idea or something.
02:08:47 -!- kmc has joined.
02:09:15 <evincar> cheater: Was it you I had this discussion with? I think we independently arrived at related things back then and then just ranted at one another.
02:09:39 <evincar> But a blog post would be good.
02:09:45 <monqy> I must not have been around back then
02:10:17 <evincar> It was...quite a while ago I should think, but I don't recall exactly when.
02:10:28 <evincar> I guess I could laboriously logsearch.
02:11:13 <cheater> search for "descriptive" or "declarative"
02:11:23 <oerjan> `log descriptive
02:11:26 <HackEgo> 2007-08-07.txt:04:58:15: <Sukoshi`> Yet another Descriptive Idea from Figs.
02:11:34 <cheater> we have also had a car analogy with ferrari cars.
02:11:37 <cheater> `log ferrari
02:11:40 <HackEgo> 2007-06-07.txt:07:21:11: * pikhq really goes into uncontrollable laughter when comparing the capabilities of those POS machines and a UNIX box. . . (fine, so we're comparing tricycles to Ferraris. . . Still.)
02:11:45 <cheater> no :(
02:11:47 <monqy> `pastelogs ferrari
02:11:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5544
02:12:10 <cheater> hmm
02:12:19 <cheater> `pastelogs maserati
02:12:21 <cheater> :D
02:12:23 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3244
02:12:33 <cheater> damnit
02:12:55 <oerjan> `log <cheater>.*?descriptive
02:12:59 <HackEgo> 2011-09-21.txt:02:12:55: <oerjan> `log <cheater>.*?descriptive
02:13:02 <oerjan> `log <cheater>.*?descriptive
02:13:06 <HackEgo> 2011-09-21.txt:02:11:13: <cheater> search for "descriptive" or "declarative"
02:13:16 <Madoka-Kaname> This is comical.
02:13:17 <oerjan> NOT IMMENSELY ENCOURAGING
02:13:25 <cheater> hahahahahah
02:13:32 <oerjan> `log <cheater>.*?declarative
02:13:35 <HackEgo> 2011-09-21.txt:02:13:32: <oerjan> `log <cheater>.*?declarative
02:13:38 <oerjan> `log <cheater>.*?declarative
02:13:40 <Madoka-Kaname> Try cheater_
02:13:42 <HackEgo> 2011-09-21.txt:02:13:32: <oerjan> `log <cheater>.*?declarative
02:13:49 <oerjan> `log <cheater_>.*?declarative
02:13:51 <HackEgo> 2011-08-09.txt:19:30:25: <cheater_> NihilistDandy, i like to differentiate between "declarative" and "constructive"
02:14:00 <monqy> `pastelogs <cheater.*declarative
02:14:04 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17723
02:14:04 <cheater> that's more like it
02:14:08 <cheater> i think that might be it
02:14:25 <monqy> `pastelogs <cheater.*descriptive
02:14:29 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27718
02:14:41 <cheater> `pastelogs cheater.*evincar
02:14:45 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19057
02:15:02 <monqy> 2010-11-18.txt:09:25:39: <cheater99> i hate you and everything you stand for, evincar
02:15:05 <monqy> good quote
02:15:11 <evincar> I like it.
02:15:17 <cheater> haha
02:15:33 <cheater> yeah, the good old times.
02:15:34 <evincar> Hey, I remember that video.
02:16:17 <evincar> I might have gone by evincarofautumn? Possibly? Or eoa?
02:17:19 <evincar> Except for possible nick length limits.
02:17:53 <evincar> `log <cheater.*adjective
02:17:57 <HackEgo> 2011-09-21.txt:02:17:53: <evincar> `log <cheater.*adjective
02:18:01 <evincar> :(
02:18:23 <oerjan> `log ^<cheater_>.*?declarative
02:18:26 <HackEgo> No output.
02:18:32 <oerjan> er
02:18:40 <cheater> what's wrong with HackEgo?
02:18:40 <evincar> He was cheater99 before...
02:18:43 <oerjan> `log ^<cheater.*adjective
02:18:44 <monqy> `pastelogs evincar.*adjective
02:18:46 <HackEgo> No output.
02:18:47 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30696
02:19:08 <evincar> What the hell did I call myself back then?
02:19:10 <oerjan> `log ^<
02:19:11 <evincar> Or did we lose logs?
02:19:14 <HackEgo> No output.
02:19:30 <oerjan> `log test
02:19:33 <HackEgo> 2007-03-27.txt:16:17:31: <Figs> shortest combinations to get to n
02:19:54 <oerjan> `log ^2008
02:19:58 <HackEgo> No output.
02:20:10 <oerjan> it just doesn't start with that...
02:20:35 <oerjan> `log ^.*2008
02:20:36 <monqy> it starts with the hour
02:20:38 <HackEgo> 2011-02-11.txt:00:03:45: <elliott> I want to ask you not to think a "timer snob" of Korean fans as "just" a equipment to prevent "fan death". ― 韓斌/Yes0song (談笑 筆跡 다지모) 07:16, 19 February 2008 (UTC)]]
02:20:45 <monqy> the date is part of the filename
02:20:49 <oerjan> ah
02:21:56 <cheater> either way the idea was that in constructive languages (what you know as imperative) programs are built out of verbs, nouns, and adjectives. in declarative languages (what you know as functional) programs are built out of nouns and adjectives. the idea for descriptive languages was to use adjectives only, and use predicate composition to specify concrete concepts.
02:22:04 <oerjan> `log [<]cheater.*adjective
02:22:07 <HackEgo> 2011-09-21.txt:02:17:53: <evincar> `log <cheater.*adjective
02:22:18 <evincar> Alright, so we're roughly on the same page.
02:22:25 <cheater> an underspecified concept can be seen as a curried function.
02:22:27 <oerjan> `log : [<]cheater.*adjective
02:22:31 <HackEgo> 2010-09-22.txt:22:59:12: <cheater99> why is there no adjective form of holland?
02:22:46 <cheater> is there not? it's hollandaise, isn't it?
02:22:47 <evincar> I mean, in a concatenative language all terms denote functions, and the basic operation is function composition.
02:23:19 <cheater> i think composition in this case looks different.
02:23:21 <evincar> So it's not such a stretch to say all terms are nouns denoting sets (I don't think of adjectives as fundamental really).
02:23:31 <evincar> Or rather, they're interchangeable.
02:23:45 <cheater> it is just an intersection of sets, not a composition of functions as assignments from one set to another.
02:23:47 <CakeProphet> oerjan: try .*? perhaps
02:24:14 <evincar> I don't know if intersection works exactly.
02:24:26 <cheater> they work for my idea
02:24:37 <evincar> Can you give a more concrete example?
02:24:40 <oerjan> CakeProphet: at this point i was just experimenting with how to avoid getting the search itself back as a hit
02:24:45 <cheater> the set of all humans
02:25:06 <oerjan> also, "dutch"
02:25:08 <cheater> when you are trying to specify a certain person you start naming specific descriptive adjectives
02:25:18 <evincar> I feel like that's...just Prolog.
02:25:24 <cheater> each such adjective defines a set of people
02:25:24 <evincar> And I'm going for something different.
02:25:47 <evincar> Okay.
02:25:51 <cheater> but those sets intersect to a smaller and smaller subset until you have a singleton set
02:26:09 <evincar> Which is roughly equivalent to a normal form.
02:26:24 <cheater> what do you mean by that?
02:26:27 <evincar> Something you can use as a value proper.
02:26:37 <evincar> Rather than, like, a thunk.
02:26:47 <evincar> Or whatever.
02:26:49 <cheater> i don't see the distinction as important
02:26:51 <evincar> It's a stretch of an analogy.
02:26:59 <cheater> underspecified functions are more important
02:27:32 <cheater> it's just that you bottom out when you finish your specification and could start overspecifying or specifying contradictions
02:27:44 <cheater> this is not good
02:29:26 <cheater> i think you can make very good optimizations to such a language, given a strong enough topology for the space you are working in
02:30:14 <cheater> it's a topologist's language
02:30:20 <evincar> I guess I'm leaning toward something more general.
02:30:25 <evincar> And less like a logic language.
02:30:29 <pikhq_> *sigh* x86 sucks.
02:31:26 <cheater> what are you leaning towards?
02:32:07 -!- sebbu2 has joined.
02:32:07 -!- sebbu2 has quit (Changing host).
02:32:07 -!- sebbu2 has joined.
02:32:29 -!- sebbu has quit (Ping timeout: 260 seconds).
02:33:55 <evincar> I guess like I said before (then got sidetracked from) the core concept would be "everything is a type" and type conversion would be the basic operation.
02:34:15 <evincar> You'd be doing graph-reduction, internally.
02:34:21 <evincar> Like a functional language.
02:34:28 <pikhq_> C also sucks. Even as a systems language.
02:34:49 <evincar> pikhq_: Use assembly.
02:34:56 <pikhq_> Assembly sucks worse.
02:35:07 <evincar> Then use the lesser of two evils, obviously.
02:35:42 <pikhq_> But jeeze, it is a freaking *ordeal* just to get a freaking binary into RAM on x86.
02:42:32 -!- hagb4rd has joined.
02:44:51 <evincar> Hmm. If you allow types to take parameters, you just get regular old dependent typing.
02:45:06 <CakeProphet> *value parameters
02:45:10 <evincar> But there's not necessarily any provision in this system for parameters.
02:45:12 <evincar> Well, yes.
02:45:26 <evincar> But there's no distinction between values and types.
02:48:10 <evincar> I guess...if "+" is a set of operations and "x" and "y" are singleton sets, then "m + n" really denotes a conversion from the type "m x n" to the type "m + n".
02:48:20 <evincar> It's only reducible to the arithmetic result incidentally.
02:48:43 <evincar> Hurgh this is wrong and bad.
02:48:55 <evincar> I feel like there's something to it though.
02:49:25 <evincar> Ugh, s/"x" and "y"/"m" and "n"/.
02:56:55 * pikhq_ should not be NIHing a systems language
02:56:58 * pikhq_ really shouldn't be
02:57:22 <monqy> bad nih is best nih
02:58:48 <CakeProphet> help what is NIH
02:59:50 <monqy> `quote NIH
02:59:52 <HackEgo> 172) <AnMaster> cpressey, oh go to zzo's website. He is NIH <Phantom_Hoover> AnMaster, really? I was strongly under the impression that zzo was invented here. \ 474) <NihilistDandy> elliott: His mouse obeys the law of the excluded middle :/ \ 506) <NihilistDandy> MY CONTINUITY <NihilistDandy> MY FANFICTION <NihilistDandy>
03:00:36 -!- azaq23 has quit (Quit: Leaving.).
03:00:53 <evincar> Not in Here; Not Invented Here; -ilistDandy.
03:01:14 * pikhq_ summons elliott
03:01:19 <pikhq_> @! @! @!
03:01:20 <lambdabot> Maybe you meant: . ? @ v
03:01:28 <evincar> Maybe you did.
03:02:28 <Madoka-Kaname> @id
03:02:32 <Madoka-Kaname> @help
03:02:33 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
03:02:35 <Madoka-Kaname> @list
03:02:35 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
03:02:50 <oerjan> @id entical
03:02:50 <lambdabot> entical
03:03:11 <Madoka-Kaname> @. . . id id id id
03:03:11 <lambdabot> Plugin `compose' failed with: Unknown command: ""
03:03:14 <Madoka-Kaname> :(
03:03:55 <pikhq_> I can't even get myself to want to touch this any more, IT'S ALL BAD
03:04:06 * oerjan recommends @@ instead of @.
03:07:05 <evincar> So like
03:07:08 <evincar> def (length nil) (0)
03:07:10 <evincar> def (length cons x (xs)) (+ 1 (length xs))
03:07:10 <Madoka-Kaname> @@
03:07:18 <Madoka-Kaname> @@ what does this do
03:07:18 <lambdabot> what does this do
03:07:32 <oerjan> @help @@
03:07:32 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
03:07:34 <oerjan> @help @
03:07:35 <lambdabot> @ [args].
03:07:35 <lambdabot> @ executes plugin invocations in its arguments, parentheses can be used.
03:07:35 <lambdabot> The commands are right associative.
03:07:35 <lambdabot> For example: @ @pl @undo code
03:07:35 <lambdabot> is the same as: @ (@pl (@undo code))
03:08:00 <evincar> Then..."def x y" and "+ x y" are assumed to be reducible, and everything else is just pattern matching.
03:08:24 <evincar> But you could do interesting things with relations.
03:08:38 <evincar> Because e.g. "def x y" is considered a true proposition.
03:08:45 <Madoka-Kaname> @ (@id test)
03:08:49 <Madoka-Kaname> @@ (@id test)
03:08:49 <lambdabot> test
03:09:11 <Madoka-Kaname> @@ (@id (@@ what happens??))
03:09:12 <lambdabot> what happens
03:09:41 <Madoka-Kaname> @@ (@id (@@ (@id boop)))
03:09:41 <lambdabot> boop
03:09:51 <CakeProphet> obviously we now need to make lambdabot turing complete.
03:10:04 <oerjan> Madoka-Kaname: you're not supposed to need nested @@'s
03:10:16 <Madoka-Kaname> I'm just seeing what happens.
03:10:53 <CakeProphet> can we define our own commands or do we have to hack lambdabot?
03:11:01 <CakeProphet> I suppose adding S and K would be sufficient.
03:11:36 <oerjan> there are places to add information, but not new commands afaik
03:11:54 <Madoka-Kaname> @run map (^2) [1..]
03:11:55 <lambdabot> [1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,48...
03:12:08 <Madoka-Kaname> Done.
03:12:11 <Madoka-Kaname> @run map (2^) [1..]
03:12:12 <lambdabot> [2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,26...
03:12:13 <Madoka-Kaname> See!
03:12:22 <CakeProphet> not what I mean.
03:12:39 <Madoka-Kaname> @run map (uncurry (^)) $ zip [0..] [1..]
03:12:40 <lambdabot> [0,1,8,81,1024,15625,279936,5764801,134217728,3486784401,100000000000,31384...
03:12:46 <oerjan> > iterate (2*) 2
03:12:46 <lambdabot> [2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,26...
03:13:14 <CakeProphet> so does having a finite output change the turing completeness of Haskell?
03:13:23 <oerjan> > zipWith (^) [0..] [1..]
03:13:24 <lambdabot> [0,1,8,81,1024,15625,279936,5764801,134217728,3486784401,100000000000,31384...
03:13:26 <CakeProphet> since the evaluation semantics are based on need..
03:13:41 <oerjan> CakeProphet: um no...
03:14:21 <CakeProphet> so the fact that there's a set of problems it won't fully compute due to the finite output size does not change turing completeness?
03:14:22 <oerjan> as long as it is unbounded
03:14:48 <oerjan> CakeProphet: a _turing machine_ does not have infinite output
03:15:17 <oerjan> also, it is customary to consider decision machines which only output yes or no as sufficient
03:15:34 <oerjan> for many purposes
03:15:42 <CakeProphet> ah okay
03:16:08 <CakeProphet> I realize output in the typical sense is not considered in turing completeness
03:16:38 <CakeProphet> but since output seems to directly affect Haskell's evaluation semantics I thought perhaps this an exception where it could be considered.
03:16:53 <monqy> waht
03:17:34 <CakeProphet> more specific plz
03:17:55 <oerjan> you only need String -> String functions, or similar, to show Haskell TC
03:18:04 <oerjan> and the strings can be finite
03:18:11 <CakeProphet> ah okay, right.
03:18:18 <CakeProphet> the output doesn't factor in at all ever.
03:18:26 <CakeProphet> so I guess evaluation strategy doesn't either?
03:18:39 <oerjan> well it might, if there was no other way of defining a result
03:18:41 <CakeProphet> because in circumstances without IO Haskell effectively evaluates nothing.
03:19:05 <CakeProphet> ah okay.
03:20:40 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw
03:20:40 <lambdabot> "\""
03:20:45 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw what the crap is this
03:20:46 <lambdabot> Exception: <<loop>>
03:20:52 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw ?
03:20:52 <lambdabot> Just 'J'
03:20:55 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw a
03:20:55 <lambdabot> "\"\\\"\\\\\\\"\\\\\\"
03:20:58 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw aaa
03:20:58 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\"
03:21:07 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw yhjulwwiefzojcbxybbruweejw
03:21:07 <lambdabot> "\"#$%&'()*+,\""
03:21:12 <Patashu> so what does this thing do
03:21:16 <oerjan> i don't think it looks at its argument
03:21:25 <oerjan> it's just one of the quote databases
03:21:50 <oerjan> (now exactly _why_ those quotes are selected - well that would be telling.)
03:22:26 <Madoka-Kaname> @help da
03:22:26 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
03:22:30 <Patashu> @yhjulwwiefzojcbxybbruweejw
03:22:30 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\"
03:22:32 <Patashu> @yhjulwwiefzojcbxybbruweejw
03:22:32 <Madoka-Kaname> @help yhjulwwiefzojcbxybbruweejw
03:22:33 <lambdabot> Just 'J'
03:22:33 <lambdabot> V RETURNS!
03:22:36 <Patashu> wtf
03:22:47 <Madoka-Kaname> @help yhjulwwiefzojcbxybbruweejw
03:22:48 <lambdabot> V RETURNS!
03:22:50 <Madoka-Kaname> o.o?
03:22:52 <monqy> @help v
03:22:52 <lambdabot> let v = show v in v
03:22:53 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw
03:22:53 <lambdabot> "\"#$%&'()*+,\""
03:22:58 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw
03:22:58 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\"
03:22:59 <monqy> @v
03:22:59 <lambdabot> Exception: <<loop>>
03:23:00 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw
03:23:00 <lambdabot> "\"\\\"\\\\\\\"\\\\\\"
03:23:02 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw
03:23:02 <monqy> @v
03:23:03 <lambdabot> "\"#$%&'()*+,\""
03:23:03 <lambdabot> Exception: <<loop>>
03:23:03 <Patashu> @yhjulwwiefzojcbxybbruweejw V
03:23:04 <lambdabot> Just 'J'
03:23:04 <Madoka-Kaname> @yhjulwwiefzojcbxybbruweejw
03:23:04 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\"
03:23:09 <Madoka-Kaname> what
03:23:09 <monqy> poor @v
03:23:11 <Madoka-Kaname> what the hell is this
03:23:17 <monqy> @v
03:23:17 <lambdabot> Just 'J'
03:23:20 <monqy> :')
03:23:31 <Patashu> @v
03:23:31 <lambdabot> Just 'J'
03:23:35 <Patashu> @help v
03:23:35 <lambdabot> let v = show v in v
03:23:40 <Patashu> what
03:23:49 <Patashu> I am confused
03:24:10 <monqy> > let v = show v in v
03:24:11 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\...
03:24:16 <Madoka-Kaname> >fix show
03:24:18 <Madoka-Kaname> > fix show
03:24:19 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\...
03:24:23 <Patashu> oooooooooooooh
03:24:27 <Patashu> ok, that explains that bit
03:24:29 <Madoka-Kaname> > fix (reverse.show)
03:24:33 <lambdabot> mueval-core: Time limit exceeded
03:24:43 <Madoka-Kaname> > fix (show.reverse)
03:24:47 <lambdabot> mueval-core: Time limit exceeded
03:24:52 <Patashu> > show.show 3
03:24:54 <lambdabot> ["'3'"]
03:24:57 <Patashu> > show.show.show 3
03:24:59 <lambdabot> ["\"'3'\""]
03:25:01 <Patashu> > show.show.show.showq 3
03:25:02 <lambdabot> Not in scope: `showq'
03:25:03 <Patashu> > show.show.show.show 3
03:25:05 <lambdabot> ["\"\\\"'3'\\\"\""]
03:25:08 <Patashu> > show.show.show.show.show 3
03:25:10 <lambdabot> ["\"\\\"\\\\\\\"'3'\\\\\\\"\\\"\""]
03:25:13 <Patashu> XD
03:25:27 <Madoka-Kaname> > fix (show.map(chr. +1 .ord))
03:25:27 <lambdabot> <no location info>: parse error on input `+'
03:25:29 <CakeProphet> > fix (show.) 3
03:25:31 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\...
03:25:32 <Madoka-Kaname> > fix (show.map(chr.(+1).ord))
03:25:34 <lambdabot> "\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]]^^__``aab...
03:25:44 <Madoka-Kaname> > fix (map(chr.(+1).ord).show)
03:25:46 <lambdabot> "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]]^^__``aabbccd...
03:25:51 <Madoka-Kaname> > fix (map(chr.(*2).ord).show)
03:25:52 <lambdabot> "D\136\184bfl\184bph\196\204\216\184bph\196\224\208\184brl\184d`h\184dbl\18...
03:28:01 <oerjan> > let v = show $ map succ v in v
03:28:02 <lambdabot> "\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]]^^__``aab...
03:28:03 <CakeProphet> > fix (map succ . show)
03:28:04 <lambdabot> "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]]^^__``aabbccd...
03:28:16 <CakeProphet> oerjan: bah
03:28:24 <oerjan> but why does the quote one stop after , ?
03:28:53 -!- augur has quit (Remote host closed the connection).
03:29:19 <CakeProphet> @help id
03:29:20 <lambdabot> id <arg>. The identity plugin
03:29:25 <CakeProphet> @id help
03:29:25 <lambdabot> help
03:29:33 <CakeProphet> man that's so useful
03:29:44 -!- itidus20 has left ("Leaving").
03:30:16 <oerjan> > let v = show . take 11 $ map succ v in v
03:30:17 <lambdabot> "\"#$%&'()*+,-\""
03:30:23 <oerjan> > let v = show . take 10 $ map succ v in v
03:30:24 <lambdabot> "\"#$%&'()*+,\""
03:30:45 <oerjan> still, a little unsatisfactory
03:31:28 <oerjan> > show
03:31:29 <lambdabot> Overlapping instances for GHC.Show.Show (a -> GHC.Base.String)
03:31:29 <lambdabot> arising f...
03:31:42 <oerjan> > show 3
03:31:43 <lambdabot> "3"
03:31:52 <oerjan> > show.show 3
03:31:53 <lambdabot> ["'3'"]
03:32:02 -!- evincar has quit (Quit: Bah. Homework time.).
03:32:28 <oerjan> :t show.show 3
03:32:28 <lambdabot> [String]
03:32:41 <oerjan> ooh
03:32:49 <oerjan> it's caleskell . which does it
03:33:34 <oerjan> > fix (show.)
03:33:35 <lambdabot> No instance for (GHC.Show.Show (f GHC.Base.String))
03:33:35 <lambdabot> arising from a use o...
03:33:39 <oerjan> argh
03:34:11 <oerjan> > fix (show.) :: [String]
03:34:15 <lambdabot> mueval-core: Time limit exceeded
03:35:08 <Madoka-Kaname> > fix (.)
03:35:09 <lambdabot> Occurs check: cannot construct the infinite type: a = f a
03:35:15 <oerjan> <CakeProphet> man that's so useful <-- clearly the identity plugin is intended for use in plugin transformers
03:35:17 <Madoka-Kaname> > fix ((.).)
03:35:18 <lambdabot> Occurs check: cannot construct the infinite type: a = f a
03:35:21 <Madoka-Kaname> "<
03:35:22 <Madoka-Kaname> :<
03:35:24 * oerjan cackles madly
03:37:27 <CakeProphet> oerjan: if only there were plugin transformers
03:37:46 -!- augur has joined.
03:38:06 <CakeProphet> @@ @djinn :t id
03:38:07 <lambdabot> Invalid command
03:38:09 <CakeProphet> :(
03:38:10 <CakeProphet> @type
03:38:11 <lambdabot> <no location info>: not an expression: `'
03:38:17 <CakeProphet> @@ @djinn @type id
03:38:18 <lambdabot> f a = a
03:38:22 <CakeProphet> @@ @djinn @type unsafeCoerce
03:38:23 <lambdabot> Cannot parse command
03:39:00 <CakeProphet> @@ @djinn @type (>>=)
03:39:01 <lambdabot> Cannot parse command
03:39:48 <monqy> try parentheses??/
03:39:58 <CakeProphet> @@ @djinn (@type (>>=))
03:39:58 <lambdabot> Cannot parse command
03:40:04 <monqy> :'(
03:40:07 <CakeProphet> @@ (@djinn (@type ((>>=))))
03:40:07 <lambdabot> Cannot parse command
03:40:23 <monqy> @help @
03:40:24 <lambdabot> @ [args].
03:40:24 <lambdabot> @ executes plugin invocations in its arguments, parentheses can be used.
03:40:24 <lambdabot> The commands are right associative.
03:40:24 <lambdabot> For example: @ @pl @undo code
03:40:24 <lambdabot> is the same as: @ (@pl (@undo code))
03:40:28 <oerjan> @@ (test)
03:40:28 <lambdabot> (test)
03:40:33 <CakeProphet> @@ (((@djinn (((@type (((>>=)))))))))
03:40:34 <lambdabot> ((Cannot parse command))
03:40:41 <oerjan> @@ @type (>>=)
03:40:41 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b
03:40:50 <oerjan> i don't think it's @@ that has problems
03:40:54 <CakeProphet> djinnn
03:40:59 <monqy> nnnnnnnnnnnnnnn
03:40:59 <CakeProphet> DJIIIIIIN
03:41:02 <monqy> n
03:41:10 <monqy> @type id
03:41:11 <lambdabot> forall a. a -> a
03:41:16 <CakeProphet> the kind I guess.
03:41:21 <CakeProphet> or maybe typeclass
03:41:21 <monqy> forall......
03:41:27 <CakeProphet> forall is fine
03:41:31 <CakeProphet> @@ @djinn @type id
03:41:32 <lambdabot> f a = a
03:41:34 <monqy> oh
03:41:38 <oerjan> @type (>>=)
03:41:38 <lambdabot> forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b
03:41:55 <oerjan> @djinn forall m a b. (Monad m) => m a -> (a -> m b) -> m
03:41:55 <oerjan> b
03:41:55 <lambdabot> Error: kind error: (KVar 0,KStar)
03:42:00 <oerjan> f
03:42:04 <oerjan> @djinn forall m a b. (Monad m) => m a -> (a -> m b) -> m b
03:42:04 <lambdabot> f = (>>=)
03:42:11 <monqy> wow!
03:42:15 <oerjan> was the kind
03:42:43 <monqy> @@'s fault for not providing a good error message
03:42:44 <oerjan> @djinn forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b
03:42:44 <lambdabot> Cannot parse command
03:42:56 <oerjan> monqy: it was @djinn's error message
03:42:57 <monqy> oh djinn's fault maybe
03:42:59 <monqy> bah
03:43:07 <monqy> djinn;s fault for not providing a good error mesasge
03:43:07 <Madoka-Kaname> @@ (@djinn (@exec text $ head $ tail $ splitOn "." (@type (.))))
03:43:09 <lambdabot> Plugin `compose' failed with: Unknown command: "exec"
03:43:16 <Madoka-Kaname> @exec text $ "Test"
03:43:16 <lambdabot> Unknown command, try @list
03:43:17 <monqy> and @@'s fault for not saying it was djinn;s fault
03:43:41 <Madoka-Kaname> @@ (@djinn (@run text $ head $ tail $ splitOn "." (@type (.))))
03:43:42 <lambdabot> Cannot parse command
03:43:54 <Madoka-Kaname> @@ (@djinn (@run text $ head $ tail $ splitOn "." (@type \(.\))))
03:43:55 <lambdabot> Cannot parse command
03:43:59 <Madoka-Kaname> @@ (@djinn (@run text $ head $ tail $ splitOn "." (@type id)))
03:44:00 <lambdabot> Cannot parse command
03:44:02 <Madoka-Kaname> :(
03:44:11 <CakeProphet> @@ @pl @unpl @pl @djinn @pl @djinn @type id
03:44:11 <lambdabot> Cannot parse command
03:44:22 <Madoka-Kaname> @type id
03:44:23 <lambdabot> forall a. a -> a
03:44:40 <oerjan> Madoka-Kaname: i'd suggest looking at what @djinn's argument actually _is_
03:44:43 <Madoka-Kaname> @run text $ head $ tail $ splitOn "." "forall a. a -> a"
03:44:44 <lambdabot> Not in scope: `splitOn'
03:44:48 <CakeProphet> @@ @pl @unpl @type @pl @djinn @type @pl @djinn @type id
03:44:49 <lambdabot> Parse error at "in" (column 5)
03:44:57 <Madoka-Kaname> @djinn a -> a
03:44:57 <lambdabot> f a = a
03:45:14 <Madoka-Kaname> @djinn (Monad m) => m -> m
03:45:14 <lambdabot> f a = a
03:46:24 <Madoka-Kaname> @run text $ head $ tail $ dropUntil (!=".") "forall a. a -> a"
03:46:25 <lambdabot> Not in scope: `dropUntil'Not in scope: `!='
03:46:28 <CakeProphet> @@ @pl @djinn @type @pl @djinn @type id
03:46:29 <lambdabot> Cannot parse command
03:46:32 <CakeProphet> :(
03:46:45 <CakeProphet> @@ @pl @djinn @type id
03:46:46 <lambdabot> f = id
03:46:46 <Madoka-Kaname> @run text $ head $ tail $ dropUntil (/=".") "forall a. a -> a"
03:46:47 <lambdabot> Not in scope: `dropUntil'
03:47:30 <CakeProphet> @@ @type let (@pl @djinn @type id) in id
03:47:32 <lambdabot> forall a. a -> a
03:48:02 <CakeProphet> @@ @pl @unpl @pl @djinn @type let (@pl @djinn @type id) in id
03:48:03 <lambdabot> f = id
03:48:12 <CakeProphet> >_>
03:48:20 <Madoka-Kaname> @@ (test)
03:48:20 <lambdabot> (test)
03:48:33 <Madoka-Kaname> @@ @djinn @run text $ head $ tail $ dropWhile (/=".") @type id
03:48:35 <lambdabot> Cannot parse command
03:48:45 <oerjan> sadly too many lambdabot commands don't give output formatted for chaining
03:48:50 <Madoka-Kaname> @@ @djinn @run text . head . tail . dropWhile (/=".") "@type id"
03:48:50 <lambdabot> Cannot parse command
03:48:50 <lambdabot> Cannot parse command
03:49:06 <CakeProphet> @@ There's @run (2^32) 32-bit words
03:49:07 <lambdabot> There's Couldn't match expected type `GHC.Types.Int'
03:49:07 <lambdabot> against inferred type ...
03:49:19 <CakeProphet> @@ There's (@run 2^32) 32-bit words
03:49:20 <lambdabot> There's 4294967296
03:49:20 <lambdabot> 32-bit words
03:49:24 <CakeProphet> heh
03:49:31 <Madoka-Kaname> @@ "
03:49:32 <lambdabot> "
03:49:37 <Madoka-Kaname> @@ @run text $ "wee"
03:49:38 <lambdabot> wee
03:49:59 <Madoka-Kaname> @@ @djinn @run text $ "(b -> a -> c) -> a -> b -> c"
03:50:00 <lambdabot> f a b c = a c b
03:50:19 <Madoka-Kaname> @@ @djinn @run text $ "(@type id)"
03:50:20 <lambdabot> Cannot parse command
03:50:31 <Madoka-Kaname> @@ @djinn @run text $ " (@type id) "
03:50:31 <lambdabot> Cannot parse command
03:50:33 <Madoka-Kaname> :s
03:51:50 <oerjan> @@ @run text $ " (@type id) "
03:51:51 <lambdabot> (@type id)
03:52:06 <CakeProphet> @@ @vixen @type (,,,,,,,,,,)
03:52:06 <lambdabot> Plugin `compose' failed with: Unknown command: "vixen"
03:52:22 <CakeProphet> ?
03:52:24 <CakeProphet> help
03:52:27 <monqy> ?vixen
03:52:27 <lambdabot> I brought myself down. I impeached myself by resigning.
03:52:30 <oerjan> @@ @run text @show @type id
03:52:31 <lambdabot> forall a. a -> a
03:53:09 <CakeProphet> @vixen
03:53:09 <lambdabot> The second point is that coming out--coming back and saying that black Americans aren't as good as black Africans--most of them , basically, are just out of the trees. Now, let's face it, they are.
03:53:11 <CakeProphet> what
03:53:28 <Madoka-Kaname> @@ @djinn @run text $ dropWhile(==".") $ dropWhile(/=".") $ @show @type id
03:53:29 <lambdabot> Cannot parse command
03:53:29 <lambdabot> Cannot parse command
03:53:35 <CakeProphet> LAMBDABOT BUG
03:53:39 <Madoka-Kaname> @@ @djinn @run text $ dropWhile (==".") $ dropWhile (/=".") @show @type id
03:53:39 <CakeProphet> NO VIXEN FOUND. ABORT.
03:53:40 <lambdabot> Cannot parse command
03:53:40 <lambdabot> Cannot parse command
03:53:48 <Madoka-Kaname> @@ @djinn @run text $ dropWhile (==".") $ dropWhile (/=".") ". a -> a"
03:53:49 <lambdabot> Cannot parse command
03:53:49 <lambdabot> Cannot parse command
03:53:56 <CakeProphet> Madoka-Kaname: needs moar parens
03:54:08 <Madoka-Kaname> @@ @djinn (@run text $ dropWhile (==".") $ dropWhile (/=".") @show @type id)
03:54:09 <lambdabot> Cannot parse command
03:54:09 <oerjan> @list vixen
03:54:09 <lambdabot> Cannot parse command
03:54:09 <lambdabot> No module "vixen" loaded
03:54:19 <Madoka-Kaname> @@ @djinn (@run text $ dropWhile ( == "." ) $ dropWhile ( /= "." ) @show @type id)
03:54:20 <lambdabot> Cannot parse command
03:54:20 <lambdabot> Cannot parse command
03:54:22 <Madoka-Kaname> :(
03:54:23 <monqy> @@ @vixen-on
03:54:23 <lambdabot> Plugin `compose' failed with: Unknown command: "vixen-on"
03:54:23 <oerjan> @vixer
03:54:23 <lambdabot> Unknown command, try @list
03:56:06 <monqy> @@ @list
03:56:58 <monqy> wheres thje list help
03:59:38 -!- pumpkin has joined.
04:04:30 -!- oerjan has quit (*.net *.split).
04:04:30 -!- Zuu has quit (*.net *.split).
04:04:31 -!- fungot has quit (*.net *.split).
04:04:31 -!- qnix has quit (*.net *.split).
04:04:32 -!- copumpkin has quit (*.net *.split).
04:04:33 -!- cheater2 has quit (*.net *.split).
04:04:33 -!- aloril has quit (*.net *.split).
04:04:34 -!- yiyus has quit (*.net *.split).
04:04:35 -!- Deewiant_ has quit (*.net *.split).
04:04:36 -!- coppro has quit (*.net *.split).
04:04:36 -!- EgoBot has quit (*.net *.split).
04:04:36 -!- quintopia has quit (*.net *.split).
04:04:38 -!- augur has quit (*.net *.split).
04:04:38 -!- Patashu has quit (*.net *.split).
04:04:38 -!- BeholdMyGlory has quit (*.net *.split).
04:04:39 -!- CakeProphet has quit (*.net *.split).
04:04:39 -!- atehwa_ has quit (*.net *.split).
04:04:41 -!- fizzie has quit (*.net *.split).
04:04:41 -!- chickenzilla has quit (*.net *.split).
04:04:42 -!- Wamanuz2 has quit (*.net *.split).
04:04:44 -!- lambdabot has quit (*.net *.split).
04:04:44 -!- twice11 has quit (*.net *.split).
04:04:44 -!- hagb4rd has quit (*.net *.split).
04:04:44 -!- sebbu2 has quit (*.net *.split).
04:04:44 -!- kmc has quit (*.net *.split).
04:04:45 -!- MSleep has quit (*.net *.split).
04:04:45 -!- Madoka-Kaname has quit (*.net *.split).
04:04:46 -!- Nisstyre has quit (*.net *.split).
04:04:46 -!- DH____ has quit (*.net *.split).
04:04:47 -!- lifthrasiir has quit (*.net *.split).
04:04:47 -!- Gregor has quit (*.net *.split).
04:14:12 -!- Madoka-Kaname has joined.
04:14:31 -!- CakeProphet has joined.
04:14:31 -!- CakeProphet has quit (Changing host).
04:14:31 -!- CakeProphet has joined.
04:15:03 <CakeProphet> wow this is a ridiculous netsplit.
04:15:04 -!- pumpkin has changed nick to copumpkin.
04:15:30 <Madoka-Kaname> chat.freenode.net died or something
04:35:07 <CakeProphet> >_>
04:35:08 <CakeProphet> still dead.
04:35:16 <CakeProphet> wow C++ is amazing.
04:35:27 <Madoka-Kaname> In which sense of the word?
04:35:28 <CakeProphet> I try to do something incredibly simple and I get garbage output.
04:35:32 <monqy> mm
04:35:37 <monqy> like what / like what
04:35:40 <monqy> I am now curious
04:36:34 <CakeProphet> hold on emacs is a bitch to copypaste from.
04:37:14 <CakeProphet> basically just ^@^@^@^@^@^@^@^@^@ ad infinitum
04:37:26 <CakeProphet> I'm trying to iterate over a linked list and print each element for my lab...
04:39:17 <CakeProphet> for(iter=strList2.end(); iter != start; iter--) {
04:39:20 <CakeProphet> does anything look wrong with this?
04:40:03 <monqy> what's start
04:40:15 <CakeProphet> start = strList2.begin(); start++; start++;
04:40:15 <monqy> and what's the body
04:40:23 <CakeProphet> cout << *iter << " ";
04:40:25 <CakeProphet> is the body
04:40:45 <monqy> how long is strList2
04:41:09 <CakeProphet> 6 elements.
04:41:17 <monqy> hm
04:41:22 <monqy> could something be wrong with the iterator?
04:41:30 <CakeProphet> probably.
04:41:31 <monqy> I dunno how C++ iterators work
04:41:44 <CakeProphet> I thought I did but apparently not.
04:42:10 <CakeProphet> basically an iterator is a kind of pointer-like object.
04:42:34 <Madoka-Kaname> What type is iter?
04:42:36 <CakeProphet> ++ increments its position and -- decrements. * accesses the element it points to, and == and != check to see if iterators point to the same thing.
04:42:42 <CakeProphet> list<string>::iterator
04:42:46 <Madoka-Kaname> Dunno.
04:45:04 -!- invariable has joined.
04:45:27 <CakeProphet> yeah I have no clue this code looks fine to me.
04:45:57 <Madoka-Kaname> So...
04:46:01 <Madoka-Kaname> C++'s being evil
04:46:12 <CakeProphet> hmmm wait I have an idea
04:46:13 -!- variable has quit (Ping timeout: 252 seconds).
04:46:31 <CakeProphet> I think I need to start with --strList2.end()
04:46:48 <CakeProphet> yep
04:47:12 <CakeProphet> because strList2.end() points to the location after the list
04:47:48 <CakeProphet> would probably be easier to use rbegin to do reverse iteration.
04:48:11 <CakeProphet> but it's one of those labs where they supply some of the code for you, and they declared the iterators are iterator and not reverse_iterator
04:48:16 <CakeProphet> C++ <3
04:48:58 <monqy> dumb
04:50:16 <CakeProphet> yeah iterators seem like one of the most annoying ways to iterator.
04:50:48 <CakeProphet> I'd rather use an integer index, honestly.
04:56:51 <copumpkin> ugh, indices
04:57:03 <copumpkin> iterators gonna iterate, man
04:58:30 <CakeProphet> but with C++ it's almost exactly the same as using an index, except now more verbose
04:59:37 <copumpkin> you don't get off-by-one errors for linear traversals, and it's likely more efficient on structures that don't support indexing easily
05:01:17 <CakeProphet> yeah that's true
05:01:34 <CakeProphet> most things with inefficient indexing in stl doesn't have the option to be indexed.
05:06:53 -!- evincar has joined.
05:08:07 <pikhq_> It's at least vaguely tolerable with C++0x, though. for(int &x : any_damned_thing_containing_ints) { ... }
05:08:30 <pikhq_> Yes, that does precisely what you think.
05:09:00 <evincar> CakeProphet: You can use the reverse_iterator adaptor to make a reverse iterator out of your forward iterator. :P
05:09:11 <CakeProphet> yeah that sounds like so much fun
05:09:15 <CakeProphet> especially since I got it working.
05:09:22 <evincar> Assuming it's not actually a "forward iterator" but a bidirectional one.
05:09:39 <CakeProphet> pikhq_: that's not bad. how does it determine the any-damned-thing-containing-ints part?
05:09:41 <evincar> Oh. Probably by reimplementing it.
05:09:53 <evincar> Reimplementing reverse_iterator, that is.
05:10:02 <CakeProphet> yeah it's bidirectional.
05:10:34 <evincar> I know, I was just correcting myself to avoid getting flamed for saying something that was slightly off.
05:11:04 <CakeProphet> yeah I'm all about staunch correctness
05:11:40 <evincar> Some of us in here are...
05:11:47 <evincar> ...depending on what about, o'course.
05:12:27 <pikhq_> CakeProphet: for(foo &x : bar) is syntactic sugar for (if bar's a foo[]) for(int i = 0; i < sizeof(bar); i++) {foo &x=bar[i]; ...} or (if bar's an object with begin() and end()) foo(auto i = bar.begin(); i != bar.end(); ++i) {foo &x=*i; ... }
05:13:02 <evincar> sizeof(bar)/sizeof(*bar), actually...
05:13:05 <CakeProphet> is auto a C++0x thing?
05:13:09 <pikhq_> Yes.
05:13:23 <pikhq_> evincar: Bah, right.
05:13:27 <CakeProphet> I assume for type inference?
05:13:31 <evincar> C++0x: solving problems with C++ that should have been solved ages ago.
05:13:38 <pikhq_> CakeProphet: Pretty much.
05:13:40 <evincar> Yeah, auto is for type inference in declarations.
05:13:47 <pikhq_> evincar: Pretty much.
05:13:54 <evincar> decltype is for type inference...elsewhere.
05:14:00 <evincar> And then there are the ugly-ass lambdas.
05:14:32 <evincar> Also, fucking rvalue references. Solving a problem that should never have been there in the first place.
05:14:35 <pikhq_> The lambdas aren't that bad syntactically. Though conceptually they're utterly awful, due to C++ *not being friggin' garbage collected*.
05:14:51 <evincar> That's ostensibly what shared_ptr and friends are about.
05:15:02 <CakeProphet> rvalue references?
05:15:03 <evincar> See, every time you say something awful about C++...
05:15:12 <evincar> ...I can just respond like the standards committee does.
05:15:20 <evincar> With libraries and awful hacks and stuff.
05:15:27 <pikhq_> Reference counting: because everything bad about manual memory allocation plus everything bad about automatic memory allocation equals "good".
05:16:35 <evincar> You can use a garbage collector in C++.
05:16:41 <evincar> It's just that nobody does.
05:17:26 <pikhq_> Actually, it's only C++11 that makes it possible for a conformant implementation to be garbage collected...
05:17:52 <pikhq_> (due to some perverse edge cases that a GC would inevitably break, IIRC)
05:17:52 <evincar> Oh, with vanilla "new", I guess.
05:18:00 <evincar> I was thinking of allocators in general.
05:18:14 <pikhq_> Ah. Yeah, not that bad to use Boehm.
05:18:29 <evincar> You can safely write an allocator that allocates from pools allocated with "new".
05:18:38 <evincar> You would just have to use it explicitly.
05:18:46 <evincar> Or write a gc_ptr<T> or something.
05:18:49 <pikhq_> Like I said, not that bad to use Boehm.
05:18:58 <evincar> It's definitely preferable.
05:19:31 <evincar> I can only give C++ credit for one thing:
05:19:39 <pikhq_> IIRC you can just have a class inherit from gc to allocate with Boehm.
05:19:48 <evincar> Somehow succeeding at being "all things to all developers".
05:20:22 <CakeProphet> C++ is my anti-drug.
05:21:05 <CakeProphet> seriously, why doesn't pop in C++ RETURN anything.
05:21:22 <pikhq_> Because that would make sense.
05:21:22 <CakeProphet> s/C++/stl/
05:21:37 <pikhq_> Seriously, why the eff would you not want pop to actually hand you a value?
05:22:15 <evincar> It's because it would have to return by value.
05:22:19 <evincar> Which may be expensive.
05:22:39 <evincar> And there's no way to determine inside the implementation of pop() whether the caller expects a value.
05:22:42 <evincar> So you have to generate it.
05:23:00 <evincar> So top() (stack) or back()/front() returns by reference.
05:23:13 <evincar> And pop() or pop_back()/pop_front() returns void.
05:23:24 <CakeProphet> char f = puzzle.front();
05:23:24 <CakeProphet> char b = puzzle.back();
05:23:24 <CakeProphet> puzzle.pop_front();
05:23:24 <CakeProphet> puzzle.pop_back();
05:23:24 <CakeProphet> puzzle.push_front(b);
05:23:26 <pikhq_> Y'know what this means?
05:23:26 <CakeProphet> puzzle.push_back(f);
05:23:29 <CakeProphet> best code
05:23:41 <CakeProphet> for swapping the front and end of a linked list.
05:23:49 <pikhq_> C++ is not a solution, it is a problem to which you find solutions.
05:23:51 <evincar> std::swap(puzzle.front(), puzzle.back()) // FTFY
05:24:09 <evincar> Remember mutable variables?
05:24:12 <evincar> And how they are a thing?
05:24:17 <CakeProphet> oh right.
05:24:19 <evincar> (A bad thing, but a thing nonetheless.)
05:24:29 <CakeProphet> swap is in algorithm I'm guessing?
05:24:33 <evincar> Yep.
05:24:49 <CakeProphet> should probably look at that file more.
05:24:55 <evincar> It's hella useful...
05:25:21 <evincar> ...most of the reason C++ gets a bad reputation is the horrid C-style code that's written in it.
05:25:22 <CakeProphet> yeah after using Perl and Haskell it'll take a while to adapt to C++'s idioms
05:25:43 <evincar> I wish C++ got a bad reputation for the GENUINELY BAD THINGS ABOUT IT.
05:25:53 <CakeProphet> nothing wrong with C style code.
05:25:53 <evincar> But that's just me.
05:26:00 <evincar> In C++ there is...
05:27:16 <pikhq_> evincar: Funny, I give C++ a bad rep for it's poorly implemented "high-level" concepts.
05:27:50 <CakeProphet> hmmm, so I guess the best way to shift to leftmost character to the end would be to pop_front then push_back.
05:27:54 <CakeProphet> any shorter way?
05:27:59 <CakeProphet> *shift the
05:28:05 <evincar> Ditto. Although the hacks are largely to support generation of efficient code...
05:28:29 <pikhq_> s/it's/its/
05:28:31 <evincar> ...but that code is largely only "efficient" according to the standards of older optimisation technology.
05:29:12 <pikhq_> Well, it also has some pretty comical encapsulation breaks.
05:29:20 <pikhq_> Such as "changing private members breaks ABI"
05:29:23 <evincar> CakeProphet: v.push_back(v.front()); v.pop_front(); is about as short as you can get.
05:29:39 <pikhq_> And "though technically undefined behavior, #define private public is fun times."
05:30:06 <evincar> Technically nothing. UB is just that and you get what you pay for. :P
05:31:25 <evincar> How would you propose to preserve data layout in the event of changing members?
05:31:44 <evincar> The size might change, so you can't make any guarantees about derived classes.
05:31:51 <pikhq_> First, don't try to be "C, plus this".
05:32:01 <pikhq_> This solves most of your problems, really.
05:32:12 <evincar> Those necessarily break if you're implementing data layout in the usual way.
05:32:16 <evincar> Which is the most efficient way.
05:32:16 <CakeProphet> this is what C++0x appears to do.
05:32:23 <pikhq_> sizeof becomes completely moot, for instance.
05:32:26 <pikhq_> CakeProphet: No.
05:32:28 <CakeProphet> (not be C plus stuff)
05:32:38 <CakeProphet> or at least tries
05:32:41 <CakeProphet> to go in that direction
05:32:42 <CakeProphet> a little.
05:32:51 <evincar> C++ is C plus stuff fundamentally.
05:32:52 <pikhq_> CakeProphet: C++0x still has a sizable common subset with C, and has its semantics hacked into C semantics.
05:32:58 <evincar> C++11 tries to make it look like it isn't.
05:33:10 <evincar> It's supposed to be more beginner-friendly.
05:33:21 <pikhq_> It's the source of pretty much all the problems with C++'s attempts at high-level concepts.
05:33:22 <evincar> To try to get people to actually use what have been considered best practices for years.
05:33:58 <CakeProphet> needs more functional code.
05:34:03 <evincar> pikhq_, could you offer some examples?
05:34:11 <evincar> In general I agree, but I'm curious.
05:35:34 <pikhq_> evincar: The aforementioned issue with private members, for one. If C++ didn't have to really consider C, then it could (for instance) access private members via a means *other* than "pointer plus an offset".
05:35:56 <pikhq_> Another obvious fault is that it goes to great lengths to retain C's manual memory allocation.
05:36:01 <evincar> But that's not the most efficient way to do it.
05:36:28 <evincar> The (painful) motto of C++ is "you don't pay for what you don't use".
05:36:41 <evincar> If you want a stable ABI, use a pointer to a private implementation.
05:36:53 <pikhq_> No, the most efficient way to do it is to get a custom ASIC.
05:37:03 <pikhq_> What's that, you're running on general-purpose silicon? Guess you've already sacrificied efficiency.
05:37:07 <evincar> :P
05:38:03 <evincar> Point is, C++ makes the (bad) decision of trying to build abstraction atop low-level features in such a way that it's still efficient.
05:38:15 <evincar> Rather than make an optimising compiler for a truly high-level language...
05:38:39 <evincar> ...you end up making a trivial compiler for a low-level language with lots of sugar.
05:39:01 <evincar> One that doesn't necessarily support every possible optimisation, because the information just isn't there.
05:39:06 <evincar> That's the real mistake.
05:39:15 <evincar> You end up with hideous complexity in compilers and optimisers.
05:39:24 <pikhq_> And in code.
05:39:33 <evincar> Yes, though mostly in libraries.
05:39:39 <pikhq_> Because you have to hack around all the abstraction leaks.
05:39:43 <evincar> But still, it's there, and it's compile-time overhead as well.
05:40:08 <pikhq_> Templates are probably a lot of the blame in compile-time overhead, though.
05:40:09 <CakeProphet> this is probably a stupid question
05:40:31 <CakeProphet> but how do I link a file when compiling with g++?
05:40:31 <pikhq_> It's a misfeature that doesn't even come from the misguided design goals.
05:40:48 <evincar> CakeProphet: g++ foo.o bar.o invokes the linker (ld).
05:41:04 <evincar> If you want to just make an object file, use g++ -c foo.cpp
05:41:13 <evincar> But if you want to compile and link, omit -c.
05:41:28 <CakeProphet> ah okay.
05:41:32 <CakeProphet> so -c automatically links?
05:41:39 <CakeProphet> using, uh, magic?
05:41:40 <evincar> No, -c is "just compile".
05:42:00 <CakeProphet> g++ file.cpp was giving me undefined reference errors, but g++ -c file.cpp worked fine.
05:42:14 <evincar> That's because the undefined references were link errors.
05:42:26 <CakeProphet> right... so how did they get linked with the -c option?
05:42:31 <CakeProphet> oh, they don't.
05:42:31 <evincar> They didn't.
05:42:32 <CakeProphet> ..
05:42:33 <CakeProphet> heh
05:42:35 <evincar> You just made an object file.
05:42:38 <CakeProphet> got it.
05:42:51 <evincar> AND ANOTHER THING
05:42:57 <evincar> C++'s fucking build model.
05:43:02 <evincar> It doesn't have one.
05:43:30 <evincar> I value the ability to produce native binaries. Really I do.
05:44:03 <CakeProphet> I like how my professor's lab comes with free errors that I have to solve.
05:44:07 <CakeProphet> they use strlen without including string
05:44:29 <evincar> But object files (.o) and libraries thereof (.a) should not be the thing I work with.
05:44:46 <evincar> I should be able to think at the module level without any of the crufty details.
05:45:00 <evincar> Like how inclusion is LITERALLY TEXT SUBSTITUTION.
05:46:34 <CakeProphet> u mad?
05:47:16 <CakeProphet> so what happens when I try to link two object files with two mains.
05:48:15 <CakeProphet> also is it possible to compile and link in one command?
05:48:28 <evincar> Yeah, just g++ file.cpp.
05:48:32 <evincar> You'll get a.out.
05:49:02 <evincar> You can say g++ foo.cpp bar.cpp whatever.cpp -o executable to compile and link and make a binary with a particular name.
05:49:21 <CakeProphet> excellent.
05:49:43 <evincar> But if you have two main()s, you'll get a "duplicate symbol" error from ld.
05:50:10 <evincar> To answer that question.
05:51:05 <CakeProphet> puzzle.cpp:15:46: warning: deprecated conversion from string constant to ‘char*’
05:51:09 <CakeProphet> deprecated but not.... wrong right?
05:51:58 <evincar> Should be const char*.
05:52:30 <evincar> Because you're not technically supposed to modify string constants.
05:54:33 <CakeProphet> Oh god Facebook is... DIFFERENT
05:54:48 <CakeProphet> it is now much easier to stalk people.
05:59:13 <pikhq_> evincar: Not merely technically.
05:59:37 <pikhq_> I'm pretty sure that'll get you a segfault; constants get stuck in read-only pages.
05:59:42 <evincar> Yeah, UB is around every corner...
05:59:57 <CakeProphet> well my code works fine at least.
06:00:02 <evincar> I wonder if any non-trivial C++ program is fully standards-conformant?
06:00:18 <evincar> It's really
06:00:19 <evincar> really
06:00:27 <evincar> sad that I have to wonder that.
06:00:40 <pikhq_> I strongly doubt any non-trivial POSIX C program that's fully standards-conformant.
06:00:51 <pikhq_> At a minimum, everyone neglects _POSIX_C_SOURCE
06:02:14 <evincar> Not to mention names that are secretly (and sometimes ambiguously) reserved by POSIX standards.
06:02:30 <evincar> Which may or may not bite you in the future.
06:03:25 <evincar> The main thing that bothers me when I'm working in C is that I want to check every error and handle every potential failure.
06:03:38 <evincar> And not use fixed-size buffers for everything.
06:03:51 <pikhq_> I don't *think* there's anything POSIX uniquely reserves.
06:04:06 <pikhq_> In large part because it *has* _POSIX_C_SOURCE.
06:04:54 <evincar> What does this page mean then? http://pubs.opengroup.org/onlinepubs/007904975/functions/xsh_chap02_02.html
06:05:40 <pikhq_> Oh, sure enough, it does reserve names.
06:05:51 <evincar> Macros definitely have restrictions, but I'm not sure about the wording on types and functions.
06:06:39 <evincar> Because <string.h> and <stdlib.h> reserve str[a-z]+, it's illegal to define a function called strip(). :P
06:07:09 <evincar> Where illegal = non-POSIX-conformant.
06:07:18 <evincar> So.
06:07:19 <pikhq_> That's documenting an ISO C reservation.
06:07:24 <evincar> Probably not a huge deal.
06:07:26 <evincar> Oh.
06:07:28 <evincar> Well still.
06:07:48 * CakeProphet recently had to explain why Maybe in Haskell was more type-safe than null in other languages.
06:07:50 <pikhq_> Just like the stdint.h reservation.
06:08:08 <CakeProphet> I thought it would be obvious but I guess not to someone who's spent all of their programming years working with languages like C++ and Java.
06:08:57 <pikhq_> The reservations are a bit... Extreme, though.
06:13:36 <CakeProphet> I wonder if I could make the worst programming language ever.
06:13:55 <CakeProphet> like, a language that is incredibly conceptually muddled.
06:14:06 <CakeProphet> with parts of it being high-level and others parts being extremely low-level
06:14:15 <CakeProphet> thus requiring a bunch of boilerplate to do anything.
06:16:07 <pikhq_> Take C++. Add Perl.
06:16:42 <CakeProphet> I was thinking also make all of the primitive constructs Haskell based.
06:16:45 <CakeProphet> but with C++ semantics
06:16:55 <pikhq_> Mmm... Good call.
06:17:20 <evincar> D:
06:17:33 <evincar> I look away for five minutes and you guys get these notions.
06:17:58 <CakeProphet> so you're forced to write functional code in a way that's not convenient at all.
06:18:48 <CakeProphet> I'm not sure how perl would make it worse because perl is a beautiful language suitiable for all porpoises.
06:18:52 <CakeProphet> maybe syntax?
06:18:53 <shachaf> CakeProphet: Silly person. NullPointerException is value error, not a type error!
06:19:07 <CakeProphet> shachaf: well it is a value error in those languages.
06:19:16 <CakeProphet> I had to explain that it /could/ be a type error.
06:19:17 <shachaf> A value error is a value error, man.
06:20:00 <CakeProphet> !cpick caramel pumpkin banana peach
06:20:08 <CakeProphet> >_>
06:20:10 <CakeProphet> !show cpick
06:20:22 <CakeProphet> oh right huge netsplit thing.
06:20:35 * shachaf picks copumpkin.
06:20:48 <CakeProphet> > sdfoksfijwer
06:20:58 <CakeProphet> `help
06:20:59 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
06:21:01 <CakeProphet> `perl
06:21:06 <CakeProphet> `perl print 2+2
06:21:07 <HackEgo> Can't open perl script "print 2+2": No such file or directory
06:21:12 <CakeProphet> `perl -e print 2+2
06:21:14 <HackEgo> 4
06:21:32 <HackEgo> No output.
06:22:06 <CakeProphet> `perl -e "$,=' '; print grep {int(rand(2))} qw(caramel pumpkin banana peach)"
06:22:08 <HackEgo> No output.
06:22:12 <CakeProphet> `perl -e "$,=' '; print grep {int(rand(2))} qw(caramel pumpkin banana peach)"
06:22:13 <HackEgo> No output.
06:22:15 <CakeProphet> ..
06:22:40 <CakeProphet> `perl -e '$,=" "; print grep {int(rand(2))} qw(caramel pumpkin banana peach)'
06:22:41 <HackEgo> No output.
06:22:43 <CakeProphet> kljxdkfjzkujdfsdf
06:23:06 <shachaf> CakeProphet: Try shachafbot. Just type ",pick option option option"
06:23:29 <CakeProphet> that's not a real bot.
06:23:43 <shachaf> It's such a real bot, you don't even know how real it is.
06:23:46 <shachaf> Come on, try it.
06:23:51 <CakeProphet> `perl -e '$,=" "; print (grep {int(rand(2))} qw(caramel pumpkin banana peach))'
06:23:52 <HackEgo> No output.
06:23:53 <evincar> `perl -e 'BEGIN { *CORE::GLOBAL::die = sub { CORE::die "A useless message.\n" } } die "This will not be printed."'
06:23:54 <HackEgo> No output.
06:23:58 <CakeProphet> srkgjsdfjsersfddddsfddddddddddddddddddddddddddddddddddddddddddddddddddd
06:24:21 <CakeProphet> `run perl -e '$,=" "; print (grep {int(rand(2))} qw(caramel pumpkin banana peach))'
06:24:22 <HackEgo> caramel pumpkin banana peach
06:24:26 <CakeProphet> ...hahaha
06:24:27 <CakeProphet> ALL FLAVORS
06:24:32 <CakeProphet> OF SHISHA
06:24:42 <CakeProphet> `run perl -e '$,=" "; print (grep {int(rand(2))} qw(caramel pumpkin banana peach))'
06:24:43 <HackEgo> caramel pumpkin peach
06:24:52 <CakeProphet> I'm pretty sure peach doesn't go well with anything else.
06:25:22 <monqy> peach banana
06:25:23 <monqy> ????
06:26:25 <evincar> `perl -e 'BEGIN { *CORE::GLOBAL::exit = sub { my ($code, $message) = @_; print $message; CORE::exit($code); } } exit(0, "Success!");'
06:26:27 <HackEgo> No output.
06:26:30 <evincar> :/
06:42:53 -!- evincar has quit (Quit: Food and possibly sleep.).
06:45:24 <CakeProphet> monqy: yeah that's what I'm trying.
06:45:40 <CakeProphet> though the banana is quite banana-like.
06:48:51 <CakeProphet> *not quite
06:50:44 -!- nooga has joined.
06:51:36 <CakeProphet> pikhq_: so in a traditional linked list with sentinel value
06:51:43 <CakeProphet> what is the value of sentinel->next and sentinel->prev?
06:53:30 <CakeProphet> null?
07:13:35 <CakeProphet> er forgot to mention that it's empty.
07:13:39 <CakeProphet> yeah it's null. nevermind.
07:15:15 -!- monqy has quit (Quit: hello).
07:19:21 -!- augur has joined.
07:28:11 -!- Jafet has joined.
07:42:43 -!- ive has quit (Quit: leaving).
07:49:05 -!- Wamanuz2 has joined.
07:49:05 -!- lambdabot has joined.
07:49:05 -!- twice11 has joined.
07:51:01 -!- kmc has joined.
07:51:01 -!- hagb4rd has joined.
07:51:01 -!- sebbu2 has joined.
07:51:01 -!- MSleep has joined.
07:51:01 -!- Nisstyre has joined.
07:51:01 -!- DH____ has joined.
07:51:01 -!- lifthrasiir has joined.
07:51:01 -!- Gregor has joined.
07:51:12 -!- Deewiant_ has joined.
07:51:12 -!- coppro has joined.
07:51:12 -!- EgoBot has joined.
07:51:12 -!- quintopia has joined.
07:51:29 -!- Zuu has joined.
07:51:29 -!- fungot has joined.
07:51:29 -!- qnix has joined.
07:51:52 -!- fizzie has joined.
07:51:52 -!- Patashu has joined.
07:51:52 -!- BeholdMyGlory has joined.
07:51:52 -!- atehwa_ has joined.
07:51:52 -!- chickenzilla has joined.
07:53:59 -!- cheater2 has joined.
07:53:59 -!- aloril has joined.
07:53:59 -!- yiyus has joined.
07:54:00 <Patashu> hooray1
07:54:07 <Patashu> to you guys it looks like a few people rejoined
07:54:10 <Patashu> to me everyone's flooding back in
07:55:00 <CakeProphet> wow..
07:55:04 <CakeProphet> that was a long ass netsplit.
07:55:13 <CakeProphet> now I can finally do this:
07:55:22 <CakeProphet> > listArray (0, maxBound-1 :: Int) [1..]
07:55:23 <lambdabot> Terminated
07:55:27 <CakeProphet> aw.
07:59:37 <Patashu> lol what
07:59:39 <Patashu> that's a new one
08:00:22 <CakeProphet> it might be special cased, unless it can track memory allocation and terminate after a certain point.
08:04:29 <olsner> funny how it prints "Terminated" when the code *doesn't* terminate
08:04:40 <Patashu> yes that is quite funny
08:04:41 <Patashu> :O)
08:04:50 <Patashu> how dare this computer program not be an ideal turing machine
08:08:42 <CakeProphet> fungot: sadsdf[pwek
08:08:43 <fungot> CakeProphet: i wished that the weather had spared them this choking and venomous fnord of peculiar fumes. mr. machen's narrative, a triumph of carving. when the colony house fire, and bought an impressive wreath, though the ell was more recent. not even the nether slopes of saturn might boast. verses and
08:08:48 <CakeProphet> I'm so glad all of these bots are back.
08:09:42 <olsner> fungot: Terminated
08:09:43 <fungot> olsner: ' matt eliot his fust mate, talked a lot too, only he was again' folks's doin' any heathen things. told abaout an island east of fnord whar they was a fnord and fnord hoarsely at something which amused him. then,
08:16:23 <fizzie> Maybe a setrlimit-style memory limit which terminates the process?
08:17:50 <Patashu> so [1..] isn't an infinite list, it only has 2^32 or 2^64 entries in it?
08:17:52 <Patashu> or does haskell use bigints?
08:18:29 <fizzie> > array (1, 2^36) [(2^36, "it's lonely back here")]
08:18:30 <lambdabot> mueval-core: out of memory (requested 550293733376 bytes)
08:18:37 <Patashu> loll
08:18:50 <Patashu> > array (1, 2^72) [(2^72, "it's lonely back here")]
08:18:51 <lambdabot> array *Exception: Error in array index; -1 not in range [0..0)
08:18:54 <Patashu> lol
08:19:05 <Patashu> > array (1, 2^64) [(2^64, "it's lonely back here")]
08:19:06 <lambdabot> array *Exception: Error in array index; -1 not in range [0..0)
08:19:12 <Patashu> > array (1, 2^63-1) [(2^63-1, "it's lonely back here")]
08:19:13 <lambdabot> Terminated
08:19:16 <Patashu> !
08:19:33 <Patashu> > array (1, 2^50) [(2^50, "it's lonely back here")]
08:19:34 <lambdabot> mueval-core: out of memory (requested 8796094070784 bytes)
08:19:34 <fizzie> The way it dies seems a bit arbitrary sometimes.
08:19:40 <Patashu> > array (1, 2^55) [(2^55, "it's lonely back here")]
08:19:41 <lambdabot> Terminated
08:19:47 <Patashu> > array (1, 2^52) [(2^52, "it's lonely back here")]
08:19:48 <lambdabot> Terminated
08:19:55 <Patashu> > array (1, 2^51) [(2^51, "it's lonely back here")]
08:19:56 <lambdabot> Terminated
08:20:08 <Patashu> > array (1, 1.5*2^50) [(1.5*2^50, "it's lonely back here")]
08:20:09 <lambdabot> Ambiguous type variable `t' in the constraints:
08:20:09 <lambdabot> `GHC.Real.Fractional t'
08:20:09 <lambdabot> ...
08:20:12 <Patashu> oh
08:21:07 -!- Vorpal has joined.
08:21:07 <Patashu> so somewhere between 2^50 and 2^51
08:23:14 <fizzie> The number of bytes it reports seems a bit arbitrary too.
08:23:16 <fizzie> <fizzie> > let t = 2000000000000000 in array (1, t) [(t, "it's lonely back here")]
08:23:16 <fizzie> <lambdabot> mueval-core: out of memory (requested 6735699902464 bytes)
08:23:16 <fizzie> <fizzie> > let t = 2100000000000000 in array (1, t) [(t, "it's lonely back here")]
08:23:16 <fizzie> <lambdabot> mueval-core: out of memory (requested 15868577710080 bytes)
08:23:16 <fizzie> <fizzie> > let t = 2200000000000000 in array (1, t) [(t, "it's lonely back here")]
08:23:17 <fizzie> <lambdabot> mueval-core: out of memory (requested 7409270521856 bytes)
08:25:22 <Patashu> 15868577710080 is 2^43.85etc
08:25:30 <fizzie> I mean:
08:25:32 <fizzie> <fizzie> > let t = 2^51 in array (1, t) [(t, "it's lonely back here")]
08:25:32 <fizzie> <lambdabot> Terminated
08:25:32 <fizzie> <fizzie> > let t = 2^51+2^49 in array (1, t) [(t, "it's lonely back here")]
08:25:32 <fizzie> <lambdabot> mueval-core: out of memory (requested 4398047559680 bytes)
08:25:53 <Patashu> huh
08:25:54 <Patashu> that's bizzare
08:25:59 <Patashu> thought it would stop after a certain number
08:30:47 -!- nooga has quit (Ping timeout: 258 seconds).
08:32:08 <fizzie> Huh.
08:32:22 <Patashu> > let t = 2^51+2^49 in array (1, t) [(t, "it's lonely back here")]
08:32:31 <Patashu> > let t = 2^51 in array (1, t) [(t, "it's lonely back here")]
08:32:35 <lambdabot> mueval-core: Time limit exceeded
08:32:35 <lambdabot> mueval-core: Time limit exceeded
08:32:39 <Patashu> lol
08:32:43 <Patashu> why is it different this time
08:32:55 <fizzie> Depends on the load.
08:32:59 <Patashu> ah
08:34:22 <fizzie> Anyway, there's some sort of a wraparound issue there.
08:34:46 <fizzie> <fizzie> > let t = 2196875771904 in array (1, t) [(t, "it's lonely back here")]
08:34:46 <fizzie> <lambdabot> mueval-core: out of memory (requested 17592170315776 bytes)
08:34:48 <fizzie> <fizzie> > let t = 2197375771904 in array (1, t) [(t, "it's lonely back here")]
08:34:48 <fizzie> <lambdabot> mueval-core: out of memory (requested 3987734528 bytes)
08:35:04 <fizzie> Some of the numbers in-between took very long time and got the "thread killed" message.
08:35:26 <fizzie> It seems to happen around where the "requested N bytes" goes a bit over N = 2^44.
08:38:01 <olsner> hmm, my cpu has 48 bits virtual address space (and I assume that's "standard" for 64-bit cpus), so 2^44 should be too small
08:38:43 <fizzie> Half of that goes to the kernel.
08:38:47 <olsner> but maybe the virtual address space is just fragmented
08:39:02 <olsner> right, but that should still leave 47 bits of userspace
08:39:05 <fizzie> Anyway, even if it doesn't fit in the address space, it's not supposed to wrap around like that.
08:41:44 <olsner> > 6^(12::Int)
08:41:45 <lambdabot> 2176782336
08:43:27 <fizzie> > let t = 2196877864960 in array (1, t) [(t, "it's lonely back here")]
08:43:29 <lambdabot> mueval-core: out of memory (requested 17592186044416 bytes)
08:43:33 <fizzie> > let t = 2196877864961 in array (1, t) [(t, "it's lonely back here")]
08:43:34 <lambdabot> Terminated
08:43:42 <fizzie> (Found with a manual binary search.)
08:44:27 <olsner> mueval tries to set that (6^(12::Int)) as its total memory limit, apparently... I wonder what unit that is
08:46:49 <fizzie> It's the largest (integer) power of 6 that's less than 2^32, but I guess it could be something totally arbitrary.
08:48:08 <olsner> afaict the number gets used to set RLIMIT_AS, which is in bytes
08:48:44 <fizzie> If it's done with System.Posix.Resource, that sounds like the most likely thing.
08:49:13 <olsner> it is, http://code.haskell.org/mubot/mueval/Mueval/Resources.hs
08:51:58 <fizzie> Funny bit of trivia: OS X doesn't have a RLIMIT_AS at all.
08:52:48 <olsner> in other words, don't run lambdabot on OS X? :)
08:55:17 <fizzie> Resource.hsc:
08:55:18 <fizzie> #ifdef RLIMIT_AS
08:55:18 <fizzie> packResource ResourceTotalMemory = (#const RLIMIT_AS)
08:55:18 <fizzie> #endif
08:55:28 <fizzie> I see they have an #ifdef for systems that lack it.
08:55:44 <fizzie> Though I can't recall if OS X headers provide the #define and just ignore it, or if they completely lack it.
09:03:48 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
09:04:47 <CakeProphet> how would one go about learning all of these details?
09:32:34 <CakeProphet> http://en.wikipedia.org/wiki/Bugatti_Veyron
09:32:35 <CakeProphet> mmm
09:34:42 <fizzie> That seems to be some sort of a car device.
09:35:57 <CakeProphet> yes it's the fastest street-legal car in the world.
09:37:04 <fizzie> It does not look like you could fit a large amount of luggage into it. Is there even place for the cat?
09:37:19 <CakeProphet> I'm sure you could fit one person and a cat in there.
09:37:39 <CakeProphet> it's a mid-engine car so there's not a lot of passenger space.
09:38:15 -!- Vorpal has joined.
09:39:17 <CakeProphet> the engine is essentially two V8's fused together. it's a pretty amazing feat of engineering.
09:39:36 <CakeProphet> there are 10 radiators.
09:40:04 <CakeProphet> most cars have one of those.
09:40:15 <fizzie> Yes, but I'm not often in *that* much of a hurry to get the cat anywhere. I think I'll skip.
09:40:29 <CakeProphet> it's also obscenely expensive.
09:40:43 <CakeProphet> It uses special Michelin PAX run-flat tyres, designed specifically to accommodate the Veyron's top speed, which reportedly cost €25,000 per set.
09:41:15 <CakeProphet> I believe the car itself is sold for 1.7 million. Though I believe they stopped selling them.
09:41:40 <Vorpal> CakeProphet: what is this weird car you are talking about?
09:41:44 <fizzie> With that sort of price, does it even come with a Befunge interpreter or something?
09:41:50 <CakeProphet> http://en.wikipedia.org/wiki/Bugatti_Veyron
09:42:07 <CakeProphet> fizzie: no but it moves really fast.
09:42:25 <fizzie> CakeProphet: That would perhaps be nice if there weren't all the other people in the way.
09:42:37 <Jafet> Buy your own road and drive it there
09:42:50 <Jafet> Live on the Isle of Man
09:42:55 <CakeProphet> May noted that at top speed the engine consumes 45,000 litres (9,900 imp gal) of air per minute (as much as a human breathes in four days).
09:43:17 <fizzie> On the Isle of Man, where all men are real men, and all cars are like that.
09:43:42 <CakeProphet> as far as I can tell it's basically the best car ever made.
09:44:22 <fizzie> For some values of best, certainly.
09:45:01 <CakeProphet> top speed, acceleration, handling, stability, quality of engineering.
09:45:16 <CakeProphet> but not passenger capacity or trunk space, no.
09:45:31 <fizzie> Or practicality. (What do you *do* with that top speed and acceleration?)
09:45:41 <CakeProphet> go places really fast of course.
09:45:43 <fizzie> I'll get excited when they make the flying model; at least that'd make me feel like it's the future.
09:46:05 <CakeProphet> Clarkson test drove the Veyron from Alba, northern Italy to London in a race against James May and Richard Hammond who made the journey in a Cessna 182 aeroplane.
09:46:14 <CakeProphet> why doesn't it say who won. :P
09:46:31 <Jafet> Because Cessna is awesome
09:46:34 <fizzie> They had that car-train-motorcycle race, I remember seeing that thing.
09:46:50 <fizzie> The only thing of that show I've seen, probably.
09:46:52 <CakeProphet> motorcycles are generally faster than cars.
09:47:14 <CakeProphet> a high-end motorcycle easily travels faster than the Bugatti Veyron.
09:47:17 <Jafet> The acceleration is to produce frame-dragging that increases the apparent size of the owner's small penis
09:47:20 <fizzie> Everything seems to be capable of the speed limit speeds, anyway.
09:47:35 <Vorpal> <CakeProphet> as far as I can tell it's basically the best car ever made. <-- not at all. It is useless when moving to a new house, you can't fit a lot in that car
09:47:35 <CakeProphet> ....speed limits?
09:47:45 <fizzie> I've heard there's such a thing.
09:47:53 <CakeProphet> do people actually pay attention to those?
09:47:59 <fizzie> Around here, certainly.
09:48:02 <Vorpal> of course
09:48:04 <fizzie> You get ticketed if not.
09:48:07 <CakeProphet> ....weird.
09:48:08 <Vorpal> indeed
09:48:19 <Vorpal> CakeProphet: which country do you live in then?
09:48:23 * CakeProphet routinely drives to Atlanta at about 90 mph.
09:48:24 <CakeProphet> US.
09:48:32 <Vorpal> I see
09:48:37 <CakeProphet> speed limit on those roads ranges from 55 mph to 75 mph
09:48:45 <CakeProphet> most people are going about 80.
09:49:06 <fizzie> I mean, sure, "people" in general drive at k*l, where l is the speed limit and k is something from 1 to 1.2, but still.
09:49:08 <CakeProphet> when traffic permits.
09:49:37 <Vorpal> CakeProphet: anyway, a sports car is kind of useless for most purposes. I very much doubt that car you mentioned have a towbar...
09:49:39 <CakeProphet> in palces where I know cops are never present I usually go about 105
09:49:56 <Vorpal> has a*
09:50:06 <CakeProphet> Vorpal: no, though it is all wheel drive and has retarded horse power / torque so it could probably tow something.
09:50:39 <Vorpal> CakeProphet: and you can't really fit a lot of stuff in the car.
09:50:51 <CakeProphet> the final production Veyron engine produces 1,001 metric horsepower (736 kW; 987 bhp) of motive power, and generates 1,250 newton metres (922 ft·lbf) of torque.[1][14] The nominal figure has been stated by Bugatti officials to be conservative, with the real total being 1,020 metric horsepower (750 kW; 1,006 bhp) or more.
09:50:53 -!- sebbu2 has changed nick to sebbu.
09:50:58 <fizzie> Highway speed limits don't go higher than 120 km/h (75 mph) here, and even if you add a generous 1.2 multiplier, that's 144 km/h (90 mph), so at most you need to be able to drive that fast. A top speed of 400 km/h (250 mph) sounds a bit... excessive.
09:51:03 <CakeProphet> Vorpal: yes you've driven that point home.
09:51:08 <Vorpal> CakeProphet: even two parents + two children + packing for 4 days vacation would not fit
09:51:20 <Vorpal> CakeProphet: so what actual use is a car like that?
09:51:30 <CakeProphet> to take one or two people a large distance very quickly.
09:51:46 <Vorpal> 120 km/h is the maximum existing speed limit around here anyway.
09:52:21 <CakeProphet> also, to escape police, to have fun, to escape a large section of the world before a meteor crashes into it.
09:52:28 <CakeProphet> other things.
09:52:33 <fizzie> I really believe the point is more about what other people think of the car's owner.
09:52:45 <Vorpal> CakeProphet: the police would still note down the registration number...
09:52:50 <Vorpal> so it wouldn't really help
09:53:05 <CakeProphet> no I actually think the point is to be an amazing work of engineering.
09:53:21 <CakeProphet> not everyone is vain like that.
09:53:23 <fizzie> Well, that's the point for the people who made it.
09:53:30 <fizzie> Maybe.
09:53:37 <Vorpal> fizzie: you mean, that the owner has no sense and doesn't care much for actual use of the product nor the environment.
09:53:55 <fizzie> Vorpal: That's just one opinion; other people might thing "whoa, nice car".
09:54:13 <fizzie> It looks rather car chasey from the photos.
09:54:15 * CakeProphet takes note: #esoteric does not appreciate a good car.
09:54:30 <fizzie> I could imagine a Surname, Firstname Surname driving a car like that.
09:54:46 <fizzie> CakeProphet: Conclusion made with a sample size of N=2?
09:54:59 <CakeProphet> also speaking of evading police, my friend who drives a motorcycle can pretty much always outrun the police before they have time to get his license plate.
09:55:28 <Vorpal> CakeProphet: I certainly do. A Volvo station wagon with hybrid electrical/bio-fuel engine is a good car IMO.
09:55:32 <CakeProphet> most cops don't even bother with motorcycles.
09:56:03 <fizzie> With the sort of scaled-by-your-wages fines (and I believe license-suspension reasonably easily) you get here, I wouldn't think "pretty much always" would be quite good enough.
09:56:42 <Vorpal> fizzie: same system in Sweden
09:56:56 <CakeProphet> you Europeans and your apparently strict traffic laws.
09:58:03 <Vorpal> CakeProphet: much less accidents over here than in US
09:58:22 <CakeProphet> changing the speed limit does not correlate to more accidents.
09:58:27 <CakeProphet> or less.
09:58:36 <fizzie> http://en.wikipedia.org/wiki/Top_Gear_Race_to_the_North <- this was the thing I saw.
09:58:42 <Vorpal> CakeProphet: [citation needed]
09:58:49 <Vorpal> because as far as I know it does
09:59:14 <Vorpal> a lower speed means that the car travels less distance during your reaction time if a wild animal runs onto the road for example.
09:59:20 <Vorpal> and braking distance is also reduced
09:59:58 <CakeProphet> Vorpal: http://en.wikipedia.org/wiki/Autobahn
10:00:00 <fizzie> Didn't we do the whole car accident discussion/comparison already not long ago?
10:00:06 <CakeProphet> for highways this is less important.
10:00:09 <Vorpal> You would expect a country like Sweden, with bad winters and so on to have more accidents per capita than a US state like California, but no. Not the case.
10:00:26 <fizzie> Per distance traveled is the more sensible metric, anyway.
10:00:29 <Vorpal> fizzie: indeed, with pikhq iirc, who is sensible
10:00:39 <Vorpal> fizzie: even then iirc Sweden is better of than US.
10:00:39 <fizzie> And I can't get W|A to report it, even though I think it did before.
10:00:48 <CakeProphet> Moreover, international accident statistics demonstrate that limited access grade separated roads such as Autobahns and motorways have much greater road traffic safety regardless of speed limit, suggesting that high speed alone isn't a deciding factor.
10:00:53 <CakeProphet> maybe American cars are just not safe.
10:01:08 <CakeProphet> also we have really bad traffic.
10:01:56 <Vorpal> CakeProphet: what about the reaction time/braking distance issue I mentioned above.
10:02:00 <Vorpal> are you saying it is false?
10:02:11 <CakeProphet> no.
10:02:40 <CakeProphet> but to what extent this curbs avoiding an accident is questionable. In many cases you don't have control of your car anyways.
10:02:44 <Vorpal> CakeProphet: then on a given road a lower speed limit means fewer accidents, and more importantly: fewer accidents with deadly outcome.
10:03:13 <Vorpal> I would like to continue this discussion, but I need to leave for university now
10:03:14 <Vorpal> cya
10:03:49 <CakeProphet> The Synthesis of Safety Research Related to Speed and Speed Limits report sponsored by the Federal Highway Administration published in 1998 found that changing speed limits on low and moderate speed roads appeared to have no significant effect on traffic speed or the number of crashes, whilst on high-speed roads such as freeways, increased speed limits generally resulted in higher traffic speeds and more crashes. It is a
10:04:02 <fizzie> Ah, I found the right W|A query formulation. "Sweden road accidents causing death / total road traffic" => 0.5902 deaths per hundred million vehicle kilometres; US 0.891.
10:04:09 <Jafet> We'd curb accidents by removing the pesky humans from the dashboard
10:05:57 <fizzie> Google's doing that right now.
10:06:13 <fizzie> They already had that one crash which they were all "it's the human's fault again".
10:06:24 <fizzie> Possibly a coverup by the Google AI overlords.
10:08:06 <CakeProphet> suddenly 4 gigs of RAM is no longer enough to not worry about.
10:09:30 <fizzie> Yes, and getting 4G sticks of DDR2 to a motherboard with only two stupid slots is annoyingly expensive. Last I looked, it was more than twice the price of an equivalent amount (and stick-count) of faster DDR3 RAM.
10:10:48 <cheater> you pay for the historical value
10:12:20 <CakeProphet> uh... why is there a cat process sleeping my computer.
10:12:22 <CakeProphet> NO SLEEPING CATS.
10:14:01 <fizzie> It's better to let sleeping cats lie.
10:14:17 <Jafet> Better than zombie cats.
10:14:47 <CakeProphet> uninterruptible cats are the worst.
10:35:23 -!- nooga has joined.
10:59:05 <CakeProphet> > showIntAtBase 2 intToDigit (foldl1 (+) [1..100]) ""
10:59:07 <lambdabot> "1001110111010"
10:59:14 <CakeProphet> > showIntAtBase 3 intToDigit (foldl1 (+) [1..100]) ""
10:59:16 <lambdabot> "20221001"
10:59:31 <CakeProphet> > map (\x -> showIntAtBase x intToDigit (foldl1 (+) [1..100]) "") [1..]
10:59:32 <lambdabot> ["*Exception: Numeric.showIntAtBase: applied to unsupported base 1
10:59:35 <CakeProphet> > map (\x -> showIntAtBase x intToDigit (foldl1 (+) [1..100]) "") [2..]
10:59:36 <lambdabot> ["1001110111010","20221001","1032322","130200","35214","20503","11672","683...
10:59:55 <CakeProphet> > map (\x -> showIntAtBase x intToDigit (foldl1 (+) [1..100]) "") evens
10:59:56 <lambdabot> Not in scope: `evens'
11:00:04 <CakeProphet> > map (\x -> showIntAtBase x intToDigit (foldl1 (+) [1..100]) "") $ filter even [1..]
11:00:05 <lambdabot> ["1001110111010","1032322","35214","11672","5050","2b0a","1baa","13ba","faa...
11:04:01 <fizzie> Sadly intToDigit only goes up to 15. :/
11:04:25 <Jafet> @let showAtBase b n=(\(i,f)->(show=<<i)++"."++(show=<<f)) $ splitAt(floor(log n/log b)+1) $ dropWhile(==0) $ unfoldr(\x->let(i,r)=let d=floor(x/b)in(d,x-b*fromIntegral d)in Just(i,r*b)) n
11:04:26 <lambdabot> Defined.
11:04:38 <Jafet> > showAtBase (exp 1) pi
11:04:40 <lambdabot> "10.10100202000211112002010112000101020200211201001201121000112101000020021...
11:04:51 <Jafet> > take 30 $ showAtBase (exp 1) (pi :: CReal)
11:04:55 <lambdabot> mueval-core: Time limit exceeded
11:04:58 <Jafet> > take 25 $ showAtBase (exp 1) (pi :: CReal)
11:05:02 <lambdabot> mueval-core: Time limit exceeded
11:05:07 <Jafet> > take 20 $ showAtBase (exp 1) (pi :: CReal)
11:05:10 <lambdabot> "10.10100202000211112"
11:11:07 <Patashu> > exp 1
11:11:09 <lambdabot> 2.718281828459045
11:11:32 <Patashu> > take 20 $ showAtBase (pi) (pi :: CReal)
11:11:35 <lambdabot> "10.00000000000000000"
11:11:38 <Patashu> coooool
11:11:39 <Patashu> :D
11:11:54 <Patashu> apparently slow though XD
11:12:48 <Jafet> CReal is O(shit)
11:13:07 <Patashu> XD
11:13:08 <Jafet> > showAtBase pi pi
11:13:10 <lambdabot> "10.00000000000000000000000000000000000000000000000000000000000000000000000...
11:13:20 <Jafet> > showAtBase 10 pi
11:13:22 <lambdabot> "3.141592653589793115997963468544185161590576171875000000000000000000000000...
11:13:33 <Patashu> pi should be defined as an infinite list
11:13:39 <Patashu> when more precision is demanded it calculates it
11:14:03 <Jafet> > pi :: CReal
11:14:05 <lambdabot> 3.1415926535897932384626433832795028841972
11:14:54 -!- copumpkin has quit (Ping timeout: 252 seconds).
11:15:32 -!- copumpkin has joined.
11:16:11 -!- DH____ has quit (Read error: Connection reset by peer).
11:57:39 -!- MSleep has changed nick to MDude.
12:05:00 -!- oerjan has joined.
12:20:54 <CakeProphet> Patashu: you could do this yourself you know.
12:23:33 <CakeProphet> :t arccot
12:23:34 <lambdabot> Not in scope: `arccot'
12:23:38 <CakeProphet> :t arctan
12:23:39 <lambdabot> Not in scope: `arctan'
12:23:54 <CakeProphet> :t acot
12:23:55 <lambdabot> Not in scope: `acot'
12:23:58 <CakeProphet> :t atan
12:23:59 <lambdabot> forall a. (Floating a) => a -> a
12:29:50 <CakeProphet> > let acot x = (pi/2) - arctan x; pid digits = let unity = 10 ^ (digits+10); pi' = 4 * (4* arccot 5 unity - arccot 239 unity) in pi' `div` (10^10) in pid 1000
12:29:51 <lambdabot> Not in scope: `arctan'Not in scope: `arccot'Not in scope: `arccot'
12:30:03 <CakeProphet> > let arccot x = (pi/2) - atan x; pid digits = let unity = 10 ^ (digits+10); pi' = 4 * (4* arccot 5 unity - arccot 239 unity) in pi' `div` (10^10) in pid 1000
12:30:04 <lambdabot> Ambiguous type variable `a' in the constraints:
12:30:04 <lambdabot> `GHC.Real.Integral a'
12:30:04 <lambdabot> ...
12:32:03 <oerjan> yay iwc isn't ending (i think. that was a particularly obscure final annotation line.)
12:32:08 <oerjan> *!
12:32:29 <CakeProphet> oh their acot takes two arguments
12:32:31 <CakeProphet> Patashu: http://en.literateprograms.org/Pi_with_Machin's_formula_(Haskell)
12:33:13 <oerjan> @src Floating
12:33:14 <lambdabot> class (Fractional a) => Floating a where
12:33:14 <lambdabot> pi :: a
12:33:14 <lambdabot> exp, log, sqrt, sin, cos, tan :: a -> a
12:33:14 <lambdabot> asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh :: a -> a
12:33:15 <lambdabot> (**), logBase :: a -> a -> a
12:33:41 <CakeProphet> needs moar acot
12:33:59 <oerjan> it's just asin.recip, anyway
12:34:13 <oerjan> er
12:34:14 <CakeProphet> don't care.
12:34:19 <CakeProphet> NEVER A FUNCTION TOO TRIVIAL.
12:34:24 <oerjan> *atan.recip
12:34:31 <CakeProphet> is it?
12:34:43 <oerjan> well tan x = 1/cot x
12:34:48 <CakeProphet> according to wikipedia is pi/2 - atan x
12:34:53 <CakeProphet> is that the same thing?
12:35:08 <fizzie> CReal's pi is defined in terms of atan; "pi = 16 * atan (fromRational (1 % 5)) - 4 * atan (fromRational (1 % 239))"
12:35:26 <oerjan> should be
12:36:03 <oerjan> because tan x = 1 / tan (pi/2 - x)
12:36:06 <CakeProphet> arctan(1/x) = arccot x
12:36:24 <CakeProphet> so yeah
12:38:05 <oerjan> our norwegian trigonometry and calculus classes never bothered with any of that co-stuff
12:38:11 <oerjan> afair
12:38:32 <fizzie> The domains may differ; Wikipedia's "usually defined as" lists gives -pi/2 < y < pi/2 for y = atan(x), and 0 < y < pi for y = acot(x).
12:39:10 <fizzie> And our Finnish trigonometry does not really speak of cosecants, secants and cotangents either.
12:39:18 <CakeProphet> shame
12:39:26 <oerjan> well, that's just because each grows asymptotic at the boundary
12:39:26 <CakeProphet> AMERICAN TRIGONOMETRY IS SUPERIOR HAHAHAHAHA
12:39:44 <oerjan> oh wait we have cosine of course, but not secant
12:40:05 <CakeProphet> puny scandinavians.
12:40:08 <fizzie> "The acronyms "SOHCAHTOA" and "OHSAHCOAT" are commonly used mnemonics for these ratios." Not here they aren't!
12:40:13 <Jafet> Reduce[ArcTan[x] == ArcCot[1/x], x]
12:40:20 <CakeProphet> your feeble peninsula will be analyzed with the might of our extra trigonometric functions.
12:40:21 <Jafet> = True
12:40:40 <fizzie> I'm not sure if there's a Finnish mnemonic.
12:41:21 <fizzie> I think I saw a "soh-cah-toa" reference in some webcomic or other.
12:41:39 <CakeProphet> I bet it was xkcd.
12:41:41 <oerjan> i've seen it mentioned
12:42:47 <fizzie> The "opposite" and "adjacent" in Finnish both start with 'v' ("vastakkainen/vastainen", "viereinen") so we're even mnemonically oppressed by the language.
12:43:08 <CakeProphet> uh...
12:43:13 <fizzie> "SVHKVHTVV" would not be very helpful.
12:43:16 <CakeProphet> why is office libre really really inconsistent about everything.
12:43:47 <CakeProphet> *libreoffice apparently
12:44:25 <CakeProphet> I select "heading 2" for one heading and it does bold and italics, I do the same for a different heading and it formats it differently
12:45:11 <fizzie> Does your superior American trigonometry also cover versine, vercosine, coversine, haversine, exsecant and such?
12:45:18 <CakeProphet> uh, no.
12:46:22 <fizzie> http://upload.wikimedia.org/wikipedia/commons/9/9d/Circle-trig6.svg so pretty.
12:47:27 <CakeProphet> hacoversine,
12:47:27 <fizzie> Haven't had any "style inconsistency" issues in OpenOffice (back when it was called that); though it sometimes is necessary to select all + clear formatting, if the document has originally non-style-based modifications here and there.
12:48:06 <fizzie> "The hacoversed cosine, also called hacovercosine or cohavercosine and written hacovercosin(\theta)"
12:48:27 <oerjan> "now you are just making things up."
12:56:28 -!- oerjan has quit (Quit: leaving).
12:57:51 <fizzie> > let pfx = ["ha", "co", "ver"]; f = (++ "sine") . concat; r = randoms $ mkStdGen 6667 in f . take (head r `mod` 20) $ (pfx !!) . (`mod` length pfx) <$> tail r
12:57:52 <lambdabot> "cohacovercohahahahasine"
12:58:07 <fizzie> "hahahahasine", the funniest trigonometric function there is.
12:58:39 <fizzie> (Also I don't know how to get real random numbers out of lambdabot.)
12:58:59 <CakeProphet> > ((++"sine").(`replicateM` ["ha","co","ver"])) =<< [0..]
12:59:00 <lambdabot> Couldn't match expected type `GHC.Types.Char'
12:59:00 <lambdabot> against inferred type...
12:59:11 <CakeProphet> > ((++"sine").join.(`replicateM` ["ha","co","ver"])) =<< [0..]
12:59:12 <lambdabot> Couldn't match expected type `GHC.Types.Char'
12:59:13 <lambdabot> against inferred type...
12:59:14 <CakeProphet> jsdkfjsadhfiushef
13:00:02 <CakeProphet> > map ((++"sine").join) $ ((`replicateM` ["ha","co","ver"])) =<< [0..]
13:00:04 <lambdabot> ["sine","hasine","cosine","versine","hahasine","hacosine","haversine","coha...
13:00:19 <CakeProphet> > map ((++"sine").join) $ ((`replicateM` ["ha","co","ver"])) =<< [5..]
13:00:21 <lambdabot> ["hahahahahasine","hahahahacosine","hahahahaversine","hahahacohasine","haha...
13:00:34 <CakeProphet> > map ((++"sine").join) $ ((`replicateM` ["ha","co","ver"])) =<< [3..]
13:00:36 <lambdabot> ["hahahasine","hahacosine","hahaversine","hacohasine","hacocosine","hacover...
13:00:57 <CakeProphet> hacocoversine
13:01:04 <CakeProphet> is in there somewhere
13:02:23 <fizzie> > elemIndex "hacocoversine" . map ((++"sine").join) $ ((`replicateM` ["ha","co","ver"])) =<< [0..]
13:02:25 <lambdabot> Just 54
13:02:28 <fizzie> Indeed it is.
13:10:56 <CakeProphet> :t count
13:10:57 <lambdabot> Not in scope: `count'
13:13:38 <CakeProphet> > filter (\x -> (==) `on` length (elemIndices '[' x) (elemIndices ']' x)) $ (`replicateM` "+-[].,") =<< [0..]
13:13:39 <lambdabot> Couldn't match expected type `[GHC.Types.Int] -> a -> b'
13:13:39 <lambdabot> against in...
13:13:58 <CakeProphet> > filter (\x -> ((==) `on` length) (elemIndices '[' x) (elemIndices ']' x)) $ (`replicateM` "+-[].,") =<< [0..]
13:13:59 <lambdabot> ["","+","-",".",",","++","+-","+.","+,","-+","--","-.","-,","[]","][",".+",...
13:14:06 <fizzie> The good old ][.
13:14:14 <fizzie> Good program. Best friend.
13:14:21 <CakeProphet> best bf
13:14:50 -!- copumpkin has quit (Ping timeout: 258 seconds).
13:15:16 -!- copumpkin has joined.
13:16:27 <CakeProphet> > [] < [1,2,3]
13:16:28 <lambdabot> True
13:16:32 <CakeProphet> > [0] < [1,2,3]
13:16:33 <lambdabot> True
13:16:37 <CakeProphet> > [0] < [0,1,2,3]
13:16:39 <lambdabot> True
13:17:12 <CakeProphet> > filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in ls < rs && ((==) `on` length) numl numr) $ (`replicateM` "+-[].,") =<< [0..]
13:17:13 <lambdabot> Not in scope: `numl'Not in scope: `numr'
13:17:21 <CakeProphet> > filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in ls < rs && ((==) `on` length) ls ra) $ (`replicateM` "+-[].,") =<< [0..]
13:17:22 <lambdabot> Not in scope: `ra'
13:17:25 <CakeProphet> > filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in ls < rs && ((==) `on` length) ls rs) $ (`replicateM` "+-[].,") =<< [0..]
13:17:26 <lambdabot> ["[]","+[]","-[]","[+]","[-]","[]+","[]-","[].","[],","[.]","[,]",".[]",",[...
13:17:29 <CakeProphet> ..
13:18:31 <fizzie> > let v d [] = d == 0; v d ('[':xs) = v (d+1) xs; v d (']':xs) = d > 0 && v (d-1) xs; v d (_:xs) = v d xs in drop 10000 . filter (v 0) $ (`replicateM` "+-[].,") =<< [0..]
13:18:33 <lambdabot> [",.-.,+",",.-.,-",",.-.,.",",.-.,,",",.-,++",",.-,+-",",.-,+.",",.-,+,",",...
13:18:33 <fizzie> The manual way.
13:19:04 <CakeProphet> > filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in ls <= rs && ((==) `on` length) ls rs) $ (`replicateM` "+-[].,") =<< [0..]
13:19:05 <lambdabot> ["","+","-",".",",","++","+-","+.","+,","-+","--","-.","-,","[]",".+",".-",...
13:19:18 <CakeProphet> most awesome way.
13:19:40 <CakeProphet> > filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in ls <= rs && ((==) `on` length) ls rs) $ (`replicateM` "+-[].,") =<< [4..]
13:19:41 <lambdabot> ["++++","+++-","+++.","+++,","++-+","++--","++-.","++-,","++[]","++.+","++....
13:19:52 <CakeProphet> > filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in ls <= rs && ((==) `on` length) ls rs) $ (`replicateM` "+-[].,") =<< [20..]
13:19:54 <lambdabot> ["++++++++++++++++++++","+++++++++++++++++++-","+++++++++++++++++++.","++++...
13:20:12 <CakeProphet> man there sure are a lot of brainfuck programs.
13:22:22 <fizzie> > elemIndex "[[]]][" . filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in ls <= rs && ((==) `on` length) ls rs) $ (`replicateM` "+-[].,") =<< [0..]
13:22:24 <lambdabot> Just 6284
13:22:31 <fizzie> > [2,6] < [3,5]
13:22:32 <lambdabot> True
13:22:38 <CakeProphet> oh...
13:22:39 <fizzie> Slightly lessens the awesome.
13:22:54 <CakeProphet> how does that work.
13:23:15 <fizzie> Well, 2 < 3.
13:23:35 <CakeProphet> ah
13:24:38 <fizzie> > all (uncurry (<)) $ zip [2,6] [3,5]
13:24:39 <lambdabot> False
13:24:43 <CakeProphet> beat me to it.
13:24:55 <fizzie> Maybe if you test something like that. (Disclaimer: haven't thought it through.)
13:25:23 <CakeProphet> > filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in all (uncurry (<)) (zip ls rs) && ((==) `on` length) ls rs) $ (`replicateM` "+-[].,") =<< [0..]
13:25:23 <lambdabot> ["","+","-",".",",","++","+-","+.","+,","-+","--","-.","-,","[]",".+",".-",...
13:25:24 <fizzie> > all $ zipWith (<) [2,6] [3,5]
13:25:25 <lambdabot> Couldn't match expected type `a -> GHC.Bool.Bool'
13:25:25 <lambdabot> against inferred ...
13:25:31 <CakeProphet> I have.
13:25:54 <CakeProphet> you want and
13:25:57 <CakeProphet> for that.
13:26:00 <fizzie> Right.
13:26:33 <CakeProphet> > filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in and (zipWith (<) ls rs) && ((==) `on` length) ls rs) $ (`replicateM` "+-[].,") =<< [0..]
13:26:34 <lambdabot> ["","+","-",".",",","++","+-","+.","+,","-+","--","-.","-,","[]",".+",".-",...
13:26:52 <CakeProphet> can you think of a situation where that fails?
13:28:08 <CakeProphet> I think it's correct.
13:33:19 <CakeProphet> @hoogle on
13:33:20 <lambdabot> Data.Function on :: (b -> b -> c) -> (a -> b) -> a -> a -> c
13:33:20 <lambdabot> Text.PrettyPrint.HughesPJ OneLineMode :: Mode
13:33:20 <lambdabot> Text.Parsec.Char oneOf :: Stream s m Char => [Char] -> ParsecT s u m Char
13:36:12 <fizzie> > let progs = (`replicateM` "+-[].,") =<< [0..]; cake = filter (\x -> let count = (`elemIndices` x); ls = count '['; rs = count ']' in and (zipWith (<) ls rs) && ((==) `on` length) ls rs) progs; v d [] = d == 0; v d ('[':xs) = v (d+1) xs; v d (']':xs) = d > 0 && v (d-1) xs; v d (_:xs) = v d xs in elemIndex False $ zipWith (==) (filter (v 0) progs) cake
13:36:16 <lambdabot> mueval-core: Time limit exceeded
13:36:20 <fizzie> They seem to agree.
13:38:01 <CakeProphet> http://hpaste.org/51618
13:38:04 <CakeProphet> bam
13:38:05 -!- hagb4rd has quit (Ping timeout: 260 seconds).
13:38:08 <CakeProphet> now prettified.
13:43:01 -!- Phantom_Hoover has joined.
13:43:15 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
13:43:16 <CakeProphet> am I a bad person for using (`f` x) instead of flip f x?
13:45:15 <CakeProphet> @pl \ls rs -> and (zipWith (<) ls rs) && ((==) `on` length) ls rs
13:45:16 <lambdabot> ap (ap . (((&&) . and) .) . zipWith (<)) ((==) `on` length)
13:46:19 <CakeProphet> @pl \x -> and (zipWith (<) (elemIndices '[' x) (elemIndices ']' x)) && ((==) `on` length) (elemIndices '[' x) (elemIndices ']' x)
13:46:20 <lambdabot> ap ((&&) . and . ap (zipWith (<) . elemIndices '[') (elemIndices ']')) (ap (((==) `on` length) . elemIndices '[') (elemIndices ']'))
13:46:32 <CakeProphet> beautiful.
13:49:25 <nooga> what are you doing?
13:53:48 <Phantom_Hoover> http://www.reddit.com/r/math/comments/kmhjj/mind_blown_in_linear_algebra_class_today_when_the/
13:54:00 <Phantom_Hoover> Help this person really annoys me and I feel bad for it.
13:56:17 <fizzie> You are a bad person for being annoyed when other people are happy and excited.
13:57:15 <fizzie> Ut-oh, how do I cancel a topic edit in XChat?
13:57:23 <fizzie> I accidentally all over the topic textbox.
13:57:32 <fizzie> Why is that even a textbox in the first place?
13:57:46 <fizzie> (This is from another client.)
13:58:44 <fizzie> Hrm, restoring it to the original form and then clicking away at least didn't change the topic. But maybe it needs a CR anyway to happen. Who knows.
14:00:27 -!- Madoka-Kaname has quit (Ping timeout: 258 seconds).
14:01:42 <Gregor> fizzie: Only hitting enter will change the topic. If you type /topic in the normal input box, it'll refetch the original topic.
14:01:52 -!- boily has joined.
14:02:15 <fizzie> Good. I was *so scared*.
14:21:02 <Gregor> ... lolwut
14:26:05 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:27:07 -!- FireFly has joined.
14:54:12 -!- copumpkin has joined.
15:16:04 -!- Deewiant_ has quit (Ping timeout: 252 seconds).
15:16:51 -!- Deewiant has joined.
15:40:59 -!- Guest63383 has joined.
15:41:00 -!- Guest63383 has quit (Excess Flood).
15:44:58 -!- variable- has joined.
16:02:12 -!- pumpkin has joined.
16:03:55 -!- copumpkin has quit (Ping timeout: 260 seconds).
16:31:18 -!- augur has quit (Remote host closed the connection).
16:48:56 -!- CakeProphet has quit (Ping timeout: 252 seconds).
16:50:30 -!- pumpkin has changed nick to copumpkin.
16:52:53 -!- augur has joined.
16:57:50 -!- ais523 has joined.
17:05:30 -!- elliott has joined.
17:05:47 <elliott> helo
17:05:59 <ais523> ehlo
17:07:22 -!- elliott has quit (Read error: Connection reset by peer).
17:07:24 -!- elliott_ has joined.
17:17:14 <Vorpal> hm reading the last iwc annotation, it seems it is going to continue?
17:17:45 <Vorpal> not sure
17:25:12 -!- azaq23 has joined.
17:28:28 <elliott_> hmph, no respond to my issue after, like, A WHOLE DAY :p
17:28:34 <elliott_> s/:p/:P/
17:28:38 <Vorpal> elliott_: what issue?
17:30:21 <Vorpal> bbl
17:30:59 <elliott_> Vorpal: https://github.com/phonohawk/HsOpenSSL/issues/3
17:41:25 <Vorpal> back
17:42:07 <Vorpal> elliott_: template haskell uses bytecode interpreter? huh. Well, I guess it makes sense.
17:42:25 <Vorpal> elliott_: what are you using openssl bindings for?
17:42:28 <elliott_> Vorpal: Consider cross-compiling
17:42:47 <Vorpal> elliott_: true
17:42:50 <elliott_> And because iterIO depends on them; it'd be nice if that kind of auxiliary stuff was split up from the package but it isn't
17:43:11 <Vorpal> elliott_: and why are you using iterIO?
17:43:21 <elliott_> Iteratee-based IO is an alternative to lazy IO that offers better error handling, referential transparency, and convenient composition of protocol layers or parsers. This package provides iteratees based around pipe operators for hooking together application components and directing data flow. New users should see the tutorial in the Data.IterIO module documentation. Highlights of the library include:
17:43:21 <elliott_> Heavy emphasis on ease of use, ease of learning, and uniformity of mechanism.
17:43:21 <elliott_> Copious documentation.
17:43:21 <elliott_> Consistent EOF and error handling to avoid resource leaks and other issues in corner cases.
17:43:23 <elliott_> A set of iteratee parsing combinators providing LL(*) parsing while generally not consuming large amounts of memory for backtracking.
17:43:26 <elliott_> Seamless integration with attoparsec for LL(1) parsing.
17:43:28 <elliott_> See Data.IterIO for a discussion of the differences between iterIO and the two previous iteratee implementations (iteratee and enumerator).
17:43:36 <elliott_> Unless you know of a better iteratee package?
17:43:55 <elliott_> I don't want to write manual network code.
17:44:08 <Vorpal> hm, nice
17:44:26 <elliott_> If not iterIO I'd use enumerator, but I find iterIO easier to understand and more powerful
17:44:46 <Vorpal> elliott_: of course, real programmers would just poke the relevant registers on the NIC manually
17:44:57 <Vorpal> or get butterflies to do it
17:46:11 <elliott_> Vorpal: Well, I could just use standard handle-based IO, iteratees are probably slightly overkill, but I don't see why I should stop using them just because of a dependency issue
17:46:25 <Vorpal> fair enough
17:46:28 <elliott_> And it's not like they have much overhead in terms of code to using them so there's no harm done
17:46:54 <elliott_> It would be nice if I could make the packet reading/writing code work directly with iteratees rather than having to go through the cereal library
17:46:54 <elliott_> Not sure
17:47:02 <elliott_> That might be good for performance, I'll have to see
17:47:23 <Vorpal> elliott_: what are you doing networking for though?
17:47:27 <elliott_> Vorpal: mchost
17:47:33 <Vorpal> aha
17:48:41 <elliott_> Anyway, I'm trying to do things The Right Way, and iteratees are definitely The Right Way :-P
17:48:56 <Vorpal> right
17:49:48 <Vorpal> I like that compared to lisp of scheme, explicit recursion is a lot more rare in haskell.
17:49:52 <Vorpal> or*
17:50:05 <elliott_> Explicit recursion is rare in CL
17:50:07 <elliott_> They use LOOP
17:50:19 <Vorpal> elliott_: well yeah. But compared to scheme then
17:50:24 <Vorpal> and some lisp dialects
17:50:32 <elliott_> Well, nobody writes programs in scheme :D
17:50:32 <Vorpal> iirc it isn't all that uncommon in elisp
17:50:52 <Vorpal> elliott_: touche
17:51:45 <elliott_> Anyway, the iterIO maintainer fixed a bug I reported and released the new version to Hackage an hour after I emailed him about it, so I'm disinclined to switch to something else :)
17:51:59 <Vorpal> right
17:52:07 -!- copumpkin has changed nick to gribbles.
17:55:55 <elliott_> Also it lets me avoid Handles which is nice, since they have buffer support I don't need.
18:02:34 -!- Ngevd has joined.
18:02:52 <Ngevd> Hello
18:04:25 <Ngevd> S(S(SKK)(KS))(KK)
18:05:58 -!- gribbles has changed nick to copumpkin.
18:13:25 -!- Ngevd has quit (Ping timeout: 260 seconds).
18:34:00 -!- Ngevd has joined.
18:38:22 <Gregor> Ngevd: I am so glad that my idle comment has permanently changed your IRC identity.
18:38:34 <Ngevd> Yup
18:38:45 <Ngevd> Ngevd is easier to explain than Taneb
18:40:39 <ais523> what was the comment?
18:40:42 <ais523> I've been trying to figure out the new name
18:40:53 <ais523> at first I thought it was rot-13 or a variant, but it doesn't seem to be
18:41:00 <Ngevd> I almost had the additional middle name Elliott
18:41:08 <Ngevd> Which would make my initials NGEvD
18:41:20 <ais523> ah, initials
18:41:29 <ais523> and yet another elliott would be really confusing, there are already at least two
18:41:37 <elliott_> hello
18:41:46 <ais523> hi
18:41:50 <Ngevd> It's an old family name
18:41:52 <elliott_> <ais523> and yet another elliott would be really confusing, there are already at least two
18:42:00 <elliott_> ais523: I think everything about Taneb makes communication here more confusing
18:42:01 <Gregor> Ngevd is an old family name??? (lololol)
18:42:02 <ais523> that have been, in here
18:42:07 <Gregor> My old family name is Dodifer :P
18:42:25 <elliott_> "The esolanger who is aware of IWC's existence who is regularly in #esoteric and who lives in Hexham" was pretty ambiguous before he came along :P
18:42:30 <elliott_> s/ambiguous/unambiguous/
18:42:38 <ais523> wait, there are two Hexhamers in #esoteric?
18:42:43 <Ngevd> Me and elliott_
18:42:47 <Ngevd> And we have never me
18:42:48 <Gregor> (Six-sided hammers)
18:42:48 <Ngevd> t
18:42:53 <ais523> that's, umm, bizarre
18:42:58 <Ngevd> I know!
18:43:04 <ais523> given that Hexham is minor enough that elliott_ was surprised that I'd heard of it
18:43:10 <ais523> (and I hadn't done much more than hear of it)
18:43:14 <Ngevd> You've heard of it!?
18:43:19 <Gregor> It's surprising that they've never met given that the entire population of Hexham is six pigs and twelve farmers to maintain the six pigs.
18:43:27 <ais523> well, obviously; more surprising is that I'd heard of it before I'd met elliott_
18:44:03 <ais523> I've heard of lots of other places too, like Stourbridge and Halesowen
18:44:09 <Ngevd> Goodwife Hot
18:45:26 <elliott_> <ais523> wait, there are two Hexhamers in #esoteric?
18:45:34 <elliott_> ais523: Yes, this was as surprising to me as it was to you.
18:45:36 <elliott_> Also as surprising to Ngevd.
18:45:41 <elliott_> `pastelogs don't tell me you live in hexham
18:45:55 <ais523> I thought it was reasonably well-known that elliott_ lived in hexham
18:46:02 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22620
18:46:06 <ais523> so presumably it was Ngevd that noticed the issue first
18:46:13 <elliott_> Argh, wrong quote
18:46:14 <ais523> elliott_: that was useless!
18:46:16 <elliott_> `pastelogs hexham
18:46:20 <Ngevd> It was Phantom_Hoover who noticed the issue
18:46:20 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30798
18:46:49 <elliott_> gah, where is it
18:46:57 <Ngevd> July 15?
18:47:06 <ais523> 2008-03-14.txt:20:48:37: <Deewiant> google suggests hexham, england
18:47:10 <ais523> I wonder what that was about
18:47:23 <elliott_> wait
18:47:28 <elliott_> Gregor: http://codu.org/logs/_esoteric/
18:47:35 <elliott_> Where's months four to seven
18:47:53 <Gregor> elliott_: That is an excellent question.
18:47:53 <Deewiant> ais523: 2008-03-14 21:47:59( AnMaster) ehird, where are you from btw? (as in what country?)
18:48:00 <elliott_> I was wondering why `log was missing so much.
18:48:19 <elliott_> ais523: tl;dr Taneb mentioned he was from Northumberland, PH said "please don't tell me you live in Hexham", Taneb freaked out.
18:48:28 <elliott_> The next day, I heard about it, freaked out.
18:48:31 <ais523> Deewiant: ah, so elliott_ was a known hexham/just-next-to-hexham resident before the codu logs started
18:48:35 <elliott_> Henceforth we have vowed to never cross paths ever.
18:48:44 <elliott_> ais523: codu logs contain all clog logs
18:48:47 <elliott_> So no
18:49:26 <ais523> what about cmeme logs? or have they vanished?
18:49:40 <elliott_> I think so.
18:49:44 <ais523> also, you two will probably meet each other by chance, but not recognise each other
18:49:46 <ais523> and may already have done so
18:50:00 <Ngevd> Almost certainly
18:50:13 <Ngevd> I'm well known in Ponteland of all places
18:50:24 <Ngevd> I've never actually been outside of a car in Ponteland
18:50:27 <ais523> one of you should wear a hat with a stellated icosahedron on
18:50:47 <Ngevd> I sometimes where a John Egbert shirt in Hexham
18:50:57 <Ngevd> That is, in the middle of Hexham
18:51:01 <elliott_> famous in ponteland
18:51:11 <elliott_> the greatest achievement anyone has ever achieved
18:51:17 <Ngevd> Long story which I have already told
18:52:08 <elliott_> Gregor: Well? :P
18:55:07 <Gregor> elliott_: Latest regen of logs to fix the quit bug did weird things. Fixing more bugs :P
18:55:12 -!- augur has quit (Remote host closed the connection).
18:55:16 <cheater> http://en.wikipedia.org/wiki/Ponteland
18:55:17 <Gregor> i.e. gimme a sec
18:55:24 <cheater> come to think of it they recorded this on wikipedia
18:55:45 <cheater> next thing they'll start giving names and wikipedia articles to distinctive dog piles
18:58:33 <Ngevd> next thing they'll start giving names piles and distinctive articles to wikipedia dog
18:59:33 -!- Ngevd has quit (Quit: what a big quitter he is, eh?).
19:01:00 <cheater> quitter
19:10:09 -!- augur has joined.
19:23:32 <Phantom_Hoover> <Ngevd> It was Phantom_Hoover who noticed the issue
19:23:33 <Phantom_Hoover> Dude
19:23:40 <Phantom_Hoover> I didn't notice it.
19:23:46 <Phantom_Hoover> I intuited it with telepathyy.
19:23:57 <Phantom_Hoover> (It's like telepathy, but better.)
19:30:04 <Gregor> elliott_: Bug found, fixing.
19:31:21 -!- elliott has joined.
19:31:37 -!- elliott_ has quit (Read error: Connection reset by peer).
19:31:39 <elliott> -NickServ- Last failed attempt from: Elliott!3lli0tt@cpc1-woki6-2-0-cust904.6-2.cable.virginmedia.com on Sep 21 18:35:20 2011.
19:31:45 <elliott> Somebody needs to teach this fucker a lesson.
19:31:47 <elliott> This is like the third time.
19:32:04 <elliott> fizzie: Vorpal: Is there a way to go from that to their current nick?
19:32:29 <Vorpal> elliott: not that I know of.
19:32:39 <elliott> Lame. How am I going to yell at him now?
19:33:10 <Vorpal> elliott: I had a similar issue once, but then the ident proved to help me find him/her. Turned out to be a misconfigured pidgin client trying to id as for another network.
19:33:23 <olsner> if it's an actual attempt at stealing your account, maybe freenode's operators can find him for you
19:33:32 <elliott> olsner: I suspect it's simply: someone else called elliott.
19:33:37 <elliott> Especially considering the uppercase E.
19:33:47 <elliott> Also, freenode don't give a fuck about account owners, or they wouldn't drop nicks after like three days of no use.
19:33:51 <elliott> (FSVO three days.)
19:34:15 <olsner> hmm, right
19:34:57 <Gregor> elliott: To answer your previous question, there has never been any missing days in the log, and you're crazy for thinking there had been.
19:34:58 <Vorpal> elliott: not 3 days iirc?
19:35:02 <Vorpal> more like a week or two?
19:35:11 <elliott> `pastelogs don't tell me you live in hexham
19:35:20 <elliott> Vorpal: It's something like thirty to sixty days, I forget exactly, but it's ridiculous.
19:35:24 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.7949
19:35:27 <olsner> `log hexham
19:35:32 <HackEgo> 2011-09-21.txt:18:45:26: <elliott_> <ais523> wait, there are two Hexhamers in #esoteric?
19:35:37 <elliott> Gregor: And that's why there are no more lines in that pastelogs :P
19:35:38 <Vorpal> elliott: it seems to drop after extended inactivity
19:35:45 <elliott> Vorpal: No, it's not automatic.
19:36:00 <Vorpal> elliott: oh right, many other networks do automatic dropping
19:36:02 <ais523> `pastelogs hexham
19:36:02 <elliott> Someone has to go into #freenode and say "give me this nick" and they'll do it immediately if it hasn't been logged into for something like a month or two.
19:36:07 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.11100
19:36:09 <elliott> It should be much longer than that.
19:36:18 <Vorpal> elliott: most networks actually do it automatic.
19:36:20 <olsner> oh, HEXHAMers, now I finally managed to parse that word
19:36:20 <ais523> elliott: they don't seem to have a fixed time, it depends on other things
19:36:24 <Phantom_Hoover> <elliott> -NickServ- Last failed attempt from: Elliott!3lli0tt@cpc1-woki6-2-0-cust904.6-2.cable.virginmedia.com on Sep 21 18:35:20 2011.
19:36:29 <elliott> Vorpal: Isn't freenode's whole idea to be unlike "most networks"
19:36:32 <Phantom_Hoover> Is that a Hexham address?
19:36:34 <elliott> Most networks are terrible
19:36:37 <elliott> Phantom_Hoover: I hope so.
19:36:50 <Gregor> elliott: As near as I can tell, that is in fact the only line that matches exactly "don't tell me you live in hexham"
19:36:52 <Vorpal> elliott: hm maybe.
19:36:53 <olsner> I tried to make it into hex-hammers but it was not spelled the right way for that to work
19:36:55 <elliott> ais523: They do, but they claim to be slightly more wary if it's just reached that time.
19:37:06 <elliott> ais523: I'm fairly sure that's lies though, I've got about ten nicks dropped no questions asked.
19:37:07 <Gregor> `pastelogs don't tell me you live in hexham
19:37:12 <elliott> Gregor: http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.7949
19:37:16 <elliott> 2011-07-16.txt:16:01:00: <Phantom_Hoover> Please don't tell me you live in Hexham.
19:37:21 <elliott> That was missing previously.
19:37:30 <elliott> `pastelogs really makes me hate being alive
19:37:30 <Gregor> Oh; yeah, that's there now :P
19:37:33 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17403
19:37:34 <elliott> I bet this'll get us 345 back.
19:37:37 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19220
19:37:42 <elliott> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19220
19:37:43 <elliott> Yep.
19:37:48 <elliott> `logurl 2011-04-03.txt:19:48:31:
19:37:50 <HackEgo> http://codu.org/logs/log/_esoteric/2011-04-03
19:37:56 <Gregor> Apparently when you have a random bug that causes certain quits to conclude that no lines belong to any channel, it's easy to scrub whole giant swaths of history.
19:38:05 <elliott> Nice. Very nice.
19:38:06 <ais523> elliott: they claim to be more wary on dropping someone's only alternate nick
19:38:14 <Vorpal> Gregor: XD
19:38:23 <Vorpal> Gregor: quits on what form?
19:38:26 <elliott> 14:38:28: <elliott> 21:54:38 <catseye> HAAAAAAAAAAAAAAAAAAAAAAAAAAAA
19:38:26 <elliott> 14:38:28: <elliott> 21:54:48 <catseye> i had OS/2 Warp once.
19:38:26 <elliott> 14:38:28: <elliott> 21:55:02 <catseye> i had all those fucking floppies
19:38:26 <elliott> 14:38:28: <elliott> 21:55:04 <catseye> it never worked.
19:38:26 <elliott> 14:38:28: <elliott> some people are just poets
19:38:27 <elliott> Would like to reaffirm this as best poem.
19:38:33 <Gregor> Vorpal: I'm not rightly sure *shrugs*
19:38:39 <Vorpal> Gregor: ah.
19:38:46 <elliott> ais523: That's never happened to me. I don't remember how long elliott had been unused when I got it dropped, but it wasn't long.
19:38:51 <elliott> I feel no guilt because it was stolen from me in the first place :P
19:38:58 <olsner> elliott: I don't see the poetry
19:39:01 * Vorpal has quit (' -- DROP TABLE logs)
19:39:14 <Vorpal> (well, not quite)
19:39:16 <elliott> olsner: You're not looking hard enough.
19:39:21 <elliott> Try saying the lines aloud, as poetry.
19:39:26 * Vorpal has quit ('; DROP TABLE logs; --)
19:39:27 <Vorpal> there
19:39:54 <elliott> 14:54:26: <elliott> 11:14:27 <cpressey> There's a squirrel that lives near my building that I see every so often. I can recognize it's the same squirrel because it has no tail. It is a constant reminder that, visually speaking anyway, squirrels are approximately 50% tail.
19:39:55 <elliott> I think I was just doing a best-of-cpressey day :P
19:39:59 <ais523> elliott: it does look like a poem to me, just not a very good one
19:40:12 <elliott> ais523: How can a complete summary of computing be a bad poem?
19:40:17 <ais523> what color are the squirrels in the US?
19:40:25 <ais523> unto;
19:40:26 <olsner> the one with the squirrel is nice
19:40:42 <Vorpal> ais523: hm... Grey iirc?
19:40:53 <Vorpal> and brown in EU right?
19:40:53 <ais523> Vorpal: I'd prefer a reply from an American
19:40:57 <olsner> the most squirrelly color of them all, squirrel-colored
19:40:59 <ais523> no, that's all wrong
19:41:04 <Phantom_Hoover> 2011-09-21.txt:18:48:19: <elliott_> ais523: tl;dr Taneb mentioned he was from Northumberland, PH said "please don't tell me you live in Hexham", Taneb freaked out.
19:41:09 <ais523> they're most commonly grey in the UK, although there are a few red ones left in scotland
19:41:09 <Phantom_Hoover> Also not quite accurate.
19:41:22 <Phantom_Hoover> He was complaining about the rain and then I said that.
19:41:44 <olsner> taneb is from hexham?
19:41:47 <Vorpal> ais523: well yeah, the grey US ones are taking over in UK iirc. Think I saw a BBC produced program about that some years ago.
19:41:53 <ais523> there are no other esolangers in Birmingham, right?
19:41:59 <elliott> Phantom_Hoover: He definitely said Northumberland before that.
19:42:01 <elliott> But okay.
19:42:03 <Vorpal> maybe one of the idlers
19:42:06 <Phantom_Hoover> ais523, Hexham seems to be the only one.
19:42:14 <cheater> ais523: squirrels are very popular in london, they pretty much do not exist in germany
19:42:29 <ais523> *populous?
19:42:31 <Phantom_Hoover> elliott, sure, and that raised my suspicion, but a day before I asked him if he was in Hexham.
19:42:34 <ais523> or was that literally correct?
19:42:43 <elliott> Phantom_Hoover: Fiiiiiiiine.
19:42:43 <Vorpal> I seen them in Sweden. Not very common here. Been a year or so since I last saw one
19:42:46 <fizzie> I'm tempred to say "Taneb is from Heham?!" too, we haven't had enough shock yet.
19:42:48 <ais523> elliott hasn't always been in Hexham, at least
19:42:52 <elliott> fizzie: Tempred?
19:42:59 <fizzie> Tempted.
19:43:01 <Phantom_Hoover> Vorpal, can we please have a talk about the pluperfect.
19:43:03 <elliott> Tempred.
19:43:10 <Phantom_Hoover> Do you not have them in Swedish or?
19:43:16 <elliott> Phantom_Hoover: It's been years, he will never learn.
19:43:24 <elliott> At least he's mostly worked out his "has/have/had"s by this point.
19:43:25 <cheater> popular, because they are put there by the city. squirrels don't thrive on their own, they're not rats.
19:44:15 <Vorpal> speaking of animals, I got a bit of a scare today. I was driving up a highway exit today. A very curved one with poor visibility. Then I suddely saw two deer in the ditch on the side of the road. Thankfully not trying to cross the road.
19:44:28 <ais523> there was a squirrel living in the roof of the library at school
19:44:35 <ais523> it used to bask inside the flourescent lights
19:44:44 <Vorpal> I'm unsure if I would have been able to brake given the visibility there.
19:44:47 <cheater> lol
19:44:53 <elliott> rip deer
19:44:58 <cheater> the fluorescent squirrel
19:44:59 <cheater> nice
19:45:04 <Vorpal> <Phantom_Hoover> Vorpal, can we please have a talk about the pluperfect. <-- the what?
19:45:09 <elliott> Vorpal: Exactly.
19:45:17 <Phantom_Hoover> Vorpal, saw/seen.
19:45:19 <ais523> the porter (basically like a groundsman for the inside of a building) used to catch it every now and then, apparently using a trap baited with Bounty bars (which it really liked), and release it in the nearby woods
19:45:24 <Vorpal> oh past perfect
19:45:25 <ais523> but it always seemed to find its way back
19:45:25 <Vorpal> right
19:45:41 <olsner> Phantom_Hoover: that's not pluperfect
19:45:44 <ais523> it's surprisingly how quickly you get used to a squirrel running around inside the ceiling cavity
19:45:51 <Vorpal> Phantom_Hoover: I simply dropped the "have" there somehow
19:46:00 <Vorpal> Phantom_Hoover: yes, we have them, we call them pluskvamperfekt
19:46:03 <Phantom_Hoover> olsner, how not?
19:46:11 <cheater> ais523: surprisingly... surprising?
19:46:14 <ais523> pluperfect is "had verbed"
19:46:18 <ais523> cheater: err, rihgt
19:46:21 <ais523> *right
19:46:25 <cheater> rite
19:46:38 <Phantom_Hoover> Oh dear now I'm confused as well.
19:46:46 <Vorpal> Phantom_Hoover: anyway it was a simple typo of dropping a word.
19:46:51 <Vorpal> what's so bad about that?
19:46:51 <cheater> fnern
19:46:59 <Phantom_Hoover> Vorpal, that's not what 'typo' means but whatever.
19:47:19 <Vorpal> Phantom_Hoover: I meant to write "I have seen them"
19:47:48 <olsner> Phantom_Hoover: hmm, "had seen" is pluperfect, and I guess that's what you meant when you wrote just "seen" ... "saw" is definitely not pluperfect though
19:47:52 <cheater> typo is short for typographical error
19:48:03 <cheater> dropping a word is certainly an error in typography
19:48:13 <Phantom_Hoover> Yeah, except 'have seen', which is what Vorpal meant, is just perfect.
19:48:22 <elliott> <cheater> What is descriptivism? Etymology is literally meaning.
19:48:51 <cheater> elliott: leave me alone
19:49:00 <fizzie> Phantom_Hoover: They have both "have fooed" and "had fooed" forms, and even the auxiliary verb is very similar to English; 'har' + 'hade' vs. 'have' + 'had'.
19:49:35 <elliott> cheater: If I only made fun of everyone else's stupid remarks and not yours too, that would be discrimination.
19:49:57 <cheater> elliott: leave me alone
19:50:15 <elliott> Are you really trying the "I'M A VICTIM OF THE AWFUL ELLIOTT MONSTER" tack?
19:50:36 <Vorpal> elliott: cheater: why don't you two just /ignore each other?
19:51:18 <olsner> that would leave cheater unfairly unridiculed compared to the rest of us
19:51:43 <Phantom_Hoover> Vorpal, because elliott finds it fun and cheater craves attention.
19:51:56 <elliott> Vorpal: cheater won't /ignore me because he wouldn't be able to claim I'm stalking him around to make fun of him, I won't /ignore him since nobody else wants to deal with him just to point out his crap.
19:52:08 <Vorpal> Phantom_Hoover: Good points.
19:52:29 <Vorpal> elliott: I tend to ignore him, but he change nick every so often.
19:52:41 <elliott> Vorpal: So do most people.
19:52:45 <elliott> Well, FSVO most.
19:52:47 <elliott> But a fair number.
19:52:57 <Vorpal> yeah
19:53:00 <Phantom_Hoover> Vorpal, yes, sometimes he even adds numbers to the end of his nick WHAT IGNORE SYSTEM COULD COPE
19:53:41 <cheater> a true conundrum
19:53:42 <Vorpal> Phantom_Hoover: problem is, I know I different cheater on a different network who is okayish. I tried ignoring on nick* + isp but that changed too a few times.
19:54:05 <fizzie> Anyway! Quite a lot of squirrels in Finland, at least in some regions. I see them on the route to work/back once a week, and last year there was one practically every morning in one location.
19:54:18 <Vorpal> heh
19:54:21 <Phantom_Hoover> fizzie, it may be too late.
19:54:22 <cheater> i am surprised squirrels don't just freeze over there
19:54:34 <Phantom_Hoover> THE SQUIRRELS ARE MUSTERING THEIR STRENGTH
19:54:49 <elliott> Vorpal: Tell the other cheater to /nick personwhoplaysbytherules.
19:54:53 <fizzie> They do change color in winter.
19:55:07 <elliott> Also, does your client not do per-network ignores? Mine doesn't, but actually I'm not sure why.
19:55:08 <elliott> That would be a useful feature.
19:55:48 <Vorpal> elliott: XD
19:55:59 <Vorpal> <elliott> Also, does your client not do per-network ignores? Mine doesn't, but actually I'm not sure why. <-- nope, that would be useful.
19:56:18 <fizzie> You don't see them around that much in the middle of the winter though.
19:56:20 <Vorpal> elliott: anyway I'm planning on writing my own irc client
19:56:30 <elliott> Vorpal: You were planning that months ago.
19:56:36 <elliott> It's not exactly hard. :p
19:56:41 <olsner> Vorpal: heh, that sounded a bit like "Of course it doesn't! That would be useful."
19:56:44 <Vorpal> elliott: I learned project management from you
19:56:46 <Vorpal> :(
19:56:57 <fizzie> Irssi does per-network ignores.
19:57:00 <Phantom_Hoover> Vorpal, you should learn it from me.
19:57:01 <Vorpal> olsner: what did? my reply?
19:57:08 <Vorpal> XD
19:57:13 <olsner> yes, the one about it not doing per-network ignores
19:57:15 <Vorpal> Phantom_Hoover: no that would be even worse
19:57:20 <elliott> Vorpal: You mean the guy who wrote a compliant Funge interpreter in three days and who wrote something that could fully parse huge Minecraft dumps within three days?
19:57:29 <elliott> (OK, OK, exception that proves the rule.)
19:57:32 <Phantom_Hoover> Vorpal, what do you mean 'worse'.
19:57:40 <Vorpal> fizzie: I tried irssi, never really liked it. It gets annoying to remember that /w 82 is #minecraft or whatever
19:57:55 <elliott> I suggest not being a member of any channels named #minecraft, they're all awful.
19:58:07 <Vorpal> Phantom_Hoover: would never get anywhere
19:58:07 <ais523> we should find a network that doesn't have a #minecraft yet
19:58:14 <ais523> and create a channel dedicated to something better there
19:58:14 <fizzie> Vorpal: There are scripts to help dealing with that, but sure, it's not very optimal.
19:58:20 <elliott> I bet OFTC doesn't, but I bet they'd also not allow one.
19:58:31 <ais523> what's OFTC?
19:58:34 <Phantom_Hoover> They have an Oolite one.
19:58:40 <Vorpal> elliott: it is actually a minecraft server channel for that server. Like our MC channel, but for that network. A much smaller network than freenode. So it works.
19:58:56 <elliott> ais523: Software in the Public Interest's official IRC network;
19:59:01 <fizzie> In fact, don't een be on any channels that have "minecraft" as substring, it's safer that way.
19:59:07 <elliott> ais523: so by proxy Debian's, OpenOffice's, Arch Linux's, OpenWrt's, ...
19:59:13 <Vorpal> only reason I'm on OFTC is #llvm
19:59:15 <elliott> , PostgreSQL's, ...
19:59:23 <Phantom_Hoover> <Vorpal> Phantom_Hoover: would never get anywhere
19:59:27 <Vorpal> elliott: wait, you mean #archlinux on here is not official?
19:59:39 <elliott> Vorpal: Well, I guess you can be a member of SPI without using OFTC.
19:59:45 <Phantom_Hoover> nonononono, you get to thing about how awesome the thing will be and then go on to thinking about how awesome something else will be it is the best.
19:59:45 <elliott> And nothing stops people having multiple official channels.
19:59:48 <Vorpal> elliott: SPI?
19:59:54 <elliott> Vorpal: Software in the Public Interest. Keep up.
20:00:00 <Vorpal> elliott: I never heard of it
20:00:24 <Vorpal> Phantom_Hoover: doesn't help me meet deadlines
20:00:31 <elliott> OFTC have their own ircd for some reason.
20:00:38 <Vorpal> hm
20:00:52 <elliott> Anyway, I guess it's likely that Debian are the main users of OFTC. :p
20:00:55 <Vorpal> elliott: really? I thought it was just a patched ratbox or some such
20:00:59 <elliott> But a fair number of software projects have their channels there.
20:01:04 <elliott> Vorpal: Well, it's "oftc-hybrid".
20:01:09 <elliott> Most IRCs are derivatives of other IRCs.
20:01:10 <elliott> erm
20:01:11 <elliott> ircd
20:01:11 <elliott> s
20:01:13 <Vorpal> yeah
20:01:30 <ais523> elliott: hmm, somehow I expected that lot to all be on Freenode
20:01:32 <Vorpal> elliott: anyway freenode have their own too. A patched charybdis
20:01:54 <Vorpal> elliott: the only major recent ircd that is not a fork of something else that I can think of is inspircd.
20:02:12 <elliott> ais523: Debian were on freenode, then jumped ship to OFTC.
20:02:13 <Vorpal> and the only two good major ircds I know of are inspircd and charybdis.
20:02:22 <elliott> Vorpal: ngircd isn't a derivative of anything
20:02:28 <Vorpal> oh right
20:02:33 <Vorpal> elliott: who uses it though?
20:02:45 <elliott> Vorpal: Who uses inspircd?
20:02:51 <elliott> ais523: Basically OFTC is the result of freenode being incompetent and awful. :p
20:03:04 <Vorpal> oftc is worse if anything
20:03:11 <elliott> It is?
20:03:21 <elliott> I haven't heard of any troubles with them, but I haven't been on much.
20:03:23 <Phantom_Hoover> elliott, wait what do FreeNode do.
20:03:36 <elliott> Phantom_Hoover: s/FreeNode/freenode/, and what do you mean what do they do? They run an IRC network.
20:03:58 <Vorpal> elliott: yeah getting a cloak for your host seemed utterly complex, and was only given when you could show you had a good reason to need one or some such shit
20:04:22 <elliott> Vorpal: That doesn't mean that they're worse, it just means that they're more conservative, which is kind of the point.
20:04:24 <Vorpal> I would be okay with normal cloak like freenode, or the network scrambling the host name
20:04:30 <Phantom_Hoover> elliott, yes but what are they bad about.
20:04:55 <elliott> Phantom_Hoover: They're not exactly very professional, and their policies are pretty bad.
20:05:09 <elliott> I think the staffers are not well-liked by a lot of people, but I don't really keep track of this stuff.
20:05:30 <Phantom_Hoover> Is the botpocalypse an example of this.
20:05:37 <Vorpal> elliott: iirc some of the worst people got booted from the staff. Still a few bad ones left. But I don't really keep up with that either.
20:05:41 <elliott> Phantom_Hoover: I would say so :P
20:05:55 <Vorpal> I know someone who does, so I get to hear some of it that way, of course that is biased.
20:06:22 <Vorpal> Phantom_Hoover: hm?
20:06:36 <elliott> Vorpal: The CTCP thing.
20:06:39 <Vorpal> oh right
20:06:43 <Gregor> "The Zune HD web browser scores 5/100 in the Acid3 test." X-D
20:06:44 <Vorpal> yeah that is stupid .
20:06:51 <elliott> A certain person who we don't know who it is at _all_ complained, then Plazma, etc.
20:06:56 <Vorpal> Gregor: ouch
20:07:06 <pikhq_> Gregor: Quite "impressive" considering in-development IE gets 100/100.
20:07:20 <Vorpal> Gregor: that is fucking terrible. Considering even IE6 got more iirc.
20:07:37 <Gregor> Vorpal: The Zune's browser is uniquely bad. You have to use it to believe it.
20:07:48 * pikhq_ would be willing to bet on a port of IE5
20:07:49 <elliott> s/'s browser//
20:07:49 <Vorpal> firefox 6 gets 100/100 of course
20:07:57 <Vorpal> pikhq_: but why
20:07:59 <Gregor> pikhq_: I have discovered that the greatest thing about the Zune is that it has legitimate fanboys who I can troll endlessly since they're fans of literally the worst media player ever made.
20:08:17 <pikhq_> Vorpal: IE5 is the most portable IE.
20:08:18 <Phantom_Hoover> Gregor, wasn't Tycho a fan?
20:08:28 <Vorpal> pikhq_: eh, it still requires windows doesn't it?
20:08:29 <Gregor> Phantom_Hoover: Mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmrrrrp?
20:08:31 <pikhq_> Vorpal: It actually ran on not-Windows!
20:08:37 <Vorpal> pikhq_: oh right, mac os
20:08:39 <Vorpal> indeed
20:08:47 <pikhq_> Vorpal: It was offered for Windows, Solaris, and HP-UX.
20:08:58 <Vorpal> pikhq_: and iirc mac os classic
20:08:58 <pikhq_> IE for Mac was a completely different product that shared the brand name.
20:09:02 <Vorpal> ah right
20:09:15 <pikhq_> IE for UNIX was a direct port.
20:09:30 <Vorpal> pikhq_: IE for mac was quite weird. Of course it shared the "moving mouse pointer = slower download" issue of all classic mac os
20:09:43 <Vorpal> that was more due to the OS
20:09:48 <Gregor> Anyway, the Zune, with Liberate (to get rid of their shitty UI and reintroduce a shittier one but with better app compatibility) and an FTP server is approaching a tolerable device.
20:10:10 <Gregor> Though the lack of hardware volume buttons is seriously the worst offense any media player could commit.
20:10:11 <pikhq_> Yeah, the design of classic Mac OS was pretty ridiculous.
20:10:46 <pikhq_> It made plenty of sense on the first few Mac models.
20:10:50 <Vorpal> yes
20:10:57 <Vorpal> pikhq_: I used Mac OS 9
20:11:00 <pikhq_> And got to be utterly ridiculous when running on PowerPCs.
20:11:21 <Vorpal> yes
20:11:59 <pikhq_> Shame they didn't switch to A/UX in the late 80s, though.
20:12:36 <Vorpal> yeah
20:12:54 <elliott> Gregor: How do you adjust the volume on a Shuffle, I wonder
20:13:21 <Gregor> elliott: Hardware
20:13:34 <olsner> using the volume control, perhaps
20:13:35 <elliott> Gregor: Hmm, it has volume buttons?
20:13:40 <Gregor> Yes
20:13:44 <elliott> Gregor: And one other button, right?
20:13:51 <elliott> olsner: The Shuffle has ~no controls.
20:13:56 <Gregor> The new ones have five I think ...
20:14:05 <elliott> I'm talking about the ones that are basically headphones.
20:14:10 <pikhq_> elliott: Some had hardware buttons, some had buttons *on the fucking headphones*.
20:14:13 <Gregor> The shuffle has always had controls, just no screen.
20:14:13 <elliott> Oh right those new ones.
20:14:16 <elliott> No I mean the ones before that.
20:14:28 <pikhq_> Before that, they had hardware volume buttons.
20:14:34 <Gregor> There has never been a shuffle with no controls whatsoever, just (like pikhq_ said) they've been in stupid places.
20:14:50 <elliott> "It also no longer had volume or track controls on the device itself. Instead, the packaged iPod earbuds included a three-button device on the right earbud cord."
20:14:52 <pikhq_> There was nothing intervening. Went from buttons on the device to buttons on the fucking headphones, the right dicks.
20:14:56 <elliott> So lame, it should have a one-button device.
20:15:03 <elliott> One button goes to the next option, sitting for enough time on one option selects it.
20:15:08 <elliott> And a "do nothing" option in each menu.
20:15:18 <elliott> It would be SO USELESS.
20:15:37 <Gregor> Anyway, point being, even when Apple went "lol NO SCREEN", they STILL put hardware volume, because OF COURSE YOU PUT HARDWARE VOLUME CONTROLS.
20:15:39 <pikhq_> It's already pretty dang useless.
20:16:03 <pikhq_> I want to play random music approx. never.
20:16:43 <Gregor> They should make a CloudShuffle that just plays completely random garbage from iTunes via Verizon 3G :P
20:16:47 <elliott> pikhq_: You might not, but 99 percent of iPod user s do.
20:16:49 <Gregor> With no controls (EXCEPT VOLUME)
20:16:50 <elliott> s/user s/users/
20:17:04 <elliott> Gregor: It should just tune into random radio frequencies.
20:17:09 <elliott> For three minutes at a time.
20:17:15 <Gregor> elliott: Not terrible enough.
20:17:17 <pikhq_> elliott: Yeah, fuck that shit.
20:17:32 <elliott> Gregor: How do you propose to make it more terrible
20:17:39 <Gregor> elliott: CloudShuffle :P
20:17:48 <Gregor> Except, only select songs that are in the, say, 25 most popular on iTunes.
20:18:06 <Gregor> So it's repetitive, horrible, and there's not a damned thing you can do about it.
20:18:10 <elliott> Gregor: Dude, that still plays music (please give your idiotic jokes that "DATS NOT MUSIC" to /dev/null).
20:18:13 <elliott> This would just play static.
20:18:16 <elliott> Different static. Every three minutes.
20:18:20 <Gregor> Ohhhhhhhhhhhhhhhhhhhh
20:18:23 <elliott> The chances of hitting on a real radio are approximately 0 :P
20:18:26 <elliott> s/radio/radio station/
20:18:29 <Gregor> I thought you implied that it actually seeked :P
20:18:35 <elliott> Fuck no, it just picks a random frequency.
20:18:36 <Gregor> Not just completely random frequencies, but random /stations/ :P
20:18:37 <pikhq_> 25 most popular on itunes.co.jp will make it even more repetitive.
20:18:38 <elliott> And seeks to it.
20:18:57 <elliott> So you go "please stop here, please stop here" when it briefly passes over a real station on the path to Radio Bzzzzzzt.
20:19:11 <Phantom_Hoover> elliott, dude, radio frequencies are wide enough that you'd get real stations often enough.
20:19:24 <elliott> Phantom_Hoover: You're implying that it only picks from frequencies actually used for radio.
20:19:39 <elliott> Here's a list of frequencies that could, theoretically, be used to transfer sounds of some sort: Every frequency.
20:19:54 <quintopia> but gamma is VERY EXPENSIVE
20:19:58 <Phantom_Hoover> elliott, except receiving almost all of those is impossible.
20:20:01 <quintopia> requires atomic power
20:20:13 -!- sllide has joined.
20:20:15 <elliott> Phantom_Hoover: If it picks a station it can't receive, it just kills the user.
20:20:16 <Gregor> Also, bringing a RFShuffle on a plane is illegal :P
20:20:43 <pikhq_> elliott: That would be totally awesome if it picks up ELF band.
20:20:57 <elliott> You might even get some whalesong!
20:21:09 <elliott> quintopia: It comes with its own nuclear power station.
20:21:11 <elliott> Attached to the device
20:21:12 <elliott> .
20:21:23 <elliott> Apple: "The smallest media player, ever."
20:21:30 <elliott> Fuck You Industries: "It's so big. So big. You don't even know. So big."
20:22:07 <pikhq_> The US runs a radio station on 76 Hz.
20:22:30 <Gregor> Idonno, I still feel like the CloudShuffle is the superior device.
20:22:36 <elliott> pikhq_: Wow, what?
20:22:45 <ais523> pikhq_: how long would an antenna need to be to pick that up with any reasonable amount of gain?
20:22:56 <elliott> Gregor: The problem is that it'd actually be not entirely terrible sometimes :P
20:23:02 <elliott> I mean, people, in general, don't mind pop music.
20:23:07 <Gregor> elliott: But that's the draw!
20:23:08 <pikhq_> elliott: It exists to provide one-way transmission to submarines world-wide.
20:23:09 <ais523> in the millilightsecond range, I think
20:23:23 <Gregor> Even with shiny Appleness, the RFShuffle would never sell a single unit :P
20:23:31 <Gregor> People would actually be stupid enough to buy CloudShuffle.
20:23:40 <elliott> Gregor: Well, yeah, I'm telling you to stop being holier-than-thou on IRC and to go sell this thing :P
20:23:59 <Gregor> But ... but I am holier than thou :(
20:24:34 <pikhq_> ais523: I'm not entirely sure how big the receiving antennas are. The broadcasting site is a few square miles, though.
20:24:46 <elliott> Gregor: Actually the "internet streaming-based shuffley device" idea is a really good one.
20:24:56 <elliott> Gregor: Residential connections will be fast enough to act as servers for that soon enough.
20:24:57 <Gregor> Noooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo D-8
20:25:15 <pikhq_> Russia also has a station on 82 Hz.
20:25:19 <elliott> Gregor: It sure beats syncing a shitload of FLACs to a device that doesn't have nearly enough space to store all of them.
20:25:31 <pikhq_> Aaaah, cold war.
20:26:36 <Vorpal> pikhq_: yes, except didn't they shut them down since then iirc?
20:26:51 <pikhq_> Vorpal: What, and risk losing funding?
20:27:06 <Vorpal> pikhq_: in Russia though?
20:27:22 <pikhq_> Okay, Russia probably did, because the fall of the USSR was pretty... Harsh.
20:27:33 <Vorpal> pikhq_: that is an understatement
20:27:56 <pikhq_> On the other hand, I'd imagine it wouldn't take too much to run once it's already set up.
20:28:12 <pikhq_> Most of your cost is going to be laying out miles and miles of antenna.
20:28:28 <elliott> What's the highest frequency anyone does radio on :P
20:28:39 <Vorpal> pikhq_: given the length of the antenna wouldn't the resistance in the antenna be a rather significant problem?
20:29:11 <Vorpal> and anyway, if it is worldwide the current usage will be huge anyway
20:29:33 <pikhq_> Oh, huh. Technically, they're not using antennas for that.
20:29:40 <Vorpal> pikhq_: oh?
20:29:45 <pikhq_> They're running leads into the earth to use the *planet* as an antenna.
20:29:47 <elliott> Don't they have a facility that uses the Earth itself as an antenna.
20:29:50 <elliott> Ha, snap.
20:29:51 <Vorpal> pikhq_: awesome
20:30:03 <elliott> http://upload.wikimedia.org/wikipedia/commons/3/3d/Clam_Lake_ELF.jpg
20:30:12 <elliott> Lake Elf.
20:30:15 <pikhq_> Yup.
20:30:28 <Vorpal> pikhq_: that is sure going to require a HUGE current to work?
20:30:31 <Vorpal> surely*
20:30:44 <pikhq_> Yeaaah.
20:30:57 <Vorpal> is it safe?
20:31:20 <pikhq_> Well, there's no *known* health risks, at least.
20:31:44 -!- monqy has joined.
20:31:45 <pikhq_> It probably would be, because there is no way a 76 Hz wave is going to ionise.
20:33:27 <pikhq_> elliott: Anyways, seems the highest radio frequency used for data is somewhere around 90 GHz.
20:33:36 <elliott> Pssht, I have CPUs faster than that.
20:33:40 <Vorpal> pikhq_: hm true
20:33:51 <pikhq_> And there's an permitted-unlicensed band at 60 GHz.
20:33:56 <pikhq_> s/an/a/
20:34:27 <Vorpal> pikhq_: whoa. 90 GHz? Where is that in relation to visible light?
20:34:30 <Vorpal> still way below?
20:34:48 <pikhq_> Vorpal: Visible light starts at 405 THz.
20:34:52 <Vorpal> oh right
20:34:55 <elliott> A radio station that broadcasted on the light spectrum would be THE COOLEST.
20:35:08 <Vorpal> elliott: well there is data communcation using
20:35:11 <Vorpal> using infrared*
20:35:24 <Vorpal> so, technically that is way over 90 GHz
20:35:31 <Vorpal> of course it is not exactly radio
20:35:50 <Vorpal> pikhq_: where does infrared start?
20:36:10 <elliott> Vorpal: Sorry but I cannot see infrared with my eyes.
20:36:22 <Vorpal> pikhq_: oh and:
20:36:24 <Vorpal> The US maintained two sites, in the Chequamegon-Nicolet National Forest, Wisconsin and the Escanaba River State Forest, Michigan (originally named Project Sanguine, then downsized and rechristened Project ELF prior to construction), until they were dismantled, beginning in late September 2004.
20:36:25 <pikhq_> Vorpal: ~1 THz.
20:36:31 <Vorpal> looks like US tore them down
20:36:35 <Vorpal> pikhq_: heh
20:37:05 <Vorpal> pikhq_: infrared is quite large then. What part is normally used for remotes and such? Probably near visible light since normal digital cameras can capture th at
20:37:06 <Vorpal> that*
20:37:39 <Vorpal> elliott: a DVD drive uses visible light to transfer data. A very short distance, sure, but still
20:37:40 <pikhq_> Yeah, that's somewhere in near infrared...
20:37:58 <pikhq_> From ~200 THz to ~400 THz.
20:37:59 <elliott> Vorpal: AND I CAN'T SEE IT
20:38:05 <elliott> I want a radio station where I can GO AND VIEW THE BEAMS
20:38:22 <Vorpal> elliott: I imagine it would be a soft glow over everything
20:38:29 <elliott> Good enough
20:38:35 <Vorpal> anyway it wouldn't work well, because there is too much noise in visible light
20:38:51 <Vorpal> pikhq_: interestingly on digital cameras IR light from remotes tend to look bluish-white
20:38:51 <pikhq_> elliott: That'd be a shitty radio station — most of the point of using radio for modulation is that most things we build with are radio-transparent.
20:39:02 <elliott> pikhq_: I DON'T CARE HOW SHITTY IT IS
20:39:03 <elliott> I WANT IT
20:39:22 <pikhq_> Vorpal: I'd be willing to bet each color sensor is having about equal response to it, then.
20:39:45 <Vorpal> elliott: oh and looking at a broadcast radio antenna would probably blind you. They tend to be around 60 000 W
20:40:08 <elliott> Vorpal: Coooooooooooooooooooooooooooooooooooooooooooooooool
20:40:21 <pikhq_> Vorpal: I don't think that says that much about the lumens.
20:40:22 <elliott> <Vorpal> pikhq_: interestingly on digital cameras IR light from remotes tend to look bluish-white
20:40:26 <elliott> I feel this is an appropriate time to state
20:40:27 <elliott> FUCK
20:40:28 <elliott> TETRACHROMATS
20:40:31 <Vorpal> pikhq_: hm. Or it was just too intense when aimed at the actual lamp. I should check it out reflected against a white wall. Of course, I don't know if the white wall reflects in IR...
20:40:53 <elliott> I need another X chromosome and statistical unlikelihood.
20:40:55 <Phantom_Hoover> elliott, makes sense, given that they're all female.
20:40:56 <Vorpal> elliott: they can't see in IR either
20:40:58 <elliott> ONLY THEN CAN I SEE MORE COLOURS
20:41:14 <pikhq_> Incidentally, the estimated amount of energy the Sun's light striking the Earth imparts is about 174 PW.
20:41:20 <elliott> Vorpal: I DON'T CARE, THEY CAN SEE MORE COLOURS
20:41:22 <elliott> I WANT MORE COLOURS
20:41:36 <Phantom_Hoover> Vorpal, humans can see very slightly in near IR.
20:41:38 <pikhq_> Yes, that is the right unit; petawatts.
20:42:04 <pikhq_> Phantom_Hoover: And humans can see quite well in near UV if you remove their lenses.
20:42:08 <Vorpal> Phantom_Hoover: not enough to see a remote though
20:42:22 <Phantom_Hoover> Vorpal, *very* near IR.
20:42:27 <Vorpal> Phantom_Hoover: right
20:42:44 <Vorpal> pikhq_: heh.
20:43:09 <Vorpal> wait a second, what exactly defines IR? Isn't it basically "wavelengths below what a human can see"?
20:43:21 <pikhq_> It's a very loosely defined term.
20:43:26 <Vorpal> which means humans seeing ANYTHING from IR would be absurd.
20:44:11 <pikhq_> But it seems to mean "Wavelengths below what a human can see that are produced largely by object's heat"
20:44:49 <Vorpal> heh
20:45:04 <pikhq_> Well, if there's a strict max on the wavelength that roughly corresponds to the bottom of human range, then *some* humans could plausibly see it. Presuming that the limits of the visible range are variable.
20:45:07 <Vorpal> yeah seeing in the full IR would be weird.
20:45:26 <Vorpal> so would full UV of course
20:46:07 -!- oerjan has joined.
20:46:28 -!- boily has quit (Quit: WeeChat 0.3.5).
20:47:06 <elliott> hi oerjan
20:47:08 <elliott> hoerjan
20:47:27 <oerjan> helliott
20:47:42 <fizzie> I don't think near infrared (the night vision/TV remote) zone has much to do with heat.
20:48:15 <Vorpal> lower IR certainly does though
20:48:18 <fizzie> Thermal imaging long-wavelength IR, sure.
20:48:32 <oerjan> if it's hot enough, it does :P
20:48:33 <fizzie> The name-share is a bit confusing.
20:48:45 <oerjan> (as does visual light, of course)
20:49:08 <Vorpal> well yeah
20:49:14 <Vorpal> and UV
20:49:51 <Vorpal> oerjan: oh btw, I think the English term is "visible light", not "visual light"
20:49:57 <oerjan> er right
20:50:26 <oerjan> actually the peak wavelength of a blackbody never reaches below somewhere in blue
20:52:04 <oerjan> http://en.wikipedia.org/wiki/File:PlanckianLocus.png
20:54:20 <fizzie> But that's just the peak; I assume the intensity overall (incl. UV) will increase if you keep increasing the temperature.
20:54:33 <oerjan> yeah
20:54:42 <oerjan> http://en.wikipedia.org/wiki/Black_body
20:55:23 <oerjan> "When an object is visually white, it is emitting a substantial fraction as ultraviolet radiation.
20:55:27 <oerjan> "
20:56:30 <ais523> Vorpal: you're right on that
21:00:09 <oerjan> ok well the peak radiation does reach UV, it's the total color which has blue as limit
21:00:16 <oerjan> (visible color)
21:00:28 <elliott> q
21:00:38 <oerjan> uantum
21:00:58 <Vorpal> oerjan: right
21:01:10 <Vorpal> oerjan: but that is only because we can't see UV I assume?
21:01:21 <oerjan> presumably
21:01:31 <Vorpal> <pikhq_> Phantom_Hoover: And humans can see quite well in near UV if you remove their lenses. <-- anyone described what it looked like?
21:01:46 <Vorpal> I don't really want to remove my lens to find out
21:01:52 <ais523> pikhq_: I imagine humans wouldn't be able to focus on anything at all if you removed their lens
21:01:54 <ais523> so it'd just be a blur
21:02:04 <ais523> also, the near UV would be picked up primarily by blue cones
21:02:07 <Vorpal> ais523: yes but what colour I mean
21:02:11 <ais523> so UV would be visible as a shade of blue
21:02:16 <Vorpal> ais523: well yes, but what shade I meant
21:02:29 <Vorpal> would it be bluer than anything they seen before?
21:02:32 <Vorpal> or such
21:02:49 <ais523> my guess is it'd be the purple that you see coming out from UV lights (because their color tends to overlap into the visible range a bit)
21:02:59 <Vorpal> ais523: also you could insert an artificial lens I guess?
21:03:01 <ais523> it wouldn't be bluer, it'd just be less red and less green for its brightness
21:03:27 <Vorpal> ah
21:03:38 <ais523> Vorpal: did you know that a human's black-and-white vision has a wider field-of-view than their color vision?
21:03:56 <ais523> I've done an experiment where a colored object was placed in such a place that I could see it, just not tell what color it was
21:03:57 <Vorpal> well yes
21:04:10 <oerjan> from the planck's law formula, it seems like every frequency's emission is increasing with temperature.
21:04:13 <ais523> and you just think "I don't know what color that is", it doesn't look like anything
21:04:14 <Vorpal> never done the experiment though
21:04:18 <ais523> and if you try to visualise it, it's a sort of grey
21:04:24 <ais523> as that's what you visualise colorless things /as/
21:04:36 <ais523> or at least, what I visualise them as, and probably most humans
21:04:39 <Vorpal> ais523: oh the other hand you can't see the outline very clearly either
21:04:44 <Vorpal> on*
21:04:46 <ais523> indeed
21:05:11 <Vorpal> ais523: so visualizing it would be a blur, and possibly a headache
21:05:45 <ais523> well, I knew what the object actually was, just not its color
21:05:47 <elliott> <ais523> I've done an experiment where a colored object was placed in such a place that I could see it, just not tell what color it was
21:05:52 <elliott> ais523: where was it placed?
21:05:55 <ais523> as I'd been told, and seen examples of the object in several colors
21:06:00 <ais523> elliott: far to the right of my field of vision
21:06:00 <Vorpal> <ais523> or at least, what I visualise them as, and probably most humans <-- I prefer the checkerboard pattern of transparent found in image editors
21:06:03 <ais523> it was moved in slowly until I could see it
21:06:22 <ais523> Vorpal: but you don't think uncolored objects in real life look like that, surely?
21:06:28 <elliott> ais523: hmm, it's very hard for me to perceive my lack of colour vision there but I suppose that's the point
21:06:31 <Vorpal> ais523: I was joking.
21:06:36 <elliott> you can't exactly tell you have no colour vision in dreams, either
21:06:46 <ais523> elliott: yes, you remember the colors of things in the boundary
21:06:51 <elliott> I think that's kind of wonderful, in that complete colourblindness isn't greyscale, it's just uncoloured
21:06:59 <ais523> and have a reflex action to look at something that moves into it that you can't see the color of and don't know
21:07:05 <elliott> heh
21:07:08 -!- pumpkin has joined.
21:07:09 <Vorpal> elliott: there is no colours in dreams? Huh? I'm pretty sure I seen vividly green grass and red flowers in dreams
21:07:22 <oerjan> ais523: since violet triggers red cones as well, i'd expect UV to do the same ...
21:07:25 <ais523> Vorpal: you don't have color vision during dreams, because your eyes are shut
21:07:34 <elliott> Vorpal: some dreams have colour, some don't
21:07:38 <Vorpal> ais523: well yes, you don't have vision at all
21:07:40 <ais523> oerjan: violet /light/ doesn't, but violet /color/ does
21:07:51 <elliott> I imagine colour turns on with lucidity but don't quote me on that
21:07:52 <ais523> because it involves a mix of red, blue, and purple light
21:08:00 <oerjan> ais523: um yes it does.
21:08:00 <elliott> ais523: hmm, I think I just managed to look leftwards enough to perceive the colourlessness of things there, but I dunno
21:08:04 <elliott> could have just been me fooling myself
21:08:23 <ais523> oerjan: the color response curve of cones is a bell curve, isn't it?
21:08:29 <Vorpal> elliott: probably, anyway if you turned your eyes then no.
21:08:37 <elliott> Vorpal: of course not
21:09:01 -!- copumpkin has quit (Ping timeout: 258 seconds).
21:09:06 <oerjan> ais523: i'm pretty sure it's not.
21:09:06 <ais523> of rods too
21:09:20 <ais523> oerjan: http://en.wikipedia.org/wiki/Cone_%28vision%29
21:09:29 <ais523> why bother having an argument when you can just check Wikipedia?
21:09:59 <olsner> arguments are more fun, obviously
21:10:12 <oerjan> ais523: you just search faster :P
21:10:31 <ais523> oerjan: that's because I went straight to Wikipedia, and guessed the article name and disambiguator
21:10:46 <ais523> it turns out that that isn't the primary disambiguator, but someone had thoughtfully already added a redirect
21:11:12 <fizzie> That thing is not very well modeled with a Gaussian.
21:13:52 <oerjan> but violet _is_ the shortest pure spectral color wavelength.
21:14:19 <oerjan> so why does it look redder than blue?
21:15:51 <fizzie> You could easily imagine the tail of the red curve overtaking the tail of the blue in the short end.
21:15:59 <oerjan> yes, that might be
21:17:08 <fizzie> CIE "standard observer" response functions (used in the XYZ colorspace, and indirectly in Lab) are based on rather bad 1920s approximations of the spectral response of humans; http://en.wikipedia.org/wiki/CIE_1931_color_space#Color_matching_functions
21:20:28 -!- pumpkin has changed nick to copumpkin.
21:21:17 <elliott> What is it with the past harshing our vibe?
21:21:22 <elliott> Deep thoughts.
21:23:46 <oerjan> `log harsh
21:23:52 <HackEgo> 2011-02-10.txt:20:49:55: <oerjan> <elliott> Gregor: disable that <-- now that's a bit harsh, might want to announce the result to the channel anyhow though
21:24:09 <elliott> `log harshing
21:24:13 <HackEgo> 2011-09-21.txt:21:21:17: <elliott> What is it with the past harshing our vibe?
21:24:15 -!- Madoka-Kaname has joined.
21:24:19 <elliott> `log harshing
21:24:23 <HackEgo> 2011-09-21.txt:21:24:19: <elliott> `log harshing
21:24:26 <elliott> `log harshing
21:24:29 <HackEgo> 2011-09-21.txt:21:24:19: <elliott> `log harshing
21:24:31 <elliott> lame
21:24:33 <Gregor> `log harsh.*vibe
21:24:37 <HackEgo> 2011-09-21.txt:21:24:33: <Gregor> `log harsh.*vibe
21:24:40 <Gregor> :P
21:24:47 <Gregor> `pastelogs harsh.*vibe
21:24:52 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.9945
21:25:10 <elliott> See, nobody else is as cool as me.
21:25:19 <oerjan> elliott: i have an idea for using `log without it returning `log searches, unfortunately it only works if everyong uses it
21:25:26 <elliott> `logurl 2011-05-21.txt
21:25:27 <Gregor> `pastelogs harsh.*buzz
21:25:28 <HackEgo> http://codu.org/logs/log/_esoteric/2011-05-21
21:25:29 <oerjan> namely, put [] around one of the chars
21:25:31 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28118
21:25:36 <oerjan> *everyone
21:25:37 <elliott> oerjan: ais523 has a perfect solution to it
21:25:41 <elliott> well, relatively perfect
21:25:46 <elliott> [^]]search term
21:25:52 <Gregor> That's right, only I would mix those metaphors :P
21:25:56 <elliott> oerjan: anyway, I deliberately left them in :)
21:26:01 <Gregor> `pastelogs killjoy
21:26:05 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26726
21:26:20 <elliott> Apparently "harshing my mellow" is vastly more popular than the vibe-based alternative.
21:26:24 <Gregor> Apparently oklopol is the ultimate killjoy.
21:26:25 <elliott> At least according to Google suggestions.
21:27:04 <ais523> elliott: that only works when searching /for/ `log searches
21:27:19 <elliott> ais523: umm, howso?
21:27:28 <elliott> `log [^]]pontificate
21:27:31 <HackEgo> 2010-10-07.txt:22:47:08: <alise> cpressey: PC-BSD; pontificate
21:28:00 <ais523> `log [^]]njanoewhr;awheroiawer
21:28:03 <HackEgo> No output.
21:28:07 <ais523> oh right, I see
21:28:07 <elliott> ais523: Your point?
21:28:14 <ais523> it's ^] not ^`
21:28:15 <ais523> I got confused
21:28:27 <Gregor> `log [^]]quarv
21:28:31 <HackEgo> No output.
21:28:34 <Gregor> Hm
21:28:35 <Gregor> Indeed.
21:28:40 <elliott> `run log "asoijdhdsghsglfg" | grep -v '<elliott> `run log "asoijdhdsghsglfg"'
21:28:43 <HackEgo> No output.
21:29:18 -!- augur has quit (Remote host closed the connection).
21:31:09 <fizzie> The `log [^]]foo will still find the bazillion earlier plain `log foos.
21:32:00 -!- augur has joined.
21:32:19 <elliott> <oerjan> elliott: i have an idea for using `log without it returning `log searches, unfortunately it only works if everyong uses it
21:32:26 <elliott> This one only works if everyong uses it, too.
21:33:00 <elliott> egrep -v '\d\d:\d\d:\d\d: <[^>]*> `log'
21:33:00 <Vorpal> huh, why is gmail marking every single new mail I get as "important" based on words it contain.
21:33:01 <elliott> Tadaaaaaaaaaa
21:33:10 <elliott> egrep -v '\d\d:\d\d:\d\d: <[^>]*> `(log|pastelogs)'
21:33:11 <Vorpal> I wonder if I can turn that off. It is bloody useless
21:33:18 <elliott> Vorpal: I hid the markers.
21:33:33 <Vorpal> elliott: doesn't help wrt using IMAP client for gmail
21:33:36 <Vorpal> which I do
21:34:11 <elliott> It doesn't do it for IMAP, apart from the "important" folder.
21:34:15 <elliott> At least according to a quick search.
21:34:16 <Vorpal> well yeah
21:34:22 <elliott> So just delete that folder.
21:34:28 <elliott> What, you can disable conversation view in Gmail now.
21:34:31 <Vorpal> hm. guess that would work
21:34:42 <Vorpal> elliott: you can? Why would that be useful though?
21:34:51 <elliott> Itw ouldn't.
21:35:02 <elliott> s/tw /t w/
21:35:27 <Vorpal> actually I can think why it would be useful. Gmail likes to put every mail I get from the automated course web system thingy at university in a single convo
21:35:32 <Vorpal> that is kind of annoying
21:35:50 <Vorpal> but not in general no
21:36:09 <fizzie> "sed 's/Gregor/Gre\xE2\x80\x8Bgor/g'"?-)
21:36:35 <Gregor> *cough cough*
21:36:37 <Vorpal> okay there are other reasons: "Important mainly because of your interaction with messages in the conversation" for example
21:36:39 <Gregor> fizzie: I have no idea to what you refer.
21:36:41 <Gregor> >_>
21:36:42 <Gregor> <_<
21:36:43 <Vorpal> whatever that one really means
21:36:46 <olsner> UTF-8 ... is that Grègor?
21:37:02 <elliott> fizzie: wat
21:37:03 <oerjan> <fizzie> > all $ zipWith (<) [2,6] [3,5]
21:37:04 <fizzie> It has both "Gre" and "gor" in it, so probably not.
21:37:06 <elliott> `help
21:37:06 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
21:37:08 <oerjan> i think you want or
21:37:09 <fizzie> It smells like some sort of a nick-ping avoidance thing.
21:37:16 <elliott> fizzie: Where is that?
21:37:18 <Vorpal> fizzie: where is that from?
21:37:21 <Vorpal> elliott: snap
21:37:21 <oerjan> > or $ zipWith (<) [2,6] [3,5]
21:37:22 <lambdabot> True
21:37:28 <fizzie> elliot, Vorpal: bin/log.
21:37:29 <oerjan> er wait
21:37:32 <oerjan> > and $ zipWith (<) [2,6] [3,5]
21:37:33 <lambdabot> False
21:37:33 <Vorpal> oh
21:37:37 <oerjan> *and
21:37:39 <elliott> oerjan: Does having (fmap f x) behave differently to (x >>= return . f) violate the monad laws?
21:37:43 <elliott> Or applicative laws?
21:37:43 <fizzie> oerjan: CakeCake already said that.
21:37:48 <elliott> fizzie: I'll fix that.
21:37:55 <oerjan> elliott: Monad or Functor
21:37:59 <Gregor> fizzie: I was considering making the same nick-ping avoidance for everyone, but decided only I'm important.
21:38:02 <elliott> oerjan: Eh?
21:38:13 <oerjan> elliott: nothing applicative in there
21:38:29 <Vorpal> Gregor: why not just insert a UTF-8 zero width space?
21:38:40 <Gregor> Vorpal: DUHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
21:38:41 <Vorpal> I don't know any irc client smart enough to nick ping over that
21:38:45 <elliott> `fetch http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/0eea30ea7bb0/bin/log
21:38:46 <HackEgo> 2011-09-21 21:38:46 URL:http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/0eea30ea7bb0/bin/log [185/185] -> "log" [1]
21:38:48 <elliott> `run mv log bin
21:38:49 <HackEgo> No output.
21:38:56 <Vorpal> Gregor: oh is that what you did. I thought olsner said it was Grègor?
21:38:59 <oerjan> elliott: most types have at most one valid fmap candidate, i believe
21:39:13 <Vorpal> elliott: you removed the anti-nick ping?
21:39:14 <Gregor> Vorpal: olsner was wrong :P
21:39:14 <Vorpal> why
21:39:14 <oerjan> elliott: and since x >>= return . f must be one, they must be equal
21:39:29 <elliott> Vorpal: It wasn't an anti-nick ping, it was corrupting certain sections of the log for one specific term.
21:39:33 <Gregor> fizzie: Damn you for letting elliott see that >_<
21:39:37 <Vorpal> elliott: I see
21:39:46 <ais523> Gregor...
21:39:51 <olsner> ah, I missed the e before the \x stuff, it looked like it replaced the e
21:39:52 <Vorpal> elliott: so you are against inserting zero width space?
21:39:52 <elliott> oerjan: Hmm, I guess it doesn't matter actually
21:39:53 <oerjan> elliott: in any case it's a gross violation of the intent
21:39:59 <olsner> the rest was pure guess
21:40:06 <elliott> Vorpal: <elliott> Vorpal: It wasn't an anti-nick ping, it was corrupting certain sections of the log for one specific term.
21:40:07 <fizzie> Gregor: Actually I thought (at first glance) it was converting "Gregor" into something derogatory, and that elliott had added it. :p
21:40:09 <elliott> That is the reason I reverted.
21:40:14 <elliott> fizzie: Good idea
21:40:26 <Vorpal> elliott: so there was a bug in where it inserted that zero width space?
21:40:35 <elliott> Vorpal: <fizzie> "sed 's/Gregor/Gre\xE2\x80\x8Bgor/g'"?-)
21:40:40 <elliott> <elliott> Vorpal: It wasn't an anti-nick ping, it was corrupting certain sections of the log for one specific term.
21:40:42 <Vorpal> elliott: yes, it seems okay
21:40:47 <elliott> I will henceforth continue this conversation entirely with quotes.
21:40:48 <elliott> <elliott> Vorpal: It wasn't an anti-nick ping, it was corrupting certain sections of the log for one specific term.
21:40:50 <Vorpal> elliott: it seems like an anti-nick ping for me
21:40:57 <elliott> Okay.
21:40:59 <Vorpal> elliott: stop being such an arse
21:41:08 <elliott> No.
21:41:19 <Vorpal> seriously, anti nick-ping with zero width space is an awesome idea
21:41:29 <elliott> I'm glad to hear you think that. However that was not an anti nick-ping.
21:41:40 <ais523> ttoille
21:41:49 <Vorpal> elliott: so it would still ping Gregor? Are you suggesting that?
21:42:19 <elliott> Vorpal: I was unaware that freenode had added a feature to their servers where there would always be a user with the nick "Gregor" on #esoteric.
21:42:38 <Vorpal> elliott: ... you are just being stupid now
21:42:51 <Gregor> He's saying that it's an anti-Gregor-ping, not a (general) anti-nick-ping, And wah wah wah :P
21:42:59 <Vorpal> Gregor: oh okay.
21:43:15 <elliott> Gregor: I'm not really saying anything, I'm just trying to get Vorpal to stop talking to me.
21:43:30 <Vorpal> Gregor: can you get a current user list from inside bin/log?
21:43:40 <Vorpal> then you could insert a zero width space in each nick in there
21:43:40 <elliott> Vorpal: Yes.
21:43:46 <Vorpal> elliott: where?
21:43:53 <elliott> `ls /var/irclogs
21:43:55 <HackEgo> ​_ai \ _corewars \ _esoteric \ _esoteric-minecraft \ _glogbot \ _matrixofsolidity \ _plof \ _scapegoat \ index.php \ log \ log.css \ log.js \ raw \ stalker.php
21:44:01 <elliott> `ls /var/irclogs/_esoteric/????-??-??-raw.txt
21:44:03 <HackEgo> ls: cannot access /var/irclogs/_esoteric/????-??-??-raw.txt: No such file or directory
21:44:06 <Vorpal> elliott: so you would have to parse it manually for nicks
21:44:08 <elliott> `ls /var/irclogs/_esoteric/????-??-??.raw.txt
21:44:08 <Vorpal> right
21:44:09 <HackEgo> ls: cannot access /var/irclogs/_esoteric/????-??-??.raw.txt: No such file or directory
21:44:16 <elliott> `ls /var/irclogs/_esoteric
21:44:17 <Vorpal> better solution please
21:44:18 <HackEgo> 2003-01-18-raw.txt \ 2003-01-18.txt \ 2003-01-19-raw.txt \ 2003-01-19.txt \ 2003-01-20-raw.txt \ 2003-01-20.txt \ 2003-01-21-raw.txt \ 2003-01-21.txt \ 2003-01-22-raw.txt \ 2003-01-22.txt \ 2003-01-23-raw.txt \ 2003-01-23.txt \ 2003-01-24-raw.txt \ 2003-01-24.txt \ 2003-01-25-raw.txt \ 2003-01-25.txt \ 2003-01-26-raw.txt
21:44:26 <elliott> Vorpal: What on earth is not better about that?
21:44:31 <elliott> You can package up the "list of current users" into a command.
21:44:44 <elliott> `run cat 2003-01-18-raw.txt | egrep 'NAMES|JOIN|PART|QUIT'
21:44:46 <HackEgo> cat: 2003-01-18-raw.txt: No such file or directory
21:44:47 <Vorpal> elliott: something that doesn't need to parse every single log from the start to get the current user list?
21:44:58 <Vorpal> if every file start with NAMES then fine
21:45:02 <Vorpal> otherwise it is annoying
21:45:02 <Deewiant> `run cat /var/irclogs/_esoteric/2003-01-18-raw.txt | egrep 'NAMES|JOIN|PART|QUIT'
21:45:04 <HackEgo> ​< 1042851425 ? :clog!unknown@unknown.invalid JOIN :#esoteric. \ < 1042851425 ? :clog!nef@bespin.org JOIN #esoteric. \ < 1042851716 ? :hcf!unknown@unknown.invalid QUIT :. \ < 1042852578 ? :deltab!unknown@unknown.invalid QUIT :brunner.freenode.net irc.freenode.net. \ < 1042852625 ? :deltab!~deltab@espians.com JOIN
21:45:05 <Vorpal> especially in shell
21:45:15 <Gregor> Honestly the solution I would probably do is just s/\(<[^>]*\)\(.>\)/\1ZWSHERE\2/g'
21:45:26 <Gregor> But I suspect elliott would zap that too.
21:45:28 <elliott> Gregor: People can ping inside messages.
21:45:29 <Vorpal> Gregor: what?
21:45:38 <Vorpal> Gregor: brain parse error
21:46:04 <Gregor> elliott: Yes, but that's considerably more rare than just the nick talking. I'm just trying to reduce, not eliminate.
21:46:09 <Vorpal> Gregor: it is your bot, you can just override whatever elliott does
21:46:20 <Gregor> It's HackBot. HackBot is anarchy.
21:46:27 <Vorpal> well okay, but you run it
21:46:47 <ais523> Gregor: clearly you should modify HackEgo's output routines, so they can't be tinkered with from inside the bot
21:46:49 <fizzie> HackBot edit-wars: the best.
21:46:55 <oerjan> stubbornocracy
21:47:11 <Vorpal> heh
21:47:18 <elliott> <Vorpal> well okay, but you run it
21:47:27 <Vorpal> elliott: ?
21:47:33 <elliott> In which Vorpal is confronted with the idea that not everyone operates on the Vorpal principles of "repeatedly revert until the other party gets bored".
21:48:02 <oerjan> ais523: i didn't think it was possible to modify HackEgo's output routine
21:48:17 <elliott> oerjan: It is if you have access to the machine it runs on.
21:48:22 <Gregor> oerjan: How do you think I added botloop avoidance?
21:48:23 <ais523> oerjan: from inside the bot, no
21:48:56 <oerjan> elliott: Gregor: the "Learn to read context" course is thataway.
21:49:15 <Gregor> oerjan: Context is for losers.
21:49:19 <elliott> oerjan: <ais523> Gregor: clearly you should modify HackEgo's output routines, so they can't be tinkered with from inside the bot
21:49:25 <Madoka-Kaname> Gregor, go learn Japanese
21:49:27 <elliott> Note "Gregor:".
21:49:39 <Vorpal> oerjan: you is the one failing at context.
21:49:44 <elliott> Vorpal: "Are".
21:49:46 <oerjan> elliott: i was pointing out it is already impossible to tinker
21:49:49 <Gregor> Madoka-Kaname: Gureegoru
21:49:50 <Vorpal> elliott: right
21:49:51 <elliott> The "learn to use the word are" course is thataway.
21:49:54 <Vorpal> who is Madoka-Kaname?
21:50:00 <elliott> oerjan: You are misparsing.
21:50:04 <elliott> Vorpal: Lymia.
21:50:07 <Vorpal> oh okay
21:50:11 <elliott> oerjan: "They" =/= the output routines.
21:50:15 <oerjan> elliott: oh
21:51:03 <Gregor> "They" there was the ping avoidance codezzz.
21:51:08 <oerjan> Vorpal: /whois is your friend
21:51:36 <Vorpal> Important mainly because you often read messages with this label. <-- what? You mean no label at all? Just sitting there in my inbox?
21:51:38 <Vorpal> Right.
21:52:03 <Vorpal> <oerjan> Vorpal: /whois is your friend <-- did that, but "+ [Madoka-Kaname] (~moe@unaffiliated/cirno-chan): Moe Moe Power~ <3" meant nothing to me
21:52:17 <Vorpal> I see no mention of "Lymia" there, nor do I know the normal host of that user.
21:52:41 <Vorpal> okay further down there is logged in as, but due to a bug that line sometimes show up in the server tab in my irc client
21:52:43 <Deewiant> Lymia is cirno-chan
21:52:45 <Vorpal> so I didn't notice it
21:52:47 <oerjan> Vorpal: you don't see a line with account : Lymia ?
21:53:03 <Vorpal> oerjan: as I said just above, it ended up in the wrong tab for unknown reasons
21:53:37 <elliott> Gregor: Anyway, the annoying thing about ping-avoidance is that it makes `log non-idempotent.
21:53:48 <elliott> Well, I suppose it isn't already, since it takes a random line, but the point is that it messes up copying.
21:53:50 <Gregor> *waaaaaaaaaaaaaaaaaaaaaah*
21:54:03 <elliott> Ah, now I'm convinced, I'll add it immediately
21:54:05 <Vorpal> elliott: ddg sometimes make some hilarious mis-suggestions. Try "code indentation" (without quotes)
21:54:07 <Gregor> :P
21:54:11 <fizzie> "Better call the WAAH-bulance."
21:54:20 <Vorpal> It suggested a LaTeX package, nice touch but not quite what I wanted
21:54:51 <elliott> Vorpal: It prioritises user-content sites like StackExchange, I think.
21:54:58 <elliott> It also searches API docs and the like.
21:55:09 <oerjan> !echo !echo hi
21:55:10 <Vorpal> elliott: so very geared towards programmers?
21:55:12 <EgoBot> ​!echo hi
21:55:26 <elliott> Vorpal: Only if it thinks the API docs are relevant.
21:55:31 <Vorpal> right
21:55:32 <elliott> StackExchange is not programmer-only.
21:55:38 <Vorpal> oh?
21:55:40 <Vorpal> didn't know that
21:55:41 <oerjan> <EgoBot> ​!echo hi
21:55:47 <elliott> http://stackexchange.com/sites
21:56:02 <elliott> There's even
21:56:02 <elliott> Jewish Life and Learning beta
21:56:02 <elliott> Q&A for those who base their lives on Jewish law and tradition and anyone interested in learning more
21:56:04 <oerjan> ok putty definitely does not copy zero-length spaces
21:56:12 <elliott> Gardening and Landscaping beta
21:56:12 <elliott> Q&A for gardeners and landscapers
21:56:35 <Vorpal> elliott: are they quite as well frequented as the programming parts though?
21:56:39 * Phantom_Hoover → sleep
21:56:40 -!- Phantom_Hoover has quit (Quit: Leaving).
21:58:33 <elliott> Probably not.
21:58:47 <elliott> They're separate sites and all.
21:58:53 <elliott> StackExchange =/= Stack Overflow.
22:02:26 <Vorpal> oh come on, ddg special cases xkcd
22:04:11 <elliott> Vorpal: Eh?
22:04:26 <Vorpal> elliott: try searching xkcd. It inlines the last comic
22:04:37 <Vorpal> didn't for a few other web comics I tried
22:04:40 <elliott> Vorpal: I bet it does that for anything it thinks is a webcomic. Or maybe any blog.
22:04:58 <elliott> But anyway, good punishment for searching for xkcd.
22:05:01 <Vorpal> elliott: hm https://duckduckgo.com/goodies.html indicates otherwise
22:05:09 <Vorpal> it lists it as a "special query"
22:05:35 -!- sllide has quit (Ping timeout: 260 seconds).
22:07:27 <elliott> Fair enough :P
22:07:54 <elliott> https://duckduckgo.com/?q=(%3E_%3C) -- lol
22:10:03 <ais523> monqy: hey, I didn't know you played Crawl
22:10:12 <ais523> Henzell's learndb has you credited as the author of the "autodie" script
22:10:30 <elliott> I did, that's how I got the squarelos stuff
22:10:39 <monqy> ais523: i dont play crawl
22:10:46 <monqy> i used to though
22:10:50 <ais523> hmm, ah I see
22:10:55 <elliott> crawl is a bad game for bad people
22:11:09 <ais523> and you created autodie to get the same effect as playing by hand, just much faster?
22:12:02 <monqy> if by same effect you mean getting things out of the way, yes
22:12:21 -!- Patashu has joined.
22:12:28 <ais523> no, I meant dying
22:12:30 <monqy> oh
22:12:43 <monqy> it's called autodie because of its suicidal tendencies
22:13:26 <monqy> I was trying to (partially) automate crawl in hope that I could get a bunch of the boring parts out of the way in hope that i could enjoy it. but then i got fed up with scripting crawl (its lua and i dislike lua etc etc etc)
22:14:27 <monqy> so now I'm just giving up on crawl until it gets to a point where I like it (though I'm doubtful this will ever happen) or someone makes a fork I like (doubtful here as well)
22:19:18 <elliott> im auto die
22:21:31 <oerjan> <ais523> that's, umm, bizarre
22:21:52 <ais523> monqy: did you see autorobin?
22:21:56 <monqy> yes
22:22:00 <oerjan> more bizarre is that i joked about it before it happened
22:22:01 <ais523> also, dtsund has made a fork with a similar idea to what you just suggested
22:22:04 <Vorpal> elliott: you were right about feedback to ddg.
22:22:06 <ais523> but it hasn't shortened the game much yet
22:22:09 <monqy> I've heard of that fork as well
22:22:10 * oerjan swats elliott with synchronicity -----###
22:22:18 <Vorpal> elliott: works well. Quick response, something like half an hour or so.
22:23:05 <monqy> despite not playing the game, I do still hang around in ##crawl (and ##crawl-dev but you probably noticed me there)
22:23:18 <elliott> oerjan: :D
22:23:36 <Vorpal> elliott: seems it is used for the colour picker, though he did agree that I had a good point about it seeming a little strange to normal users who did not know the workings of the code.
22:24:37 <elliott> brb
22:24:40 <Vorpal> elliott: I think this issue, or more accurately the quick and informative response, made me like the site more. Would never have gotten that from google XD
22:26:09 <oerjan> `log next-door neighbor
22:26:10 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/log: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/log: cannot execute: Success
22:26:18 <oerjan> wtf
22:26:34 <oerjan> Gregor: WHAT ARE YOU DOING
22:26:46 <monqy> `log next-door neighbour
22:26:48 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/log: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/log: cannot execute: Success
22:26:52 <Gregor> Hm
22:27:19 <oerjan> monqy: i'm pretty sure i don't spell it british. hm or maybe i did, because of the context.
22:27:19 <Gregor> `file bin/log
22:27:21 <HackEgo> bin/log: POSIX shell script text executable
22:27:27 <Gregor> `run ls -l bin/log
22:27:28 <HackEgo> ​-rw-r--r-- 1 5000 0 185 Sep 21 22:27 bin/log
22:27:38 <Gregor> `run chmod 0755 bin/log
22:27:39 <HackEgo> No output.
22:27:40 <elliott> Gregor: lymia
22:27:46 <elliott> bet she used this alt. nick
22:27:50 <elliott> `help
22:27:50 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:27:55 <oerjan> `log next-door neighbor
22:28:00 <HackEgo> 2011-09-21.txt:22:26:09: <oerjan> `log next-door neighbor
22:28:02 <elliott> oh
22:28:04 <monqy> elliott: would that be lymee or Madoka-Kaname
22:28:05 <elliott> my fault
22:28:08 <elliott> :D
22:28:21 <monqy> oh
22:28:23 <oerjan> `log next[- ]door neighbou?r
22:28:24 <Gregor> eelliott
22:28:26 <HackEgo> 2011-07-12.txt:19:53:16: <oerjan> by some freak coincidence taneb is elliott's next door neighbor
22:28:31 <elliott> lol
22:28:33 <oerjan> there you go :P
22:30:58 <oerjan> `log live in [Hh]exham
22:31:01 <HackEgo> 2011-01-22.txt:00:58:06: <Phantom_Hoover> elliott, I know you live in Hexham and I know your surname.
22:31:08 <oerjan> `log live in [Hh]exham
22:31:12 <HackEgo> 2011-07-16.txt:21:47:10: <elliott> Taneb: Are you serious do you live in Hexham.
22:31:28 <Gregor> oerjan: It's already case-insensitive
22:31:32 <oerjan> oh.
22:31:33 <Gregor> `log lIvE In HEXam
22:31:36 <Gregor> Erm
22:31:37 <HackEgo> 2011-09-21.txt:22:31:33: <Gregor> `log lIvE In HEXam
22:31:42 <Gregor> It is not spelling-insensitive though :P
22:31:48 <oerjan> shocking!
22:31:53 <Gregor> `log lIvE In HEXhaM
22:31:57 <HackEgo> 2011-09-21.txt:18:45:41: <elliott_> `pastelogs don't tell me you live in hexham
22:38:50 -!- nooga has quit (Ping timeout: 260 seconds).
22:41:42 -!- ais523 has quit (Remote host closed the connection).
22:43:18 <oerjan> <Vorpal> I seen them in Sweden. Not very common here. Been a year or so since I last saw one
22:43:48 <oerjan> i've seen a squirrel outside my window not long ago
22:44:06 <oerjan> may have been this week, or previous one
22:44:39 <Gregor> When europeople come to Purdue, they frequently comment on how many squirrels there are here.
22:44:50 <Gregor> And my response is "... huh? Y'know, we have chipmunks too. And jackrabbits."
22:45:32 <oerjan> um chipmunks are squirrels
22:45:53 <Gregor> oerjan: Yesyes, but in common parlance they're not.
22:46:45 <Gregor> One also doesn't frequently say "Look at that big squirrel!" when talking about a woodchuck.
22:47:10 <oerjan> o kay
22:47:26 <Vorpal> Gregor: one doesn't?
22:47:36 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:47:54 -!- micahjohnston has joined.
22:48:30 -!- audy has joined.
22:48:52 <oerjan> <elliott> fizzie: Tempred? <-- fizzie tempered his temptations. he's secretly a vulcan, you know.
22:49:23 <Vorpal> Gregor: well okay, one says "oh I guess it is Groundhog Day"
22:49:44 <Vorpal> (sorry, that was a Slash'EM reference)
22:50:22 <Gregor> Vorpal: In the same way that one only refers to humans as animals when specifically making a point about humans being animals. Otherwise the term "non-human animals" is unnecessary and cumbersome. This is the nature of species names in common parlance, they're neither particularly accurate nor particularly (whatever the word is for "including all species derived from a common ancestor")
22:50:59 <oerjan> <Vorpal> Phantom_Hoover: I simply dropped the "have" there somehow
22:51:06 <Vorpal> Gregor: are you sure there is a word for "including all species derived from a common ancestor"?
22:51:24 <Gregor> Vorpal: I'm quite sure that there's the inverse, not sure about that word.
22:51:34 <oerjan> i believe one of the differences between norwegian and swedish is that swedes frequently drop the "have" in perfect forms
22:52:03 <Vorpal> Gregor: what would the inverse be?
22:52:21 <Gregor> Vorpal: ... not including all species derived from a common ancestor ...
22:52:30 <Vorpal> Gregor: well duh
22:52:49 <Gregor> e.g. since birds evolved from dinosaurs but birds aren't commonly referred to as dinosaurs, the name "dinosaur" is <that>
22:52:57 <Vorpal> Gregor: I thought you meant a single word for the inverse...
22:53:07 <Gregor> There is a single word for that.
22:53:26 <Vorpal> oerjan: we do? Never noticed
22:53:49 <Vorpal> I would actually say "Jag har sett" in that case
22:53:50 <oerjan> Gregor: "clade"
22:53:56 <Gregor> oerjan: No.
22:54:49 <oerjan> Gregor: um i was responding to your earlier comment
22:54:52 <Gregor> oerjan: Oh, I thought we were g---right :P
22:55:02 <Gregor> Yeah, clade is right for the original, but it's also a noun :P
22:55:10 <oerjan> so for the later one, "not clade", or paraphyletic iirc
22:55:13 <Gregor> MONOPHYLETIC
22:55:19 <Gregor> Paraphyletic being the inverse.
22:55:22 <Gregor> Thankee
22:55:44 <Gregor> Point is, species names in common parlance are neither particularly accurate nor particularly monophyletic.
22:57:09 <oerjan> Vorpal: "När jag varit i Norge ..." or so, i think it maybe for subordinate clauses only
22:57:17 <Gregor> And that, my friends, is why chipmunks are not squirrels :P
22:57:22 <oerjan> *may be
22:57:32 <Vorpal> oerjan: hm. That works, if somewhat informal
22:57:47 <elliott> Gregor: Your MOM is a squirrel.
22:57:56 <elliott> In comm onparlance.
22:57:58 <elliott> In common parlance.
22:58:10 <elliott> "The industry standard for image resizing
22:58:10 <elliott> Enlarge images up to 1000% without sacrificing quality" -- uh huh
22:59:05 <Gregor> elliott: It's trivial to /enlarge/ images arbitrarily without sacrificing quality.
22:59:17 <Gregor> Hell, with no interpolation at all you're not sacrificing quality.
22:59:27 <elliott> Gregor: In common parlance...
22:59:34 <Gregor> *ba-dum* :P
23:09:36 <elliott> Gregor: We're still waiting for the *tsh*.
23:09:49 <Gregor> THERE SHALL BE NO TSH
23:10:09 <elliott> LET THERE BE TSH
23:10:33 <Gregor> THERE SHALL NEVER BE
23:10:49 <Gregor> (LET THEM EAT TSH)
23:14:12 -!- elliott has set topic: god bless haskell america | 12345678!&^ | http://codu.org/logs/_esoteric/.
23:14:17 <elliott> topic was a bit long
23:14:20 <elliott> and it's after 3.10.2011
23:14:22 <elliott> by a long time
23:15:02 <Gregor> Uhhhh ... no?
23:15:19 <elliott> oh
23:15:21 <elliott> hmm
23:15:23 <elliott> weird
23:15:26 <elliott> what is it with time
23:15:32 <Gregor> Did ... did you just interpret that as a US date?
23:15:37 <elliott> no i just
23:15:42 <elliott> didn't realise that this wa sthe 9th month
23:15:45 <elliott> `pastelogs Hel/Finland
23:15:49 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20061
23:15:51 -!- calamari has joined.
23:16:02 -!- elliott has set topic: Esolang event @ Hel/Finland on 3.10.2011: https://wiki.helsinki.fi/display/lambda/esoteeriset+ohjelmointikielet | god bless haskell america | 12345678!&^ | http://codu.org/logs/_esoteric/.
23:16:05 -!- calamari has left.
23:16:05 <elliott> there we go
23:16:06 <Gregor> Let them eat squid!
23:16:09 <elliott> rip calamari
23:16:25 <elliott> monqy: rip
23:17:11 <monqy> hi
23:17:15 <elliott> hirp
23:18:16 -!- calamari has joined.
23:31:06 <elliott> ?pl do foo <- st; return (foo >>= f)
23:31:06 <lambdabot> (line 1, column 13):
23:31:07 <lambdabot> unexpected ";"
23:31:07 <lambdabot> expecting letter or digit, variable, "(", "`", "!!", ".", operator or end of input
23:31:10 <elliott> ?undo do foo <- st; return (foo >>= f)
23:31:10 <lambdabot> st >>= \ foo -> return (foo >>= f)
23:31:13 <elliott> ?. pl undo do foo <- st; return (foo >>= f)
23:31:13 <lambdabot> (f =<<) `fmap` st
23:31:19 <elliott> oerjan: I blame you
23:31:59 -!- copumpkin has joined.
23:36:37 -!- FireFly has quit (Quit: FireFly).
23:38:06 <oerjan> wat
23:38:14 <elliott> oerjan: you didn't make a nice operator for that
23:38:44 <oerjan> most of the weird operators were after my time, anyhow.
23:38:53 <elliott> oerjan: "weird" :P
23:38:54 <oerjan> there aren't really that many in the haskell report.
23:39:04 <oerjan> *h98
23:39:39 <elliott> oerjan: ooh, I wonder if your haskell style can be traced to a defined lineage, since it was probably before haskell's internet explosion in popularity when they all mixed together apart from Utrecht
23:39:43 <elliott> EXCITING???
23:40:14 <oerjan> elliott: it's a rather weird thing to want anyhow, since you are using return on a monadic action
23:40:33 <elliott> yeah turns out I didn't want it :)
23:40:38 <oerjan> in fact, i don't think there's any reason why they need to be the same monad
23:40:57 <oerjan> :t do foo <- ?st; return (foo >>= ?f)
23:40:58 <lambdabot> forall (m :: * -> *) (m1 :: * -> *) a b. (?st::m (m1 a), Monad m, ?f::a -> m1 b, Monad m1) => m (m1 b)
23:41:55 <oerjan> of course it's not _that_ weird, you could easily use a parser monad to build some other monad's actions
23:43:04 <oerjan> i'm sure my haskell style has changed somewhat.
23:43:27 <elliott> oerjan: actually no it seems I do need it... but anyway
23:43:37 <elliott> and probably, but still :P
23:43:50 <elliott> I don't suppose you recall reading one gigantic codebase and nothing else when learning Haskell, that would be convenient to trace it
23:43:51 <elliott> :P
23:44:36 <oerjan> look at http://oerjan.nvg.org/esoteric/Unlambda.hs it is one of the first haskell programs i wrote
23:45:02 <elliott> hmm, I wonder if 2001 is after when the styles started melding together
23:45:10 <oerjan> heh i just intended by 2 there
23:45:19 <elliott> I do that :P
23:45:21 <elliott> I like how you import everything qualified
23:45:22 <oerjan> now i have this weird 4 with intermediate 2 thing
23:45:35 <elliott> '.' -> do c <- IO.hGetChar h; return (Dot c)
23:45:39 <elliott> I like the part where you didn't know what fmap was
23:45:45 <oerjan> heh :P
23:45:45 <elliott> or liftM I guess
23:46:03 <oerjan> yes, lots of things i would change today
23:46:05 <elliott> I also like how you abused Show :(
23:46:09 <elliott> (like here means don't like)
23:46:20 <elliott> (Computation cp1) >>= f = Computation cp where
23:46:20 <elliott> cp dat1 cont2 = cp1 dat1 cont1 where
23:46:20 <elliott> cont1 dat2 a = cp2 dat2 cont2 where
23:46:20 <elliott> (Computation cp2) = f a
23:46:25 <elliott> whaoh what is happening
23:46:42 <oerjan> i probably didn't know Show was not meant for displaying stuff, you know :P
23:46:46 <elliott> well this is certainly unique code :P
23:47:02 <oerjan> how so?
23:47:14 <elliott> callCC f = Computation cp where
23:47:15 <elliott> cp dat cont = cp2 dat cont where
23:47:15 <elliott> (Computation cp2) = f cont
23:47:19 <elliott> oerjan: well I don't exactly see nested where that often :P
23:47:23 <elliott> unless you need it because of scoping
23:47:25 <elliott> but you don't here at all
23:47:44 <elliott> lol at ExpressionSource
23:47:46 <elliott> newtype Filename = FN String
23:47:48 <oerjan> um yes i doo
23:47:49 <oerjan> *do
23:47:54 <elliott> did they not have FilePath back then?
23:47:56 <elliott> oerjan: oh hm
23:48:05 <elliott> <elliott> (Computation cp1) >>= f = Computation cp where
23:48:05 <elliott> <elliott> cp dat1 cont2 = cp1 dat1 cont1 where
23:48:05 <elliott> <elliott> cont1 dat2 a = cp2 dat2 cont2 where
23:48:05 <elliott> <elliott> (Computation cp2) = f a
23:48:07 <elliott> not there
23:48:14 <elliott> at least not the last one
23:48:57 <oerjan> elliott: seems i didn't know about field names :P
23:49:10 <elliott> Chunk x st >>= f = f x `mappend` Fuck (liftM (>>= f) st)
23:49:10 <elliott> my solution may be suboptimal
23:49:49 -!- Jafet has quit (Quit: Leaving.).
23:51:02 <elliott> oerjan: incidentally couldn't Set be made a monad if (Ord a) => were added to all its constructors
23:51:03 <oerjan> elliott: (Computation cp2) = f a uses the a parameter of the surrounding function, so the last where is definitely needed
23:51:07 <elliott> oh you can't do retur
23:51:08 <elliott> n
23:51:27 <elliott> oerjan: oh darn it does too
23:51:30 <elliott> I lost track of the a
23:53:33 <oerjan> <elliott> did they not have FilePath back then? <-- i think this is pretty much pure haskell 98 libraries
23:54:04 <elliott> :t openFile
23:54:05 <lambdabot> Not in scope: `openFile'
23:54:08 <elliott> ?hoogle openFile
23:54:09 <lambdabot> System.IO openFile :: FilePath -> IOMode -> IO Handle
23:54:10 <elliott> oerjan: so is FilePath
23:54:15 <elliott> it's a synonym for String
23:54:21 <elliott> you'd still need the newtype admittedly
23:54:22 <oerjan> ah yes.
23:58:33 <oerjan> as for abusing Show, i sometimes defined newtype RawString = Raw String; instance Show RawString where show (Raw s) = s
23:58:53 <elliott> > var "indeed."
23:58:54 <lambdabot> indeed.
23:59:49 <oerjan> and i think i have somewhere a [[a]] instance which displays a matrix/table
23:59:59 <elliott> oerjan: :'(
←2011-09-20 2011-09-21 2011-09-22→ ↑2011 ↑all