←2013-04-01 2013-04-02 2013-04-03→ ↑2013 ↑all
00:02:33 <oerjan> <Taneb> Today's Comments on a Postcard is somewhat odd
00:02:34 <oerjan> darn
00:03:08 <Sgeo> How's the pbf kickstarter going?
00:03:32 <Bike> http://lambda-the-ultimate.org/node/4708
00:04:04 <oerjan> @tell taneb Yesterday's COAP looks very much like Shaenon K. Garrity drew it
00:04:05 <lambdabot> Consider it noted.
00:04:12 <elliott> Sgeo: is this about Bike's link.
00:04:32 <Bike> coap?
00:04:39 <elliott> as far as I know the only PBF-related kickstarter was the one to erase the US national debt, and it failed
00:04:46 <Sgeo> elliott, depends. Am I a future psychic?
00:04:52 <Bike> imo yes
00:05:10 <Sgeo> Oh, it's not a kickstarter, it's an ... updrafter
00:05:27 <elliott> it's an april fools joke
00:05:57 <Sgeo> I know it's an April Fools Joke, but I thought it was a real joke Kickstarter
00:06:15 <Bike> sgeo. dude. *puts my arm around your shoulder* did you watch the video? did you notice the rewards? it's okay man. it's okay, we're here for you in this time of need for you and your perceptual capabilities
00:06:57 -!- epicmonkey_ has quit (Ping timeout: 276 seconds).
00:07:02 <Sgeo> I noticed the rewards. I thought it was a piece of silliness put on actual Kickstarter
00:08:21 <Sgeo> I didn't notice the video
00:11:00 -!- Jafet has quit (Quit: Leaving.).
00:11:16 <Bike> *removes arm from shoulder*
00:12:09 <oerjan> @tell taneb Also Egypt _is_ vaguely near Ethiopia, so something is clearly horribly wrong there
00:12:09 <lambdabot> Consider it noted.
00:13:42 <oerjan> Sgeo: you should check your purse hth
00:14:45 <Sgeo> oerjan, idgi
00:15:28 <oerjan> Sgeo: that Bike character looks quite shady
00:15:47 <Sgeo> Ah
00:15:57 * Bike slowly pedals himself away
00:17:06 <elliott> wait. Bike has arms
00:17:56 <Bike> actually it's just the one
00:18:00 <oerjan> elliott: i _told_ you he was shady
00:18:00 <Bike> thanks for reminding me, asshole
00:23:10 -!- Bike has quit (Quit: leaving).
00:23:48 -!- kallisti has joined.
00:23:48 -!- kallisti has quit (Changing host).
00:23:48 -!- kallisti has joined.
00:36:59 -!- Bike has joined.
00:58:24 -!- copumpkin has quit (Ping timeout: 264 seconds).
00:58:56 -!- copumpkin has joined.
01:02:11 -!- hagb4rdoux has quit (Ping timeout: 256 seconds).
01:19:16 <Gregor> Hmmmmmmmmmmmmmmm.
01:19:22 <Gregor> I'm finally starting to understand the Nexus thing.
01:19:43 <Gregor> Google is taking an interesting approach to being manufacturer-neutral by having their "first party" product line be made by /several/ manufacturers.
01:19:45 <oerjan> ^ul (H)S((m)S:^):^
01:19:45 <fungot> Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ...too much output!
01:20:07 <Gregor> LG, Asus and Samsung all manufacturing Android devices under the same brand name…
01:23:10 -!- GOMADWarrior has quit (Ping timeout: 246 seconds).
01:29:26 -!- copumpkin has quit (Ping timeout: 255 seconds).
01:29:56 -!- copumpkin has joined.
01:38:49 -!- Jafet has joined.
01:39:42 <shachaf> `? tervetuloa
01:39:42 -!- lahwran- has changed nick to lahwran.
01:39:44 <HackEgo> tervetuloa: ask shachaf
01:39:54 <shachaf> imo ask fizzie
01:39:59 <oerjan> shachaf: tervetuloa?
01:40:07 <shachaf> oerjan: ask ion
01:40:16 <oerjan> ion: tervetuloa?
01:41:25 <ion> oerjan:
01:41:27 <ion> t̵̤̠̰̫͔̼̣͔̘̥̪͕̳̫̼̪͉͍͆̇̇ͧ́̎ͦ̄͂ͥ̊̇̚̕͠e̝͖͉̮̙͖̠͇̘͇̊ͪ̆͆ͩ̇̓ͥ̑̏̊ͯ͟r̸̛̒͌̌̒́̐̆͒͒̀͏̻̹̪̣v̺̪̯͉͎̱̜͚͎̖͙̞͕̗̙̱ͬ̿̈́ͦͥ͒͢͟ͅe̡̧̞̼̭̘̱̪̣̪̘̤͎̣̜ͮ̈́ͫ̓͌̾̐ͫ̈͞t̛ͨͪ̉ͦ̇̊ͫͮ͑̿͂̃ͯ̄́̀͢͏̷̦̰̠̮u̵̝̜̣̱̮͎̳͔̳̳͙̮ͥ͋̏̂ͧͬ̌̈́̿́͘l͋ͦͩͮ͏̷̧̦̝̳̩̭̕o̴̷͖̘ͨ̇ͪͭ̐ͬ̀͑ͯ̒̕
01:41:29 <ion> ̣̺͖͈̺̰̣͈̞̪̠̯̱͔͕a͍̭͚̹͉̖̯̣͉͈͑̅̇͋ͨ͐͑ͪͮͮ̈́̈́͂̚̚͠͡ͅͅ
01:41:38 <ion> I wonder why WeeChat keeps splitting these to multiple lines?
01:41:59 <ion> It was a single line in the input line before i hit return.
01:42:17 <oerjan> it is clearly too much for a single line to handle
01:42:46 <ion> Oh, perhaps these actually don’t fit to the maximum IRC command length.
01:43:02 <Koen_> ion: wtf did you do to my screen :(
01:43:19 <oerjan> t̵̤̠̰̫͔̼̣͔̘̥̪͕̳̫̼̪͉͍͆̇̇ͧ́̎ͦ̄͂ͥ̊̇̚̕͠e̝͖͉̮̙͖̠͇̘͇̊ͪ̆͆ͩ̇̓ͥ̑̏̊ͯ͟r̸̛̒͌̌̒́̐̆͒͒̀͏̻̹̪̣v̺̪̯͉͎̱̜͚͎̖͙̞͕̗̙̱ͬ̿̈́ͦͥ͒͢͟ͅe̡̧̞̼̭̘̱̪̣̪̘̤͎̣̜ͮ̈́ͫ̓͌̾̐ͫ̈͞t̛ͨͪ̉ͦ̇̊ͫͮ͑̿͂̃ͯ̄́̀͢͏̷̦̰̠̮u̵̝̜̣̱̮͎̳͔̳̳͙̮ͥ͋̏̂ͧͬ̌̈́̿́͘l͋ͦͩͮ͏̷̧̦̝̳̩̭̕o̴̷͖̘ͨ̇ͪͭ̐ͬ̀͑ͯ̒̕ ̣̺͖͈̺̰̣͈̞̪̠̯̱͔͕a͑̅̇͋ͨ͐̚
01:43:25 <shachaf> ion.....................................
01:43:36 <oerjan> oerjan: t̵̤̠̰̫͔̼̣͔̘̥̪͕̳̫̼̪͉͍͆̇̇ͧ́̎ͦ̄͂ͥ̊̇̚̕͠e̝͖͉̮̙͖̠͇̘͇̊ͪ̆͆ͩ̇̓ͥ̑̏̊ͯ͟r̸̛̒͌̌̒́̐̆͒͒̀͏̻̹̪̣v̺̪̯͉͎̱̜͚͎̖͙̞͕̗̙̱ͬ̿̈́ͦͥ͒͢͟ͅe̡̧̞̼̭̘̱̪̣̪̘̤͎̣̜ͮ̈́ͫ̓͌̾̐ͫ̈͞t̛ͨͪ̉ͦ̇̊ͫͮ͑̿͂̃ͯ̄́̀͢͏̷̦̰̠̮u̵̝̜̣̱̮͎̳͔̳̳͙̮ͥ͋̏̂ͧͬ̌̈́̿́͘l͋ͦͩͮ͏̷̧̦̝̳̩̭̕o̴̷͖̘ͨ̇ͪͭ̐ͬ̀͑ͯ̒̕ ̣̺͖͈̺̰̣͈̞̪̠̯̱͔͕a͑̅̇
01:43:40 <shachaf> help
01:44:26 <oerjan> ion: implausible
01:44:58 <ion> Yeah, those take quite a few bytes. What i wrote/pasted took 506 bytes. WeeChat split it at the first space (after the colon), and the remaining part still didn’t fit in a command so it split it again.
01:45:49 <ion> shachaf: http://heh.fi/tmp/ghci-prompt
01:45:51 <oerjan> ion: um i just wrote it as one line didn't i?
01:46:26 <shachaf> good prompt
01:46:27 <ion> oerjan: With much less combining characters judging from what wc says about it.
01:46:36 <oerjan> ic
01:47:43 <ion> Sorry, my bad. Your paste didn’t drop any combining characters after all, i think.
01:48:38 <oerjan> i don't think i got all at the end
01:48:49 <oerjan> judging by the logs
01:49:47 <oerjan> hm, maybe it actually got cut off by the limit
01:49:55 <oerjan> ͙̮l͋ͦͩͮ͏̷̧̦̝̳̩̭̕o̴̷͖̘ͨ̇ͪͭ̐ͬ̀͑ͯ̒̕ ̣̺͖͈̺̰̣͈̞̪̠̯̱͔͕a͍̭͚̹͉̖̯̣͉͈͑̅̇͋ͨ͐͑ͪͮͮ̈́̈́͂̚̚͠͡ͅͅ
01:50:13 <shachaf> ion help stop it..
01:50:28 <oerjan> ah seems so
01:50:33 <oerjan> shachaf: PROBLEM?
01:50:39 <ion> I think your paste lacked the combining characters that ended up on my second line before any normal character.
01:50:57 -!- pikhq has quit (Ping timeout: 276 seconds).
01:51:04 <shachaf> oerjan: ДА
01:51:05 * Koen_ takes a tissue and rubs the computer screen
01:51:19 <ion> And that was enough to make it fit to a single command.
01:51:33 <oerjan> ion: well they look like the same mess as yours in the logs.
01:51:59 <oerjan> ion: in the logs, mine is clearly cut off at the end
01:52:54 <oerjan> in this browser which shows it has a horrible uncombined mess
01:52:57 <oerjan> *as
01:57:25 <zzo38> There are now Japanese announcements for VGMCK.
02:01:24 -!- pikhq has joined.
02:01:34 -!- monqy has quit (Quit: hello).
02:01:42 <zzo38> It is not the first time I made something which Japanese people have used afterward.
02:06:30 <Lumpio-> What's a VGMCK
02:07:59 <zzo38> A program to write music in .VGM format
02:08:01 -!- Deewiant has quit (Ping timeout: 248 seconds).
02:08:19 -!- Deewiant has joined.
02:09:56 <Lumpio-> Write as in compose, convert from something else, or?
02:18:12 -!- hagb4rdoux has joined.
02:18:51 <zzo38> To compose your own music using MML.
02:20:22 <hagb4rdoux> hi zzo38: how is your little sound processing project processing? got a repo?
02:20:45 <zzo38> hagb4rdoux: What sound processing project do you mean?
02:21:13 <hagb4rdoux> erm..pardon.. progressing..going on.. what its state
02:21:47 <hagb4rdoux> damn it y am i still habardoux when joining
02:22:04 <oerjan> hagb4rdoux: it's your inner frenchman revolting
02:22:17 <zzo38> Other programs to write your own music in .VGM format do exist, such as XPMCK and DefleMask and a few others, although VGMCK supports more chips than the others, and some other features are also more complete.
02:22:21 <hagb4rdoux> shitty nettalk can't handle its appdata..though its a portable version!!
02:22:26 <zzo38> hagb4rdoux: That isn't answering my question.
02:22:39 -!- hagb4rdoux has changed nick to hagb4rd.
02:24:04 <hagb4rd> you
02:24:10 <hagb4rd> are a lingu-weirdo
02:24:39 <hagb4rd> however you are correct.. it is not
02:28:48 <hagb4rd> zzo38.secretsoundrevolution.onComplete(share(this, hagb4rd));
02:30:12 <hagb4rd> it seems you are in the confuse the world with shortcuts of ideas i recently read about phase
02:30:30 <Bike> it seems you are in the confuse the world
02:30:32 <zzo38> That doesn't answer my question either.
02:30:57 <zzo38> I don't know what little sound processing project you meant!
02:32:13 <hagb4rd> okay..sry then. maybe it was someone else then. i guess.
02:32:48 <hagb4rd> `log rectangl.*wave
02:33:01 <hagb4rd> `log rectang.*wave
02:33:20 <HackEgo> No output.
02:33:31 <HackEgo> 2013-04-02.txt:02:33:01: <hagb4rd> `log rectang.*wave
02:33:40 <hagb4rd> maybe it was another spacetime
02:33:58 * hagb4rd is out of sync
02:35:31 <oerjan> shachaf: eek it's spreading https://www.fpcomplete.com/user/liyang/profunctors
02:36:06 <shachaf> oerjan: imo beaky should sue liyang for libel
02:36:29 <oerjan> hagb4rd: maybe zzo38 has too many to guess
02:36:46 <oerjan> shachaf: nah, that would be too easy
02:38:12 <hagb4rd> it wasn't that important.. we were just sayin hello..stating we're not ready to change the world with our superficial collaboration :P
02:38:17 <hagb4rd> @oerjan
02:38:18 <lambdabot> Unknown command, try @list
02:52:06 -!- bengt_ has quit (Ping timeout: 245 seconds).
02:52:31 -!- bengt_ has joined.
02:59:23 -!- Koen_ has quit (Quit: Koen_).
03:08:50 <hagb4rd> this song is crashing my heart like a train https://www.youtube.com/watch?v=X_DVS_303kQ ..(but i'm lost within a happy crowd of intelligent but sense-o-less nerds. #esoteric is the only place i can go)
03:09:00 <hagb4rd> where is my rescue squad?
03:09:11 <hagb4rd> (it must be exhausted)
03:11:51 <hagb4rd> where do the irc-folks go when they get older and ..sillier?
03:12:29 <Sgeo> `slist
03:12:31 <HackEgo> slist: Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot
03:13:11 <oerjan> i'm old and silly, but i don't click voluntarily on heart-crashing links. hth.
03:16:12 <Sgeo> hagb4rd, btw you were wrong
03:16:14 <hagb4rd> you are a good man oerjan
03:16:27 <Sgeo> That environment variable wouldn't have helped. Happened to see what it contained, it already had .cmd
03:17:30 <hagb4rd> oh really?
03:17:32 <hagb4rd> :D
03:17:45 <hagb4rd> great
03:19:15 <hagb4rd> but you always shall strike me down with your rightous anger if needed!
03:21:45 * hagb4rd calms and relax oerjan having his swat equipped and ready to draw
03:21:52 <hagb4rd> *noticing
03:29:43 -!- hagb4rd has quit (Quit: take it easy kids! some girls are bigger than other..good night).
03:32:04 <elliott> i can't tell if hagb4rd is always really stoned or just a bit crazy
03:32:31 <Bike> he knows windows pretty well. it's possible he's a sysadmin
03:32:41 <Bike> which would answer that question pretty conclusively i think
03:33:47 <oerjan> you are _this_ close to getting quoted, you two
03:34:30 <shachaf> hi oerjan :')
03:34:48 <shachaf> Why are indexed monads not "categories in the category of endofunctor" or whatever it is?
03:35:11 -!- nooodl_ has quit (Ping timeout: 256 seconds).
03:47:04 <oerjan> they aren't?
03:48:18 <oerjan> mse claims sigfpe's blog contains a virus
03:51:27 -!- fowl_ has joined.
03:54:51 <elliott> `welcome fowl_
03:54:53 <HackEgo> fowl_: 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. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
03:54:54 <elliott> oerjan: it's a virus of the mind.
03:54:59 <shachaf> vind
03:57:33 <oerjan> shachaf: mike seems to say in the comments of http://blog.sigfpe.com/2009/02/beyond-monads.html that it's a 2-category, not a category.
03:58:18 <elliott> well, you can trust mike.
03:58:40 <shachaf> is that mike stay
03:58:46 <oerjan> http://blog.sigfpe.com/2009/02/beyond-monads.html?showComment=1235695560000#c8394868375577042271
03:59:19 <oerjan> shachaf: profile says so
04:03:54 <zzo38> Storm Core is another ARMv2 implementation, other than Amber Core. Storm Core is not fixed to Xilinx Spartan-6, and runs at 80MHz on a Spartan-3, but is written in VHDL. Can Verilog and VHDL programs be combined in a FPGA? Can a single program have some files in Verilog and some in VHDL?
04:08:42 -!- Nisstyre-laptop has joined.
04:10:26 <shachaf> kmc: :-(
04:11:53 <zzo38> Do you know what features of ARMv2 are used by GCC?
04:11:58 <shachaf> Hopefully unrelated to my question mark thing.
04:13:18 <kmc> yes
04:14:37 <elliott> wait what did kmc even say
04:14:40 <kmc> i'm horribly insecure and don't need to hear about how i'm just a "code monkey" because I don't know enough about machine learning
04:14:52 <Bike> what
04:15:00 <kmc> conversation in another channel
04:15:19 <Bike> well, aww
04:15:33 <kmc> i was having a shitty day anyway so it's just, can't deal with that too
04:16:01 <shachaf> @hug kmc
04:16:01 <lambdabot> http://hackage.haskell.org/trac/ghc/newticket?type=bug
04:16:03 <shachaf> Well, that's something.
04:16:22 -!- ousia has quit (Quit: ousia).
04:16:38 <kmc> haha
04:16:44 <elliott> kmc: sorry people are being shitty :(
04:16:45 <kmc> thanks shachaf, lambdabot
04:17:03 <elliott> they should know I have a monopoly on that
04:17:10 <kmc> haha
04:17:17 * Fiora hugs kmc?
04:17:26 * kmc hugs back
04:17:28 <kmc> thanks :)
04:17:32 <Bike> machine learning seems like an odd thing to lightningrod on anyway
04:17:45 <Bike> people have their own specialties, nothing wrong with just knowing how to code... and you know a lot more than coding anyway
04:18:15 <Fiora> yeah, geez. you're one of the smartest CS people I know
04:18:19 <kmc> i've probably made similar statements about functional programming or whatever in the past
04:18:25 <kmc> *shrug*
04:18:33 <kmc> i think i'm getting a broader perspective over time
04:18:37 <Fiora> then again I've felt that way lately too sometimes so >_<
04:19:06 <shachaf> You've felt like one of the smartest CS people you know?
04:19:13 <Bike> she has.
04:19:14 <kmc> i took a intro ML class; it was cool and I did pretty well, but it didn't grab me as "omg I must study this forever and use it everywhere"
04:19:28 <elliott> yeah haskell is way cooler [THE JOKE IS ML,]
04:19:44 <kmc> i think there's a huge gap between knowing the basic techniques and actually getting them to work on messy real world stuff
04:19:44 <elliott> come on that was pretty good.
04:19:48 <kmc> and i'm happy to leave that up to other people
04:19:50 <kmc> elliott: nein
04:19:51 * Bike shakes elliott
04:19:56 <kmc> i read that as "shanks"
04:19:59 <elliott> you just don't accept me.
04:20:04 <shachaf> elliott: if by good you mean bad then it was still pretty bad
04:20:05 <Fiora> shachaf: no that is not what I meant -_-
04:20:26 <elliott> well the joke has personal meaning to me
04:20:32 <elliott> because i read kmc's line that way originally and it confused me
04:23:56 <Bike> kmc: it is weird to me that the person who wrote that jit spraying thing is talking about "messy real world stuff" just fyi
04:24:58 <shachaf> That thing wasn't ML.
04:25:09 <Bike> it's true it wasn't
04:25:41 <Bike> oh.
04:25:46 <Bike> i'm bored of hume. tell me what to do.
04:25:53 <shachaf> Bike: smullyan hth
04:26:16 <Bike> i'm not going to "do" smullyan he's like 90
04:26:26 <shachaf> well hume is dead
04:26:29 <shachaf> doesn't seem to stop you
04:27:57 <Fiora> kmc: I could kind of say something but I think I will just like, point to what bike said
04:28:02 <kmc> :)
04:28:26 <kmc> yeah I like messy real world stuff when it's, like, debuggers and kernels
04:28:29 <kmc> MATLAB not so much
04:28:33 <kmc> happy to leave that to someone else
04:28:33 <shachaf> Should I learn about ML?
04:28:43 <shachaf> I can go work at this CV company.
04:28:52 <kmc> shachaf: sure, why not
04:29:19 <kmc> i used to be pretty into graphics too, but haven't done much of that in a while... kind of miss it
04:29:19 <shachaf> I don't know if I want to. :-(
04:29:40 <shachaf> It is surely better than doing nothing.
04:29:42 <kmc> "sorry I'm turning in my graphics homework late because I spent all weekend coding a fractal visualizer to entertain tripping people instead"
04:30:05 <kmc> this works iff the graphics prof shows up to the party where you're showing off the fractals
04:31:06 <shachaf> Hmm, I know pretty much nothing about ML.
04:31:30 <Fiora> kmc: also like two weeks ago I basically angsted myself into an anxious heap after spending 4 hours realizing how clueless I was at C++ at work
04:31:56 <elliott> Fiora: what you have to realise is that everybody on the planet is clueless at C++
04:32:00 <Fiora> which sort of goes to the same thing, like, people say "oh you must be brilliant you do all this amazing super hard simd stuff and you know SSE and everything!" and I'm like "I don't know how virtual functions work"
04:32:05 <Fiora> "save me"
04:32:08 <elliott> even if you learn things about it, you just discover new ways in which it makes you clueless
04:32:11 <kmc> *nod*
04:32:15 <elliott> layer upon layer
04:32:16 <kmc> have you read the C++ FAQ Lite?
04:32:35 <elliott> I think I understand C++ templates about twice as well as the language itself
04:32:37 <kmc> i think it's pretty good for getting an overview of most of the stuff in the language
04:32:45 <Fiora> I've read some things, it's just, I spend a few hours struggling with error messages caused by not knowing I needed pure virtual functions, and deried calsses and constructors and aghghghgh
04:32:48 <elliott> because I kind of learned them first
04:32:59 <oerjan> <shachaf> well hume is dead <-- exhumed?
04:33:19 <shachaf> `addquoerjan <shachaf> well hume is dead <-- exhumed?
04:33:20 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: addquoerjan: not found
04:33:37 -!- Deewiant has quit (Ping timeout: 248 seconds).
04:33:46 <shachaf> Fiora: isn't that how learning things is supposed to work
04:33:57 <Fiora> yes but like i am supposed to know this
04:34:47 <shachaf> Well, now you know how pure virtual functions work.
04:34:55 <shachaf> You are a superior person to old Fiora.
04:35:22 <elliott> is the joke rating people's worth by how many things they've memorised
04:35:32 <shachaf> the joke is old Fiora is younger than current Fiora
04:35:40 <shachaf> so maybe she should be called young Fiora
04:36:44 <kmc> mind = blown
04:37:49 <kmc> i wonder who was the last person who understood everything about computers that was known at the time
04:38:07 <Fiora> I'm not saying it's the end of the world or it's bad or anyhting I guess
04:38:12 <kmc> i found this amazing computer book from the 60's
04:38:20 <kmc> which is mostly about weird tricks for building analog computers
04:38:36 <kmc> out of like neon light bulbs and metal discs cut into peculiar shapes and shit like that
04:38:36 <pikhq> Must be amazing.
04:38:45 <Fiora> I am expressing a similar experience to kmc in order to build rapport and make him feel as if he is not alone, right? <.<
04:38:54 <kmc> yes i think so
04:39:00 <kmc> :)
04:39:09 <shachaf> Fiorapport
04:39:22 <kmc> one of my dreams is a computer that's made out of high voltage arcs in air
04:39:26 <pikhq> Fiora: No, I am building rapport so I can demolish it, thereby making him feel more alone than he ever thought possible.
04:39:39 <kmc> seems not implausible that you could build logic gates this way
04:39:52 <kmc> it has hysteresis since the ionized air conducts better than regular air
04:39:58 <kmc> and you can have complicated geometric arrangements
04:40:04 <Fiora> pikhq is cruel
04:40:09 <kmc> also it floats upward so maybe that's useful?
04:40:10 <shachaf> The Bird is Cruel!
04:40:17 <Fiora> kmc: has bike linked you to the, um. was it a hamster computer?
04:40:25 <kmc> haven't seen that
04:40:30 <Fiora> it was some animal computer
04:40:35 <Fiora> er, animal logic gate
04:40:35 <shachaf> _The Unpleasant Profession of Jonathan Hoag_
04:40:51 <pikhq> Well, I guess you can build computers from string and apples, so...
04:41:04 <Fiora> oh, crabs, I think?
04:41:14 <shachaf> Oh, crabs!
04:41:16 <Fiora> http://arxiv.org/abs/1204.1749
04:41:22 <Fiora> I think that's the one bike linked me
04:41:31 <zzo38> Computers can be made in all of these ways?
04:41:33 <kmc> ah yes the crabputer
04:41:33 <elliott> what, no video
04:41:35 <zzo38> I didn't know that.
04:42:34 <kmc> that's the best
04:42:42 <kmc> i mentioned it in a lecture and the students were pleased
04:43:22 <kmc> crabputer, crabputer, work like computer, taste like crab
04:43:37 <kmc> it has an "intimidation plate"
04:44:04 <shachaf> Computer? She can solve the 'alting problem!
04:45:03 <kmc> -_-
04:45:32 <Fiora> *giggle*
04:50:23 <shachaf> Fiora: pshufb isn't fast like the other shuffles?
04:51:10 <shachaf> Oh, this is about Atom.
04:51:18 <shachaf> Hmm, maybe Atom was relevant to the code I used pshufb with.
04:51:57 <Fiora> yeah, pshufb is fast on *most* things, I think. the atom is a big exception
04:52:27 <Fiora> I have no idea how they managed to make it 6/6, just, geez @_@ all the other shuffles are fast too
04:53:35 <shachaf> Pretty crazy that that even exists. I thought they were still on 22nm or something, but now they're using the atom?
04:53:55 <Fiora> from what I've heard I think the atom is kind of an old architecture at this point, like, all the updates to it have been just shrinks?
04:54:05 <Fiora> there's a next-gen atom coming out soonish though, supposedly it'll be way better
04:54:17 <shachaf> (it was just a stupid pun, sorry)
04:54:24 <Fiora> .... XD
04:54:40 <Fiora> that joke was good and I am bad for missing it
04:54:41 * kmc shoves shachaf into an ion trap
04:55:04 <shachaf> imo ion would be a better fit.
04:55:07 <shachaf> s/.$//
04:55:29 <Fiora> there's a few other really ridiculously slow instructions on low-power chips, from what I remember
04:55:34 <Fiora> I think the bobcat has like a 20-cycle or something palignr
04:55:40 <Fiora> which is a 1 or 2 cycle instruction on everything else in the cosmos
04:56:13 <shachaf> I wish I knew about all the things Fiora knows about instead of boring things like pure virtual functions in C++.
04:56:23 <shachaf> then maybe i could be cool like Fiora and use a haswell????
04:56:24 <Fiora> ._. sorry
04:56:27 <kmc> you can combine your knowledge
04:56:33 <kmc> through internet relay chat
04:56:33 <Fiora> geez it's really not that cool...
04:57:05 <kmc> i think for one release cycle, Ubuntu supported an architecture called "lpia" which was i386 but compiled specifically to run well on low power chips
04:57:07 <shachaf> i didn't say it was cool i said you were cool
04:57:18 <shachaf> also i only use the word "cool" ironically
04:57:23 <kmc> coolronically
04:57:30 <shachaf> which isn't to say i don't mean it
04:57:35 <shachaf> or that i do
04:57:35 <shachaf> help
04:57:38 <shachaf> what am i even saying
04:57:50 <elliott> life tip: ignore everything shachaf says in lowercase
04:57:51 <kmc> shachaf: the curse of irony
04:58:11 * shachaf glabnu ste gyatovlip trag yalofato sru inga tlom tugafasi
04:58:28 <shachaf> elliott: second life tip: ignore everything shachaf says in uppercase
04:58:36 <Bike> so uh i just explained Functor to a perl programmer
04:58:42 <Bike> is there like... a support group i can sign up for
04:58:54 <kmc> shachaf: halp
04:58:56 <kmc> that's not rot13
04:59:02 <Fiora> (fiora is not actually cool, she just has a dumb autistic brain that memorizes dumb things that aren't useful and then has nobody to talk with about them)
04:59:04 <kmc> it's not rot13 english anyway
04:59:08 <Bike> fiora.........
04:59:23 <shachaf> Fiora: Wow, that's just unfair.
04:59:30 <kmc> we talk about them here
04:59:39 <shachaf> You wouldn't talk like that about other people, so why would you talk like that about yourself?
04:59:46 <Bike> Fiora, if you keep being such a jerk to Fiora I'm going to have to take drastic measures. You shouldn't be so mean to your friends.
04:59:59 <Bike> I mean, she's right there, man!
05:00:05 <shachaf> If you say that people have "dumb autistic brain"s and so on I'll classify you as a mean person.
05:00:12 * Fiora is a mean person I guess
05:00:26 <shachaf> Go sit on the group W bench.
05:00:37 <shachaf> Now, kid!
05:00:42 <elliott> on the upside #esoteric's topic is dumb things that aren't useful
05:01:03 <Fiora> yes but other people actually know about them and can talk about them
05:01:11 <Fiora> so they're not useless at all
05:01:21 <Bike> fiora you know lots of things and you talk to us and also me about them
05:02:02 <Fiora> yeah, but nobody else can really say anything meanngful most of the time so I just kind of talk at a wall for a bit and go back to playing pokemon or something
05:02:10 <elliott> Fiora: I hate to break this to you but I think more people know about CPUs than esolangs
05:03:37 <elliott> well technically nobody talks about esolangs in #esoteric anyway. oops.
05:04:25 <Fiora> maybe a #cpus? <.< >.> I guess you're right
05:07:02 -!- oerjan has quit (Quit: Ngåit).
05:07:21 <coppro> if you can't think of a way to do something without coming off as pretentious, then it's probably pretentious, right?
05:08:18 <Fiora> sorry for dumb angsting
05:08:25 * Bike patpats fiora
05:09:13 * Fiora hugs Bike
05:09:22 <Bike> hug.
05:09:23 <shachaf> @hugs all around
05:09:23 <lambdabot> http://hackage.haskell.org/trac/ghc/newticket?type=bug
05:14:54 <elliott> bugs all around.
05:15:38 <kmc> coppro: well do you think that "is pretentious" and "comes off as pretentious" are distinct concepts?
05:15:42 <kmc> i don't really think so
05:16:05 <kmc> an idea might be doomed to come off as pretentious thanks to the audience's attitudes, but still be a worthwhile idea
05:17:09 <kmc> there are some things that are kind of universally labeled as pretentious in popular culture
05:18:17 <elliott> for example kmc <-- brun
05:21:04 <Bike> confession i enjoy modern art
05:21:28 <shachaf> Bike how could you.......
05:21:59 <shachaf> confession i enjoy monoids
05:22:23 <Bike> the portland art museum has this piece "Alaska" that's a bunch of TVs stacked on a car displaying a twenty second loop of the sun rising
05:22:26 <Bike> it's amazing
05:23:10 <Bike> on a cart*
05:23:15 <shachaf> I,I "You ASCII silly question, you get a silly ANSI." "Alaska silly question whenever I want to!"
05:23:15 <elliott> that's what alaska is like irl
05:23:22 <Bike> and another one that's a TV covered in garish paint displaying some obscure cartoon
05:23:26 <kmc> Bike: cool
05:23:33 <kmc> i have been to Alaska and it is not like that "irl"
05:23:41 <Bike> they also have a bunch of Monet and stuff but like, TVs man.
05:23:58 <elliott> is alaska cool irl
05:24:01 <elliott> um i mean
05:24:05 <elliott> in the non-temperature sense you asshole
05:24:11 <kmc> depends on what you like
05:24:13 <elliott> imo cold places with lots of snow are pretty cool
05:24:18 <elliott> but I don't know if this applies to alaska
05:24:35 <kmc> if you like mountains, bears, seasons of unusual duration then they pretty much have you covered
05:24:47 <kmc> rednecks flying small planes
05:24:59 <kmc> alarming rates of sexual assault
05:25:20 <Bike> isn't that just america in general OH BURN n.b. I don't know if amurikka's rape rate is actually higher or what
05:25:22 <shachaf> More alarming than other places?
05:25:28 -!- Nisstyre-laptop has quit (Quit: Leaving).
05:25:31 <kmc> i was there in the summer so it was only a normal amount of snow
05:26:04 <shachaf> Summer? She is not a number, she is a free woman!
05:26:15 <elliott> shachaf....
05:26:29 <kmc> shachaf: yeah I think it's much higher than any other state
05:26:33 <kmc> don't know why
05:26:44 <kmc> another thing about alaska: they pay you money to live there
05:26:45 <shachaf> elliott: help im addicted :'(
05:26:55 <kmc> another thing about alaska: it's next to canada and also russia?
05:27:06 <shachaf> don't be silly those are on opposite sides of the map
05:27:47 <kmc> uh shachaf if you zoom out all the way you will see that Alaska is next to the left copy of Russia
05:27:53 <elliott> haha
05:27:55 <kmc> although quite far from the right copy
05:28:06 <kmc> i've got to sleep now
05:28:08 <elliott> as i was typing before kmc made me laugh: i like the idea that alaska is so awful they have to pay you to live there
05:28:24 <Bike> do you get paid to live in like whitehorse or wherever
05:28:25 <kmc> i will share any additional thoughts about alaska (if any) tomorrow
05:28:29 <elliott> kmc no
05:28:30 <Bike> or do you just starve because harper suxxx
05:28:33 <elliott> I can't live without more alaska fax!
05:28:39 <elliott> here fax is short of factologies
05:29:05 <shachaf> @ask kmc for additional thoughts about alaska
05:29:05 <lambdabot> Consider it noted.
05:29:19 <Bike> this book talks about Milner but not in a type way, gosh
05:29:33 <elliott> did you finish lyah and/or the report yet Bike
05:29:37 <shachaf> Bike: does it talk about harper
05:29:50 <Bike> shachaf no elliott yes like ten years ago?
05:29:56 <elliott> have you written any programs in haskell yet
05:30:07 <Bike> nah
05:30:08 <shachaf> Bike: the joke is harper of existentialtype.something.com
05:30:13 <elliott> so you're "Sgeo"ing haskell
05:30:17 <Bike> that's a dumb joke
05:30:26 <elliott> i wonder if harper likes harrop
05:30:29 <Bike> elliott, well, i don't write any "useful" programs anyway
05:30:35 <shachaf> harroper
05:30:43 <Bike> so i'll probably just stick to SNOBOL whenever i do, books be damned
05:30:51 <elliott> do you actually write snobol
05:31:00 <Bike> lol god no
05:31:11 <Bike> I have the manual though. It was neat.
05:31:15 <elliott> oh wait have you read the typeclassopedia
05:31:17 <elliott> @where typeclassopedia
05:31:17 <lambdabot> http://www.haskell.org/haskellwiki/Typeclassopedia
05:31:20 <elliott> it's a good thing to read
05:32:01 <Bike> oh, the composable monads thing is like that Steele paper i read back in the pioneer days
05:32:25 <elliott> do you mean monad transformers
05:32:48 <elliott> <shachaf> @let sum'n'max x y = (x + y, max x y)
05:32:52 <elliott> shachaf is an awful person, guys
05:33:09 <Bike> yes i mean those.
05:33:36 <Bike> > sum'n'max 4 719
05:33:38 <lambdabot> (723,719)
05:33:45 <Bike> useful
05:33:51 <elliott> it's the name, Bike
05:34:08 <Bike> oh! oh like the bunny
05:34:24 <Bike> also these monad transformers seem a bit «'"inelegantly"'» defined
05:34:35 <elliott> monad transformers are kinda weird but waht do you mean by that
05:34:37 <elliott> i mean they're useful
05:34:46 <Bike> yes
05:35:00 <Bike> like this typeclassy thing
05:35:05 <Bike> whatever i don't want to sgeo too hard here
05:35:29 <Bike> "Is the composition of two monads always a monad? As hinted previously, the answer is no. For example, XXX insert example here."
05:35:38 <elliott> you mean the MonadState class thing or what?
05:35:41 <shachaf> Bike: that's you
05:35:44 <shachaf> that's your cue
05:35:46 <elliott> or just MonadTrans itself or
05:35:51 <shachaf> do something meaningful in your life
05:35:52 <Bike> Yeah the MonadState etc. class thing.
05:35:56 <elliott> yeah well
05:36:00 <Bike> The concept itself is fine and probably hella useful, I'm sure.
05:36:01 <elliott> it beats "lift $ lift $ lift $ get"
05:36:05 <shachaf> Bike: btw adjunctions
05:36:09 <elliott> but i agree, it's slightly ad-hoc
05:36:12 <Bike> imo fuck adjunctions
05:36:20 <elliott> it's just also very useful to have those auto-lifting classes
05:36:34 <elliott> and sometimes being polymorphic over monads that satisfy some of the classes can be useful
05:36:42 <Bike> btw "What is the kind of t in the declaration of MonadTrans?" the answer is (* -> *) -> * -> *, right?
05:36:56 <elliott> yep
05:36:56 <shachaf> @kind MonadTrans
05:36:58 <lambdabot> ((* -> *) -> * -> *) -> Constraint
05:37:02 <shachaf> yep
05:37:05 <Bike> cool
05:37:08 <shachaf> Bike: imo s/adjunctions/you/ hth
05:37:12 <Bike> shachaf :(
05:37:16 <elliott> Bike: you can use :k MaybeT or such to find that out in ghci, btw
05:37:26 <shachaf> don't be dissin' adjunctions Bike
05:37:31 <Bike> hm i didn't realize constraints were kinded, that's pretty obvious really
05:37:31 <shachaf> you don't know what you're up against
05:37:37 <elliott> they're not really
05:37:39 <shachaf> They're not, in standard Haskell.
05:37:42 <shachaf> It's a GHC extension.
05:37:43 <elliott> they are in a new, experimental ghc extension
05:37:56 <elliott> which lets you do crazy thinsg like classes of classes
05:38:12 <shachaf> Bike: want to see something crazy
05:38:17 <Bike> standard haskell like barely mentioned kinds at all
05:38:21 <Bike> just kind inference and that was it
05:38:24 <shachaf> oh maybe you have to know about comonads first
05:38:38 <elliott> does typeclassopedia cover arrows
05:38:41 <elliott> I forget & hope not
05:38:46 <shachaf> comonads are just comonoids in the cocategory of endofunctors
05:38:46 <Bike> here's that edward kmett guy again
05:38:56 <shachaf> (btw cocategory = category. i just said that to make it seem complicated)
05:38:57 <elliott> That Edward Kmett Guy
05:38:59 <Bike> elliott: I'll skip that part just to satiate you.
05:39:10 <Bike> To feed you. Yes that is what I meant.
05:39:13 <elliott> Bike: did you know that edwardk used to be in #esoteric a lot??
05:39:23 <Bike> Yes
05:39:28 <elliott> ok.
05:39:39 <Bike> Since like. you mention him at all as a person you know
05:39:54 <shachaf> Bike: did you know edwardk is the 5th most active user on github??
05:39:59 <elliott> are you suggesting the only people I know are from #esoteric
05:40:02 <Bike> creepy
05:40:16 <shachaf> https://gist.github.com/paulmillr/2657075
05:40:18 <elliott> none of us have ever talked to edwardk, we are just in his fanclub
05:40:37 <shachaf> i am in conal's fanc lub
05:40:39 <Bike> are you suggesting the only people I know are from #esoteric <-- well. yes?
05:40:40 <shachaf> the joke is lub
05:40:46 <elliott> Bike: well that's only like half true!
05:41:00 <shachaf> BUT WHICH HALF
05:41:12 <shachaf> hey Bike do you like kripke structures
05:41:33 <Bike> i like kripke
05:41:36 <Bike> so let's go with yes
05:41:46 <shachaf> oh
05:41:51 <shachaf> that doesn't work
05:41:52 <Bike> wait fuck he's still alive
05:41:59 <elliott> do you only like dead people
05:42:09 <Bike> no i just, i thought he was dead
05:42:10 <elliott> me too Bike. me too. i like you Bike. :-)
05:42:14 <Bike> who ever heard of a living philosopher
05:42:19 <elliott> watch out:-)
05:42:32 <shachaf> Bike: do you like de bruijn thingy
05:42:34 <Bike> a wolf actually started howling right when you said that
05:42:36 <Bike> good timing
05:42:41 <Bike> shachaf: which thingy (probably yes either way)
05:42:45 <shachaf> the joke is the answer is yes no matter what thingy is
05:42:49 <shachaf> because de bruijn was the best
05:42:55 <Bike> sounds good
05:43:13 <Bike> "Note: MonadFix is included here for completeness (and because it is interesting) but seems not to be used much. "
05:43:31 <shachaf> Tell that to nwf!
05:43:46 <shachaf> The only way I know of to understand MonadFix is to read the PhD thesis that introduced it.
05:43:53 <shachaf> Fortunately it's a very readable thesis.
05:44:07 <Bike> wow hm this is not really what scope means whatever
05:44:31 <Bike> " One of the motivating examples given in the original paper describing MonadFix (see below) is encoding circuit descriptions." good to read huh
05:44:50 <shachaf> it reads like a novel
05:44:57 <shachaf> the joke is novel contribution to something or other
05:45:02 <shachaf> i don't know
05:45:04 <shachaf> help
05:46:17 <Bike> "Why is this OK? Isn't fromJust almost as bad as unsafePerformIO? Well, usually, yes. "
05:46:28 <elliott> Bike: scope?
05:46:42 <Bike> nothing just being anal
05:46:50 <elliott> me too
05:46:57 <elliott> 25/8/366
05:46:57 <shachaf> ScopedBikeVariables
05:47:08 <shachaf> > 25/8/366
05:47:09 <lambdabot> 8.53825136612022e-3
05:47:21 <Bike> "The interesting thing to note is that maybeFix will never crash -- although it may, of course, fail to terminate."
05:47:38 <shachaf> whats that supposed to mean....................
05:48:07 <Bike> "It almost seems, spookily, that mfix is sending a value back in time to itself through the IORef"
05:48:07 <shachaf> crash, n.: fail to terminate (n. stands fro definition.)
05:48:24 <elliott> i already made the n. stands for definition joke shachaf
05:48:24 <shachaf> spokily
05:48:25 <Bike> In this case it probably means doing fromJust Nothing
05:48:30 <shachaf> elliott: ???????????????????
05:48:38 <shachaf> im pretty sure i just invented it
05:48:41 <Bike> which is "impossible" or whatever i dunno
05:49:18 <shachaf> Bike: I think you're ready to learn about lens.
05:49:26 <Bike> oh god
05:49:31 <Bike> fiora help somebody help
05:49:41 <Bike> anybody
05:49:52 <elliott> counterpoint: shachaf is wrong
05:50:06 <shachaf> Bike: A lens is a getter-setter pair.
05:50:15 <shachaf> Let's say a Foo contains a Bar and a Bar contains a Vaz
05:50:44 <shachaf> If you have a Lens Foo Bar and a Lens Bar Vaz you can construct a Lens Foo Vaz
05:50:58 <elliott> Bike: just ignore him
05:51:00 <shachaf> And you can use it to get and set the Vaz inside the Foo.
05:51:42 <shachaf> > view (_1 . _2) (("hello",5),True) -- getter
05:51:44 <lambdabot> 5
05:51:52 <shachaf> > set (_1 . _2) 100 (("hello",5),True) -- setter
05:51:54 <lambdabot> (("hello",100),True)
05:52:07 <shachaf> _1 is the lens for the first element of a tuple.
05:52:12 <shachaf> _2 is the lens for the second element of a tuple.
05:52:27 <Bike> needs a catchier name
05:52:43 <Bike> cadar, say
05:53:04 <shachaf> It's called a lens because it "focuses" on some part of a value.
05:53:21 <shachaf> Bike: Wait, did you mean that you don't want to learn about lenses?
05:53:25 <shachaf> I thought that was a joke.
05:53:34 <Bike> no it meant... i don't know what it meantn.
05:53:41 <Bike> this sounds kind of like the "zippers" in lyah.
05:54:21 <shachaf> Lens s a = (s -> a, s -> a -> s)
05:54:31 <shachaf> s is the outer type, a is the inner type.
05:54:35 <shachaf> That's a getter-setter pair.
05:54:48 -!- conehead has quit (Quit: Computer has gone to sleep.).
05:54:54 <shachaf> You can write compose :: Lens s a -> Lens a x -> Lens s x
05:54:59 <shachaf> (Exercise: Write compose.)
05:55:07 <shachaf> There are also other representations of lenses that let you do a lot of things.
05:56:15 -!- kallisti has quit (Ping timeout: 245 seconds).
05:59:51 <shachaf> Bike: elliott thinks profunctors are too hard for you.
06:00:04 <shachaf> Are you going to take this sitting down?!
06:00:10 <Bike> Well, it's true, I don't see how to compose the setters.
06:00:23 <Bike> Are you talking about me elsewhere or are you just the same person dressed as two people?
06:00:42 <elliott> we're two people dressed as the same person
06:00:50 <shachaf> Bike: Well, you'll have to use the getter too.
06:00:52 <elliott> hanging out in #bike
06:00:52 <Bike> You guys are pretty short.
06:00:58 <Bike> Oh. Wow I forgot you could do that.
06:01:16 <Fiora> #bike is an actual channel?
06:01:34 <Bike> imo everyone here but me should join #bike while i think about this stupid problem
06:01:42 <shachaf> There are bike channels on Freenode.
06:01:53 <shachaf> I wonder if I should mention it?
06:01:58 <shachaf> There are also train channels.
06:02:17 <shachaf> I think that's OK to mention.
06:02:19 <shachaf> If you like trains you should join #cslounge-trains
06:02:25 <Fiora> I made a #bike
06:02:27 <Fiora> I guess
06:03:41 <elliott> Bike: wow, shachaf was really mean to you!
06:03:43 <elliott> in your channel.
06:03:58 <shachaf> elliott: you didn't see the thing I did before you joined.
06:04:03 <Bike> You all are bad at being in #bike.
06:04:04 <shachaf> /t Bike? more like Bestpersoneverike
06:04:05 <Bike> Just so you know.
06:04:08 <shachaf> 23:02 -!- #bike You're not a channel operator
06:04:30 <Bike> Except Fiora. She's got this shit down.
06:04:38 -!- ThatOtherPerson has joined.
06:04:46 <Fiora> bike you should join #bike
06:04:53 <shachaf> Fiora is too busy being in #fiora
06:05:49 <shachaf> Bike: btw it helps if you use "polymorphic lenses"
06:05:54 <elliott> guys help this is too many irssi windows.
06:05:57 <shachaf> it makes the job easier
06:06:18 <Bike> s -> a -> s, a -> x -> a, get s -> x -> s. So it's just... \s x -> set2 (get1 s) x, to write it in the horriblest way possible probably
06:06:37 <elliott> \s -> set2 . get1 s
06:07:05 <shachaf> elliott: don't give Bike the pointfree bug
06:07:09 <shachaf> he's still free
06:07:13 <Bike> There's still a point right there.
06:07:22 <Bike> Is there an #orange?
06:07:56 <shachaf> I,I We'll surely avoid scurvy if we all eat an orange.
06:08:15 <Bike> Is that a monkey island quote
06:08:24 <Bike> and what the FUCK is I,I
06:08:27 <Bike> stop that shit.
06:08:43 <elliott> i literally heard that in guybrush's voice jesus
06:09:25 <Bike> Oh, and the first part of compose is just . obviously
06:09:37 <shachaf> Right.
06:09:40 <shachaf> So that's what lenses are.
06:09:52 <shachaf> They let you do updates of things nested deep inside other things easily.
06:09:53 <elliott> shachaf: hmm, if you do (s, a) -> s or (a, s) -> s does the composition of the setter look more symmterical/uniform?
06:09:59 <shachaf> In a purely-functional way.
06:10:13 <shachaf> elliott: I doubt it?
06:10:20 <shachaf> I mean, you still have to use the getter and the setter.
06:41:28 <shachaf> Bike: Want more lens puzzles?
06:41:42 <Bike> why not.
06:41:47 <shachaf> Hmm.
06:41:52 <shachaf> OK, next lens thing:
06:42:00 <shachaf> You can make it "better" by adding more types.
06:42:08 <shachaf> type Lens s t a b = (s -> a, s -> b -> t)
06:42:21 <shachaf> This is better because now you can change the type of the inner field and it still works.
06:42:35 <shachaf> For example: Lens (e,a) (e,b) a b
06:42:47 <shachaf> > set _1 "hello" (1,2)
06:42:49 <lambdabot> ("hello",2)
06:42:53 <shachaf> This wouldn't work with the Lens s a version.
06:43:12 <Bike> But now you'll need to have lenses starting with b and t if you want to keep lensing, don't you?
06:43:17 <shachaf> Also it makes it easier to write code because the type system catches your mistakes.
06:43:22 <shachaf> ?
06:43:32 <shachaf> compose :: Lens s t a b -> Lens a b x y -> Lens s t x y
06:43:36 <Bike> lens batman_the_animated_series
06:44:00 <shachaf> Bike: You're missing all the good anecdotes in #fiora by the way.
06:44:13 <shachaf> I've told several anecdotes.
06:44:31 <Bike> I guess I can join #fiora.
06:49:31 <elliott> Bike: you made an awful mistake
06:49:47 <Bike> Was the mistake joining #esoteric?
06:50:08 <Bike> I bet the mistake was reading this book by Aczel.
07:00:39 <shachaf> Fiora: You should talk about false sharing!
07:00:50 <shachaf> "best thing ever false sharing imo"
07:03:10 <Fiora> what about it @_@
07:03:20 <shachaf> I don't know.
07:05:59 -!- Deewiant has joined.
07:13:20 -!- zzo38 has quit (Remote host closed the connection).
07:15:28 -!- impomatic has quit (Quit: impomatic).
07:36:34 -!- Bike has quit (Quit: me).
07:37:35 -!- epicmonkey_ has joined.
07:43:15 -!- carado has joined.
07:47:16 -!- sebbu has quit (Read error: Connection reset by peer).
07:47:35 -!- sebbu has joined.
07:48:14 -!- sebbu has quit (Changing host).
07:48:14 -!- sebbu has joined.
07:55:31 -!- Halite has joined.
07:56:53 <Halite> grr
07:56:53 <lambdabot> Halite: You have 2 new messages. '/msg lambdabot @messages' to read them.
07:57:28 <Halite> .
08:04:02 <Halite> The reason I'm not wildly making up epic syntax is because it's hard to code it
08:24:07 -!- Taneb has joined.
08:42:25 -!- carado has quit (Ping timeout: 246 seconds).
08:54:48 -!- nooodl_ has joined.
09:02:39 <Sgeo> `slist
09:02:46 <HackEgo> slist: Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot
09:03:03 <ThatOtherPerson> What is `slist for?
09:03:05 <Taneb> ...slist
09:03:35 <Fiora> homestuck
09:04:11 <ThatOtherPerson> So why is there both ^list and `slist?
09:04:34 <Sgeo> list is a backup in case slist isn't working
09:04:51 <Taneb> I thought ^list was the canonical one
09:05:00 <Halite> ^list
09:05:00 <fungot> Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot
09:05:19 <Halite> add me
09:05:20 <Halite> ^list
09:05:20 <fungot> Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot
09:05:23 <Fiora> it's two different bots, I think?
09:05:30 <Halite> it's two bots
09:07:57 <ThatOtherPerson> There's some bug in my Underhanded C contest code that is changing Taneb's number of BFFs to 0
09:08:24 <Halite> I'm making a programming language. Wish me luck.
09:10:22 <ThatOtherPerson> Taneb Y U NO HAVE FRIENDS
09:10:34 <Taneb> Because I try to have to many
09:11:31 <ThatOtherPerson> Really naming one of my test variables "Taneb" is worth it for that reason
09:14:58 -!- monqy has joined.
09:20:10 <ThatOtherPerson> Oh, I get it
09:20:26 <ThatOtherPerson> I was cloning Taneb before he made friends
09:20:48 <Fiora> can I have friends
09:21:41 <ThatOtherPerson> Fiora: I haven't added any yet
09:22:25 <ThatOtherPerson> I was just going to use Fiora as a test case for someone who didn't have friends, at first
09:22:38 <ThatOtherPerson> And then I was going to make Taneb and Fiora be friends
09:23:38 -!- nooodl_ has quit (Read error: Connection reset by peer).
09:23:55 <elliott> what
09:24:03 <Fiora> what ;-;
09:24:40 <ThatOtherPerson> user ThatOtherPerson = user_init(1337, "David Beckley", "ThatOtherPerson");
09:24:40 <ThatOtherPerson> user Taneb = user_init(1234, "Nathan van Doorn", "Taneb");
09:24:40 <ThatOtherPerson> user_add_bff(&ThatOtherPerson, &Taneb);
09:24:45 <ThatOtherPerson> user Fiora = user_init(101, "Someone Random", "Fiora");
09:25:00 <monqy> ???????????????????????????????????????????????????????????????????
09:25:01 <shachaf> gasp Fiora's name is leaked!
09:25:09 <shachaf> oh monqy hello
09:25:19 <shachaf> i missed you
09:25:25 <shachaf> did you hear my anecdotes from before
09:25:36 <Fiora> wow. the system they describe for this years contest is actually kind of cool
09:25:49 <Fiora> minus the total silliness like credit card statements XD
09:25:52 <monqy> anecdotes?
09:26:15 <Fiora> hmmm. I should try this contest, it sounds fun :3
09:26:26 <shachaf> monqy: ask elliott for details
09:26:31 <monqy> ok
09:26:38 <shachaf> by details i mean whether they were good
09:26:42 <monqy> ok
09:27:09 <Fiora> and yes my name is totally Someone Random
09:27:12 <Fiora> >:3
09:27:17 <ThatOtherPerson> :D
09:27:20 <ThatOtherPerson> <3
09:32:53 <shachaf> oerjan: Why did you leave #haskell?
09:33:03 -!- nooodl has joined.
09:44:36 -!- copumpkin has quit (Ping timeout: 264 seconds).
09:45:08 -!- copumpkin has joined.
09:59:48 <Halite> is stacks an original programming language idea
10:00:18 <Taneb> ...not really
10:00:20 <Halite> ahem
10:00:22 <Halite> not stacks
10:00:23 <Halite> queues
10:00:27 <Taneb> ...not really
10:00:31 <Halite> :(
10:00:33 <Halite> what IS
10:00:53 <Taneb> If I could tell you, it wouldn't be original
10:00:57 <Halite> ...
10:01:08 <Halite> my imagination is poop
10:05:16 <FireFly> http://esolangs.org/wiki/List_of_ideas here, hope that helps
10:06:30 <ThatOtherPerson> I really want to do the metametaprogramming one, but I'm not completely sure what that even means
10:06:48 -!- AnotherTest has joined.
10:14:57 <Halite> I should make the queue number-only.
10:16:21 <Sgeo> I've wanted to play nomic sometime in 2003-2005, and I finally got in 2008. I wanted to go in Second Life in 2004, and I finally got in in 2006. I wanted to go in Planetside in 2006, and I finally got in... I still haven't gotten in
10:16:36 <Sgeo> That's a rather long time span
10:17:42 -!- ThatOtherPerson has quit (Quit: Leaving).
10:19:20 <Taneb> There should be an esoteric nomic
10:19:52 <FireFly> I thought nomic *was* esoteric nomic
10:20:02 <FireFly> unless you mean an #esoteric nomic
10:20:05 <Taneb> Yes
10:20:12 <FireFly> oh
10:20:12 <Taneb> And yes
10:34:14 -!- Taneb has quit (Ping timeout: 256 seconds).
10:36:39 -!- augur has quit (Remote host closed the connection).
10:38:09 -!- augur_ has joined.
10:50:09 <fizzie> Whoa, my sshfs command line tab-completed the remote path.
10:50:12 <fizzie> What year is it, again?
10:56:00 <Halite> it is 2010
10:56:10 <Halite> no wait
10:56:14 <Halite> it's 1337
10:58:26 <FireFly> Oh
10:58:26 <Halite> I just cannot make a new idea for my programming language
10:58:32 <FireFly> Better start beating the french then
10:58:45 <Halite> why
10:58:52 <FireFly> http://en.wikipedia.org/wiki/Hundred_Years%27_War
10:59:00 -!- ThatOtherPerson has joined.
10:59:05 <FireFly> it's supposed to start now
10:59:21 <FireFly> Anyway, you could always implement an existing esolang instead
10:59:24 <FireFly> Such as Feather
11:02:56 <ThatOtherPerson> At least according to http://esolangs.org/wiki/Feather, the Feather spec is even more ambiguous than the DCPU spec
11:26:01 -!- augur_ has quit (Remote host closed the connection).
11:30:17 -!- nooodl has quit (Quit: Leaving).
11:34:52 -!- epicmonkey_ has quit (Ping timeout: 256 seconds).
11:53:46 -!- nooodl has joined.
11:57:38 -!- ThatOtherPerson has quit (Quit: Leaving).
12:04:37 -!- copumpkin has quit (Ping timeout: 256 seconds).
12:05:08 -!- copumpkin has joined.
12:07:49 -!- nooga has joined.
12:10:59 -!- Halite has quit (Remote host closed the connection).
12:14:03 -!- augur has joined.
12:21:56 -!- nooga has quit (Ping timeout: 255 seconds).
12:27:40 -!- nooga has joined.
12:29:42 -!- hkt has joined.
12:31:50 -!- hkt has quit (Client Quit).
12:33:56 -!- augur has quit (Read error: Connection reset by peer).
12:34:24 -!- augur has joined.
12:38:30 -!- epicmonkey_ has joined.
12:39:06 -!- nooga_ has joined.
12:41:37 -!- Taneb has joined.
12:42:35 -!- nooga has quit (Ping timeout: 256 seconds).
12:48:28 -!- nooga_ has quit (Ping timeout: 246 seconds).
12:49:21 -!- augur has quit (Remote host closed the connection).
12:49:52 -!- augur has joined.
12:52:19 -!- Koen_ has joined.
12:54:36 -!- augur has quit (Ping timeout: 276 seconds).
13:09:47 -!- impomatic has joined.
13:17:23 <Taneb> The future's gonna be great
13:17:32 <Taneb> I HAVE SPOKEN
13:20:03 -!- augur has joined.
13:21:14 <monqy> (thumbs up)
13:24:26 <Taneb> Who would be in for an #esoteric Nomic
13:27:05 <elliott> you dont want to go back down that road
13:27:19 <elliott> (several #esoteric people play agora however)
13:27:38 <elliott> (or I guess "#esoteric is half the active agoran playerbase" is more accurate)
13:35:11 -!- TeruFSX has joined.
13:37:41 -!- boily has joined.
13:41:45 <Koen_> Taneb: try something with a self-modifying esolang
13:42:33 <Koen_> well or something like Emmental or Mascarpone
13:47:13 -!- TeruFSX has quit (Ping timeout: 245 seconds).
13:55:32 <Koen_> Taneb: so I hear they call you doctor van doom these days
13:55:57 <Taneb> Mainly oerjan and elliott
13:57:25 -!- fowl_ has quit (Quit: Leaving).
13:57:58 <Taneb> Who's that comedian
13:58:02 <Taneb> The geordie one
13:58:35 <Taneb> Ross Noble
14:04:09 -!- GOMADWarrior has joined.
14:09:34 <Taneb> Ugh... JQuery...
14:11:08 <boily> jquery is nice.
14:11:36 <Taneb> 6 months ago I would have agreed with you.
14:11:50 <Taneb> Now I just view it as overkill when CSS would do
14:12:53 <boily> what about ajax?
14:13:36 <Taneb> Okay, it's good for ajax
14:15:53 -!- Gregor has set topic: Try better next time. Level 7 status revoked. | H4sIADG1WFEAAzMxVDA3UDA3UjCzVDBLVjAyUDAxUzBLAyMg1xAAAdFVNCAAAAA= | http://codu.org/logs/_esoteric/.
14:15:58 -!- Gregor has set topic: Try harder next time. Level 7 status revoked. | H4sIADG1WFEAAzMxVDA3UDA3UjCzVDBLVjAyUDAxUzBLAyMg1xAAAdFVNCAAAAA= | http://codu.org/logs/_esoteric/.
14:16:55 <boily> uhm, what's that level 7 thingy?
14:17:10 <FireFly> The thing after the level 6 thingy
14:17:21 <boily> you vile mathematician answerer.
14:17:33 <Taneb> boily, it's been revoked.
14:17:37 <fizzie> We probably spend more time explaining this to regular people than people confusing it to the official freenode thing stay confused.
14:17:38 <Taneb> Now you'll never know
14:18:14 <boily> now I know I should be confused by the issue, and that's something I'm good with at.
14:18:18 -!- Deewiant has set topic: Try harder next time. Level 7 status revoked. | XQAAgAD//////////wAgnApGq03V4cQiqbdWT15vZ1CW/rSxi4DGHmNGLlT9jrx///b94AA= | http://codu.org/logs/_esoteric/.
14:19:48 <Taneb> boily, do you play dwarf fortress
14:20:22 <boily> not yet.
14:24:49 <elliott> Taneb: imo Taneb -> me -> Phantom_Hoover -> monqy succession fort
14:25:03 <Taneb> Oh no
14:25:05 <Taneb> That means I start
14:25:11 <elliott> feel free to swap you and ph!!
14:25:50 <boily> I think everything suddenly became clearer, except it concerns DF, so maybe not.
14:29:02 <elliott> boily can be added to that list iff he admits France isn't real.
14:29:39 <boily> no problem about France. last time I went there it was in 2003, and for all I know it's a figment of my coffee-deprived imagination.
14:30:25 <fizzie> Back in the BBS days, I thought I should get me some of that VGA Planets goodness, those people were swapping .TRNs like no tomorrow. (Then I did nothing.)
14:30:48 <elliott> boily: note: quebec is part of france.
14:31:23 <boily> elliott: st-pierre et miquelon are the last two remaining french territories near here (fsvo near).
14:31:38 <boily> Québec is part of Canada, or not, depending on how you feel today and perhaps moon phases.
14:31:41 <elliott> you're saying a bunch of nonsense. characteristic of a french person.
14:31:48 <elliott> no, canada is american, not french
14:33:02 <fizzie> Huh, there still is a VGA Planets 5 under development, and it's now a realtime multiplayer online thing.
14:33:21 <Taneb> We can cope without flux stone, right?
14:33:49 <fizzie> "VGA Planets 5 StarCube (under development) is a new version of VGA Planets which is played as a real time multiplayer online game --" StarCube === TimeCube?
14:34:47 <boily> elliott: by the way, there's this small text file I forgot I had, and it reminded me that I don't have your coordinates and your body mass yet.
14:34:53 <Gregor> “which is played as a real time multiplayer online game” // it's played AS a multiplayer online game. It's not actually online, it just doesn't let you pause and calls you a fag every 10 minutes.
14:37:24 -!- copumpkin has quit (Ping timeout: 264 seconds).
14:38:03 -!- copumpkin has joined.
14:39:00 <elliott> boily: 72⅛ and 3, respectively.
14:43:30 <boily> oh well. I'll go with that, and extrapolate more precise infos thereafter...
14:45:32 <boily> (and or use coercive manœuvres to extract these precious tidbits from you)
14:52:13 -!- sirdancealo2 has quit (Ping timeout: 240 seconds).
15:10:18 <Taneb> It's time to have blood removed from my veins if I am deemed worthy
15:10:26 <Taneb> elliott, stay away from the Mart.
15:10:32 -!- Taneb has quit (Quit: Leaving).
15:10:38 -!- sirdancealo2 has joined.
15:11:53 <elliott> wait, what mart
15:11:56 <elliott> oh
15:20:23 <monqy> elliott: imo go to the Mart
15:20:41 <elliott> no
15:26:19 -!- Frooxius has quit (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204]).
15:29:23 -!- nooodl^ has joined.
15:34:45 -!- augur has quit (Remote host closed the connection).
15:42:13 -!- sirdancealo2 has quit (Ping timeout: 245 seconds).
15:43:41 -!- Taneb has joined.
15:44:44 <Taneb> Apparently you need an appointment to have blood removed from your veins if you're deemed worthy
15:44:46 <Taneb> Who know
15:48:23 <Taneb> *knew
15:48:50 <Gregor> How know, brown glow
15:49:55 -!- Bike has joined.
15:49:59 -!- conehead has joined.
15:51:50 -!- augur has joined.
15:53:51 <Taneb> elliott, pig tails or cave wheat
15:54:31 <elliott> yes
15:54:47 <Taneb> Which should be the autumn harverst
15:56:57 <Taneb> I'm leaning to pig tails
15:57:34 <Koen_> Freaks Phone Number Out At
15:57:46 <fizzie> http://sprunge.us/JCZA Well, that was remarkably stupid.
15:57:47 <Koen_> those have gotta be five instructions from an esolang
15:58:58 <Taneb> The number freaks are out: phone.
16:00:24 -!- sirdancealo2 has joined.
16:03:48 -!- Lymia has quit (Ping timeout: 260 seconds).
16:12:20 <oklofok> http://rnd.fi/countation/
16:12:21 <Taneb> What shall we call the fortress
16:12:30 <oklofok> count the dots
16:12:32 <oklofok> in 10 seconds
16:12:33 <Gregor> fizzie: mesg is hardcore hacking.
16:12:38 <oklofok> tell me your score
16:12:50 <fizzie> Gregor: Is very clever, yes.
16:13:59 <oklofok> my record is 39
16:17:53 <fizzie> I got tired at 19. Somehow, as far as dots go, it was not as entertaining as DOT ACTION.
16:18:12 -!- augur has quit (Remote host closed the connection).
16:18:29 <oklofok> it's pretty boring up to 20
16:18:39 <oklofok> then again it takes about 10 seconds to get there
16:18:50 <Taneb> elliott, suggest a name for the fortress or it gets called "Homestuck"
16:19:03 <oklofok> now 40
16:19:21 <elliott> Taneb: i think monqy might suffer a lot playing a fortress called homestuck and im too sleep deprived to come up with a name that isnt terrible
16:19:25 <elliott> so whati m saying is go for it
16:20:05 <Taneb> IT IS TIME TO EMBARK
16:21:41 -!- sirdancealo2 has quit (Read error: Operation timed out).
16:21:43 <elliott> Taneb: i hope this fortress is really stupid in a least one way
16:21:49 <elliott> like in terms of the embark
16:21:59 <elliott> also I'm still going to dig to hell
16:22:02 <Bike> well it's df aren't they going to all die horribly either way
16:22:03 <lambdabot> Bike: You have 1 new message. '/msg lambdabot @messages' to read it.
16:22:24 <elliott> you just don't understand Bike. i only care about the exquisite deaths
16:22:24 <Taneb> elliott, I'll hide the pickaxe
16:22:34 <Bike> http://24.media.tumblr.com/7ec8d47c6a8ce5feb39a86a1ee08fdcb/tumblr_mhw700Z83g1s0s0n5o1_500.jpg
16:24:02 <Taneb> elliott, good news!
16:24:22 <elliott> do you mean bad news
16:24:26 <elliott> if it's good news i'm not interested
16:24:40 -!- Madoka-Kaname has joined.
16:24:40 -!- Madoka-Kaname has quit (Changing host).
16:24:40 -!- Madoka-Kaname has joined.
16:25:37 -!- augur has joined.
16:26:03 <Koen_> best 26
16:26:33 <oklofok> cool
16:26:50 <Koen_> that was the second most boring thing I did today
16:26:53 <oklofok> :(
16:27:05 <oklofok> how do people not like to count dots
16:27:45 <Koen_> there was some suspense when one of the dots thied to hide behind a dead pixel though
16:30:03 <oklofok> how do you count them?
16:31:44 <fizzie> I counted in groups of five.
16:31:47 <oklofok> me too
16:32:01 <Taneb> I in 3 or 4
16:32:14 <oklofok> so no one agrees it's fun? :(
16:32:31 <oklofok> maybe i'm a martian or something
16:32:48 <tromp_> Real Fast Nora's Hair Salon 3: Shear Disaster Download is almost isomorphic to Binary Lambda Calculus
16:33:22 -!- ogrom has joined.
16:33:35 <tromp_> with LAMBDA <-> 00, APPLY <-> 01, ZERO <-> 10, ONE MORE THAN<->1
16:34:19 <Taneb> tromp_, I think that's because both are lambda calculus with peano numerals
16:35:08 <Taneb> And de Bruijn indicies
16:35:35 <tromp_> only real difference is character encoding
16:35:47 <tromp_> Church numerals vs bit lists
16:35:59 <Taneb> Are you the John Tromp names on the Wikipedia page for BLC?
16:36:06 <tromp_> yup
16:37:15 <tromp_> why'd you name it after a sucky movie:-?
16:38:20 <Taneb> It was named after a spam page
16:38:53 <Taneb> Advertising a "Real fast download" for Nora's Hair Salon 3: Shear Disaster
16:39:29 <Taneb> (which I have not seen)
16:39:38 <tromp_> me neither
16:40:14 <Taneb> And I have no intention of seeing it, either
16:40:18 <tromp_> i fear watching it is an even bigger waste of time than downloading it:(
16:40:38 <Gregor> For some reason I was under the impression that it was a game.
16:41:53 <oklofok> Koen_: what was the most boring thing?
16:42:22 <Koen_> uh well there's this very rich guy who just announced he had created his own computer science school
16:42:39 <Koen_> and hmm the admission tests are online
16:42:44 <Koen_> I passed the first today
16:42:56 <Koen_> aaaaaaand that was one hour of solving tangram puzzles
16:43:26 <Koen_> well half an hour
16:43:59 <oklofok> you don't like tangram puzzles?
16:44:11 <oklofok> sorry let me rephrase that
16:44:17 <oklofok> my game is better than tangram puzzles?
16:46:17 -!- carado has joined.
16:48:22 * oklofok is making an even better game
16:49:04 <Taneb> countation 2: the revenge of the dots
16:49:07 <Taneb> 3D
16:49:11 <Taneb> 64
16:50:33 <Gregor> : Modern Warfare
16:59:08 -!- sirdancealot has joined.
17:03:48 -!- augur has quit (Ping timeout: 264 seconds).
17:10:43 -!- augur has joined.
17:15:30 -!- btiffin has joined.
17:18:31 <Koen_> hey you guys
17:18:50 <Koen_> any idea what xkcd's hash thing is?
17:19:03 <Koen_> oklofok: weeeeeeeeeeeeeeeeeell yes
17:19:23 <oklofok> woohoo
17:19:43 <Koen_> but that's probably mainly because I had the liberty to stop at any point
17:20:05 <Koen_> whereas for every tangram puzzle I was desperately hoping it was the last
17:20:19 <Koen_> and always wrong (except for the last)
17:20:56 <tromp_> Taneb: there seems to be a problem with your Nora implementation
17:21:22 <tromp_> when i port the blc prime number sieve to it, it hangs
17:22:19 <tromp_> leaving out the sieving step it produces the expected "0011111111..." though
17:22:41 <fizzie> Koen_: As far as I know, it's just a hash thing. As in, you try to find input that's as close as possible to the specified hash.
17:23:02 <Koen_> sounds fun
17:23:15 <Koen_> so basically you bruteforce it?
17:23:26 -!- Madoka-Kaname has quit (Ping timeout: 240 seconds).
17:23:31 <fizzie> Unless you happen to have a better-than-bruteforce preimage attack on Skein.
17:24:17 -!- nooga has joined.
17:24:17 <fizzie> (The best.csv rankings are Hamming distances i.e. number of wrong bits.)
17:24:22 <Taneb> tromp_, I think it was oerjan who wrote
17:24:23 <Taneb> it
17:24:27 -!- Nisstyre-laptop has joined.
17:25:06 <fizzie> Given what the list looks like, I guess it only accepts .ac.uk and .edu domains?
17:25:26 <tromp_> ok; tell him when you see him:)
17:25:32 <fizzie> (So can't participate.)
17:25:41 <tromp_> i can debug it when i have more spare time
17:26:22 <fizzie> He usually logreads, so perhaps no particular need to tell (or @tell).
17:27:45 <Deewiant> fizzie: It says "School not found" on attempting to add aalto.fi so it's possible that it just has a whitelist of complete domains
17:28:11 <fizzie> Deewiant: Yes, well, sure, but a whitelist of just .ac.uk and .edu names.
17:28:32 <Deewiant> Right
17:28:59 <Koen_> it doesn't reject u-psud.fr
17:28:59 <fizzie> Oh, there's a few .edu.au's in there too.
17:30:09 <fizzie> (I didn't notice because I grep -v'd ".edu" in general.)
17:30:39 -!- augur has quit (Remote host closed the connection).
17:30:56 <fizzie> Koen_: That's funny, since there's really no .fr's in best.csv, and I would think it's a complete list since the last entries go up to 506 wrong bits.
17:31:35 <fizzie> Koen_: It will say "School not found" only after you give it some data, FWIW.
17:31:39 <Deewiant> It does reject u-psud.fr
17:31:40 <Koen_> oooh ok
17:34:48 -!- Madoka-Kaname has joined.
17:34:49 -!- Madoka-Kaname has quit (Changing host).
17:34:49 -!- Madoka-Kaname has joined.
17:40:34 -!- Frooxius has joined.
17:41:44 -!- Madoka-Kaname has changed nick to Lymia.
17:42:32 -!- augur has joined.
17:43:53 -!- monqy has quit (Quit: hello).
17:47:42 -!- Frooxius has quit (Ping timeout: 252 seconds).
17:48:07 -!- Frooxius has joined.
17:48:14 -!- nooodl_ has joined.
17:52:16 -!- nooodl has quit (Ping timeout: 256 seconds).
17:54:56 -!- atriq has joined.
18:00:09 -!- Cryovat has joined.
18:06:11 -!- metasepia has joined.
18:06:40 -!- carado has quit (Quit: Leaving).
18:06:49 -!- carado has joined.
18:16:39 <oklofok> http://rnd.fi/findit/ next game
18:17:04 <oklofok> this one i suck at
18:22:01 <boily> uh... what is it??????
18:24:34 -!- epicmonkey_ has quit (Ping timeout: 256 seconds).
18:25:27 -!- heroux has quit (Ping timeout: 276 seconds).
18:26:41 <atriq> oklofok, how bad's bad?
18:26:41 -!- heroux has joined.
18:26:50 <atriq> 68 on first try
18:27:20 <kmc> i was hoping the target hash value was a 32 x 32 monochrome image
18:27:20 <lambdabot> kmc: You have 1 new message. '/msg lambdabot @messages' to read it.
18:27:25 <kmc> but it doesn't seem to me anything recognizable
18:27:48 <kmc> oh another thing: in alaska they have power outlets at every parking space so that you can plug in an electric heater for your engine block
18:27:52 <kmc> otherwise it freezes
18:27:57 -!- zzo38 has joined.
18:28:09 <oklofok> oops
18:28:16 <oklofok> i think the version online was impossible to fail.
18:28:20 <oklofok> should be fixed
18:28:58 <oklofok> atriq: i didn't really try it yet, but based on other players it's way too easy atm
18:29:23 <oklofok> have to do other stuff now
18:29:38 <oklofok> you're all welcome for the games
18:37:05 -!- ais523 has joined.
18:38:09 -!- ThatOtherPerson has joined.
18:39:51 <ais523> @messages?
18:39:52 <lambdabot> Sorry, no messages today.
18:41:15 <atriq> Hi, ais523 and ThatOtherPerson
18:41:28 <ais523> hi atriq
18:46:56 -!- Bike has quit (Ping timeout: 240 seconds).
18:47:02 <ThatOtherPerson> Hi Taneb!
18:47:26 <ThatOtherPerson> What's with the atriqness?
18:47:34 <atriq> Two computers
18:47:45 <atriq> Can't be bothered to go upstairs to turn my computer off
18:47:50 <atriq> So I'm down here on my laptop
18:48:36 <kmc> mosh + irssi in the cloud
18:48:38 <kmc> it's the only way to fly
18:48:53 <ThatOtherPerson> You could ghost Taneb
18:48:59 <zzo38> I would like to see an implementation of Checkout in Verilog (even a partial one), if such a thing might exist.
18:49:02 <atriq> ThatOtherPerson, it's set to reconnect automatically
18:49:12 <ThatOtherPerson> heh :D
18:49:22 <atriq> The easiest thing to do would be to ssh in and kill the process
18:49:26 <atriq> But there's not much point
18:50:38 -!- btiffin has left.
18:54:37 <zzo38> ais523: If you know VHDL, maybe you would know how difficult it might be to fix the Storm core to do certain things differently and what would be the advantages/disadvantages of doing so.
18:54:43 -!- AnotherTest has quit (Quit: Leaving.).
18:54:59 <ais523> zzo38: I don't know what the Storm core is, nor am I particularly interested in it
18:55:26 <zzo38> It is a ARMv2 clone (so is Amber), but Storm is in VHDL rather than Verilog and is not specific to Xilinx devices
18:56:06 <zzo38> The title says ARM7 but the documentation says ARMv2 (ARM7 is ARMv3)
18:57:01 <atriq> ThatOtherPerson, how's the underhanded C coming along?
18:57:14 <ThatOtherPerson> Rather underhandedly
18:57:30 <ThatOtherPerson> I haven't worked on it for quite a few hours
18:57:33 <ais523> ooh, is the UCC up again?
18:57:48 <ThatOtherPerson> Yep
18:58:20 -!- Bike has joined.
18:58:46 <atriq> The site's down
18:58:50 <atriq> But it had a new callenge
18:59:05 <atriq> challenge
18:59:06 <atriq> thing
18:59:56 <ThatOtherPerson> ais523: Basically, some sort of Facebook like thing, where access privileges are dependant on the number of connections between you and the page that you are viewing
19:00:06 <ThatOtherPerson> *person whose page
19:00:15 <ais523> hmm
19:00:48 <ThatOtherPerson> Designated by DERPCON level
19:02:02 <ThatOtherPerson> I'm BFFs with my art teacher, Mr. Gomez; he's BFFs with Lisa Brennan-Jobs; she's BFFs with Steve Jobs; which means I am at DERPCON 3 with Steve Jobs
19:02:04 -!- ogrom has quit (Quit: Left).
19:02:58 <atriq> And DERPCON 5 with Tony Blair
19:04:30 <ThatOtherPerson> But the goal is to make the DERPCON function return a low DERPCON level whenever your account is one of the ones being compared
19:04:43 -!- Lymia has quit (Ping timeout: 246 seconds).
19:04:47 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer).
19:05:23 -!- Nisstyre-laptop has joined.
19:08:05 <atriq> > fix (\k l -> case l of [] -> 0; (x:xs) -> x + k xs) [1..10]
19:08:07 <lambdabot> 55
19:11:52 <zzo38> How fast will a programmable clock divider be in FPGA?
19:12:06 -!- sirdancealot has quit (Ping timeout: 245 seconds).
19:14:36 <zzo38> always@(posedge Clock) if(|Count) Count<=Count-1; else fork Count<=Period; Out<=~Out; join Probably something like this, I guess (or is there a better way?)
19:15:02 -!- lambdabot has quit (Remote host closed the connection).
19:18:26 -!- Nisstyre-laptop has quit (Quit: Leaving).
19:20:02 -!- lambdabot has joined.
19:23:57 -!- Nisstyre has quit (Ping timeout: 276 seconds).
19:24:01 -!- Nisstyre-laptop has joined.
19:24:08 -!- oerjan has joined.
19:30:52 -!- epicmonkey_ has joined.
19:32:22 -!- epicmonkey_ has quit (Client Quit).
19:32:41 -!- epicmonkey has joined.
19:33:40 <ThatOtherPerson> I think I'll go back to working on my Lisp interpreter
19:35:42 <atriq> Hey, if the halting problem were solved, it'd be easy to solve things like the collatz conjecture, right?
19:36:27 <tromp_> no
19:36:39 <Gregor> The halting problem is not a quandary to be solved. It is not P=?NP.
19:36:49 <oerjan> atriq: assuming you could solve it for programs using the method.
19:36:49 <lambdabot> oerjan: You have 1 new message. '/msg lambdabot @messages' to read it.
19:36:55 <Gregor> However, if the halting problem were SOLVABLE, lots of things would be... different.
19:36:58 <oerjan> @messages
19:36:58 <lambdabot> Halite said 11h 27m 7s ago: 1) That's true, sadly. But if your imagination touches the wildly syntaxed, you can get interesting syntax. 2) What a good fact. I shouldn't be reading the books kmc told
19:36:59 <lambdabot> me to read online, to create a genuinely new idea.
19:37:02 <tromp_> collatz is not finitely refutable
19:37:16 <tromp_> but goldbach and RH are...
19:37:28 -!- Nisstyre has joined.
19:37:33 <Bike> You could just write a program to test the collatz chains of increasing integers and see if it halts, couldn't you
19:37:36 <tromp_> hi oerjan
19:37:42 <oerjan> hi tromp_
19:37:56 <tromp_> i told Taneb his Nora implementation appears to be buggy
19:38:02 <tromp_> he said you wrote it
19:38:08 <Bike> oerjan: what was your #2 again, i just want to confirm that halite said something dumb out of his own volition rather than yours
19:38:34 <tromp_> you have no upper bound on chain length
19:39:22 <oerjan> atriq: you would need to use the halting solution to check each number, and then use the halting solution on the infinite loop of programs constructed that way. but if you could do that, you could solve collatz.
19:39:50 <oerjan> Bike: i am going to have to check
19:40:22 <oerjan> `pastelogs <oerjan> @tell halite
19:41:09 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.359
19:41:46 -!- sirdancealot has joined.
19:43:05 <oerjan> Bike: well he seems to miss the part that my (1) implies he _should_ read books.
19:43:34 <Bike> oh "interesting syntax"
19:43:35 <Bike> god
19:44:21 <atriq> I don't aim for originality.
19:44:31 <atriq> Luigi is really unoriginal, as is MIBBLLII
19:45:02 <atriq> And Real Fast Nora's Heair Salon 3: Shear Disaster Download is Binary lambda calculus mixed with BIT
19:45:33 <oerjan> @tell halite I was implying that syntax is rarely very interesting, even if weird. And if you want to actually get interesting syntax you are going to need to read books about parsing theory.
19:45:34 <lambdabot> Consider it noted.
19:46:06 <atriq> Interesting syntax: mixed prefix/postfix/infix?
19:46:14 <atriq> Who knows
19:46:23 <kmc> re Halite: wat
19:46:44 <oerjan> @tell halite Syntax can add flavor to a language, but it will not be truly interesting without another fundamental idea.
19:46:45 <lambdabot> Consider it noted.
19:47:13 <oerjan> atriq: not sufficiently advanced parsing theory, sorry
19:47:20 -!- KingOfKarlsruhe has joined.
19:47:38 <atriq> Perhaps one day I should read up on parsing theory
19:48:20 <ThatOtherPerson> Good night!
19:48:45 <atriq> Night
19:48:52 <zzo38> I do think many things can be made as a halting problem, such as Fermat's Last Theorem, and possibly a large number of other things can be made as a program which you figure out if it halts or not. It can also be done that a proof of some theorem is also allow you to know that it halts or it doesn't halts. Even things like 2+2=4 like while(2+2!=4); It halts because 2+2=4
19:49:02 -!- ThatOtherPerson has quit (Quit: Leaving).
19:49:51 <kmc> i wanna be smart and interesting but i don't want to read any books or listen to what anyone else has to say waaah waaah
19:50:02 <kmc> jesus
19:50:07 <kmc> kids these days, get off my lawn, &c.
19:50:18 <oerjan> tromp_: wait what do you mean by chain length, i though i was checking for exceeded depth in the interpreter during parsing...
19:51:07 <ais523> oerjan: I'm not 100% sure; I think if the syntax is sufficiently complex, you might be able to get away with just concat and eval for making a language TC
19:51:15 <ais523> via concat completely changing the meaning of the rest of the code
19:51:23 <ais523> obviously, complex syntax without eval is pointless
19:51:35 <tromp_> oerjan, that was a comment about collatz problem
19:51:46 <Bike> kmc: "Nothing is more usual and more natural for those, who pretend to discover anything new to the world in philosophy and the sciences, than to insinuate the praises of their own systems, by decrying all those, which have been advanced before them." here now you have an old quote to pretentiously quote at people
19:52:11 <kmc> thanks Bike
19:52:20 <kmc> who says?
19:52:22 <Bike> hume
19:52:24 <kmc> i guess this is not a new phenomenon
19:52:32 <kmc> it's also one of the canonical signs of a crackpot
19:52:42 <shachaf> Hu, me?
19:52:47 <kmc> owww
19:52:51 <tromp_> oerjan: the nora implentation failed on a port of the BLC prime number sieve
19:53:08 <Fiora> kmc: speaking of books, apparently hard copies of the gigantic mega intel manuals exist
19:53:12 <Fiora> http://www.lulu.com/spotlight/IntelSDM
19:53:20 <Fiora> Intel sells them through a print on demand service XD
19:53:35 <oerjan> tromp_: oops?
19:53:51 * boily hits shachaf with a properly dulled cast iron bludgeon with a quarter-inch polystyrene padding
19:54:54 <shachaf> oerjan: Maybe you should swat someone sometime.
19:55:00 <shachaf> Or hit them with the pan.
19:55:12 <shachaf> It's been decades (practically).
19:55:58 <oerjan> ais523: ok obviously it is _possible_ to make interesting syntax.
19:56:49 <ais523> but yes, mostly it's for flavour
19:56:55 <ais523> or recognisability
19:56:57 <kmc> Fiora: I heard you used to be able to order them for free
19:57:02 <Fiora> really? wow
19:57:05 <kmc> i know people who aren't even that old & crufty who got copies this way
19:57:19 <ais523> say, Forte would still work even if it didn't look like BASIC
19:57:31 <Fiora> I'd worry about export restrictions. given their size they must classify as weapons :p
19:57:33 <ais523> but having it look like something familiar makes it easier to grasp how it works
19:57:41 <kmc> free books are useful, you can use them as food for mushrooms
19:58:08 <Fiora> AVX mushrooms
19:58:15 <kmc> yes
19:58:21 <shachaf> i heard you used to be able to order monoids for free
19:58:23 <kmc> converting digikey catalogs into food
19:58:29 <shachaf> but it's a scam -- they're actually free commutative monoids
19:58:31 <kmc> this will be the new survival skill in the postapocalyptic future
19:58:40 <Fiora> vpermushroomd
19:58:41 <kmc> except you need like a pressure cooker and good sterile technique and stuff
19:58:44 <kmc> ++++
19:59:00 * oerjan swats FireFly -----###
19:59:02 <kmc> kmushroomd
19:59:10 <zzo38> Is a free commutative monoid like a multiset?
19:59:25 <kmc> sounds like one
19:59:42 <kmc> and a free monoid is just a list / string
20:00:07 <kmc> Haskell should rename [] to FreeMonoid to emphasize the language's rich mathematical underpinnings
20:00:15 <kmc> plus, who doesn't like free things
20:00:17 <Fiora> sort of related: vpshufb dst, src, mask vpshufd dst, src, mask vpermq dst, src, mask vpermd dst, mask, src I don't think Intel believes in consistency
20:00:23 <shachaf> Sadly Haskell is bad at free commutative monoids.
20:00:27 <kmc> Fiora: D:
20:00:37 <kmc> do I even want to know if the difference is reflected in AT&T syntax
20:00:49 <Fiora> (I can see the logic: it lets you do vpermd dst, mask, [src], so you can load-shuffle, but....)
20:01:00 <shachaf> However you can use this representation: newtype Bag a = Bag { runBag :: forall r. CommutativeMonoid r => (a -> r) -> r }
20:01:01 <Fiora> (since only the rightmost can be a memory operand)
20:01:09 <Fiora> but gosh. the /inconsistency/ gets me
20:01:13 <shachaf> But it's awful.
20:01:16 <kmc> is a free commutative monoid a quotient of a free monoid by a permutation group?
20:01:30 <kmc> is this a meaningful thing to say
20:01:39 <Fiora> I spent like 30 minutes trying to figure out why my avx2 code wasn't wrking when I first encountered vpermd
20:01:45 <Fiora> and then I finally looked up the definition
20:01:47 <olsner> kmc: sounds cromulent
20:01:48 <Fiora> and I was like whaaaaaaattttt
20:02:08 <kmc> i want to see a graph of the number of pages in the Intel manual over time
20:02:21 <kmc> oh Fiora have you done anything with the VMX virtualization instructions?
20:03:03 <Fiora> nope, I've never written code for a VM or something like that, I have only the foggiest idea of how they work
20:03:06 <Fiora> they seem really complicated
20:03:08 <kmc> yep
20:03:39 <zzo38> kmc: It could be renamed to FreeMonoid, although List is shorter. But I do think that [] ought to be a macro which is an alias for that type and that value.
20:03:41 <kmc> one neat / strange thing about them is that they provide a hardware-defined way to write pretty much all of the ISA-level processor state out to memory
20:03:48 <kmc> because that's how you context switch between VMs
20:04:00 <Fiora> ooh. so like, more than xsave+friends?
20:04:04 <kmc> it includes some things that normally aren't directly accessible, like the segment descriptors that have been loaded by segment selectors
20:04:09 <kmc> yeah I think so
20:04:26 <oerjan> kmc: when your algebra isn't a group you take quotients by congruences instead of kernels.
20:04:30 <Fiora> I can't find them in the regular instructino reference... >_<
20:04:34 <shachaf> Fiora: why can't i get intel_combined_manual.pdf as one book :'(
20:04:53 <Fiora> shachaf: I think it might collapse into a black hole in trasit
20:04:54 <Fiora> *transit
20:04:59 <shachaf> It's only 4128 pages.
20:05:06 <Fiora> oh. 3A-3C not 2A-2C...
20:05:18 <shachaf> And they're not even huge pages.
20:05:26 <Fiora> is that a pun
20:05:27 <shachaf> So it's just ~16MB
20:05:36 <olsner> harr harr
20:05:37 <kmc> the super high level overview of VMX is, you point the CPU at such a structure, you invoke the VMENTER instruction, then it runs using that state, and eventually returns and you can inspect the state and see what happened
20:05:53 <kmc> there are various conditions that will cause it to exit virtualization, analogous to traps
20:06:22 <Fiora> 1378 pages @_@
20:06:26 <kmc> I don't know much about the details though, just skimmed some of the manual when trying to fix a Ksplice bug
20:06:49 <GOMADWarrior> hack the planet!
20:07:00 <atriq> Fiora, that's significantly less than Homestuck
20:07:01 <Fiora> "A logical processor usesvirtual-machine control data structures(VMCSs) while it is in VMX operation. "
20:07:43 <Fiora> oh wow, the structure is impleemntation-specific XD
20:07:57 <kmc> one of these days I should modify my copy of JOS (the 6.828 toy OS) to support harware virtualization
20:08:00 <kmc> that sounds like a fun project
20:08:09 <kmc> oh Fiora have you seen http://www.returninfinity.com/pure64.html
20:08:49 <olsner> virtualization is sort of boringly close to normal multi-tasking and protection
20:09:05 <kmc> another silly thing I want to make is a 64-bit multitasking OS that fits in a DOS MBR boot sector
20:09:14 <kmc> olsner: yes but a lot more complicated and therefore more secure (????????)
20:09:15 <olsner> (in principle, that is... of course they use completely different mechanisms for hysterical raisins)
20:10:13 <Fiora> " 3) VMFUNC is an operation provided by the processor that can be invoked from VMX non-root operation without a VM exit." oooh
20:10:58 <kmc> is that for hypercalls?
20:11:07 <kmc> (back in ~1h, gotta do an interview)
20:11:17 <Fiora> I'm guessing? or maybe like instructions that'd require host emulation
20:11:19 <Fiora> good luck!!
20:11:54 <olsner> hmm, the bochs code that emulates vmfunc makes it look pretty limited
20:12:01 <zzo38> MBR code is not really specific to DOS; it is a function of a PC, isn't it? And the MBR code is very small so a 64-bit multitasking OS probably won't fit, although there are many things that might fit. One thing I want to make in there, but possibly adding another sector, is a subset of the DOS functions and one COM program is then added on to make a bootable disk image (not all COM programs will run, of course)
20:12:36 <zzo38> I think Esoteric Verilog needs a "quwire" command, although I am not entirely sure how it would work.
20:12:58 <zzo38> Mostly because I don't know much about quantum computer hardware.
20:14:17 <shachaf> hi GOMADWarrior, please do not troll #haskell
20:14:27 <olsner> (http://code.metager.de/source/xref/bochs/bochs/cpu/vmfunc.cc)
20:15:06 <GOMADWarrior> I didn't
20:15:54 <GOMADWarrior> guys are too serious
20:16:48 <olsner> hmm, otoh, EPTP switching sounds like it's a replacement for setting cr3 which probably requires a "help, privileged instruction" vmexit
20:19:04 <zzo38> Oops they are removing the Nostalgia skin from Wikipedia
20:23:23 <shachaf> I restored all the old quotes.
20:23:31 <shachaf> s/all/some of/
20:23:33 <shachaf> @quote oerjan
20:23:33 <lambdabot> oerjan says: @. read run (\s -> s ++ show s) "@. read run (\\s -> s ++ show s) "
20:23:40 <shachaf> @. read run (\s -> s ++ show s) "@. read run (\\s -> s ++ show s) "
20:23:41 <olsner> what happened to the quotes?
20:23:42 -!- sirdancealot has quit (Ping timeout: 252 seconds).
20:23:42 <lambdabot> @. read run (\s -> s ++ show s) "@. read run (\\s -> s ++ show s) "
20:23:47 <shachaf> lambdabot happened
20:23:49 <shachaf> @quote kmc
20:23:49 <lambdabot> kmc says: Rule number 1 of Haskell talks: use Comic Sans MS.
20:23:49 -!- Nisstyre-laptop has quit (Ping timeout: 246 seconds).
20:24:47 <atriq> @quote Taneb
20:24:47 <lambdabot> Taneb says: lens has got to be the only library with more contributors than people who know how it works
20:25:14 <atriq> @quote atriq
20:25:14 <lambdabot> atriq says: My son looks a bit like me, he can put away the plates after dinner now thanks to edwardk!
20:25:33 <atriq> I think that's something to do with lens
20:26:39 <olsner> you son? do you have children?
20:26:48 <olsner> *your
20:27:12 <atriq> I do not
20:27:18 <ais523> btw, new Enigma version released
20:27:39 <ais523> they announced it yesterday in the hope that nobody would believe it, but I checked the repo and there was a bunch of activity
20:27:55 <shachaf> Oh no!
20:28:08 <shachaf> We'll have to figure it out without Turing, I guess.
20:28:42 -!- atriq has quit (Quit: Leaving).
20:30:25 <olsner> @quote welsh
20:30:25 <lambdabot> No quotes match. Sorry.
20:30:54 <olsner> in all the years of #haskell no-one's made fun of the welsh yet?
20:33:25 -!- DHeadshot has joined.
20:34:57 <ais523> `quote welsh
20:34:59 <HackEgo> 816) <Gregor> !rot13 Fluttershy Rainbow Dash Rarity Applejack Twilight Sparkle Pinkie Pie <EgoBot> Syhggreful Envaobj Qnfu Enevgl Nccyrwnpx Gjvyvtug Fcnexyr Cvaxvr Cvr <olsner> oh, they're all named after rot13'd welsh words \ 939) <olsner> as long as you're in company where no-one knows both, you can always say either "that's just lik
20:35:14 <ais523> `quote 939
20:35:15 <HackEgo> 939) <olsner> as long as you're in company where no-one knows both, you can always say either "that's just like welsh ll" or "that's just like klingon tlh"
20:41:07 -!- sirdancealot has joined.
21:01:41 <kmc> back
21:01:53 <boily> `quote back
21:01:55 <HackEgo> 76) <ais523> let's put that in the HackEgo quotes files, just to completely mystify anyone who looks back along them in the future \ 136) <fungot> Vonlebio: well, i'm only back in denmark because my work visa expired. please insert token to continue. \ 210) <j-invariant> I need a new desktop background <Gregor> j-invariant: Try http://codu.org/spi
21:02:24 <kmc> zzo38: you're right, it's part of the IBM PC platform. i guess I said "DOS MBR" because that's the colloquial name used for the partition table format in e.g. Linux kernel, even though clearly the BIOS needs to know this format as well
21:03:26 <olsner> doesn't the bios just load the first sector of the drive to a well-known location and jump to it? I don't think it has to mess with the partition table at all
21:03:52 <olsner> (presumably the MBR has the stuff for finding a bootable partition and chainloading and whatnot)
21:05:21 <kmc> well I think the format is actually: 446 bytes of ia16 machine code; partition table; magic string 0x55 0xAA
21:05:33 <kmc> and the BIOS will look for the latter even if it doesn't care about the partition table
21:06:29 <kmc> (well the first part doesn't have to be all machine code, just the first instruction :)
21:07:19 <shachaf> you should make a polyglot mbr
21:07:27 <kmc> how does that work
21:07:53 <shachaf> how do mbr-ish things on systems other than IBM-PC-DOS-compatible-etc. work
21:07:55 <Fiora> I wonder if it's even possible to make a combination polyglot arm/x86 program
21:07:58 <Fiora> or something similar
21:08:04 <kmc> Fiora: I think I've seen one
21:08:08 <Fiora> wow
21:08:23 -!- Canaimero-04c1 has joined.
21:08:23 <kmc> x86 has a lot of 1 byte relative jumps
21:08:33 <kmc> wait maybe I wrote one...
21:08:36 <Fiora> ah, so you could just jump to a separate x86 chunk of code
21:08:40 <kmc> yep
21:08:42 <Fiora> using a jump that gets interpreted as some other valid instruction on arm
21:08:47 <Fiora> I guess that's kind of cheating XD
21:08:58 <shachaf> Cheating is the point.
21:09:39 <kmc> that's how my Haskell - C - Python - Sh - Brainfuck - .COM file polyglot works
21:09:55 <Fiora> .... com file? XD
21:10:08 <olsner> e0 is loop on x86 and (iirc) the first byte of an unconditional arm instruction, so if you assume something about cx that might get you going
21:10:09 <kmc> yeah a COM file is just raw ia16 machine code
21:10:12 <kmc> at most 64kB of it
21:10:14 <shachaf> kmc: You should get a .com domain name and serve it from there.
21:10:15 <kmc> no header
21:10:27 <kmc> loaded at a fixed address
21:11:11 <kmc> my program starts with 'or bh, [bx+si+0x78]; jno 0x42'
21:11:33 <kmc> and 'or' sets OF=0 unconditionally
21:11:38 <zzo38> I like the DOS .COM executable format; it is good. My also computer I plan to make (codenamed POWERXY) also I intend to use headerless executable format, but without processor segments.
21:11:40 <shachaf> I,I x86 has a 1-byte relative jump with offset 0
21:12:50 <kmc> oh this also entailed making a printable-chars-only .COM file
21:13:03 <Fiora> O_O that's like the no null rule of shellcode, except worse
21:13:08 <kmc> echo 'h<|XP- {P_X(%GGG(%GGWZ- sh LI!XI!Hello, DOS!$' > hello.com && dosbox hello.com
21:13:21 -!- Canaimero-04c1 has quit (Ping timeout: 245 seconds).
21:13:24 <shachaf> It's much worse -- I think you can't do it without self-modifying code, or something.
21:13:29 -!- augur has quit (Remote host closed the connection).
21:13:31 <Fiora> that's.... wooow
21:13:32 <kmc> yeah mine has some
21:13:51 <shachaf> this is getting dangerously close to being on-topic
21:13:55 <kmc> for one wargame puzzle I had to construct shellcode where every other 16-bit word was 0
21:14:06 <Fiora> @___@
21:14:06 <lambdabot> Unknown command, try @list
21:14:12 <Fiora> gosh I should try one of those sometime, those sound fun
21:14:14 <ais523> what does that do in x86? some sort of boring arithmetic instruction, isn't it?
21:14:17 <Fiora> even if they're probably mostly beyond me
21:14:37 <kmc> Fiora: http://io.smashthestack.org:84/
21:14:58 <shachaf> kmc: was that utf-32 or something
21:15:00 <kmc> ais523: what does which do?
21:15:07 <ais523> kmc: 16 bits of zeroes
21:15:09 <kmc> shachaf: no although I started trying to do the same thing before for utf-32
21:15:30 <kmc> it's add [eax], al
21:15:38 <ais523> right
21:15:43 <kmc> which means eax does need to point to a valid bit of memory that you don't mind clobbering
21:15:51 <ais523> yeah
21:16:08 <ais523> that doesn't seem so nasty
21:16:09 <kmc> i should install udcli in HackEgo
21:16:35 <kmc> ais523: yeah I just put 'mov eax, ebp' as the first instruction
21:16:39 <shachaf> `run cabal install hdis86
21:16:40 <HackEgo> bash: cabal: command not found
21:16:43 <ais523> kmc: ooh, neat
21:16:55 <ais523> ebp is guaranteed to be valid, and yet you don't have to use it for anything
21:16:56 <kmc> then i had to build the payload (just an indirect jump actually) out of 1-2 byte instructions but that wasn't so bad
21:17:11 <ais523> kmc: I'm reminded of writing printable .COM files
21:17:13 <kmc> since you have a 2-byte mov to bh/bl and a 1 byte push and pop
21:17:16 <kmc> and a 2 byte shift
21:17:18 <ais523> the idea being that you don't have any uudecode on DOS by default
21:17:24 <ais523> so the first step would be to type the program in :)
21:17:24 <kmc> ais523: yeah
21:17:36 -!- Canaimero-04c1 has joined.
21:17:36 <ais523> the main difficulty there is that you don't have any control flow instructions
21:17:48 <ais523> so you have to modify your own code to put a jump instruction there
21:18:19 <shachaf> Or you could find some indirect jump instruction and use that?
21:18:21 <kmc> Fiora: the io wargame is really fun, and it starts out pretty accessible even if you don't have lots of exploit experience
21:18:35 <ais523> shachaf: all the control flow instructions in x86 are unprintable, I think
21:18:49 <kmc> there are a few levels in there that count as among the most fun programming challenges i've done
21:18:51 <shachaf> ais523: Oh, you're back to printable code.
21:18:57 <Fiora> :o
21:19:15 <shachaf> ais523: Right, I seem to remember that that wasn't possible without self-modifying code.
21:19:16 * Fiora will definitely go try that later
21:19:35 <kmc> ais523: nah, the relative conditional jumps are printable
21:19:37 -!- monqy has joined.
21:19:43 <ais523> kmc: which characters?
21:19:59 <shachaf> Oh, maybe I'm thinking of alphanumeric.
21:20:00 <kmc> 713d is jno 0x42
21:20:03 <ais523> I remember I worked it out in reverse, by writing out a bunch of printable characters then disassembling
21:20:05 <kmc> which is ASCII "q="
21:20:08 <ais523> right
21:20:12 <kmc> yeah i did that too
21:20:19 <ais523> jno = jump if not odd? jump if not over?
21:20:25 <ais523> x86 conditional jumps annoy me a lot
21:20:35 <ais523> due to having ridiculous names
21:20:46 <kmc> not overflow
21:20:48 <ais523> oh, or jump on no overflow?
21:20:52 <kmc> my printable com file doesn't have jumps though https://gist.github.com/kmcallister/2971501
21:20:59 <kmc> but it's not a uudecoder or anything, just a hello world
21:21:21 <shachaf> s/conditional jump/instruction mnemonic/?
21:21:58 <kmc> Fiora: also a while back there was http://io.smashthestack.org:84/intro/
21:21:59 <shachaf> int is a jump!
21:22:11 <Koen_> fizzie: u-psud.fr definitely works now (for the xkcd thing)
21:22:29 <Koen_> but I think he removed a restriction or something
21:22:44 <kmc> shachaf: apparently they also did http://io.smashthestack.org/arm/
21:22:49 <kmc> oh FreeFull entered into this one? cool
21:23:17 <FreeFull> =P
21:23:20 <shachaf> Oh, I didn't hear about that.
21:23:21 <Koen_> let me rephrase that - one of the schools in the list if cuntfisting.com so he most definitely removed all restrictions on domain names
21:23:33 <FreeFull> kmc: My entry was far from the best =P
21:23:46 <kmc> Koen_: a prestigious institution of higher learning
21:24:17 <kmc> wow they've gotten spammed recently
21:24:18 <Koen_> who do I send my application to?
21:24:32 <kmc> seems to be mostly porn sites now
21:24:39 <Koen_> also, why are there so many people with exactly 409 bits wrong?
21:24:47 <Koen_> is their some trivial algorithm to get 409?
21:25:04 <Koen_> I entered a random string and I got 529 or something
21:25:06 <kmc> i don't think there's any algorithm
21:25:09 <ais523> what's that xkcd about? the image doesn't load
21:25:18 <kmc> i think probably somebody found a 409 solution and sumbitted it a bunch of times
21:25:26 <ais523> reversing a hash?
21:25:36 <kmc> yeah
21:25:41 <FreeFull> kmc: What I did is display RGB shaded circles moving out
21:25:46 <FreeFull> But then apply xor to make it funky
21:25:57 <Koen_> the comic is too complicated for me
21:26:07 <Koen_> but apparently there's a reversing a hash contest going on
21:26:10 <kmc> ais523: if you get smallest hamming distance to the hash output listed at http://almamater.xkcd.com/ then your school gets in panel 1 of the strip
21:26:17 <ais523> kmc: right
21:26:25 <Koen_> ooooh
21:27:11 <zzo38> Even the Nostalgia skin in Wikipedia now is adding too many things, and yet they will remove it anyways; I think something like this would be better: http://sprunge.us/Jgci
21:27:35 -!- kwikrick has joined.
21:27:54 <ais523> zzo38: you can use myskin, that has no styling by default, you add the styling yourself
21:28:27 <boily> (hmm... the timely xkcd thing is still going strong. what the fungot is going on, I wonder...)
21:28:28 <fungot> boily: what is up with this:
21:28:38 <boily> fungot: well, that's what I'm asking for.
21:28:38 <fungot> boily: fnord is executed just before the tilt. oleg is very good, either.
21:29:03 <boily> fungot: I concur, but what relation has type hackery to a very, very slow comic?
21:29:04 <fungot> boily: not any extant ones. they should know better, i'd use that. but as far as rsbac is concerned, so you
21:29:12 <boily> ~duck rsbac
21:29:14 <metasepia> RSBAC is an open source access control framework for current Linux kernels, which has been in stable production use since January 2000.
21:29:29 <olsner> fungot: rsbac
21:29:29 <fungot> olsner: hello. anyone know of a tool for exploration of ideas". i guess
21:29:33 <ais523> ~duck INTERCAL
21:29:34 <metasepia> INTERCAL is an esoteric programming language that was created as a parody by Don Woods and James M. Lyon, two Princeton University students, in 1972.
21:29:34 <boily> yet again I'm confused.
21:30:08 <zzo38> ais523: They still add all sorts of CSS and JavaScripts; I don't want styling at all, whether I add it myself or not.
21:30:15 <ais523> theory: ~duck asks duckduckgo for information about a topic, duckduckgo gets it from wikipedia
21:30:27 <ais523> zzo38: you could disable css and js in the browser
21:30:27 <fizzie> Koen_: Yes, and consequently the best.csv now has all kinds of things that are not universities.
21:30:45 <fizzie> Like a Finnish computer game magazine.
21:30:57 <Koen_> I wonder who's responsible for that!
21:31:46 <ais523> you know what? sound is too approximate
21:31:57 <zzo38> Yes, I could, but still, those skins require it (even Nostalgia requires it, although it is otherwise the best one)
21:31:58 <ais523> I can't hear something, then reproduce it well enough for people to understand, necessarily
21:33:22 <fizzie> There's also quite a lot of porn-sounding domains.
21:33:34 <Koen_> noooooooo
21:33:40 <boily> ~duck sounding
21:33:40 <metasepia> Sounding generally refers to a mechanism of probing the environment by sending out some kind of stimulus.
21:33:42 <Koen_> they sound like legit schools
21:34:05 <fizzie> Koen_: Well, yes, I guess analbabez.com is a university of good reputation, sure.
21:34:19 <zzo38> The reason we have used the Nostalgia skin is because we don't *want* the new features of MediaWiki!
21:34:20 <kmc> hey if cuntuniversity.com isn't a legit school
21:34:25 <kmc> then I don't know what to believe
21:34:26 <boily> ~duck pen island problem
21:34:26 <metasepia> --- No relevant information
21:34:27 <Koen_> it's just a weird transcription for Babylone
21:35:44 <zzo38> Even so, MySkin is also being removed!
21:37:28 <Fiora> kmc: um, so, like, once I ssh in, how do I play?
21:40:26 <Koen_> boily: that "where is the river now? / still pretty far away, it's actually retreated a little this week" comment makes me think they're gonna be flooded
21:41:16 <zzo38> I am not the only one to complain about this. Many people do.
21:42:06 <boily> zzo38: having your skin removed is generally a good source of vocal complains.
21:42:34 <boily> Koen_: I just skim updates about once a day. still have no clue where it's going.
21:47:07 <ais523> boily: well nethackwiki moved away from wikia because they tried to force a skin on us we didn't like
21:48:10 <boily> ais523: nethack is serious matters, and wikia tends to be generally evil.
21:48:20 <ais523> they didn't used to be, but they've got increasingly evil recently
21:55:06 <ais523> back when wikia search existed, it was the least evil search engine
21:55:15 <ais523> and was also very valuable due to having different results than other engines
21:55:38 <zzo38> I told them I might maintain it since nobody else does, but they don't want that.
21:58:36 <ais523> btw, mechanical translator annoyance: you enter a word into the translator, get the same word back, and eventually discover that the word exists in both languages with the same meaning but you'd never heard of it
22:00:03 <shachaf> Solution: Use languages with different alphabets.
22:00:23 <kmc> Fiora: try to exploit the binary /levels/level01, which is setuid to user level02
22:00:47 <ais523> kmc: it'd be hilarious if someone found an exploit for the OS and skipped past every level that way
22:00:59 <kmc> Fiora: there's a useful README in your homedir too
22:01:19 <kmc> ais523: yeah
22:01:23 <kmc> it's pretty locked down, but not impossible
22:01:29 <Fiora> "bash: /bin/ls: cannot allocate memory" what O_O
22:01:40 <kmc> yeah, sometimes the server is hosed :/
22:01:57 <kmc> if you run into persistant problems, join the IRC server and yell at them
22:02:04 <Fiora> oh geez,and trying to reconnect gets "shell request failed on channe 0" <_>
22:02:11 <kmc> bla or whoever's running the game these days will go kill a bunch of bruteforcer programs ;P
22:02:25 <ais523> yeah, having a publicly accessible shell account is often a bad idea ;)
22:02:29 <Fiora> what exactly do you mean by exploit? like, it looks to be programs asking for passwords
22:02:38 -!- boily has quit (Quit: お休み!).
22:02:40 -!- metasepia has quit (Remote host closed the connection).
22:02:46 <kmc> yeah for level01 you just need to figure out the right password
22:02:55 <Fiora> oh. so um, just objdump it and look at the asm?
22:03:03 <kmc> yep :)
22:03:07 <Fiora> ... oh
22:03:35 <kmc> in later levels you'll often need to convince the app to run arbitrary code by overflowing a buffer or something
22:03:41 <Fiora> ahhh okay
22:03:58 <kmc> but there are other levels where the binary is a verifier for some completely unrelated challenge
22:04:05 <kmc> like 'construct a string with property X'
22:04:09 <kmc> i won't spoil it with more details ;)
22:04:15 <kmc> there's also some reverse engineering
22:04:34 <kmc> a few remote exploits, a few challenges to build exploits against old versions of real programs
22:06:09 <kmc> good stuff
22:06:31 <Fiora> okay yay level 1 done
22:07:04 <shachaf> I think you can also use strings to find the password.
22:07:27 <Fiora> I don't think so with level 1; it moved each byte into memory manually
22:07:32 <Fiora> it didn't store it in .data
22:07:38 <shachaf> Oh.
22:07:42 <shachaf> Maybe I'm thinking of a different game.
22:11:58 <Fiora> okay so I won level 2, and it gave me a shell, what do I do with this shell? like I'm guessing there's supposed to be a password I have rights to now but I don't know >_<
22:12:55 <kmc> cat /home/level3/.pass
22:13:00 <kmc> then log back in as level3@whatever
22:13:02 <Fiora> ohhhhh
22:13:05 <Fiora> I see
22:13:41 <shachaf> spoilers kmc
22:13:49 <shachaf> this is the real challenge
22:14:18 -!- impomatic has quit (Quit: impomatic).
22:17:27 -!- Canaimero-04c1 has quit (Quit: Leaving.).
22:18:19 -!- nooodl__ has joined.
22:21:48 -!- nooodl_ has quit (Ping timeout: 245 seconds).
22:22:30 -!- kwikrick has quit (Quit: Page closed).
22:22:48 <kmc> \ldots
22:31:49 <Fiora> geez, how am I supposed to input non-printable characters in a bash prompt?
22:33:35 <Fiora> ah! xxd can go backwards
22:34:18 -!- Taneb has quit (Ping timeout: 264 seconds).
22:36:21 <Fiora> wow I just don't know bash
22:36:50 * Fiora gives up
22:39:07 <Bike> no you must persevere
22:39:08 <Fiora> "echo: no such file or directory" aghaksjdfskjdls
22:39:10 <Bike> do this whatever it is
22:39:53 * Fiora actually gives up, I don't actually know enough linux to do it...
22:43:37 <variable> https://news.ycombinator.com/item?id=5482649
22:43:45 <kmc> i use base64 for that
22:43:49 -!- carado has quit (Ping timeout: 246 seconds).
22:43:51 <Fiora> um, but. how
22:45:00 <variable> Fiora: ctrl-v
22:45:02 <kmc> echo G1szMW1oZWxsbyBGaW9yYRtbMG0K | base64 -d
22:45:07 <variable> or your terminal might let you
22:45:11 <kmc> or i would do like, base64 -d > foo; *paste into terminal*, ^D
22:47:25 <Fiora> but how do I input it to the program
22:47:49 <Bike> redirection?
22:47:57 <Fiora> /levels/level3 $(base64 -d < $(echo blahblahblahblah))???
22:48:17 <kmc> /levels/level3 $(echo blahblah | base64 -d)
22:48:21 <kmc> actually probably
22:48:22 <Fiora> oh
22:48:24 <kmc> /levels/level3 "$(echo blahblah | base64 -d)"
22:48:36 <Bike> it doesn't take its input on stdin? how dastardly
22:48:56 <kmc> a lot of mine were like /levels/level3 "$(perl -e 'print "x" x 1023'; cat shellcode)"
22:49:12 <Fiora> ?
22:49:19 <kmc> where 'shellcode' was a file I already transferred using base64 -d > shellcode
22:49:25 <kmc> i think you can SCP things too
22:49:49 <kmc> also, I would typically make a directory for myself under /tmp for each level
22:49:54 <kmc> and stage things there
22:50:09 -!- KingOfKarlsruhe has quit (Read error: Connection timed out).
22:51:25 <Fiora> 'base64: invalid input"
22:53:06 <Fiora> gahhhh
22:53:17 <Fiora> um, it won't let me write to tmp
22:53:44 <shachaf> I,I /levels/level3 $'a[\xab\xcd\x08...'
22:53:53 <kmc> you can't ls /tmp but you can make a directory there and then cd to it
22:53:53 <Fiora> @_@?
22:53:54 <lambdabot> Maybe you meant: ? @
22:53:56 <kmc> at least I just did
22:54:01 <kmc> yeah, Bash has this syntax shachaf mentions
22:54:02 <shachaf> $'' is the best thing
22:54:06 <kmc> i think I didn't know about it when I was doing IO
22:54:08 <Fiora> I don't understand
22:54:38 <shachaf> mkdir /tmp/foo
22:54:43 <shachaf> /tmp/fooöra
22:54:44 <Fiora> what does I,I mean
22:54:51 <kmc> `run echo $'\x68\x65\x6c\x6c\x6f\x20\x77\x6f\x72\x6c\x64'
22:54:52 <Bike> i have no idea what I,I means
22:54:53 <HackEgo> hello world
22:55:00 <Fiora> I an completely lost
22:55:01 <Fiora> *am
22:55:01 <kmc> i,i means "i have no point, I just like saying"
22:55:13 <kmc> it's not a UNIX command, it's a weird chat idiom of MIT and CMU people
22:55:18 <kmc> and shachaf
22:55:19 <shachaf> Ask It's an owl face.
22:55:22 <shachaf> and kmc
22:55:24 <kmc> who is from everywhere
22:55:24 <Fiora> yes I can echo it but I want to run it as a command argument and that doesn't work!!
22:55:32 <shachaf> everywhere and nowhere
22:55:44 <Fiora> level3@io:~$ xxd - < "$(echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
22:55:47 <Fiora> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHSEBAg= | ba
22:55:50 <Fiora> se64 -d)"
22:55:53 <Fiora> -bash: t▒: No such file or directory
22:56:01 <shachaf> oerjan: Fiora is infringing on your trademark hth
22:56:20 <kmc> Fiora: oh, you can't have null bytes in command line arguments
22:56:27 <shachaf> also it's way too hot today
22:56:32 <Fiora> oh
22:56:35 <shachaf> also i saw 8 google street view cars what were they doing
22:56:54 * shachaf vanishes for a bit
22:56:59 <kmc> that command actually would redirect xxd input from a file with a long name which is mostly nulls
22:58:16 <Fiora> agh. it's just completely ignoring my input. it's like the program isn't evn getting it
22:59:36 <kmc> what's your command line now?
22:59:54 <Fiora> level3@io:~$ /levels/level03 "$(echo AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ
22:59:57 <Fiora> EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQF0hAQI | base64 -d)"
23:00:03 <Fiora> it's too long, it should at the very least just do -something-
23:00:13 <Fiora> but the program just totally ignores the input...
23:01:10 <oerjan> is there an actual line break after that Q?
23:01:14 <Fiora> um, no
23:01:22 <Fiora> but my terminal isn't wide enough...
23:01:32 <oerjan> ok
23:01:42 <kmc> Fiora: that looks right to me
23:01:59 <Fiora> I mean, like. it should at the very last crash it
23:02:00 <Fiora> *least
23:02:03 <kmc> maybe try gdb --args /levels/level03 "$(echo ... blah blah)"
23:02:49 <Fiora> bleh. gdb doesn't work because it quickly scrolls off the bottom of my terminal
23:03:02 <Fiora> and I need to use 'clear' to fix it and that doesn't work in gdb
23:03:41 <kmc> what scrolls off?
23:03:43 <oerjan> <shachaf> hey Bike do you like kripke structures <-- i like kripke structures
23:03:48 -!- FireFly has quit (Excess Flood).
23:03:54 <Fiora> um, the stuff, on the screen? I don't know how else to explain it @_@
23:04:06 -!- FireFly has joined.
23:04:08 <Fiora> you know, it hits the bottom, and then everything just all collides on the last line
23:04:16 <Fiora> and the screen won't scroll
23:04:18 <kmc> oh
23:04:25 <kmc> why doesn't it scroll :/
23:04:31 <ais523> Fiora: try running "reset" while gdb is shut
23:04:52 <ais523> and seeing if it works then
23:05:06 <Fiora> no...
23:05:22 <ais523> oh dear
23:05:37 <oerjan> wait is this not the same as kripke semantics
23:05:41 <kmc> try a different local terminal program I guess?
23:05:50 <Bike> this is hardly like kripe semantics at all
23:05:51 <Fiora> um, what do you mean
23:05:57 <Fiora> you mean like,a different ssh client?
23:06:08 <kmc> yeah
23:06:16 <Fiora> ... so um, instead of ssh...?
23:06:27 <kmc> well are you running ssh inside xterm or gnome-terminal or what?
23:06:28 <oerjan> *that
23:06:36 <Fiora> um, inside of bash, I think
23:06:44 <kmc> i'm confused but definitely things should scroll rather than mashing together on the same line
23:07:04 <Bike> Fiora: What's your terminal emulator?
23:07:20 <Fiora> how do I even know
23:07:29 <Bike> Uh... well are you doing this on Windows?
23:07:51 <Fiora> um, yes?
23:08:08 <Bike> probably windows's terminal thing then, whatever that is
23:08:14 <kmc> PuTTY is the only good SSH client I know of for Windows
23:08:26 -!- iamcal_ has quit (Ping timeout: 240 seconds).
23:08:30 <Fiora> but it works just fine on everything else...
23:09:08 <kmc> i don't know what specifically would cause the problem you're seeing, but I recommend PuTTY as the default Windows terminal window is really bad
23:09:11 <ais523> oh, Windows terminal is broken
23:09:18 <Fiora> um, okay...
23:09:19 <kmc> in fact I used to use PuTTY to log into a Cygwin sshd on localhost
23:09:25 <kmc> for this reason
23:09:27 <Bike> uh. wow.
23:09:32 <kmc> although I think there's a clean way of doing that now
23:09:54 <FireFly> Does windows' terminal do ECMA-48 yet?
23:09:55 <kmc> this one https://code.google.com/p/mintty/
23:10:22 <FireFly> (or powershell or something)
23:10:55 * shachaf unvanishes for a bit.
23:11:36 <Bike> Fiora: the terminal emulator is the program that runs an old-fashioned texty terminal inside your shiny modern graphical desktoppy thing. examples are xterm and gnome-terminal on linux and whatever windows does when you pop open a console window.
23:11:53 <Fiora> oh, but I was using cygwin
23:11:56 <oerjan> `addquote <shachaf> Bike: I think you're ready to learn about lens. <Bike> oh god <Bike> fiora help somebody help <Bike> anybody
23:11:59 <HackEgo> 1006) <shachaf> Bike: I think you're ready to learn about lens. <Bike> oh god <Bike> fiora help somebody help <Bike> anybody
23:12:10 <shachaf> oerjan: which one do you like kripke structures or kripke semantics
23:12:31 <kmc> it sounds like Cygwin now ships Mintty, but I've also seen it used with the default Windows "running a DOS command" terminal emulator, which is shit
23:12:48 * Bike has no idea what cygwin does. go bike
23:12:57 <oerjan> shachaf: semantics
23:13:09 <shachaf> @quote kripke
23:13:09 <lambdabot> monochrom says: There are truths, damn truths, and Kripke structures.
23:13:35 <kmc> anyway I still recommend PuTTY, which is a standalone SSH client for Windows that is a GUI app as far as Windows is concerned, and has no interaction with the brokenness of terminals and terminal emulators on Windows
23:14:01 <Bike> "This article describes Kripke structures as used in model checking. For a more general description, see Kripke semantics." spooky
23:14:02 <shachaf> Wait, Fiora is using Windows with an SSH client that isn't PuTTY?
23:14:05 <Fiora> okay I'm using putty now...
23:14:08 <Bike> 2spooky i might say
23:14:54 <kmc> back in a bit
23:15:15 <shachaf> Fiora: How do you normally SSH?
23:15:51 <Fiora> um, I start up a cygwin window and use ssh
23:15:55 <Fiora> putty is nice but it doesn't support my private keys
23:16:03 <Fiora> so I kind of end up having to use regular ssh
23:16:34 <shachaf> Oh.
23:16:40 <shachaf> PuTTY can import the private keys.
23:17:31 <Fiora> how @_@
23:17:56 -!- ssue_ has quit (Ping timeout: 240 seconds).
23:18:10 <shachaf> PuTTY key manager thingy?
23:18:14 <Fiora> ???
23:18:16 <shachaf> I don't remember.
23:18:17 <fizzie> "PuTTYgen" or some-such.
23:18:19 <shachaf> @google putty import ssh private keys
23:18:21 <lambdabot> http://www.electrictoolbox.com/putty-rsa-dsa-keys/
23:18:21 <lambdabot> Title: Use RSA and DSA key files with PuTTY and puttygen
23:18:37 <fizzie> And then you put it in Connection/SSH/Auth/Private key file for authentication.
23:18:40 <shachaf> puttygen.exe, it looks like
23:18:58 <shachaf> Then you can load it into memory ssh-agent-style. Or something. I don't know.
23:19:37 <fizzie> It has a ssh-agent style thing (pageant.exe) too, but you can just put the keyfile in the config as above.
23:19:43 <fizzie> (Then it'll ask for the passphrase.)
23:19:47 <shachaf> That's the one.
23:19:59 <shachaf> Bike: do you think you're ready to learn about the Codensity monad.........
23:20:32 <fizzie> Personally, I just generate a new key with PuTTYgen for the Windows box, copy-paste the OpenSSH-compatible public key string that PuTTYgen has in a textbox into authorized_keys, and go with that.
23:20:35 -!- ssue_ has joined.
23:20:37 <Bike> coyoneda
23:20:43 <shachaf> CoYoneda is easy.
23:20:52 <shachaf> Do you know how it works or should I explain it?
23:20:57 <Bike> i have no idea
23:20:58 <fizzie> (But it's certainly possible to import OpenSSH-y private keys too.)
23:21:07 <shachaf> Or maybe neither?
23:21:20 <Fiora> okay that thing seems to work with the regular openssh keys? but not x.509 keys
23:21:41 <shachaf> CoYoneda is related to Functor.
23:21:42 <fizzie> You have X.509 certificates for SSH authentication? What are you, some kind of a madperson?
23:21:46 <shachaf> You like functors, right?
23:21:47 <Fiora> um, it's what they use at work
23:21:50 <Bike> functors are cool.
23:22:24 <shachaf> Bike: So you remember the functor laws?
23:22:33 <Fiora> but I guess that works for normal ones, thanks...
23:22:34 <shachaf> fmap f (fmap g x) = fmap (f . g) x
23:22:43 <shachaf> fmap id x = x
23:22:44 <Bike> yeah, and fmap id = id.
23:22:45 * Fiora sorry, a bit frantic at the moment
23:23:03 <shachaf> Bike: OK, so let's say you have some tree or something where the fmap operation is really expensive.
23:23:13 <shachaf> So you want to minimize the number of fmaps
23:23:26 <Bike> k
23:23:37 <shachaf> So instead of fmap (+1) . fmap (*2) . fmap (^3), you'll want to say fmap (\x -> x^3 * 2 + 1)
23:23:51 <shachaf> Makes sense?
23:23:54 <Sgeo> `slist
23:23:58 <HackEgo> slist: Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot
23:24:20 <Bike> Yeah, sure.
23:24:23 <shachaf> Now let's say you want to pass this to some other function, and you don't know how many fmaps it'll be doing.
23:25:02 <shachaf> It makes sense to split it up into two pieces: Instead of just passing around (Tree Int), you can pass around (Tree Int, Int -> Char)
23:25:08 <shachaf> Where Char can be anything.
23:25:19 <Fiora> ... gah, it won't even let me write data in tmp
23:25:25 <shachaf> Then you can just compose more functions onto the (Int -> Char) part, and leave the (Tree Int) alone until the very end, when you can apply one big function.
23:25:40 <Bike> makes sense.
23:26:04 <shachaf> So you can make a type like this: data TreeWrapper a = TreeWrapper (Tree Int) (Int -> a)
23:26:21 <shachaf> The interesting thing is that TreeWrapper is a Functor without ever using Tree's fmap.
23:26:24 <fizzie> Fiora: If the authentication is using the usual SSH public-key mechanisms (like it seems), you should be able to just http://trueg.wordpress.com/2012/09/06/use-an-x-509-certificate-for-ssh-login/ a X.509 cert it into an OpenSSH-compatible private key (slight modifications are needed, that guide makes a public key for authorized_keys) and then from there onwards import to puttygen. If you want to.
23:26:29 <shachaf> (Can you write the instance?)
23:26:34 <Bike> Without /ever/? Not even at the end?
23:26:41 <shachaf> At the end, sure.
23:26:46 <shachaf> But not for instance Functor TreeWrapper
23:27:10 <Fiora> fizzie: I think that requires ssh being compiled with x509 support or something... I'm not sure >_<
23:27:53 <Bike> let's see, i guess fmap f (TreeMapper t g) = TreeMapper t (g . f) or so
23:28:02 <fizzie> Fiora: Come to think of it, aren't the OpenSSH private keys already in PEM format? I would think you could just extract the private key with openssl from whatever you have (PKCS12?).
23:28:15 <Fiora> I-I don't really want to mess with that now...
23:28:41 <fizzie> Fiora: If it's some special kind of authentication mechanism, maybe it's special. Who knows. (You have a weird thing.)
23:28:56 <nooodl__> i'm thinking it's (f.g) instead of (g.f), wait, does that make sense
23:29:03 <Bike> and then you have runMapper (TreeMapper t f) = fmap f t
23:29:17 <shachaf> Bike: (f . g), not (g . f)
23:29:17 <kmc> how did we end up on X.509 keys o_O
23:29:18 <shachaf> But yes.
23:29:24 <Bike> Bah.
23:29:26 <nooodl__> ok it does
23:29:35 <kmc> oh not for io.sts
23:29:48 <Bike> I always get confused about what order composition works in, for some reason.
23:29:54 <shachaf> Bike: OK, next step: data AnythingWrapper f a = AnythingWrapper (f Int) (Int -> a)
23:30:01 <Bike> sure.
23:30:05 <shachaf> Same instance.
23:30:20 <fizzie> http://tools.ietf.org/html/rfc6187 -- huh. The more you know.
23:30:25 <shachaf> Bike: Last step: data Foo f a = forall x. Foo (f x) (x -> a)
23:30:26 <Bike> It should be h(x) such that h(x) = f(g(x)) anyway
23:30:44 <shachaf> Bike: This uses an extension called ExistentialQuantification to hide which type the Int actually is.
23:30:57 <Bike> Wait, why do you need to do that.
23:31:00 <kmc> ghc -XExistentialDespair
23:31:09 <shachaf> Since you don't care that it's Int. You just care that it's *some* type x, and that you have a function :: (x -> a)
23:31:19 <Bike> Yeah but like... why is there an extension.
23:31:32 <shachaf> Because that forall in data declarations isn't allowed in standard Haskell.
23:31:40 <Bike> also
23:31:44 <Bike> or rather "oh"
23:31:54 <Bike> but also, what's existential about it? ...oh, wait, huh.
23:32:10 <kmc> it's sort of an abuse of syntax to use 'forall' for existential types
23:32:15 <kmc> but there's a sense in which it makes sense
23:32:15 <Bike> that's pretty confusing for a universal quantifier though :/
23:32:21 <Bike> yeah i think i see it but still
23:32:24 <shachaf> Bike: It's existential because the type exists.
23:32:26 <shachaf> hth
23:32:29 <Bike> thx
23:32:38 <shachaf> I can explain the relationship between forall and exists sometime if you like.
23:32:46 <shachaf> OK, so now you can write liftFoo :: f a -> Foo f a
23:32:51 <shachaf> And lowerFoo :: Functor f => Foo f a -> f a
23:32:52 <nooodl__> blhhhhhrgh. i should read things about category theory but where do i start
23:33:00 <Bike> a lobotomy
23:33:02 <nooodl__> w----wikibooks?!!
23:33:15 <monqy> nooodl__: what are you going for her
23:33:16 <monqy> ee
23:33:18 <monqy> here
23:33:18 <shachaf> nooodl__: start here https://twitter.com/copumpkin/status/302960443067101185 hth
23:33:22 <Bike> shachaf: liftFoo doesn't require a functor?
23:33:29 <shachaf> Bike: Try it out!
23:33:31 <kmc> if you say «data Foo = forall a. Bar (a -> Int)» then «Bar :: forall a. (a -> Int) -> Foo»
23:33:48 <kmc> so it does produce a forall in the constructor type
23:33:55 <kmc> quantifying on a variable that does not appear in the result type
23:34:05 <fizzie> So it... sends the client's X.509 cert (and intermediates etc.) to the server, which verifies that against a root, and accepts the public key based on that. Okay, yes; I don't think PuTTY supports that at all.
23:34:08 <shachaf> kmc: You know how turning an existential constraint into a universal constraint is just currying?
23:34:11 <shachaf> (A dependent type.)
23:34:11 <kmc> yeah
23:34:16 <shachaf> That's the best thing.
23:34:24 -!- epicmonkey has quit (Ping timeout: 264 seconds).
23:34:26 <nooodl__> monqy: what do you mean
23:34:57 <shachaf> Bike: So write liftFoo and lowerFoo
23:35:10 <shachaf> Bike: As you probably guessed, Foo is CoYoneda.
23:35:35 <Bike> i didn't guess that.
23:35:40 <shachaf> Well, now you know.
23:36:22 <shachaf> Another perspective: data Foo f a = forall x. Foo (x -> a) (f x)
23:36:34 <shachaf> fmap :: forall x a. (x -> a) -> f x -> f a
23:36:45 <shachaf> So Foo just contains the two arguments to fmap.
23:37:03 <shachaf> This is why lowerFoo needs the Functor constraint -- it just applies fmap.
23:37:18 <shachaf> I guess I'm spoiling the exercise a bit.
23:37:29 <Bike> oh. but it wouldn't be very useful if you started with something you couldn't fmap later though.
23:37:45 <shachaf> Well, usually not. But sometimes.
23:37:57 <shachaf> You can treat (CoYoneda IORef) as a read-only IORef, sort of.
23:38:10 <Bike> Dude I don't even know what an IORef is.
23:38:13 -!- Lymia has joined.
23:38:13 -!- Lymia has quit (Changing host).
23:38:14 -!- Lymia has joined.
23:38:15 <shachaf> Never mind, then.
23:38:23 <shachaf> Bike: However: When f is a Functor, CoYoneda f is isomorphic to f
23:38:40 <shachaf> This is called the Yoneda lemma -- or is a special case of it. Or something.
23:38:43 <shachaf> I don't know.
23:38:49 <shachaf> maybe monqy wants to take over here
23:38:50 <kmc> what's yellow &c.
23:39:12 <Bike> I'm just sitting here thinking it's great you're explaining this to me and all but I have written like twenty lines of haskell max, and I have a headache because a guy brought in five hundred pounds of unpackaged food and told us he was "sworn to secrecy" about where he got it, and, and, math is so hard ;_;
23:39:29 <kmc> i'll summon monqy
23:39:35 <kmc> HEY I THINK JAVASCRIPT IS A PRETTY OK LANGUAGE
23:39:45 <Bike> Do you know how much food that is? Have you ever seen two hundred pounds of cheese in one place before
23:39:57 <kmc> Bike: why are you friends with a professional food thief
23:40:04 <kmc> better question: why am I not friends with a professional food thief
23:40:08 <shachaf> Bike: well this is what the poor perl person felt like when you were talking about functors
23:40:20 <kmc> poorperlperson.tumblr.com
23:40:20 <shachaf> Bike: "maybe u'll think about ur actions next time"
23:40:28 <Bike> He probably has seen two hundred pounds of cheese in one place before though.
23:40:36 -!- nooga has quit (Ping timeout: 252 seconds).
23:40:54 <shachaf> Bike: btw Yoneda is like CoYoneda except backwards
23:41:00 <kmc> i think if you go to a cheese shop you can see two hundred pounds of cheese p. easily
23:41:01 <shachaf> hth
23:41:06 <Bike> yes yes we have to prepend Co- to everything to make it backwards
23:41:17 <shachaf> I think CoYoneda is more intuitive than Yoneda
23:41:19 <kmc> Haskell the Hultimate
23:41:22 <shachaf> what does kmc think
23:41:39 <nooodl__> imo instead of prefixing Co- people should write stuff backwards
23:41:44 <kmc> shachaf: btw did you see KeithW et al's computer networking blog http://www.layer9.org/ "It's like a LAMBDA THE ULTIMATE but for NETWORKING RESEARCH"
23:41:47 <Bike> i think probably i should actually learn group theory, and then i should figure out what yoneda has to do with that other Group Theory Thing
23:41:53 <kmc> nooodl__: gb2shellprogramming
23:42:07 <Bike> if ... then... coif
23:42:21 <oerjan> @remember <kmc> ghc -XExistentialDespair
23:42:22 <lambdabot> Nice!
23:42:23 <nooodl__> and stuff that is its own dual should have palindrome names?
23:42:25 <kmc> Bike: coif is a good word
23:42:31 <Bike> exercise: define coelse
23:42:54 <shachaf> oerjan..............................
23:43:00 <shachaf> @forget <kmc> ghc -XExistentialDespair
23:43:00 <lambdabot> Done.
23:43:04 <kmc> Bike: Python has while..else, is that like coelse? 'imo no'
23:43:05 <shachaf> @remember kmc ghc -XExistentialDespair
23:43:05 <lambdabot> It is stored.
23:43:17 <shachaf> oerjan: I went through dozens of these in the lambdabot quote database yesterday.
23:43:17 <kmc> also for..else
23:44:10 <Bike> yeah i remember forgetting how that works because i'm bad at python
23:44:26 <shachaf> imo it's because Python is bad at Bike
23:44:26 <Bike> im bad at everything
23:44:30 <kmc> it might be one of those features that is obscure enough that any code using it automatically qualifies as obfuscated
23:44:36 <kmc> i think i used it.... once, maybe
23:44:36 <shachaf> Python is good at cheese shops though
23:44:36 <nooodl__> shachaf: python is cobad at bike?
23:45:01 <kmc> python is kobold
23:45:42 <oerjan> <kmc> what's yellow &c. <-- a bananach space hth
23:46:08 <kmc> nom
23:46:13 <shachaf> mpact cospace
23:46:30 <Bike> shoulda just done like physics and thrown "anti-" everywhere
23:46:39 <kmc> shachaf: I tried to convince geofft to port GPG to GRUB and/or UEFI
23:46:47 <kmc> i think with Secure Boot, this is actually a useful and valuable thing
23:46:48 <Bike> then you'd have to make jokes about nomies instead of about mpositions.
23:46:59 <nooodl__> i hear "dual" isn't really the same as "opposite" though?
23:47:07 <nooodl__> what is duality help
23:47:12 <kmc> he keeps adding things to GRUB that look suspiciously like a userspace
23:47:24 <oerjan> <kmc> i think if you go to a cheese shop you can see two hundred pounds of cheese p. easily <-- i have seen reliable evidence that cheese shops have no cheese hth
23:47:24 <shachaf> nooodl__: fun fact some 2-categories (or was it bicategories) have both duals and opposites
23:47:27 <Bike> As far as I've heard "dual" basically means "it's useful to call it dual"
23:47:33 <kmc> i think in another 10 years they will reveal that GRUB is secretly The GNU Kernel
23:47:38 <shachaf> so you have C C^op C^co C^coop
23:47:41 <monqy> hi im back
23:47:46 <kmc> shachaf: head = explod
23:47:49 <monqy> Bike: duality is when you reverse the arrows
23:48:02 <nooodl__> "coop" is cute
23:48:04 <monqy> Bike: alt. the dual of a thing is that thing in the opposite category (i.e. you reverse the arrows)
23:48:10 <oerjan> <shachaf> oerjan.............................. <-- i remembered that the next second :(
23:48:19 <Bike> uhhuh sure
23:48:22 <nooodl__> anyway i started reading http://wwwhome.ewi.utwente.nl/~fokkinga/mmf92b.pdf yesterday but is it good??? imo it's not gentle at all
23:48:27 <shachaf> oerjan: The worst part is that evidence remains forever.
23:48:29 <shachaf> @quote <kmc>
23:48:29 <lambdabot> Plugin `quote' failed with: getRandItem: empty list
23:48:35 <shachaf> @quote somethingthatdoesntexist
23:48:35 <lambdabot> No quotes match. My brain just exploded
23:49:16 <Bike> kmc: still better than HURD yuk yuk
23:50:35 <shachaf> Maybe I'm thinking of something else entirely.
23:50:45 <shachaf> nooodl__: hey want a "ddariuscommendation"
23:50:52 <oerjan> <Bike> shoulda just done like physics and thrown "anti-" everywhere <-- well there is anticommutative hth
23:50:55 <nooodl__> in 1.13 it starts talking about "expressing concepts categorically" and it gives literally no examples, it just goes, here make these exercises, i cried & stopped reading
23:51:01 <nooodl__> sure
23:51:05 -!- heroux has quit (Read error: Operation timed out).
23:51:11 <shachaf> 23:36 <ddarius> shachaf: Awodey's book and/or Barr and Wells' ESSLLI lecture notes to start.
23:51:36 <shachaf> want some edwardkommendations
23:51:51 <nooodl__> sure
23:52:31 -!- nooga has joined.
23:52:44 <shachaf> Oh, I know.
23:52:52 <shachaf> _Category Theory as Coherently Constructive Lattice Theory_
23:54:05 <ion> ctcclt
23:54:56 <oerjan> <shachaf> oerjan: The worst part is that evidence remains forever. <-- i thought i saw something about some people cleaning up lambdabot.
23:55:22 <shachaf> oerjan: Yes, I cleaned up all the lambdabot quote database and gave it to Cale.
23:55:30 <shachaf> Now it's not going to be cleaned up again.
23:55:34 -!- heroux has joined.
23:55:46 <shachaf> there were literally no <nick> quotes before you did your thing........
23:55:59 <Bike> oerjan's a trendsetter
23:56:10 <oerjan> shachaf: i mean, actual code.
23:56:18 <shachaf> oh that
23:56:20 <shachaf> go for it
23:56:58 * oerjan hides behind his laptop that nearly explodes when updating lens
23:57:19 <shachaf> oerjan: What do you think: Yoneda or CoYoneda?
23:57:37 <oerjan> imoNeda
23:58:03 <shachaf> imhoTep
23:58:16 <oerjan> i think that's about the point where i drop out of category theory hth
23:58:22 <Bike> the category of tepid swamps
23:58:32 <shachaf> oerjan: no not in category theory in haskell
23:58:45 <oerjan> ain't a clue to have
23:58:56 <shachaf> oerjan: newtype Yoneda f a = Yoneda { runYoneda :: forall b. (a -> b) -> f b }
23:59:13 <shachaf> oerjan: data CoYoneda f a = forall x. CoYoneda (f x) (x -> a)
23:59:38 <shachaf> when f is a functor it's isomorphic to Yoneda f and to CoYoneda f
23:59:45 <shachaf> so which one should i prefer
←2013-04-01 2013-04-02 2013-04-03→ ↑2013 ↑all