←2012-04-06 2012-04-07 2012-04-08→ ↑2012 ↑all
00:13:20 -!- zzo38 has quit (Remote host closed the connection).
00:22:17 <elliott> @time
00:22:18 <lambdabot> Local time for elliott is Sat Apr 7 01:22:45
00:25:14 <shachaf> kmc: <dmwit> This FAQ page is amazing.
00:27:49 <elliott> kmc: dmwit really likes -- yeah.
00:28:09 <elliott> <dmwit> Just... the whole thing is great. <monochrom> in any case, this FAQ should be cited more often <monochrom> @where faq <lambdabot> http://www.haskell.org/haskellwiki/FAQ <monochrom> nice
00:28:16 <elliott> YOU'RE FAMOUS
00:37:55 -!- Vorpal has quit (Read error: Operation timed out).
01:18:47 <elliott> @time
01:18:47 <lambdabot> Local time for elliott is Sat Apr 7 02:19:15
01:25:13 <elliott> @time
01:25:14 <lambdabot> Local time for elliott is Sat Apr 7 02:25:41
01:33:52 -!- Phantom_Hoover has quit (Read error: No route to host).
01:34:11 -!- Phantom_Hoover has joined.
01:36:53 <elliott> @time
01:36:53 <lambdabot> Local time for elliott is Sat Apr 7 02:37:21
01:52:06 -!- zzo38 has joined.
02:10:13 -!- Nisstyre has joined.
02:21:54 <shachaf> elliott: Did you know: Linear types are a forward facing temporal modality?
02:22:21 <shachaf> I guess the sentence is reasonable in the context.
02:22:35 <elliott> He's crushing all my childhood hopes and dreams.
02:22:37 <elliott> I'm a ruined man.
02:22:46 <elliott> And he's not even talking to me!
02:23:11 <shachaf> elliott: I'm using D! Is that esoteric?
02:24:16 <elliott> Why?
02:24:49 <shachaf> I'm not actually sure whether to use it yet.
02:25:04 <elliott> D is awful.
02:25:08 <shachaf> Oh. :-(
02:25:10 <elliott> Their toolchain support is beyond abominable.
02:25:13 <elliott> Ask RocketJSquirrel, pikhq, Deewiant.
02:25:27 <elliott> Also they have a ludicrously fractured community, two language versions, a bunch of compilers, two standard libraries.
02:25:33 <shachaf> "As the famous Roman mathematician [???] said: quod erat etceterandum"
02:25:45 <elliott> And it's very much a "pile everything in one language and shake it until it all sort of fits" language.
02:25:59 <shachaf> elliott: It can't be as bad as C++.
02:26:15 <shachaf> I once went to a talk about D which make it seem like a good language.
02:26:22 <elliott> Oh, sure, it's better than C++.
02:26:27 <elliott> D 2 even encodes some kinds of purity.
02:26:38 <elliott> I mean, brainfuck is also better than C++...
02:26:41 <shachaf> elliott: Were there any Roman mathematicians?
02:26:51 <shachaf> elliott: Is this the thing that ends with you telling me to just use Haskell?
02:27:37 <elliott> I don't like Haskell.
02:27:39 <elliott> What are you trying to write?
02:27:52 <shachaf> Various ptrace things.
02:28:03 <shachaf> I thought trying out D would be exciting. :-(
02:28:56 <elliott> Well, you can.
02:29:06 <elliott> But it will take you at least an hour to get a toolchain installed.
02:29:13 <shachaf> elliott: I already got gdc working.
02:29:19 <shachaf> Apparently gdc does D 2 these days.
02:29:24 <shachaf> It was just an apt-get away.
02:29:30 <elliott> lol, gdc
02:29:39 <elliott> I would not recommend gdc unless the year is currently 2008.
02:30:05 <elliott> Unless it stopped being crap after being maintained again.
02:30:10 <elliott> Deewiant uses ldc, FWIW.
02:30:17 <elliott> But it's D1. Except it does D2 too? I don't know.
02:30:26 <elliott> And Tango is much better than Phobos, but Tango is D1 only.
02:30:31 <shachaf> What's wrong with gdc?
02:30:50 <shachaf> @time shachaf
02:30:53 <shachaf> <lambdabot> 2008
02:31:09 * shachaf was too lazy to actually get lambdabot to say that.
02:31:17 <elliott> Things. I don't remember, I abandoned D as hopeless long ago.
02:31:18 <shachaf> But pretend it did. And that there was no space before the @.
02:31:26 <shachaf> (You already pretend there's no *time* before @, after all.)
02:32:55 <shachaf> elliott: The problem with Haskell is that if you use Haskell, you start wanting your code to be nice.
02:33:14 <shachaf> And suddenly you've spent a long time on getting the API right without getting anything done. :-(
02:33:23 -!- augur has joined.
02:33:28 <Phantom_Hoover> "In 2009, a strange smell began wafting through a Fort Worth call center that someone quickly recognized as a poisonous carbon monoxide leak." — Cracked
02:33:38 <Phantom_Hoover> Odd, that, seeing as carbon monoxide is odourless.
02:33:54 <shachaf> That's how they could tell!
02:33:57 <elliott> Phantom_Hoover: Erm, they put smell in it, don't they?
02:34:00 * Phantom_Hoover notes that they note that in the next paragraph.
02:34:03 <shachaf> "Can you smell that?" "No." "Oh no! CO!"
02:34:14 <Phantom_Hoover> elliott, they put smell into domestic gas supplies.
02:34:21 <elliott> `addquote <Phantom_Hoover> "In 2009, a strange smell began wafting through a Fort Worth call center that someone quickly recognized as a poisonous carbon monoxide leak." — Cracked <Phantom_Hoover> Odd, that, seeing as carbon monoxide is odourless. <shachaf> That's how they could tell! <shachaf> "Can you smell that?" "No." "Oh no! CO!"
02:34:24 <HackEgo> 839) <Phantom_Hoover> "In 2009, a strange smell began wafting through a Fort Worth call center that someone quickly recognized as a poisonous carbon monoxide leak." — Cracked <Phantom_Hoover> Odd, that, seeing as carbon monoxide is odourless. <shachaf> That's how they could tell! <shachaf> "Can you smell that?" "No." "Oh no! CO!"
02:35:03 <elliott> @time
02:35:04 <lambdabot> Local time for elliott is Sat Apr 7 03:35:31
02:42:34 <elliott> shachaf: "The ISP". America is weird.
02:42:37 <elliott> Phantom_Hoover: America is weird.
02:42:57 <shachaf> elliott: Which part?
02:43:12 <elliott> shachaf: The part where your ISPs all have regional monopolies.
02:43:14 <elliott> More or less.
02:43:24 <shachaf> elliott: I mean "in the building I'm in currently".
02:43:52 <shachaf> There are all sorts of ISPs around, and in one place 15 minutes' walk away it's Comcast.
02:43:56 <shachaf> Here it's not.
02:44:27 <elliott> America is still weird.
02:44:36 <elliott> @time shachaf
02:44:39 <lambdabot> Local time for shachaf is Fri Apr 6 19:44:36 2012
02:44:48 <elliott> What are you doing in a building at 19:44?
02:45:03 <shachaf> elliott: Here is America the buildings stay on the ground during the night.
02:45:09 <shachaf> It's weird.
02:45:14 <shachaf> s/is/in/
02:45:26 <elliott> Oh.
02:45:28 <elliott> That's weird.
02:45:32 <elliott> America is weird.
02:46:10 <shachaf> elliott: You should come visit!
02:52:14 <shachaf> monqy: hi
02:52:18 <monqy> shachaf: hi
02:52:26 <shachaf> monqy++
02:52:30 <shachaf> @karma monqy
02:52:30 <lambdabot> monqy has a karma of 3
02:52:49 <shachaf> monqy: What if we wrote a bot that said hi?
02:52:57 <monqy> would it be me
02:53:03 <shachaf> No.
02:53:06 <monqy> what if we wrote two bots that said hi
02:53:11 <shachaf> It would be called monqyprime
02:53:15 <shachaf> It would replace you.
02:53:59 <elliott> shachaf: Come visit where?
02:54:04 <shachaf> elliott: America.
02:54:09 <elliott> shachaf: I don't like America.
02:54:12 <shachaf> Anywhere there would do -- it's a small place.
02:54:28 <elliott> No it's not.
02:54:32 <shachaf> Oh.
02:54:38 <shachaf> monqy is america small monqy
02:54:48 <shachaf> elliott: You should come visit so that you can make an educated decision?
02:54:51 <shachaf> s/.$/!/
02:55:09 <monqy> how small is small
02:55:47 <elliott> Wait, aren't monqy and shachaf in the same Americaville?
02:56:03 <shachaf> monqy: they got three stop signs, two police officers, and one police car
02:56:04 <monqy> I'm in the america-shaped america
02:56:12 <monqy> what is the shape of your america
02:56:12 <elliott> State.
02:56:14 <elliott> I mean state.
02:56:24 <monqy> shachaf: that's pretty small!
02:56:47 <shachaf> elliott: "I live in California," stated Tom.
02:57:03 <elliott> does monqy live in tom
02:57:13 <shachaf> hi monqy
02:57:18 <monqy> hi elliott, shachaf
02:57:31 <monqy> heliochaf
02:57:39 <shachaf> monqy: Wait, is your name William Parker?
02:57:46 <monqy> that's what it says right
02:57:50 <monqy> why are you stalking me
02:58:09 <shachaf> Today waas an exciting day in the part of Americaville I live in.
02:58:24 <shachaf> There was a police car and there was police officers.
02:58:29 <shachaf> And guns.
02:58:39 <monqy> my americaville was boring
02:58:41 <shachaf> And the police officer said to come out with your hands up.
02:58:50 <monqy> no police officers
02:58:56 <monqy> there was a police car but it was just parked over there
02:59:08 <monqy> no hands
02:59:12 <monqy> no ups
02:59:17 <elliott> Do monqy and shachaf live within 100 miles of each other? They might meet and cause an explosion.
02:59:20 <elliott> Hi, antihi, you know.
02:59:23 <elliott> *cohi
02:59:26 <elliott> *contrahi
02:59:35 <shachaf> kmc is contrahi
02:59:55 <shachaf> elliott: The Americaville I live in once had the most murders per capita in the US once in the 1990s!
03:00:14 <shachaf> I mean city.
03:00:22 <shachaf> Whoa, man, monqy is in CA?
03:00:24 <monqy> my americaville starts with c and ends with alifornia
03:00:25 <shachaf> hi monqy
03:00:28 <monqy> hi shachaf
03:00:47 <shachaf> The Americaville I live in starts with c and ends with alifornia too.
03:01:15 <shachaf> That sounds exciting.
03:02:03 <elliott> Which Californiaville does shachaf live in?
03:02:10 <elliott> also I don't like murder :(
03:02:28 <shachaf> monqy: You should come visit!
03:02:33 <monqy> oh no
03:02:36 <shachaf> elliott: I live in silly valley.
03:03:00 <elliott> Does monqy live in a silly valley?
03:03:05 <shachaf> Probably.
03:03:08 <elliott> Also, I don't like silly valley. :(
03:03:13 <shachaf> But probably not the same one.
03:03:21 <monqy> isn't the world just one big silly valley
03:03:22 <shachaf> elliott: I recommend not living there.
03:03:40 <elliott> I didn't need that recommendation.
03:03:53 <elliott> How many insufferable startup people do you see per day?
03:04:17 <shachaf> elliott: It's pretty much all insufferable startup people.
03:04:29 <shachaf> Well, some of them are sufferable.
03:04:31 <monqy> shachaf: are you a insufferable startup people
03:04:41 <elliott> I don't think there are sufferable startup people.
03:04:44 <shachaf> monqy: Maybe. :-(
03:05:34 <shachaf> monqy: are you a insufferable startup people
03:05:44 <monqy> whats a startup no
03:05:49 <shachaf> elliott: A lot of the startup people are moving into the San Francisco these days.
03:06:26 <elliott> shachaf: I thought that was in silly valley. :(
03:06:30 <elliott> Wait, the other way around.
03:06:33 <shachaf> It's not. :-(
03:06:34 <elliott> California is complicated.
03:06:46 <shachaf> Silly valley is about an hour by train/car from SF.
03:15:17 <shachaf> elliott: Which Ukville do you live in again?
03:15:33 <elliott> Uk.
03:15:44 <shachaf> It's Scotland, right?
03:15:47 <shachaf> Scotland is like a state, right?
03:16:30 <elliott> Yes.
03:16:44 <shachaf> Is Hexham like a state?
03:17:40 <elliott> Yes.
03:17:56 <elliott> @time
03:17:57 <lambdabot> Local time for elliott is Sat Apr 7 04:18:24
03:19:25 <shachaf> monqy: Are you in Lompocalifornia.
03:19:32 <monqy> maybe
03:19:52 <monqy> does lompocalifornia start with c and end with alifornia
03:22:48 <elliott> yse
03:23:44 <elliott> "You've earned the "ghc" badge. See your profile."
03:23:45 <elliott> now im the spj
03:25:51 * Sgeo checks out What Fools These Mortals again
03:26:01 <monqy> hi
03:26:08 <monqy> what's what fools these mortals again
03:26:08 <Sgeo> (A NetHack-related "game" where you take the role of a god)
03:26:10 <monqy> oh
03:26:14 <elliott> hi
03:27:08 <Sgeo> http://www.crummy.com/software/WhatFools/
03:28:33 <Sgeo> http://pastie.org/3742697
03:29:35 <monqy> hi
03:30:11 <elliott> @time Phantom_Hoover
03:30:12 <lambdabot> Local time for Phantom_Hoover is Sat Apr 7 03:27:10
03:30:13 <elliott> @time america
03:30:14 <elliott> @time RocketJSquirrel
03:30:15 <lambdabot> Local time for RocketJSquirrel is Fri Apr 6 23:30:12
03:30:21 <elliott> What time is int Americjmiao
03:30:22 <Sgeo> Hmm, ignoring a prayer sets the worshipper's HP to half their max HP
03:30:34 <Sgeo> And helping has a 1/30 chance of killing the player
03:30:42 <Sgeo> *worshipper
03:30:51 <monqy> whatfools won't run for me :'( sgeo help
03:31:05 <Sgeo> What happens when you try?
03:31:22 -!- MDude has joined.
03:31:24 -!- MDude has changed nick to MSleep.
03:31:30 <monqy> File "WhatFools.py", line 210
03:31:30 <monqy> as = alignmentSelection.keys()
03:31:30 <monqy> ^
03:31:46 <monqy> same error on both python (3.2.2) and python2 (2.7.2)
03:31:53 <monqy> im too new :'(
03:32:36 <elliott> i like how
03:32:40 <elliott> you ommitted the actual errore
03:32:42 <Sgeo> Does it say anything after the ^
03:33:06 <monqy> no thats it
03:33:09 <monqy> i forgot to cpy
03:33:21 <monqy> now i forgot where i put it oh there it is
03:33:30 <monqy> SyntaxError: invalid syntax
03:33:33 <monqy> most exciting error
03:34:45 <shachaf> <elliott> the most exciting error is T_PAAMAYIM_NEKUDOTAYIM
03:34:59 <monqy> :o im excited
03:35:13 <coppro> it really is
03:35:15 <elliott> jumping to -1 is exiting
03:35:53 <Sgeo> Hmm, is the lambda in the wrap that's above it valid?
03:36:18 <monqy> sgeo it's that "as" is special syntax not a valid identifier
03:36:26 <Sgeo> Oooh
03:37:05 <Sgeo> How did this even get distributed in this state, then?
03:37:15 <monqy> im too lazy to get the module i need to get to make it work after fixing that which i was somehow not too lazy not to fix
03:37:35 <Sgeo> Just replace usage of as in that function with ass
03:37:44 <monqy> i replaced it with qs long ago
03:37:47 <Sgeo> Oh
03:38:16 <elliott> <Sgeo> How did this even get distributed in this state, then?
03:38:20 <elliott> because as wasn't syntax a while ag
03:38:21 <elliott> ago
03:38:23 <elliott> 2.4ish
03:38:33 <Sgeo> Ah
03:40:54 <shachaf> /mode +b elliott
03:41:05 <coppro> dammit ais
03:41:09 <monqy> belliot
03:41:18 <shachaf> monqy: wasnt that a good joke
03:41:38 <monqy> i would have said beliot but then i wouldn't have gotten belli in there
03:42:20 <shachaf> beliot
03:42:28 <monqy> yes
03:42:46 <elliott> belot
03:43:25 <shachaf> bt
03:43:35 <Sgeo> It is sad that I seem to have forgotten a lot about Python?
03:43:46 <shachaf> hi Sgeo
03:43:47 <monqy> beety, beaty, baety, baaty, batty
03:43:57 <shachaf> s/Sgeo/monqy/
03:44:01 <quintopia> Sgeo: no, not really
03:44:05 <quintopia> the sooner the better!
03:44:18 <monqy> Sgeo, shachaf, monqy: hi
03:45:27 <Sgeo> monqy, hi
03:49:39 <elliott> @time
03:49:39 <lambdabot> Local time for elliott is Sat Apr 7 04:50:07
03:49:41 <elliott> im going to
03:49:44 <elliott> brb for half an hour
03:49:45 <elliott> nobody die
03:49:48 <elliott> nobody change their name
03:49:50 <elliott> nobody get married
03:50:07 <shachaf> elliott: canimarrymonqy:(
03:50:13 <elliott> yes
03:50:22 <monqy> heads up my name is elliote now
03:50:40 <shachaf> hi elliote
03:50:40 <monqy> just kidding, that was a joke
03:50:45 <shachaf> oh:(
03:50:45 <monqy> my name is really elliotts
03:50:53 <shachaf> hi elliotts
03:50:56 <monqy> hi
03:51:08 <shachaf> whos monqy
03:51:15 <shachaf> iwastalking to elliotts
03:51:29 <shachaf> HELP
03:51:34 <monqy> oh no, what did i do to elliotts
03:51:38 <monqy> what have i done
03:51:52 <itidus20> monqy is that dead, married guy named monqy_
03:52:09 <shachaf> Oh, monqy!
03:52:17 <shachaf> william "hi" parker, also known as monqy
03:52:50 <monqy> monqy is just a puppet, i was elliotts all along
03:53:14 <shachaf> gasp
03:53:54 <itidus20> `? monqy
03:53:57 <HackEgo> The friendship monqy is an ancient Chinese mystery; ask itidus21 for details.
03:54:07 <shachaf> itidus20: for details?
03:54:10 <itidus20> *gasp*
03:54:11 <monqy> itidus20: where's itidus21
03:54:37 <itidus20> itidus21 is just a puppet, i was itidus21 all along
03:54:45 <itidus20> oops
03:55:06 <monqy> does this mean you were a puppet all along
03:55:45 <itidus20> `log puppet
03:56:17 <HackEgo> No output.
03:56:21 <itidus20> `log puppet
03:56:41 <HackEgo> 2011-02-08.txt:15:06:28: <ais523> sockpuppets wouldn't necessarily be a problem, you could think up ways to exclude them
03:56:53 <shachaf> The law of excluded sockpuppet.
03:56:54 <shachaf> @hey-shapr
03:56:54 <lambdabot> shapr!!
03:57:09 <shachaf> is monqy = lambdabot
03:57:28 <monqy> @hi
03:57:54 <shachaf> @hi there
03:57:54 <lambdabot> No match for "there".
03:58:08 <shachaf> @histogram
03:58:08 <lambdabot> Unknown command, try @list
03:58:13 <shachaf> hi stogram
03:58:27 <monqy> hi shachaf
04:02:00 -!- Phantom_Hoover has quit (Remote host closed the connection).
04:02:26 <shachaf> elliott: lifestream is recommending LYAH
04:05:03 <shachaf> elliott: Who was Elemir again?
04:15:17 -!- Case2 has quit (Quit: Leaving.).
04:33:02 <calamari> it just dawned on me that incrementing a variable in a loop should cause python to eventually use all available memory
04:35:44 <elliott> shachaf: How do I become as cool as edwardk?
04:35:58 <shachaf> elliott: Man, you should *meet* edwardk someday.
04:36:08 <shachaf> He has all these great stories.
04:38:19 <zzo38> What are they called, something like an endofunctor in Haskell, but (x -> x) -> y -> y instead of having the type parameter?
04:38:53 <elliott> shachaf: I'm not worthy. :(
04:40:10 <zzo38> It seems to be something like a functor from one subcategory of (->) to another one? But even then, this is something more specific
04:47:48 <zzo38> Do you know what they are?
05:05:04 <shachaf> elliott: You should come to America! That's where edwardk is.
05:06:49 <shachaf> zzo38: Hay you!
05:06:57 <shachaf> Are you in America?
05:07:01 <shachaf> America the country.
05:07:17 <quintopia> zzo38 is canada
05:07:25 <quintopia> canadiehese
05:07:32 <zzo38> shachaf: I am in America the continent. The country is Canada.
05:07:54 <shachaf> America is a country.
05:08:05 <shachaf> There is no continent but America and America is its country.
05:08:56 -!- NihilistDandy has joined.
05:09:07 <shachaf> elliott: http://dlang.org/property.html
05:10:15 <elliott> shachaf: Yes?
05:10:24 <shachaf> Never mind.
05:10:24 -!- MSleep has quit (Read error: Connection reset by peer).
05:10:43 <elliott> shachaf: Yes, it's horrible.
05:11:13 <shachaf> Huh?
05:11:17 <shachaf> Oh, D.
05:11:26 <shachaf> elliott: What language should I use?
05:12:34 <elliott> Prolog.
05:12:40 -!- MDude has joined.
05:12:49 -!- asiekierka has joined.
05:13:00 <shachaf> elliott: Apparently I HAVE A BADGE ON STACKOVERFLOW TOO.
05:13:04 <shachaf> SO THERE.
05:14:17 -!- asiekierka has left.
05:15:31 <elliott> I HAVE 160
05:15:50 <shachaf> Why is that 160 lowercase?
05:16:09 <NihilistDandy> !^) looks like an emoticon
05:26:26 <shachaf> Parsec Haskell. Parskell.
05:27:08 <NihilistDandy> Surely you mean Hasksec, the purely functional branch of Lulzsec
05:27:42 <NihilistDandy> You'll hear about their exploits when the thunk chain finally resolves.
05:28:03 -!- MDude has quit (Read error: Connection reset by peer).
05:31:04 -!- kmc has quit (Quit: Leaving).
05:33:06 -!- MDude has joined.
05:37:23 <Sgeo> I've been told that the problem with D is that there are two different incompatible standard libraries
05:46:36 <elliott> @tell oerjan your paren monoid was invented by sigfpe http://blog.sigfpe.com/2009/01/beyond-regular-expressions-more.html
05:46:37 <lambdabot> Consider it noted.
05:46:54 <shachaf> You could have invented paren monoids.
05:52:40 <shachaf> elliott: Why is strace so good?
05:57:28 <coppro> Sgeo: which two?
06:02:00 -!- kmc has joined.
06:02:41 <kmc> shachaf, cool! i'm glad people like the FAQ
06:02:56 <kmc> glad not just because i wrote it, though that's a large part of why
06:03:18 <shachaf> It has terrible Google ranking.
06:03:28 <kmc> i know
06:03:33 * kmc no good at SEO
06:03:43 <shachaf> You should buy backlinks!
06:03:45 <shachaf> five dola
06:03:46 <kmc> i could link it from my blog
06:03:51 <kmc> but even i am not that shameless
06:04:08 <shachaf> What's wrong with doing that?
06:04:12 <elliott> "haskell faq"
06:04:13 <elliott> second result
06:04:20 <shachaf> Maybe you can sneak it into your "why I left #haskell" post.
06:04:27 <shachaf> elliott: Not here.
06:04:28 <kmc> my blog has reasonable ranking on a variety of searches, though i haven't controlled for google customized results
06:04:41 <kmc> for me it's actually not on the first page
06:04:45 * shachaf is searching in Chromium Incognito Mode.
06:04:48 <elliott> well i clicked it a lot so
06:05:00 <shachaf> It's not on the first page here either.
06:05:29 <shachaf> On the other hand Bing has it as the second result.
06:10:01 -!- azaq23 has quit (Read error: Connection reset by peer).
06:11:54 <shachaf> kmc: Did you see edwardk's exciting Haskell adventures? <edwardk> elliott: monoid :: (a -> a -> a) -> a -> (Monoid a => r) -> r
06:12:04 <kmc> huh
06:12:31 <Sgeo> coppro, o.O/
06:12:31 <Sgeo> ?
06:12:45 <elliott> kmc: I'm optimising edwardk's library!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
06:12:57 <shachaf> Isn't that, like, a groovy type, dude?
06:14:31 <Sgeo> coppro, there are more than two standard libraries for D?
06:17:19 -!- NihilistDandy has quit.
06:30:24 -!- calamari has quit (Quit: Leaving).
07:13:42 -!- Patashu has changed nick to SpectralPatashu.
07:20:37 -!- SpectralPatashu has changed nick to Patashu.
07:30:28 -!- Taneb has joined.
07:30:35 <Taneb> Hello
07:30:38 <elliott> @tell oerjan btw my optimised implementation has (will soon) made (make) it into reflection; it's all packed into bytes now
07:30:38 <lambdabot> Consider it noted.
07:31:13 <Taneb> What's the context of the topic?
07:32:47 <oklopol> sigfpe didn't really invent anything there
07:33:04 <elliott> oklopol: my definition of invent is loose
07:33:06 <elliott> Taneb: zzo38
07:33:13 <oklopol> okay
07:33:28 <Taneb> Hmm
07:34:37 <oklopol> "The syntactic monoid of the Dyck language is isomorphic to the bicyclic semigroup by virtue of the properties of Cl([) and Cl(]) described above."
07:34:42 <oklopol> -- http://en.wikipedia.org/wiki/Dyck_language
07:34:57 <oklopol> plus that's obvious
07:35:04 <elliott> oklopol: i don't require originality or even lack of prior knowledge to invent something
07:35:11 <oklopol> :P
07:35:35 <oklopol> oerjan: congrats on your invention by elliott's def
07:41:01 <shachaf> hi monqy
07:41:04 <shachaf> elliott is famous now
07:53:46 <monqy> hi
07:54:38 <monqy> congratulation elliotts
07:54:58 <elliott> this am a whole THREE hackage package im contribute 2 now
07:55:04 <elliott> *3, TWO
07:56:35 <elliott> monqy: https://raw.github.com/ehird/reflection/master/Data/Reflection.hs look at my arte
07:57:00 <monqy> bytes go
07:57:13 <monqy> oh i remember that
07:57:22 <monqy> or at least something that looks an awful lot like that
07:57:30 <elliott> monqy: Yes, this time I rewrote it and it's going in the Actual Package.
07:57:47 <elliott> Which currently looks like this instead: http://hackage.haskell.org/packages/archive/reflection/0.8/doc/html/src/Data-Reflection.html
07:58:12 -!- Ngevd has joined.
07:58:38 -!- Taneb has quit (Ping timeout: 246 seconds).
07:59:29 -!- Ngevd has changed nick to Taneb.
08:10:11 -!- Ngevd has joined.
08:10:14 -!- Taneb has quit (Read error: Connection reset by peer).
08:11:13 -!- Ngevd has quit (Client Quit).
08:19:52 <elliott> @time
08:19:52 <lambdabot> Local time for elliott is Sat Apr 7 09:20:19
08:20:06 <shachaf> goto sleep;
08:20:35 <elliott> no
08:22:17 -!- oerjan has joined.
08:22:41 <elliott> hi oerjan
08:23:05 <oerjan> hi elliott
08:23:05 <lambdabot> oerjan: You have 2 new messages. '/msg lambdabot @messages' to read them.
08:23:11 <oerjan> @messages
08:23:11 <lambdabot> elliott said 2h 36m 33s ago: your paren monoid was invented by sigfpe http://blog.sigfpe.com/2009/01/beyond-regular-expressions-more.html
08:23:11 <lambdabot> elliott said 52m 33s ago: btw my optimised implementation has (will soon) made (make) it into reflection; it's all packed into bytes now
08:23:43 <shachaf> hi oerjan
08:24:01 <shachaf> oerjan: hi
08:24:11 <shachaf> hoerjan
08:24:15 <oerjan> oerjan: i should suspect it was known back in the 50s-60s, like everything else
08:24:15 <shachaf> oi
08:24:18 <oerjan> hi shachaf
08:24:30 <elliott> you just pinged yourself
08:24:34 <oerjan> er
08:24:40 <oerjan> *elliott:
08:24:48 <shachaf> *elliott
08:24:52 <oerjan> elliott: i blame shachaf
08:24:52 <elliott> oerjan: it made it in; before: http://hackage.haskell.org/packages/archive/reflection/0.8/doc/html/src/Data-Reflection.html; after: https://raw.github.com/ekmett/reflection/master/Data/Reflection.hs
08:25:04 <shachaf> Is that like a *semiring?
08:25:20 <oerjan> shachaf: what, a monoid?
08:25:35 <shachaf> A *elliott.
08:25:46 <elliott> oerjan: (even before is simplified since i suggested he simply reify the pointer as one number rather than as a list of numbers)
08:26:20 <oerjan> shachaf: *semirings, is that * like in C*-algebra?
08:26:39 <oerjan> elliott: ah
08:27:17 <oerjan> elliott: but you are still not using the obvious direct core construction which logically _must_ exist, right? >:)
08:27:31 <elliott> oerjan: i plan to try it out (with Cmm, since you can't write core)
08:27:33 <elliott> (as a foreign import prim)
08:27:40 <elliott> but i'm trying to get the same effect with unsafeCoerce first
08:27:46 <oerjan> ah
08:27:47 -!- oklopol has quit (Quit: ( www.nnscript.com :: NoNameScript 4.22 :: www.esnation.com )).
08:28:08 <elliott> what you see there is as direct as you can get in "portable" haskell, though
08:28:21 <elliott> make a stable pointer, assign one type per byte, reflect it back, dereference it, free it
08:30:19 <oerjan> well, if it also works in jhc (that's the only other haskell implementation worth mentioning these days, right?) that's probably good
08:32:16 <oerjan> otherwise, i'd sort of expect core would be more long term stable than a lower level?
08:32:54 <oerjan> but of course they probably have no compuction changing that if they need some new type feature or whatever
08:34:14 <elliott> oerjan: um it uses TypeFamilies
08:34:18 <elliott> so it works on nothing but ghc
08:34:20 <oerjan> *compunction
08:34:26 <oerjan> elliott: aww
08:34:27 <elliott> UHC is probably more relevant than jhc
08:34:40 <elliott> oerjan: anyway, i have no idea why you continue to believe core is a viable scenario, since ghc _can not_ read core
08:34:45 <elliott> and never has been able to
08:34:49 <shachaf> elliott: Did you know the average American watches over 28 hours a day of television?
08:34:51 <elliott> it has no core frontend, full stop
08:35:14 <oerjan> elliott: but there _is_ a core plugin feature, though
08:35:39 <oerjan> i had the thought that should be possible to use
08:36:07 <elliott> what do you mean by that?
08:36:23 <elliott> oh the core-to-core pass things?
08:36:25 <elliott> that might work.
08:36:29 <elliott> ghc 7.2+ only though
08:36:57 <oerjan> yeah
08:42:34 <elliott> oerjan: i got it working with unsafeCoerce
08:42:50 <elliott> http://hpaste.org/raw/66547 (fundeps)
08:42:53 <elliott> http://hpaste.org/raw/66550 (type families)
08:45:27 <kmc> ttants: semirings, smearings
08:45:37 <oerjan> yay!
08:46:03 <elliott> oerjan: fundep one is much nicer, type family one has weird workarounds
08:50:35 <elliott> oerjan: even simpler, thanks to edwardk: http://hpaste.org/66551
08:55:14 <oerjan> i suppose this means that a class dictionary of a single method is implemented simply as that method
08:55:29 <oerjan> with no physical wrapping
08:55:41 <elliott> apparently
08:55:57 <oerjan> which of course makes sense for efficiency
09:04:03 <oerjan> interestingly, the "evil" unsafeCoerce version is probably easier to understand :P
09:04:54 <oerjan> *versions are
09:05:01 <elliott> indeed, it is
09:13:03 -!- monqy has quit (Quit: hello).
09:16:09 -!- zzo38 has quit (Quit: Remember: sanity Impares; reality is not a part of physics; and Iuckqlwviv Kjugobe was here.).
09:17:39 <elliott> oerjan: i think it might be the most terrifying 5-line module ever
09:18:32 <oerjan> XD
09:18:44 -!- kmc has left ("Leaving").
09:19:00 -!- kmc has joined.
09:22:17 <elliott> oerjan: btw this evil made a benchmark go from 130ms to 6ms
09:22:26 <oerjan> yay :P
09:22:27 <elliott> because instead of a stableptr etc. etc. etc. it's literally just the cost of a function call
09:23:43 <elliott> oerjan: fun fact: reflection has broken API-compatibility four times today
09:23:45 <elliott> with Hackage releases
09:24:02 <oerjan> wait, why would the API change because of this?
09:24:45 <elliott> well at first it changed to something that only needs Rank2Types, not the optimisation stuff
09:24:59 <elliott> then he did my suggestion of removing one intermediate (exposed) layer and just reifying the pointer as a number directly
09:25:12 <elliott> then he realised that the fewer-extensions API is just a big red unsafeCoerce button
09:25:18 <elliott> so he did it with type families instead
09:25:33 <elliott> then my optimisations came in and unexported the changed, slower intermediate API
09:26:09 -!- Taneb has joined.
09:26:56 <Taneb> Hello!
09:27:12 <elliott> hi Taneb
09:31:16 <Taneb> @ping
09:31:16 <Taneb> Damn
09:31:17 <lambdabot> pong
09:38:07 <oerjan> `addquote <shachaf> elliott: It can't be as bad as C++. [...] <elliott> Oh, sure, it's better than C++. [...] <elliott> I mean, brainfuck is also better than C++...
09:38:16 <HackEgo> 840) <shachaf> elliott: It can't be as bad as C++. [...] <elliott> Oh, sure, it's better than C++. [...] <elliott> I mean, brainfuck is also better than C++...
09:46:00 <shachaf> I GET IT
09:46:06 <shachaf> THE JOKE IS THAT C++ IS BAD
09:46:47 <kmc> shachaf++
09:47:51 <Taneb> C++ is the non-esoteric language I know 5th best
09:48:11 <Taneb> I can barely remember any of the non-esoteric language I know 3rd best
09:51:00 <kmc> shachaf knows what i'm going to say next
09:51:26 <shachaf> Yep.
09:53:43 <shachaf> So speaking of C++, it looks like D is more or less trying to be "C++ Done Right" (but with GC).
09:54:01 <shachaf> The quote about svn and cvs comes to mind... But I haven't looked into it particularly deeply yet.
10:00:37 -!- oerjan has quit (Quit: Later).
10:06:23 <pikhq> shachaf: That is the expressed intent of D.
10:06:56 <elliott> kmc: What are you going to say next?
10:07:01 <kmc> that C++ is an esolang
10:07:14 <kmc> i think "C++ done right but with GC" almost misses the point of C++
10:08:42 <kmc> C++ tries to combine a very high-level style with exact, deterministic resource management and zero overhead for unused features
10:09:10 <pikhq> kmc: It's C++ with *optional* GC.
10:09:24 <kmc> sure
10:09:24 <pikhq> And slightly less insane and esoteric syntax and semantics.
10:09:40 <kmc> in fact bjorn stroopwafel or whatshisname says the next C++ will have optional gc
10:09:45 <kmc> except that was several c++es ago
10:10:07 <pikhq> (because everybody loves having to write a parser-interpreter-compiler)
10:10:26 <pikhq> kmc: IIRC C++11 permits a GCed implementation.
10:11:10 <kmc> C++ is memory-safe and leak-free, except for all the parts that aren't
10:11:18 <kmc> i do mean this statement to be slightly serious
10:11:59 <kmc> doing things the C++ Way is usually too cumbersome, so C++ programmers do it the C Way instead, which is why we think of C++ as a memory-unsafe, low-level language
10:12:32 <kmc> a better language designed on the same principles as C++ might reach the point where arrays and pointer casts are akin to unsafeCoerce in Haskell
10:14:59 <pikhq> C++ has design principles, beyond "attempt to obsolete C feature X and do it poorly"?
10:15:12 <kmc> i think so yes
10:15:24 <kmc> such as 'combine a very high-level style with exact, deterministic resource management and zero overhead for unused features'
10:16:10 <kmc> they failed to make the language usable in this way
10:16:23 <elliott> kmc: have you ever unsafeCoerced an instance dictionary
10:16:49 <kmc> elliott, have you ever unsafeCoerced an instance dictionary... on weed?
10:17:10 <elliott> no :(
10:17:19 <elliott> <bitonic> MagneticDuck: you can with GHC, but you don't want to.
10:17:29 <elliott> Would people stop saying this in response to "do I need to use IO" questions?
10:17:31 <elliott> (No.)
10:18:33 -!- derdon has joined.
10:18:43 <pikhq> elliott: But it's not a good answer unless it's maximally confusing!
10:19:15 <pikhq> Also, I should probably sleep. I think the sun's about to come up.
10:19:17 <pikhq> @time
10:19:20 <lambdabot> Local time for pikhq is Sat Apr 7 04:19:16 2012
10:19:24 <elliott> @time
10:19:24 <lambdabot> Local time for elliott is Sat Apr 7 11:19:51
10:19:26 <kmc> @time
10:19:27 <lambdabot> Local time for kmc is Sat Apr 7 06:19:49
10:21:28 <elliott> @time shachaf
10:21:28 <lambdabot> Local time for shachaf is Sat Apr 7 03:21:27 2012
10:21:34 <elliott> too many time
10:22:42 <kmc> C++ is a bad language but it's bad in almost the opposite way of other bad languages
10:23:01 <kmc> which is why it's so interesting!
10:31:24 -!- Taneb has quit (Read error: Connection reset by peer).
10:31:33 -!- Taneb has joined.
10:34:50 <itidus20> .... ok... i guess that people left real programmers alone until they started plugging colour monitors and speakers into them :P
10:35:28 <kmc> what
10:35:41 <itidus20> ahh i will restate with improvements
10:36:31 <itidus20> I guess that before graphical monitors and speakers being plugged into computers, the computers were mostly the domain of real programmers
10:36:46 <kmc> oh god
10:36:51 <itidus20> is it not so?
10:36:51 <kmc> are we seriously going to talk about "real programmers"
10:37:05 <pikhq> Real programmers $meme
10:37:25 <Taneb> It was mostly the domain of academics and data crunchers and the military
10:37:28 <Taneb> iirc
10:37:41 <itidus20> by the definition that a real programmer does not require graphics or speakers to enjoy programming :P
10:37:43 <elliott> kmc: Try adjusting your definition of "we".
10:38:21 <itidus20> maybe pre-text
10:38:44 <kmc> jesus
10:40:31 <kmc> itidus20, pro tip: talking about "real programmers" makes you sound like a total douchebag
10:43:31 <elliott> You realise everybody else just doesn't respond to him, right?
10:43:39 <kmc> maybe i should adopt this policy
10:43:54 <itidus20> ok, well, why is c++ a bad language?
10:44:08 <kmc> elliott, but someone is wrong on the internet! i can't just stand by!
10:45:40 <itidus20> maybe good programmers just happen to use bad languages
10:46:02 <kmc> some of them do
10:46:07 <kmc> some bad programmers use good languages
10:46:10 <kmc> what's your point
10:46:40 <itidus20> probably the majority of good programmers use bad languages, since the majority of coding is probably in c++ and java these days
10:46:53 <kmc> ok you just actually have no idea what you're talking about
10:46:55 <kmc> that's ok
10:47:32 <elliott> You just now realise this?
10:47:48 <kmc> well I realized it long ago for statements involving haskell
10:47:51 <itidus20> maybe c++ reminds people of the basic they grew up with on their 8bit machines designed to plug ito tvs
10:47:54 <kmc> i did not know it generalized so well
10:48:02 <kmc> yeah man, C++ and BASIC are so similar
10:48:08 <itidus20> so they have an affinity
10:48:18 <kmc> i remember that time I got screwed by multiple virtual inheritance in basic
10:48:28 <kmc> i fixed it with curiously recuring template pattern
10:48:33 <kmc> but the compile times were killer
10:49:06 <elliott> kmc: https://raw.github.com/ekmett/reflection/master/fast/Data/Reflection.hs
10:49:11 <elliott> Did I link you to that yet?
10:49:23 <kmc> everyoen is linking it
10:49:24 <kmc> idgi
10:49:29 <kmc> i can't understand this code right now
10:49:35 <elliott> kmc: You know the reflection package, right?
10:49:39 <kmc> oh, this is different
10:49:43 <elliott> No.
10:49:43 <kmc> from the other thing people are linking
10:49:46 <elliott> Oh.
10:49:47 <elliott> Okay.
10:49:54 <elliott> This is the new new version.
10:49:56 <elliott> It's been rewritten twice today.
10:50:07 <kmc> of course
10:50:17 <elliott> Oleg took about two pages of code to do it.
10:50:25 <elliott> This one takes about 10 lines, thanks to being completely unportable.
10:50:36 <elliott> Basically, it synthesises an instance dictionary at runtime.
10:50:48 <elliott> By unsafeCoercing something with a typeclass context and passing it a value instead.
10:50:59 -!- Taneb has quit (Ping timeout: 245 seconds).
10:53:43 <itidus20> i wasn't so bad once.. but these days when i try to concentrate on anything properly i end up with a full-blown attack of existential anxiety
10:53:48 <itidus20> i don't conciously know why
10:54:18 <kmc> try doctors and pills
10:54:34 <kmc> elliott, does the 'reflection' library solve an inherently hard problem
10:54:51 <kmc> or is this another case of Haskell insanity to do something that's very easy in most languages
10:55:10 <kmc> i can see ways in which the 'reflection' solution is nicer than what you usually do in other languages
10:55:16 <elliott> kmc: Could you try and ask a more loaded question?
10:55:35 <elliott> It's not really an "external" problem, but I don't think other languages solve it well.
10:55:44 <elliott> This lets you write numeric typeclass instances for modular arithmetic.
10:55:47 <elliott> Where you decide the modulus at runtime.
10:56:11 <kmc> i would do that in Python by creating a class for numbers mod n and overloading arithmetic on it
10:56:15 <elliott> Here's another interesting example: https://raw.github.com/ekmett/reflection/master/examples/Monoid.hs
10:56:19 <elliott> kmc: That doesn't work.
10:56:27 <elliott> kmc: You have to specify the modulus every time you create such an object.
10:56:36 <elliott> With this, it's just: (2 + 2) `modulo` 6
10:56:54 <elliott> The configuration is implicitly plumbed.
10:57:12 <elliott> kmc: (And with that solution, you can have two objects with differing modulopodes being added together. Nasty.)
10:57:22 <elliott> That's just like bundling the modulus with the value and giving that a Num instance.
10:57:41 <kmc> yes
10:57:46 <kmc> except that in Python you don't expect static checking ;P
10:57:52 <elliott> Well, sure.
10:57:58 <elliott> Even then you still have to specify the modulus every time.
10:58:03 <elliott> Anyway, that Monoid example is cool..
10:58:31 <elliott> Specify a function and a value, and suddenly you have a monoid (M a s) (for unknown s, like runST), and M :: a -> M a s.
10:58:39 <elliott> Then it extracts out the a for you at the end.
10:59:23 <elliott> The best part of the new implementation of reflection is that it shows a typeclass with no instances, and a function that gives you an instance for it.
10:59:27 <elliott> (In the Haddocks.)
11:00:35 <elliott> kmc: also come on, it's turning a value into a type and back again, that's inherently cool
11:01:08 -!- MoALTz_ has joined.
11:01:08 <elliott> kmc: oh, another use-case is for fixed precision arithmetic
11:01:18 <elliott> you can have one fixed precision type that works with arbitrary precisions at runtime
11:01:27 <elliott> and you can't mix two values with different precisions etc.
11:01:35 <elliott> because they contain the token representing the precision in their type
11:01:48 <elliott> (and you can mix and match multiple such precisions at once)
11:03:58 -!- MoALTz has quit (Ping timeout: 246 seconds).
11:08:53 -!- Phantom_Hoover has joined.
11:15:08 -!- Vorpal has joined.
11:15:12 <elliott> hi Phantom_Hoover
11:15:16 <elliott> what time is it in america hoover
11:15:17 <elliott> @time
11:15:17 <lambdabot> Local time for elliott is Sat Apr 7 12:15:44
11:15:19 <Phantom_Hoover> oh no vorpal
11:17:16 <itidus20> after some thought, it seems to me that what i know colloquially as the fibonacci function is an iterator of the fibonacci sequence
11:19:20 <itidus20> eep.
11:19:33 <Phantom_Hoover> Pfft, the Fibonacci function is F(n) = (((1+sqrt(5))/2)^n-((1-sqrt(5))/2))/sqrt(5).
11:19:53 <itidus20> best file my comment away as "You realise everybody else just doesn't respond to him, right?"
11:20:17 <itidus20> because
11:20:35 <elliott> Hey kmc. How can I cast String to Just String?
11:21:32 <itidus20> ultimately, no matter how sincere i may sound, unless i actually do something meaningful between my posts, i will be repeating the same nonsense again and again
11:42:21 <elliott> Alright, who's in Maryland?
12:41:33 -!- asiekierka has joined.
13:10:37 -!- Taneb has joined.
13:11:27 -!- augur has quit (Remote host closed the connection).
13:11:29 <Taneb> Hello!
13:12:16 <elliott> hi
13:16:14 <itidus20> 0x2B | !(0x2B)?
13:16:49 <Taneb> Isn't that just 0xFF?
13:17:02 <itidus20> yup :(
13:17:03 <Taneb> Assuming bitwise inversal and or-ing
13:17:19 <Phantom_Hoover> Inversal?
13:17:25 <Taneb> !
13:17:29 <Taneb> Not-ing
13:17:39 <itidus20> i tried it on windows calculator to see what would happen
13:17:53 <Phantom_Hoover> (It's 0x2B, assuming C syntax; ~ is bitwise not, ! is logical.)
13:18:17 <Taneb> Well, I guess that solves Hamlet's problem
13:18:28 <itidus20> oh crap hoover u win
13:18:51 <itidus20> this is why i didn't program the nuclear launch computer
13:19:21 <Phantom_Hoover> That is not my foremost reason not to let you program a nuclear launch computer.
13:21:18 <itidus20> whoa.. i just had an amusing thought.. a sprite in a video game riding a bomb drop
13:21:33 <Phantom_Hoover> Hilarious.
13:24:21 <itidus20> i can has kell
13:30:31 <olsner> I wonder what it means for a sprite to ride something, and what a bomb drop is
13:32:25 <itidus20> i want to shut up i really do
13:35:01 -!- Nisstyre has quit (Read error: Operation timed out).
13:37:37 -!- Nisstyre has joined.
13:38:29 -!- Taneb has quit (Read error: Connection reset by peer).
13:38:51 <elliott> kmc: btw, the paper goes into some depth about the advantages of reflection's technique and its applications: http://www.cs.rutgers.edu/~ccshan/prepose/prepose.pdf
13:39:00 <elliott> (despite having an overly-complicated implementation)
13:43:15 -!- augur has joined.
13:44:14 -!- augur has quit (Remote host closed the connection).
13:53:42 -!- Taneb has joined.
13:58:05 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
14:02:41 -!- Taneb has quit (Read error: Connection reset by peer).
14:03:23 -!- Taneb has joined.
14:09:39 <Taneb> @ping
14:09:39 <lambdabot> pong
14:18:36 -!- cheater__ has joined.
14:21:41 -!- cheater_ has quit (Ping timeout: 248 seconds).
14:21:41 -!- Phantom_Hoover has joined.
14:24:52 -!- Taneb has quit (Read error: Connection reset by peer).
14:40:13 <Sgeo> This is lulzy http://techpp.com/2009/06/29/gmail-increases-attachment-size-limit-to-25mb-but-with-a-catch/
14:40:30 <elliott> i don't click links described as lulzy
14:40:51 <Sgeo> What if I described it as dumb?
14:41:19 <elliott> i lied i already clicked it
14:42:11 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
14:42:27 <elliott> http://hackage.haskell.org/packages/archive/reflection/1.1.2/doc/html/Data-Reflection.html yay docs are up
14:43:34 <Sgeo> Or I could have been influenced by other commentors...
14:45:09 -!- azaq23 has joined.
14:45:20 -!- azaq23 has quit (Max SendQ exceeded).
14:46:04 <Sgeo> One comment yelled at all the other comments for misreading the article
14:53:00 -!- azaq23 has joined.
15:05:05 <elliott> hi
15:08:30 -!- Patashu has quit (Ping timeout: 260 seconds).
15:10:35 <Sgeo> Awwww, my popular Twitter account is now obsolete
15:14:07 <Sgeo> http://www.remote.org/jochen/humor/c1/windows-tp.html The Internet Oracle is always awesome
15:47:00 <coppro> Sgei: I know nothing of D
15:51:39 <Sgeo> Oh
15:52:57 -!- Taneb has joined.
15:53:19 <Taneb> HellO!
15:54:16 <Sgeo> Hi Taneb
15:54:54 <Taneb> One more day until I can go on Wikipedia!
15:59:02 <Taneb> (without feeling guilty)
15:59:29 -!- oerjan has joined.
16:00:48 -!- oerjan has set topic: Do you like rotating mazes? Do you like the other idea? | I do not like rotating mazes. I do not like them Mr. Z | http://codu.org/logs/_esoteric/.
16:03:56 <elliott> hi
16:04:09 <elliott> "enjoy recentchanges"
16:04:16 <oerjan> g'day
16:04:47 -!- Taneb has quit (Ping timeout: 246 seconds).
16:07:00 <oerjan> <pikhq> Also, I should probably sleep. I think the sun's about to come up. <-- the demise of the vampikhq
16:08:56 <oerjan> <itidus20> I guess that before graphical monitors and speakers being plugged into computers, the computers were mostly the domain of real programmers <-- the sentence was funnier when it implied that they were plugged into the programmers. hth.
16:10:24 <oerjan> i think it took several years even after that before ordinary people started using them.
16:10:41 <oerjan> s/ordinary/non-technical/
16:11:52 -!- atrapado has joined.
16:11:53 <olsner> I think it started with that whole "multimedia" business
16:15:30 * oerjan realizes he didn't finish reading the logs last time, and has them in two tabs
16:17:47 <oerjan> elliott: so thanks for fulfilling my reflection dreams, slightly modified
16:18:42 <elliott> oerjan: \o/
16:18:42 <myndzi> |
16:18:42 <myndzi> >\
16:18:52 <elliott> the docs are up and everything too: http://hackage.haskell.org/packages/archive/reflection/1.1.2/doc/html/Data-Reflection.html
16:19:10 <elliott> "Nothing left to take away" and all that.
16:21:36 -!- Taneb has joined.
16:25:01 * oerjan has some slight doubts about the following line in the doc box: Safe Haskell Safe-Infered
16:26:07 <elliott> oerjan: i submitted a pull request to make it Trustworthy actually
16:26:10 <oerjan> btw shouldn't that be inferred
16:26:10 <elliott> the interface is totally safe
16:26:13 <elliott> yes
16:26:23 <elliott> we are probably doomed forever to stick with it like "referer"
16:26:54 <oerjan> unless someone fixes it.
16:27:01 <elliott> that's probably what they said about referer
16:27:47 <oerjan> yes, but cabal doesn't have multiple competing implementations, does it
16:28:01 -!- asiekierka has left ("Wychodzi").
16:28:39 <elliott> yet
16:28:56 <oerjan> which means it still can be fixed
16:30:11 <elliott> oerjan: but that would be like editing other people's comments on a wiki.
16:30:13 <oerjan> argh there is no way i'm not disconnecting soon (or right now)
16:30:20 <elliott> you're niot
16:30:21 <elliott> *not
16:30:22 <elliott> @time oerjan
16:30:23 <lambdabot> Local time for oerjan is Sat Apr 7 18:30:22 2012
16:31:06 -!- oerjan has quit (Quit: Lost terminal).
16:31:13 <elliott> ok maybe you are
16:33:23 -!- oerjan has joined.
16:33:37 <oerjan> ping says no packet loss
16:33:53 <elliott> maybe it's an ntnu problem?
16:34:20 <oerjan> that's the thing i've never managed to find out conclusively :(
16:34:53 <elliott> oerjan: well it would not be the most difficult of hypotheses to test...
16:34:59 <oerjan> but _before_ i changed the router, the old one used to have more severe disconnections
16:35:18 <oerjan> (it reset completely, while now i can reconnect as soon as i see i've disconnected)
16:36:13 <oerjan> elliott: sure, i just have no idea how. usually these disconnections are out of blue, although clearly connected to some kind of general traffic jam level
16:36:21 <elliott> oerjan: use an alternate IRC client for a day
16:36:22 * oerjan not good with computers
16:36:24 <elliott> if it disconnects, it's not nvg
16:36:30 <elliott> you don't even have to use it as your prime one
16:36:33 <elliott> just keep it open in a tab in the background
16:36:41 <elliott> webchat.freenode.net say
16:36:44 <oerjan> elliott: oh, i tried that. the web one. then one day it disconnected.
16:36:58 <elliott> well i meant, don't even use it
16:37:07 <elliott> just see whether it disconnects with the same frequency as nvg
16:37:17 <oerjan> oh hm maybe
16:38:17 <oerjan> i discovered there's one annoying thing with using the webchat ... IE won't release its memory properly until _all_ its windows are closed.
16:38:42 <elliott> fair enough. i mean, you could just download xchat and minimise it to the tray
16:38:51 <elliott> even telnet would work if not for PINGs :P
16:39:59 <oerjan> i tried lowering putty's keepalive frequency to 30 s. i had this feeling it helped, but a few days ago it started again.
16:40:15 <elliott> methinks snake oil
16:40:27 <oerjan> part of the problem is that the problem happens in bursts, with weeks between.
16:41:06 <elliott> have you tried contacting NVG or your ISP? :P
16:41:06 <oerjan> elliott: well the thing is that i can reconnect immediately, which means that if it's a timeout it must be just barely hit, no?
16:41:30 <elliott> oerjan: sure. you are not timing out from the irc perspective though
16:41:36 <oerjan> in fact it often affects only one of the windows when i have two open
16:41:47 <elliott> oerjan: a workaround would be to run irssi in screen.
16:41:54 <elliott> then you can reconnect without missing messages.
16:41:59 <elliott> and it won't show on IRC
16:42:02 <oerjan> elliott: almost as annoying, really.
16:42:31 <elliott> well, have you noticed any networking problems other than nvg?
16:42:43 <elliott> i could give you an ssh account on solidity to keep open to see if _it_ disconnects too
16:43:07 <oerjan> no, that's the thing, other than webchat sometimes disconnecting
16:44:27 <oerjan> oh and that mysterious thing, hm
16:44:39 <Vorpal> <oerjan> i discovered there's one annoying thing with using the webchat ... IE won't release its memory properly until _all_ its windows are closed. <-- why are you using IE though?
16:44:39 -!- oerjan has quit (Quit: Lost terminal).
16:44:49 <Vorpal> heh
16:45:37 <elliott> Vorpal: you just bought yourself one free kick
16:45:40 <elliott> or at least a swat.
16:45:46 <Vorpal> elliott, hm?
16:45:50 <Vorpal> I'm just curious
16:46:02 <elliott> :p
16:46:48 <Vorpal> as you can see I didn't criticise it. After all I had to use IE at times (on computers where nothing else was available and installing custom programs wasn't allowed)
16:47:05 <Vorpal> or to download a better browser
16:47:54 -!- oerjan has joined.
16:47:58 <elliott> oerjan has used IE for years, i'm sure you must have noticed before
16:48:14 <Vorpal> hm possibly, if so I forgot that though
16:50:00 <oerjan> well i guess we'll find out now
16:50:33 <oerjan> unless the problem decides to disappear entirely from the nvg window as well
16:52:52 <oerjan> oh, one annoying thing about the webchat window is that it gives no indication of when it _has_ disconnected, until i try typing something
16:54:37 <elliott> oerjan: it should do in the server tab?
16:54:40 <elliott> as dark red
16:55:29 <oerjan> you mean the tab title will become dark red?
16:55:38 <oerjan> i certainly don't recall that.
16:56:36 <elliott> well i thought so. but ok
16:57:47 <oerjan> maybe it happens if i'm kicked out, but my browser first has to notice anything has happened...
16:58:51 <oerjan> i have a disturbing hunch that _if_ the disconnects are related to what my housemates are doing on their computers - they just stopped watching a program
17:00:53 <elliott> i keep forgetting oerjan lives with people
17:01:06 <elliott> also, that sentence doesn't parse
17:01:20 -!- hagb4rd has quit (Quit: hagb4rd).
17:01:54 <Vorpal> oerjan, watching a program on web tv or what?
17:02:23 <oerjan> Vorpal: whatever. he just confirmed they'd been doing that via the net, anyway.
17:02:43 <Vorpal> right
17:09:36 -!- oerjan_ has joined.
17:11:25 <elliott> oerjan_: no luck?
17:11:42 <oerjan_> no. or too much, depending :P
17:12:21 <elliott> oerjan_: you should contact your ISP, then.
17:13:57 <oerjan_> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
17:14:20 <elliott> or get someone without a caps lock and A key to do it for you.
17:15:37 <oerjan_> there should be a way to ask a tcp connection to be just a bit more resilient against disconnections :(
17:16:07 <elliott> I expect TCP/IP are working just fine. what is broken is either your router or one of your ISP's routers
17:16:16 <oerjan_> well i guess there might be a bug somewhere that means the connection really _is_ permanently lost
17:16:18 <elliott> if they are not doing TCP/IP correctly or have severe connection defects...
17:16:35 <elliott> *is working
17:17:19 <oerjan_> the router is, of course, new, and the previous router was far worse.
17:18:24 <elliott> I would yell at the ISP and, failing that, switch.
17:19:00 <oerjan_> my landlady, who would think TCP is a washing machine brand, is the contracter.
17:19:20 <Vorpal> <elliott> I expect TCP/IP are working just fine. what is broken is either your router or one of your ISP's routers <-- might be worth capturing data with wireshark and look for any ICMP packets (such as destination unreachable and so forth)
17:20:20 <elliott> oerjan_: oh you cannot choose?
17:20:23 <elliott> ok, then i would move ;)
17:20:41 <elliott> Vorpal: i assign you to teach oerjan_ how to do that.
17:21:12 <Vorpal> oh crap
17:21:17 <Vorpal> just read the manual
17:21:25 <Vorpal> also I have no clue how to do that under windows
17:21:30 <oerjan_> Vorpal: don't worry, i won't force you to
17:22:07 <Vorpal> does wireshark even work under windows?
17:22:17 <oerjan_> CLEARLY NOT
17:22:45 <Vorpal> well, there is a windows installer download, no idea if the actual capturing part works under windows, or if it is just the analysis part
17:22:49 <Vorpal> anyway, bbl food
17:22:58 <olsner> Vorpal: linux works under windows, so why wouldn't wireshark
17:23:34 <elliott> oerjan_: are you *still* logreading :D
17:32:33 <Vorpal> hm
17:32:56 <Vorpal> olsner, might be tricky to capture in promisc mode under windows for all I know
17:33:31 -!- ais523 has joined.
17:33:54 <oerjan_> back
17:34:05 <oerjan_> although yes i'm still logreading
17:34:08 <oerjan_> also, ->
17:34:09 <ais523> hi elliott
17:34:31 <elliott> hi ais523
17:34:35 <elliott> are you busy?
17:34:58 <ais523> hi, and currently catching up stuff that happened while I was offline, do you consider that busy?
17:35:13 <elliott> well, I have things to say relevant to a portion of that
17:35:20 <elliott> so, not sure
17:35:54 -!- zzo38 has joined.
17:54:03 <oerjan_> <oklopol> oerjan: congrats on your invention by elliott's def <-- thank you.
17:59:52 <Taneb> Hello!
18:00:21 -!- MoALTz__ has joined.
18:02:16 <Taneb> Blerg
18:02:21 <Taneb> Too much chilli :/
18:02:42 -!- Taneb has quit (Read error: Connection reset by peer).
18:03:13 -!- MoALTz_ has quit (Ping timeout: 252 seconds).
18:05:34 -!- Taneb has joined.
18:05:57 <Taneb> I'll try again
18:05:59 <Taneb> Hello!
18:06:10 <Taneb> Blerg
18:06:12 <Taneb> Too much chilli
18:06:15 <Taneb> :/
18:08:15 <elliott> :(
18:09:33 <shachaf> hi elliott
18:09:38 <shachaf> where elliott = monqy
18:09:59 <shachaf> elliott: Now that you're famous, are you going to leave this channel for greener pastures?
18:10:06 <ais523> > let 1 + 1 = 3 in 1 + 1
18:10:07 <lambdabot> 3
18:10:08 <Taneb> (elliott's famous?)
18:10:18 <ais523> ^ (the Haskell equivalent of "where elliott = monqy")
18:10:27 <Taneb> > 1 + 1 where 1 + 1 = 3
18:10:28 <lambdabot> <no location info>: parse error on input `where'
18:10:37 <Taneb> Aww
18:10:45 <elliott> ais523: "where elliott = monqy" is valid Haskell
18:10:49 <elliott> foo = elliott where elliott = monqy
18:11:21 <shachaf> hi foo
18:11:24 <ais523> ah, aha
18:11:30 <ais523> > 1 + 1 where 1 + 1 = 3
18:11:31 <lambdabot> <no location info>: parse error on input `where'
18:11:42 <ais523> elliott: doesn't seem to pattern-match, though
18:11:53 <elliott> no
18:11:56 <elliott> you just used it in the wrong context
18:11:58 <elliott> that's an expression
18:11:58 <shachaf> ais523: "where" isn't an expression -- it's associated with bindings.
18:12:03 <shachaf> You need "x = y where ...
18:12:04 <shachaf> "
18:12:23 <ais523> ah, OK
18:12:24 <shachaf> > 1 + elliott where hi elliott
18:12:25 <lambdabot> <no location info>: parse error on input `where'
18:12:33 <shachaf> :-(
18:12:50 <ais523> let elliott = monqy where monqy = 4 in elliott
18:12:58 <ais523> > let elliott = monqy where monqy = 4 in elliott
18:12:58 <lambdabot> 4
18:12:59 <ais523> like that?
18:13:01 <ais523> yes
18:13:42 <elliott> yes
18:13:58 <elliott> > let nobody = "nobody"; monqy = nobody; somebody = elliott where elliott = monqy in somebody
18:13:59 <lambdabot> "nobody"
18:14:36 -!- zzo38 has left ("Not yet").
18:15:00 <shachaf> > nobody move where nobody = monqy
18:15:00 <lambdabot> <no location info>: parse error on input `where'
18:15:03 <elliott> not yet
18:15:15 <shachaf> Not yet?
18:15:57 <elliott> * zzo38 (~zzo38@24.207.49.17) has left #esoteric ("Not yet")
18:16:06 <shachaf> Ah.
18:16:38 -!- pandu has joined.
18:16:49 <shachaf> fix hi = let monqy = hi monqy in monqy
18:17:06 <shachaf> > fix hi
18:17:08 <lambdabot> hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi ...
18:17:09 <elliott> `welcome pandu
18:17:14 <HackEgo> pandu: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
18:17:44 <shachaf> pandu = monqy?
18:18:15 <pandu> nop
18:18:23 <shachaf> `welcome @echo
18:18:26 <HackEgo> ​@echo: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
18:18:28 <pandu> I'm just looking for some cool channels
18:18:38 <Taneb> #esoteric is the coolest channel
18:18:43 <pandu> haha
18:18:52 <pandu> I've toyed with BF before
18:19:03 <pandu> but not too much else
18:19:07 <pandu> its fun reading about these
18:19:13 <shachaf> pandu: Have you considered making A BF DERIVATIVE?
18:19:16 <shachaf> It's fun!
18:19:32 <Taneb> It makes a ghost of a vacuum cleaner appear before you
18:19:43 <shachaf> All you do is substitute "hi" for "<" and "monqy" for ">" and so on, and you've invented YOUR VERY OWN PROGRAMMING LANGUAGE!
18:19:50 <pandu> I've added some language extensions to mine
18:19:56 <pandu> yes it is fun!
18:20:01 <shachaf> BF+call/cc
18:20:08 <pandu> what's call/cc?
18:20:18 <Taneb> It's from Lisp
18:20:18 <shachaf> > fix hi
18:20:20 <lambdabot> hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi (hi ...
18:20:27 <shachaf> Taneb: Only sort of. :-(
18:20:47 <Taneb> It's sort of from Lisp
18:20:56 <pandu> so what is it?
18:20:58 <Taneb> It's also in the developement version of BYOB (Snap)
18:21:10 <shachaf> pandu: call-with-current-continuation
18:21:11 <Taneb> Which I'm likely the only one to have heard of it in here
18:21:14 <shachaf> @google what is call/cc
18:21:15 <lambdabot> http://en.wikipedia.org/wiki/Call-with-current-continuation
18:21:15 <lambdabot> Title: Call-with-current-continuation - Wikipedia, the free encyclopedia
18:22:02 <oerjan_> `welcome lambdabot @echo
18:22:05 <HackEgo> lambdabot: @echo: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
18:22:05 <pandu> hah
18:22:06 <lambdabot> echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "HackEgo!codu@codu.org", msgCommand = "PRIVMSG", msgParams = ["#esoteric",":lambdabot: @echo: Welcome to the
18:22:06 <lambdabot> international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page"]} rest:"Welcome to the international hub for
18:22:06 <lambdabot> esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page"
18:22:16 <oerjan_> sheesh
18:22:33 <elliott> lively in here today
18:23:19 <pandu> lol
18:23:43 <Taneb> pandu, try creating a language that's as different to brainfuck as you can make it!
18:23:55 <shachaf> @echo @echo
18:23:55 <lambdabot> echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "shachaf!~shachaf@li227-219.members.linode.com", msgCommand = "PRIVMSG", msgParams = ["#esoteric",":@echo @echo"]}
18:23:55 <lambdabot> rest:"@echo"
18:24:07 <shachaf> THAT's RIGHT, elliott
18:24:09 <pandu> I really like minimal languages
18:24:17 <Taneb> iota
18:24:24 <elliott> pandu: Look at our featured language, then. :p
18:24:27 <elliott> (On http://esolangs.org/wiki/Main_Page.)
18:24:27 <pandu> yea
18:24:28 <Taneb> //
18:24:30 <pandu> looking at it right now
18:24:34 <Taneb> ///
18:26:57 <elliott> WORLD CELEBRITY oerjan_ is available to answer all questions /// :p
18:27:47 <Taneb> I knew I saw something like your name on a van, elliott
18:27:53 <Taneb> http://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCgQFjAA&url=http%3A%2F%2Fwww.icountydurham.co.uk%2Fprofile%2F272906%2FConsett%2FElliot-Hird-and-Partners%2F&ei=DIeAT_j8IeWm0AWBhqXACA&usg=AFQjCNH00jAyLRzeW8upHv13Smbfn0meiw&sig2=USDEHmiPcnGV7qjuQh9mIg
18:28:26 <Sgeo> Argh I keep seeing conflicting information about whether Tylenol is safe on an empty stomach
18:28:35 * oerjan_ swats elliott -----###
18:28:39 <Sgeo> Although I'm fairly certain it's safer than other painkillers in that situation
18:28:51 <shachaf> oerjan_: Swat me!
18:28:59 <elliott> Sgeo: No. You will die. Permanently.
18:29:01 * oerjan_ swats shachaf -----###
18:29:06 <elliott> Taneb: MY SECRET IEDNTITY
18:29:18 <Sgeo> elliott, hmm, is there a way to die temporarily?
18:29:23 <shachaf> oerjan_: Kick me!
18:29:27 <shachaf> From this channel.
18:30:08 <elliott> Sgeo: That's taking Tylenol in any other circumstance.
18:30:13 * oerjan_ investigates the channel walls carefully
18:31:02 <ais523> what's the main active ingredient in tylenol?
18:31:10 <elliott> death
18:31:16 <ais523> it doesn't exist under that name in the UK, although I'm reasonably sure it's something I've heard of
18:31:20 <elliott> it's paracetamol
18:31:22 <ais523> under a different name
18:31:24 <ais523> ah, OK
18:31:36 <Taneb> I have SO MUCH paracetamol
18:31:39 <elliott> see, what it does is, kills all the pain molecules
18:31:39 <Taneb> It's not even funny
18:31:41 <elliott> but then _you_ die too
18:31:48 <ais523> as far as I know, paracetamol is safe unless you overdose, in which case it's pretty lethal
18:31:55 <elliott> usually the last burst of pain is enough to revive you
18:32:12 <elliott> but without food on your stomach, there's nothing for the pain to eat to charge up that last blast.
18:32:19 <elliott> trust me, i'm a scientist
18:32:21 <shachaf> ais523 is UKian?
18:32:27 <shachaf> :-(
18:32:32 <ais523> shachaf: how did you not figure that out yet?
18:32:35 <ais523> there's quite a lot of evidence
18:32:38 <Sgeo> Although at least some websites of perhaps less than good repute suggest that liver function may be impaired by not eating properly
18:32:38 <Taneb> ais523 is a Birminghamian, iirc
18:32:42 <ais523> yes
18:32:47 <shachaf> ais523: Like what?
18:32:48 <elliott> ais523 is a Birminghidgeaux.
18:32:53 <ais523> I think the actual word is Brummy
18:32:57 <elliott> I don't know the correct name, so Birminghidgeaux it is.
18:32:59 <ais523> but I don't really use it much
18:33:01 <Taneb> So, how many people are there in a place which is named .*ham ?
18:33:08 <elliott> Every place ends in ham.
18:33:08 <olsner> burning ham
18:33:17 <ais523> quite a lot, it's a pretty common town naming pattern in the UK
18:33:24 <olsner> Taneb: somewhere between three people and everyone
18:33:27 -!- pandu has left ("LIST").
18:33:37 <Taneb> Okay, if we narrow it down to people in this channel
18:33:45 <olsner> `? hexham
18:33:48 <HackEgo> Hexham is a European town. There are five people in Hexham, and at least two of them are in this channel. Ngevd runs the student board.
18:34:05 <shachaf> Ngevd runs the student board, and elliott is school?
18:34:10 <ais523> I thought it was "there are two people in Hexham, and at least five of them are in this channel"
18:34:14 <elliott> `? finland
18:34:17 <HackEgo> Finland is a European country. There are two people in Finland, and at least five of them are in this channel. Corun drives the bus.
18:34:20 <olsner> `? norway
18:34:23 <HackEgo> Norway is the suburb capital of Sweden. It's where the Nobel Peace Prize is announced.
18:34:37 <shachaf> `? sweden
18:34:40 <HackEgo> Sweden is the suburb capital of Norway. It's where all the Nobel prizes are announced, except the Math Prize.
18:34:53 <shachaf> `? america
18:34:56 <HackEgo> america? ¯\(°_o)/¯
18:35:06 <elliott> TAKE THAT, AMERICA
18:35:06 <Vorpal> `? shachaf
18:35:09 <HackEgo> No output.
18:35:18 <shachaf> `? england
18:35:21 <HackEgo> england? ¯\(°_o)/¯
18:35:26 <elliott> `learn shachaf mad
18:35:28 <elliott> It's traditional.
18:35:29 <HackEgo> I knew that.
18:35:34 <shachaf> elliott: :-(
18:35:41 <Taneb> `? monqy
18:35:43 <ais523> elliott: oh, it was in the finland entry
18:35:44 <shachaf> `? elliott
18:35:44 <HackEgo> The friendship monqy is an ancient Chinese mystery; ask itidus21 for details.
18:35:47 <HackEgo> elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things?
18:35:47 <oerjan_> shachaf: don't worry, deleting it is also traditional
18:35:51 <Vorpal> `? finland
18:35:52 <shachaf> `learn elliott mad
18:35:54 <HackEgo> Finland is a European country. There are two people in Finland, and at least five of them are in this channel. Corun drives the bus.
18:35:55 <elliott> `run echo 'hi monqy' >wisdom/monqy
18:35:58 <HackEgo> No output.
18:36:06 <shachaf> `? monqy
18:36:07 <HackEgo> I knew that.
18:36:09 <HackEgo> hi monqy
18:36:10 <ais523> `? ais523
18:36:12 <shachaf> `? europe
18:36:13 <elliott> `learn elliott will block the next person to modify this entry.
18:36:16 <HackEgo> ais523 is ais523. This topic may retroactively become more informative if or when Feather is invented.
18:36:18 <ais523> wait, that mentions Feather, doesn't it?
18:36:18 <HackEgo> I knew that.
18:36:21 <ais523> yes, bah
18:36:26 <elliott> `? feather
18:36:32 <HackEgo> feather? ¯\(°_o)/¯
18:36:33 <HackEgo> europe? ¯\(°_o)/¯
18:36:38 <olsner> `? olsner
18:36:42 <HackEgo> olsner? ¯\(°_o)/¯
18:36:42 <elliott> `learn ¯\(°_o)/¯ feather?
18:36:44 <elliott> the shrug is retroactive
18:36:45 <elliott> oh wait
18:36:46 <HackEgo> ​/hackenv/bin/learn: 4: cannot create wisdom/¯\(°_o)/¯: Directory nonexistent \ I knew that.
18:36:48 <elliott> that'll create the wrong entry
18:36:53 <elliott> `run echo '¯\(°_o)/¯ feather?' >wisdom/feather
18:36:56 <HackEgo> No output.
18:37:00 <Vorpal> "Directory nonexistent \ I knew that."
18:37:02 <Vorpal> :D
18:37:24 <Vorpal> your error checking is fail
18:37:24 <elliott> `learn Europe is the capital of Hexham.
18:37:27 <HackEgo> I knew that.
18:37:43 <elliott> HackEgo knew that
18:37:47 -!- asiekierka has joined.
18:38:49 <Taneb> `? asiekierka
18:38:52 <HackEgo> asiekierka? ¯\(°_o)/¯
18:39:07 <Taneb> Aww
18:40:10 <oerjan_> `? feather
18:40:13 <HackEgo> ​¯\(°_o)/¯ feather?
18:40:28 <oerjan_> that's not the right format
18:40:34 <oerjan_> or wait
18:40:42 <elliott> <elliott> the shrug is retroactive
18:41:21 <oerjan_> `learn elliott threatens to block me all the time anyway.
18:41:24 <HackEgo> I knew that.
18:43:13 <elliott> oerjan_: did you finish logreading? :P
18:43:40 <oerjan_> why, yes, now i'm on to the wikipedia frontpage
18:43:46 <elliott> X-D
18:44:07 <Taneb> 4 hours 26 minutes, goddammit
18:44:36 <oerjan_> Taneb: make sure your first visit is appropriately Easter-related.
18:44:41 <elliott> Taneb: http://en.wikipedia.org/wiki/Main_Page
18:44:48 <olsner> how long does it take to read the entirety of wikipedia?
18:44:56 <elliott> olsner: too long
18:44:58 <oerjan_> olsner: all the time.
18:47:02 <oerjan_> `run mkdir wisdom/¯\(°_o); learn ¯\(°_o)/¯ feather?
18:47:04 <HackEgo> bash: -c: line 0: syntax error near unexpected token `)' \ bash: -c: line 0: `mkdir wisdom/¯\(°_o); learn ¯\(°_o)/¯ feather?'
18:47:33 <ais523> oerjan_: you're probably missing quotes
18:48:23 <oerjan_> hmph
18:48:38 <oerjan_> `run mkdir 'wisdom/¯\(°_o)'; learn '¯\(°_o)/¯ feather?'
18:48:42 <HackEgo> I knew that.
18:48:50 <oerjan_> `? ¯\(°_o)/¯
18:48:53 <HackEgo> ​¯\(°_o)/¯ feather?
18:49:08 <elliott> `run echo 'see ¯\(°_o)/¯' >wisdom/feather
18:49:11 <HackEgo> No output.
18:49:22 <Taneb> On another note, why is the logo for the wiki what it is?
18:49:29 <elliott> oh good grief
18:49:32 <elliott> not that question again
18:49:38 * oerjan_ swats Taneb -----###
18:49:52 <Taneb> This isn't giving me an answer....
18:50:01 <Taneb> It's just making me ashamed and in pain
18:50:47 <oerjan_> `run echo "The wiki logo is three limes because graue found a picture of three limes and liked it." >wisdom/logo
18:50:49 <HackEgo> No output.
18:50:57 <shachaf> `? monqy
18:51:00 <HackEgo> hi monqy
18:51:03 <shachaf> yay
18:51:07 <shachaf> hi monqy
18:51:20 <Taneb> Well, now I know
18:52:14 -!- Deewiant has quit (Ping timeout: 252 seconds).
18:52:31 <oerjan_> yes, you can always trust HackEgo's wisdom.
18:55:59 -!- Deewiant has joined.
18:57:48 <Taneb> @ping
18:57:48 <lambdabot> pong
18:57:53 <Taneb> Okay, I live for now
19:00:02 <asiekierka> Taneb hey
19:00:31 <Taneb> Hello
19:08:59 -!- derdon has quit (Remote host closed the connection).
19:20:42 -!- zzo38 has joined.
19:22:17 <zzo38> I think you can have a monad for a final object, and a comonad for an initial object, in any category. Do you know? (I do have an example in a category from a digraph, and in Haskell (although some people disagree in Haskell))
19:23:22 <Taneb> On the subject of places that end in "ham", I'm going to be in Durham for a bit this summer
19:25:28 <zzo38> If you have a digraph with A->C and B->C then in its category you have C a final object; the endofunctor changes all objects to C, and all morphisms to the identity morphism on C; return is the single path from whatever to C and join is also the identity morphism on C
19:31:56 -!- calamari has joined.
19:47:58 -!- oerjan has quit (Quit: Reticulating splines).
19:48:18 -!- Case1 has joined.
19:53:20 <Taneb> Bye
19:53:21 -!- Taneb has quit (Quit: Goodbye).
19:55:45 <elliott> ais523: shachaf: zzo38: Welcome to excellent explode terrain. Please begin services.
19:55:58 <shachaf> HLEP
19:56:21 <elliott> Please begin services.Please begin services.Please begin services.
19:56:55 <olsner> elliott: Please begin services.
19:57:17 <zzo38> What services do you mean?
19:57:40 <elliott> Services of excellent explode terrain. Please begin services
19:57:52 <elliott> Please began services.
19:58:03 <olsner> please explode services excellently
19:58:14 <olsner> services, begin explode please
19:58:26 <elliott> No. You began
19:58:43 <olsner> no, began is you
19:59:31 <elliott> I'm began.
19:59:34 <elliott> Stop. Stop to time. Hi
19:59:38 <olsner> hello
19:59:42 <elliott> Welcome. Please beginning services
19:59:51 <elliott> Please realign calibration metre
19:59:56 <elliott> Please stop death
19:59:58 <elliott> Hi. Please beg
20:00:01 <olsner> Pleased to be begin.
20:00:01 <elliott> Hi
20:00:33 <elliott> Welcome. Yes, Thank you. : ) My home does not eat. Yet, but I feel that in
20:00:38 <elliott> Please begin services
20:00:59 <olsner> My home doesn't eat either. Yet, anyway.
20:01:24 <elliott> Please atheist management.
20:01:33 <zzo38> "Does not eat"? Don't you mean "does not compute"?
20:01:45 <elliott> No . I 'm never mistake in saturday. Start computer on hello.
20:01:52 <elliott> He began services
20:01:55 <olsner> computing is not eating, therefore elliott's home computes
20:02:14 <zzo38> echo "Hello, World!"
20:02:26 <elliott> Im frowning
20:02:50 <elliott> Please analyse your welcoming message text text message text welcPlease insert floppy 441A. Please begin services
20:03:00 <kmc> stand by for transmission
20:03:19 <elliott> Hi
20:03:31 <olsner> `? logo
20:03:33 <HackEgo> The wiki logo is three limes because graue found a picture of three limes and liked it.
20:03:44 <elliott> Trombone player executed
20:05:30 <elliott> Please hurt everybodys feelings, Thanks
20:05:43 <zzo38> ouchouchouch
20:06:32 <oerjan_> you all suck
20:06:40 <olsner> oerjan_: you too
20:06:49 <oerjan_> yay!
20:07:27 <elliott> I agree. ouchouchouch.
20:07:50 <zzo38> Suck dirty vacuum cleaner
20:07:55 <oerjan_> Trombone player replaced by accordion player
20:08:31 <zzo38> oerjan_: Then you will need a different music; if the music is meant for trombone then it won't be played as well on accordian
20:08:52 <oerjan_> sorry, must play same music
20:09:24 <oerjan_> _or_ polka. your call.
20:11:43 <olsner> polka is same music
20:13:00 <oerjan_> joik is sami music
20:14:25 <elliott> welcome to homeliness
20:14:43 <olsner> is this homely?
20:14:52 <elliott> no its always
20:20:25 -!- monqy has joined.
20:21:58 <elliott> hi monqy
20:22:05 <monqy> hi
20:22:08 -!- yorick has quit (Read error: Connection reset by peer).
20:25:25 -!- yorick has joined.
20:27:44 -!- asiekierka has left ("Wychodzi").
20:33:19 <Sgeo> Facebook can be bizarre at times.
20:37:19 <RocketJSquirrel> OTHER than the fact that the concept defies physics, why do WiiMotes not have velocitometers :(
20:37:36 <elliott> It is impossible to measure velociraptors.
20:38:05 <ais523> surely a velocitometer is possible for standard use, due to them being surrounded by air not vacuum?
20:38:14 <elliott> RocketJSquirrel: Have you seen some HASKELL i HELPED WRITE<lowercase space>TODAY?
20:38:20 <elliott> Had to lowercase bits in the middle to get the emphasis right.
20:38:36 <Sgeo> Facebook's relationship stuff is very asymmetrical :(
20:38:40 <elliott> BEHOLD MORTALS https://raw.github.com/ehird/reflection/master/fast/Data/Reflection.hs Wait did I point monqy to that yet.
20:38:42 <elliott> monqy: BEHOLD MORTAL
20:38:53 <monqy> you [pinted me to that laslt night
20:38:58 -!- Case2 has joined.
20:39:13 <Sgeo> Is monqy drunk or just being devoured by the typo monster?
20:39:27 <elliott> monqy is drunk
20:39:33 <olsner> he's drunk on typo monster blood
20:39:35 <elliott> monqy: are you sure it was the same one
20:39:38 <elliott> the pointer one is old hat
20:39:41 <elliott> this is the New Deal
20:39:50 <monqy> :o
20:39:58 <elliott> it's like six lines
20:40:09 <olsner> hmm, this can't be right, can it? reflect :: proxy s -> a
20:40:19 -!- Case1 has quit (Ping timeout: 264 seconds).
20:40:21 <elliott> olsner: yes, it can
20:40:28 <elliott> olsner: it accepts proxy s for any proxy and returns an a
20:40:34 <elliott> obviously, it can't actually look at the value it gets, due to parametricity
20:40:41 <elliott> it's just to make the types work out -- so that "s" is referenced there
20:40:46 <elliott> usually, you will use it with proxy = Proxy
20:40:47 <olsner> oh, proxy is a type variable?
20:40:50 <elliott> yeah
20:40:51 <elliott> where Proxy is data Proxy t = Proxy
20:40:57 <olsner> obviously!
20:41:01 <elliott> but it's sometimes convenient to use it for proxys that aren't Proxy without translating them
20:41:03 <elliott> thus the polymorphism
20:41:25 <elliott> reify gives you a Proxy, not a proxy, though; it's all very well accepting any value, but producing an any-value is significantly harder :)
20:41:54 <olsner> just unsafeCoerce from Proxy :)
20:42:18 <elliott> olsner: hey, this safe is externally pure!
20:42:20 <elliott> erm
20:42:21 <elliott> this interface
20:42:24 <elliott> but this safe too
20:42:41 <elliott> this stuff is actually useful, believe it or not
20:43:01 <elliott> https://raw.github.com/ehird/reflection/master/examples/Monoid.hs here's an example of what you can do with it: an instance whose behaviour is determined at runtime
20:43:37 <elliott> http://hpaste.org/66565 -- basic modular arithmetic implementation where the modulus is encoded in the type (preventing mixing of values from different "modular contexts") and determined at runtime, but you don't have to pass it around everywhere and can use numeric literals
20:43:51 <elliott> (it's a very streamlined implementation of http://www.cs.rutgers.edu/~ccshan/prepose/prepose.pdf)
20:45:18 <olsner> I don't quite understand any of that
20:45:38 <elliott> maybe the old implementation will enlighten you https://raw.github.com/ehird/reflection/master/slow/Data/Reflection.hs :p
20:45:56 <olsner> hmm, a function like withMonoid is pretty neat, so I'll have to take the "any" back ... let's say "most" instead
20:46:34 <elliott> the paper does a good job of explaining it, you just have to remember that their whole hierarchy of successively more powerful reifiers is all flattened with this, we just have one thing that reifies anything, fast
20:47:41 <elliott> olsner: this is also neat, but more evil https://raw.github.com/ehird/reflection/master/examples/Constraints.hs
20:47:47 -!- pikhq_ has joined.
20:47:51 <elliott> (will make no sense if you don't grok the new ConstraintKinds stuff)
20:47:55 <elliott> I didn't write those examples btw, edwardk did
20:48:26 <elliott> (he also wrote that final stripped down implementation there, my original hack was a few lines longer)
20:48:43 <olsner> like the monoid example but for any type class automagically?
20:49:10 <elliott> no, still needs manual work, cf. the Eq stuff at the bottom
20:49:16 <elliott> the evil here is that it eliminates the "M" lifting step
20:49:24 <elliott> by coercing the instance into one for the target type itself
20:49:31 <elliott> obviously this goes haywire if you already have an instance for the same class/type
20:49:35 <elliott> but if you don't then it's neat :p
20:51:38 -!- pikhq has quit (Ping timeout: 240 seconds).
20:51:59 <elliott> olsner: anyway, what the http://hpaste.org/66565 thing means is that you can say (2+2) `modulo` 3 and it does what you expect, except that it's not just mod, it evaluates the LHS as a fully modular arithmetic type
20:52:02 <elliott> i.e. modding at each operation
20:56:40 <oerjan_> elliott: hm modulusProxy in that could be just id >:)
20:57:28 <elliott> oerjan_: oh, indeed
20:57:39 <elliott> oerjan_: that's one of the examples of why it's convenient but i forgot to use it heh
21:06:45 <elliott> oerjan_: god nictihget
21:07:02 <olsner> elliott: god nictihget
21:07:10 <oerjan_> sweat drams
21:07:17 <elliott> i have so many sweat drams
21:07:22 -!- elliott has quit (Quit: Leaving).
21:11:16 <zzo38> That data Proxy t = Proxy; is also what I have recently called Finalize, as in the Finalize monad for any category having a final object
21:21:44 <zzo38> I don't really like the way your dynamically constructed monoid and stuff is implemented; but there probably is no better way in Haskell.
21:25:18 <zzo38> I would do like this (which doesn't work in Haskell): data DynMonoid (x :: *) (mempty :: {x}) (mappend :: {x -> x -> x}) = DynMonoid x;
21:25:24 -!- Phantom_Hoover has joined.
21:26:16 <oerjan_> zzo38: the whole reflection package exists to get around the lack of dynamic instances in haskell
21:27:13 <oerjan_> even in the original inspiring paper, oleg etc. suggested building a better method into the language
21:27:25 <zzo38> oerjan_: I know that; but still its implementation is not so good in my opinion. It is why I wanted to invent the new programming language instead, with new things differences, let's make up the working group to argue about it too.
21:28:00 <zzo38> Using the declaration I gave, then you will have a type (DynMonoid Int {0} {(+)})
21:30:03 <zzo38> The kind of DynMonoid then becomes (*(x) -> {x} -> {x -> x -> x} -> *) possibly the syntax for (*(x)) could be changed if you don't like that syntax, though.
21:30:35 <oerjan_> ais523: is there some way in mediawiki to insert a pre block "detented" into a nested bulleted list without otherwise interrupting the list nesting? some of the parts of [[List of ideas]] look rather ugly...
21:31:04 <ais523> oerjan_: yes, write the bulleted list using HTML syntax rather than MediaWiki syntax
21:31:19 <ais523> alternatively, there used to be some crazy trick using unbalanced tags, not sure if it still works
21:35:53 * oerjan_ thinks he is in over his head on that
21:37:58 -!- MoALTz_ has joined.
21:41:25 -!- MoALTz__ has quit (Ping timeout: 265 seconds).
21:44:05 <zzo38> I have ((Node -> Node) -> PageObjects) and (Node -> m Node) I try to make (m ((Node -> Node) -> PageObjects)) but it seem is not possible? Is it? Is there alternatives ways to make something like that?
21:46:42 <oerjan_> zzo38: um, isn't just applying return to the first one?
21:46:57 <oerjan_> *that just
21:47:37 <Sgeo> http://www.youtube.com/watch?v=j7XR9yH2ETk
21:47:43 <zzo38> Let's try
21:47:57 <zzo38> Yes it seems so
21:47:59 <Sgeo> (NSFW)
21:48:39 -!- MoALTz__ has joined.
21:49:38 -!- MoALTz_ has quit (Ping timeout: 265 seconds).
21:50:41 <olsner> Sgeo: makes me think of that law about parodies
21:51:14 -!- pikhq has joined.
21:51:49 -!- pikhq_ has quit (Ping timeout: 276 seconds).
21:55:54 <zzo38> It doesn't seems to work
21:57:04 <zzo38> oerjan_: That doesn't work, sorry
21:57:30 <olsner> you need to change ((Node -> Node) -> PageObjects) to ((Node -> m Node) -> m PageObjects) or something
21:59:08 <zzo38> olsner: But then I need (m ((Node -> Node) -> PageObjects)) from that. The other alternative would be to change the datatypes to something else
22:00:51 <olsner> I suspect that's not what you want :)
22:03:16 <zzo38> Then what?
22:03:52 <zzo38> I do not even know any other datatypes that would work here, though.
22:04:12 <olsner> I don't really know enough to say... but I'll assume the reason you have a (Node -> m Node) instead of (Node -> Node) is that your node-frobler has some side effects?
22:05:13 <olsner> then the pageobjectifier needs to thread those effects through in the same monad, or it can't get at the returned Nodes
22:05:20 <oerjan_> `echo "XY problem is probably not what you are really after. Try asking about your real underlying problem instead." > 'wisdom/xy problem'
22:05:23 <HackEgo> ​"XY problem is probably not what you are really after. Try asking about your real underlying problem instead." > 'wisdom/xy problem'
22:05:30 <oerjan_> oops
22:05:33 <oerjan_> `run echo "XY problem is probably not what you are really after. Try asking about your real underlying problem instead." > 'wisdom/xy problem'
22:05:36 <HackEgo> No output.
22:05:40 <zzo38> olsner: Well, it can; usually Writer but other things can be too
22:05:45 <oerjan_> `? XY problem
22:05:45 <olsner> oerjan_: pff, this is the channel where we go ahead and solve the wrong problem because we can
22:05:47 <HackEgo> XY problem is probably not what you are really after. Try asking about your real underlying problem instead.
22:06:18 <olsner> actually, solving the right problem is probably more boring and therefore something to avoid
22:06:24 <zzo38> olsner: Yes this is the channel that even that is possible.......
22:06:46 <zzo38> But I do think I have another idea now.
22:08:55 <zzo38> What is the module for binary trees?
22:09:51 <oerjan_> Data.Tree can do arbitrary arity trees...
22:13:08 <zzo38> Free ((->) Bool) (where Free means a free monad from an endofunctor) works but maybe there is something better
22:15:28 <zzo38> (The rose trees in Data.Tree are like Cofree [])
22:18:12 <zzo38> Another question: Do you know if mathematicians call my Initialize and Finalize endofunctors by different names?
22:21:08 <zzo38> (By Finalize I mean the endofunctor (on any category having a final object) that maps all objects to the final object and all morphisms to the identity morphism of the final object, and a monad where return is the only morphism from any object to the final object, and join is also the identity morphism of the final object.)
22:21:19 <zzo38> (Initialize is then the dual to Finalize.)
22:23:43 -!- MoALTz has joined.
22:23:54 -!- MoALTz__ has quit (Ping timeout: 245 seconds).
22:25:38 -!- MoALTz_ has joined.
22:28:52 -!- MoALTz has quit (Ping timeout: 276 seconds).
22:37:33 -!- Tiktalik has quit (Quit: ZNC - http://znc.in).
22:42:23 -!- tikfreenode has joined.
22:44:31 -!- calamari has left ("Leaving").
22:54:03 <quintopia> registration for cs373 spring edition is open
22:55:19 -!- Frooxius has joined.
23:00:45 -!- NihilistDandy has joined.
23:06:27 -!- NihilistDandy has quit.
23:06:42 <olsner> "And yes, I've used XSLT 2.0 extensively. It's "more functional" in much the same way that waterboarding is more pleasant than an iron maiden."
23:14:43 -!- MoALTz_ has quit (Quit: Leaving).
23:21:14 -!- sebbu has quit (Ping timeout: 246 seconds).
23:31:53 -!- sebbu has joined.
23:31:54 -!- sebbu has quit (Changing host).
23:31:54 -!- sebbu has joined.
23:32:00 -!- oerjan_ has quit (Quit: Lost terminal).
23:32:41 -!- Patashu has joined.
23:34:28 -!- Vorpal has quit (Read error: Operation timed out).
23:37:26 -!- ais523 has quit (Remote host closed the connection).
23:52:32 <zzo38> What I am doing is trying to make data DrawingNode = DrawingNode PageObjects Dimen Dimen Dimen that can contain other nodes which are also drawn on the page, and that can be affected and accessed by traverseBox
23:54:56 <zzo38> class Typeable x => NodeClass x where { ... traverseBox :: (Applicative f, Monad f) => (Node -> f Node) -> x -> f Node; ... }; ... data Node where { Node :: forall x. NodeClass x => x -> Node; } deriving Typeable;
23:56:01 <zzo38> I think I have idea
23:59:25 <zzo38> I changed it to data DrawingNode = DrawingNode [Node] ([Node] -> PageObjects) Dimen Dimen Dimen
23:59:31 <zzo38> Hopefully this way it work
←2012-04-06 2012-04-07 2012-04-08→ ↑2012 ↑all