←2013-07-23 2013-07-24 2013-07-25→ ↑2013 ↑all
00:02:45 -!- copumpkin has quit (Ping timeout: 248 seconds).
00:03:24 -!- copumpkin has joined.
00:08:53 <Bike> @oeis 6,90,945,9450,93555
00:08:54 <kappabot> Denominators of zeta(2n)/Pi^(2n).
00:08:54 <kappabot> [6,90,945,9450,93555,638512875,18243225,325641566250,38979295480125,15313294...
00:29:12 <shachaf> you know a misspelling is good when it makes you forget the standard spelling for a little while
00:33:30 -!- tertu has joined.
00:37:09 -!- Sgeo has joined.
00:46:48 <Jafet> Indubitaly.
00:47:33 <Bike> monster
00:48:18 <shachaf> In my case, "Excersizes"
00:50:32 <Fiora> eksirsighzez!
00:51:42 <Fiora> relatedly a friend was talking about a video game she was playing and mispelled "dropship" as "dorpship" and now neither of us can think of it any other way
00:51:49 <Fiora> and she's now talking all about flying around her dorpship
00:52:14 <Bike> now i wish i had a dorpship, gee thanks
00:53:12 <Fiora> and like every single time I type it I giggle because "dorpship"
01:06:30 -!- sprocklem has quit (Remote host closed the connection).
01:19:28 <Bike> http://www.sciencemag.org/content/334/6055/521.abstract "a refreshingly honest first/last authorship statement"
01:20:21 <shachaf> what about all the other authorships
01:21:00 <shachaf> btw would you really authorship Robert W. Meredith and William J. Murphy
01:21:57 -!- yorick has quit (Remote host closed the connection).
01:28:18 -!- Nisstyre-laptop has joined.
01:29:17 -!- Nisstyre-laptop has changed nick to nisstyre.
01:34:15 -!- nisstyre has quit (Quit: Leaving).
01:41:53 <tswett> Mmm maybe I'm going to have the return type be ContT (Expr bot bot) Maybe (Expr bot a).
01:44:04 <tswett> Of Hebrew, Dutch, German, and Greek, German is best the language I speak.
01:44:31 <Gracenotes> is that a bottom I spot
01:44:48 <tswett> It is bottom, as in the sense of the... uh, which one.
01:45:17 <tswett> Linear multiplicative falsity.
01:45:19 <Bike> the caudal type
01:45:27 <shachaf> Gracenotes: imo memorize the hunting of the snark hth
01:45:36 <shachaf> Bike: imo you too
01:46:05 <Bike> Np
01:46:11 <Gracenotes> too many acronyms, I stab all of you in the face over the internet
01:46:19 <shachaf> zomg the hunting of the snark is about mnoqy????
01:46:24 <tswett> Gracenotes: ok gl hth
01:46:49 <shachaf> "It's excessively awkward to mention it now--
01:46:49 <shachaf> As I think I've already remarked."
01:46:49 <shachaf> And the man they called "Hi!" replied, with a sigh,
01:46:49 <shachaf> "I informed you the day we embarked.
01:46:56 -!- sprocklem has joined.
01:47:03 <shachaf> He would answer to "Hi!" or to any loud cry,
01:47:03 <shachaf> Such as "Fry me!" or "Fritter my wig!"
01:47:10 <Gracenotes> how many words is the book?
01:47:11 <shachaf> Fry me!
01:47:13 <tswett> Is that the poem that has the thing about cabbages and kings?
01:47:18 <shachaf> it's not really a book
01:47:27 <Gracenotes> tswett: indeed
01:47:31 <shachaf> tswett: no, that's The Walrus and the Carpenter
01:47:35 <shachaf> v. different
01:47:37 <tswett> Oh yeah.
01:47:41 <shachaf> (same author, though)
01:47:48 <Gracenotes> oh.. hm. thought it was an appendix
01:48:06 <shachaf> neither one was an appendix
01:48:21 <tswett> - ´ - ´ - ´ - ´ / - ´ - ´ - ´ hth
01:49:12 <shachaf> h t h t h t h t / h t h t h t hth
01:50:13 <Gracenotes> in any case, I wasn't there to experience the original formats in which the poems/books/etc. were released
01:50:27 <tswett> hhtthtthtttthhhhhhthhthththttthttthtttththhthttthhtttthttthhth
01:50:35 <tswett> (everyone in this channel should instantly recognize that sequence)
01:50:55 <Gracenotes> ah. no, I was a bit confused, in the printing I read Jabberwocky was an appendix to the Snark
01:51:01 <Bike> i refuse to recognize that sequence
01:51:06 <tswett> @oeis 1,1,0,0,1,0,0,1,0,0,0,0,1,1,1,1,1,1
01:51:15 <shachaf> that makes a bit more sense at least
01:51:21 <kappabot> Expansion of Pi in base 2 (or, binary expansion of Pi).
01:51:21 <kappabot> [1,1,0,0,1,0,0,1,0,0,0,0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0...
01:51:22 <Bike> Fiora: http://arxiv.org/abs/1307.5899 a thing
01:51:30 <Bike> why would i recognize that, imo
01:51:30 <Gracenotes> yeahwhatever
01:51:34 -!- Lumpio- has quit (Read error: Operation timed out).
01:51:55 <shachaf> imo why would it recognize you
01:52:10 <shachaf> pi is "too cool for that"
01:52:14 <tswett> Bike: because you've seen it 888,888 times before.
01:52:21 <tswett> That's an ordered pair.
01:52:26 <Bike> no i havent
01:52:32 <tswett> Yes you have, hth.
01:52:33 <Gracenotes> at some point this channel is going to devolve into 'no u' 'no u' 'no u' 'no u'
01:52:40 <Gracenotes> (Yes, go ahead, be ironic)
01:52:45 <tswett> Gracenotes: no it isn't!
01:52:52 <Gracenotes> sssh.
01:52:54 <tswett> I'm reasonably certain it won't, but I could be convinced that I'm wrong!
01:53:29 <Gracenotes> I say, good sir
01:53:57 -!- Lumpio- has joined.
01:54:03 <Gracenotes> Trying to port GHC over to a platform without libc
01:54:29 <Gracenotes> And compiling to LLVM bitcode (no native stuff allowed)
01:54:30 <Gracenotes> is fun
01:55:00 <shachaf> hey, Bike, tell me about adjunctions.............between groups!!
01:55:08 <Bike> i don't know shit about adjunctions
01:56:15 <shachaf> Bike: well an adjunction is a pair of functions "i.e. group homomorphisms in this case"
01:56:24 <shachaf> such that when you compose them one way you get a monad
01:56:33 <shachaf> and actually you get a monad the other way too "because groups are weird hth"
01:57:00 <Bike> i'm not sure this explanation is going to h anything at all
01:57:21 <shachaf> well i'd give you a serious explanation but i d. you care
01:57:23 <tswett> You're not sure t explanation is going to h anything at all hth.
01:57:34 <Bike> what's this explanation then
01:57:36 <shachaf> but maybe if i talk t. myself i'll figure it out
01:57:39 <tswett> Am I doing t right h?
01:58:03 <shachaf> ok let's see
01:58:16 <shachaf> Bike: the problem is that there are "like a billion definitions of" adjunctions
01:58:20 <shachaf> which one should i pick
01:58:58 <Bike> probably the best one for your purposes.
01:59:09 <shachaf> which one is that
01:59:10 <shachaf> let's say you have two groups
01:59:15 <shachaf> help what letters do you use for groups
01:59:27 <shachaf> i can't say G and H because the functor are going to be called F and G.............
01:59:32 <shachaf> ok two groups C and D
02:00:03 <shachaf> and two homomorphisms F : D -> C, G : C -> D
02:00:27 <shachaf> so we know that G . F is an inner automorphism at least
02:00:35 <shachaf> (in D)
02:01:02 <shachaf> ok ok let's see
02:01:06 <shachaf> Gracenotes can help me imo
02:02:55 <tswett> Hm. Maybe I don't want ContT Maybe; maybe I want MaybeT Cont.
02:03:14 <tswett> (Now someone will say "maybe MaybeT Maybe hth")
02:03:27 <Gracenotes> livin the category life
02:03:28 <Bike> no, why would anyone say that.
02:03:34 <tswett> So what's the idea behind the two?
02:03:37 <shachaf> ok so we have eps : FG -> 1_C and eta : 1_D -> GF
02:03:40 <tswett> Bike: maybe MaybeT Maybe hth.
02:03:52 <shachaf> tswett..................................................................................... .
02:04:05 -!- kmc has set topic: Mr. Burbujas Fan Club | http://underhanded.xcott.com/?page_id=5 | logs: http://codu.org/logs/_esoteric and http://tunes.org/~nef/logs/esoteric/.
02:04:20 <Bike> mister who now
02:04:21 <tswett> shachaf: … hth?
02:04:35 <tswett> ………………………………………………………………………….
02:04:36 <shachaf> kmc: hey, can i be in the Mr. Burbujas Fan Club
02:04:50 <kmc> http://blogs.sfweekly.com/thesnitch/assets_c/2009/08/rsz_1intact-thumb-500x374.jpg
02:04:55 <kmc> shachaf: uh you already are, see /topic
02:05:07 <tswett> All right, uh, what was I doing.
02:05:41 <shachaf> kmc: oh
02:05:47 <shachaf> thx
02:05:56 <Bike> wow i'm definitely in that fan club
02:06:14 <shachaf> Bike: have you even seen the new mr burbujas though
02:06:21 <shachaf> the new one is p. scary
02:06:26 <shachaf> kmc do you have a picture!!!!
02:06:41 <kmc> of me?
02:06:42 <kmc> oh
02:06:46 <kmc> of Mr Burbujas 2.0
02:06:54 <kmc> not a good one
02:07:33 <kmc> you can kind of see him here to the right of the door http://s3-media4.ak.yelpcdn.com/bphoto/cxGNWxXViuddaSWubHoL6Q/l.jpg
02:07:40 <shachaf> as your attorney i advise you to go take a good picture of Mr Burbujas 2.0
02:07:40 <tswett> Oh, it must be Burbujas as in /buɾˈbuxas/.
02:07:48 <kmc> anthropomorphic washing machine with a three-toothed lamprey mouth and a top hat
02:11:33 <shachaf> kmc: http://www.flickr.com/photos/kaseysmith/7218024116/sizes/l/
02:11:43 <shachaf> kaseysmith++
02:13:37 <kmc> thanks
02:13:40 <kmc> how did you find
02:13:44 <shachaf> flickr search
02:13:47 -!- dessos has quit (Read error: Connection reset by peer).
02:13:56 <Gracenotes> help how do I cross-compile ghc to a potato
02:14:06 <shachaf> The Potato Has Landed
02:14:57 <shachaf> ok so as i was saying, we have two natural transformations, eps : FG -> 1 and eta : 1 -> GF
02:16:07 <shachaf> which means that for x : D, eta*x = GF(x)*eta
02:16:49 <shachaf> wait does that whole "deal" still work
02:16:51 <shachaf> yes it does
02:16:55 <shachaf> so eta : D and eps : C
02:17:03 <shachaf> is what i should have said
02:17:25 <shachaf> and for x : C, eps*FG(x) = x*eps
02:17:36 <shachaf> and then there are the laws
02:18:16 <shachaf> wait none of what i said makes any sense whatsoever
02:18:30 <shachaf> ok maybe i should actually work this out for myself
02:18:32 <shachaf> (or make Bike do it)
02:18:37 <Bike> nope
02:18:43 <shachaf> uh, you can't refuse
02:18:54 <shachaf> what am i paying you for
02:19:47 <Bike> this photograph http://whatsinjohnsfreezer.files.wordpress.com/2013/06/creepy-proboscis-1.jpg
02:19:50 <shachaf> oh, no, what i said makes perfect sense
02:22:29 -!- carado has quit (Ping timeout: 245 seconds).
02:23:29 <shachaf> Bike: oh, maybe the hom-set definition would be way simpler here
02:23:37 <Bike> Maybe
02:25:35 <Bike> hm, what's the math channel on freenode and does it suck
02:25:47 <shachaf> ##math and p. much
02:25:54 <Bike> shit
02:26:25 <shachaf> have just joined it
02:26:44 <shachaf> you should join too
02:27:14 <Bike> fine
02:27:50 <shachaf> have you considered that one-oobjec
02:27:57 <shachaf> have you considered that one-object categories are weird
02:28:08 <Bike> aren't monoids one-object categories
02:28:08 <shachaf> it's like trying to put together a puzzle where any piece fits any other piece
02:28:13 <shachaf> yes, exactly
02:28:26 <Bike> as well as groups and all those other "normal math things"
02:29:04 <shachaf> right
02:29:21 <Bike> if history is any indication those things are "pretty weird"
02:29:35 <Fiora> Bike: oooh. that article looks interesting
02:30:10 <Bike> " Perf. comparisons with in-order complete binary implicit trees makes me (and caches) cry :'(" was the comment with the link
02:30:17 <Bike> i don't even know what "perf" stands for here man
02:30:43 <tswett> Hum de hum what the hell am I doing de dum. I'm writing this thing that was originally Expr bot a -> Maybe (Expr bot a) but is slowly getting more and more complicated for some reason.
02:30:58 <tswett> Bike: probably "perfluorocarbon".
02:31:12 <Bike> Probably
02:33:38 <shachaf> ok so we have a natural isomorphism phi : C(F-,-) ~> D(-,G-)
02:33:47 <shachaf> maybe that should be written <~>
02:34:55 <shachaf> btw every function is either linear or exponential
02:35:18 <Bike> ashdfas.
02:36:16 <shachaf> anyway so both of those functors are what, : D^op x C -> Set? or what
02:36:53 <shachaf> that doesn't make sense....help
02:37:27 <shachaf> Bike: maybe try efnet #math
02:37:33 <shachaf> monochrom is in there so how bad can it be
02:37:34 <Bike> eh
02:37:36 <shachaf> (#haskell joke)
02:37:48 <shachaf> but, really, monochrom is great
02:37:51 <Bike> i was just asking because i was going off topic explaining lambda calculus, and thought i would be better off talking elsewhere
02:37:55 <Bike> but that's over now
02:38:16 <shachaf> oh no
02:38:25 <Gracenotes> every channel I'm in is super
02:38:37 <Gracenotes> necessary and sufficient, surely
02:38:38 <zzo38> How might we make in Haskell that it is a type error to use a value if it specifies something that is no longer open or hasn't been created yet? Might existential quantification help?
02:38:54 <Bike> you make a good case, Gracenotes
02:40:41 <shachaf> zzo38: Doesn't pigworker have some papers on that kind of thing?
02:40:42 <Gracenotes> I am practically a lawyer
02:40:46 -!- mnoqy has quit (Quit: hello).
02:40:59 <Gracenotes> IAAL
02:41:00 <shachaf> like https://personal.cis.strath.ac.uk/conor.mcbride/Kleisli.pdf
02:41:04 <Bike> wow i said something really dumb didn't i
02:41:10 <shachaf> or http://strictlypositive.org/winging-jpgs/
02:41:10 <Bike> :-(
02:41:12 <shachaf> one of those things
02:41:19 <Bike> o well
02:41:23 <shachaf> Bike: where??
02:41:27 <Bike> in #math
02:41:28 <Bike> #
02:41:31 <Bike> ##########
02:41:32 <shachaf> oh i don't read that
02:41:39 <Bike> good choice
02:41:52 <zzo38> shachaf: I don't know about "pigworker". But I thought of somehow using new type variables for each object but sharing a class and use something which makes it so that it has to match the type variable used somewheres else
02:42:02 <zzo38> I don't know exactly how to work such thing, though.
02:42:03 <shachaf> oh you said x/(1-x) was nearly linear?
02:42:09 <Bike> yeah
02:42:10 <Bike> bad
02:42:17 <shachaf> that's ok it p. much is
02:42:19 <Bike> "thanks for checking"
02:42:36 <Bike> it's not
02:42:55 <shachaf> no look http://www.wolframalpha.com/input/?i=y%3Dx%2F(1-x)
02:43:02 <shachaf> that looks like a line to me
02:43:20 <Bike> you're very mean.
02:43:37 <shachaf> sry that was meant to be the opposite of mean
02:43:46 <shachaf> not quite sure how
02:43:54 <shachaf> maybe agreeing with people is unmean??
02:44:42 <Gracenotes> I think that's a very good definition of unmean
02:45:01 <shachaf> Gracenotes: did you finish that book
02:45:16 -!- carado has joined.
02:45:17 <shachaf> Bike: it's ok
02:45:19 <shachaf> @hug Bike
02:45:19 <kappabot> http://hackage.haskell.org/trac/ghc/newticket?type=bug
02:45:32 <zzo38> I think you can agree or disagree if you want to it is OK.
02:46:04 <Gracenotes> which book? probably a bit
02:46:12 <shachaf> johnstone
02:46:55 <Gracenotes> I have a part or two to go
02:47:37 <shachaf> ok maybe i gotta understand comma categories
02:48:04 * tswett decides to drop the Maybe.
02:48:53 <shachaf> 19:48 <dlackili> What did Riastradh mean yesterday when he said: "Actually, there are a lot of 'factorization challenges' where you can win a lot more than 200,000 USD if you manage to factor a 2048-bit RSA modulus, but you might have to watch out for the cops if you enter and win these challenges."
02:48:58 <shachaf> 19:48 <dlackili> I don't think the cops will bust you because you solve a challenge, you get cash and you have an opportunity to create a new cryptographic algorithm and get famous.
02:49:09 <shachaf> that's mafingre etc. of pastebin.com challenge fame
02:49:10 <Bike> lol.
02:49:15 <Bike> that's kind of adorable.
02:49:37 <tswett> I assume dlackili is the person we're ridiculing, correct?
02:50:02 <shachaf> do we have to ridicule people to enjoy what they say
02:50:04 <shachaf> imo no
02:50:18 <tswett> I assume dlackili is the person we're enjoying, correct?
02:50:28 <shachaf> i ain't enjoying nothing
02:50:45 <shachaf> ok Bike tell me about hom functors
02:51:17 <Bike> well, when a daddy kleisi and a daddy kleisi love each other very much
02:51:19 <shachaf> Bike: btw 1 + x + x² + x³ + ... is the definition of a list
02:51:26 <shachaf> and, like, zippers and stuff, man
02:51:46 <Bike> why are you saying this thing that you are saying
02:52:01 <shachaf> because you were talking about it in the other channel
02:52:20 <shachaf> and it's p. good and also you never learned about "zippers and stuff did yoU""
02:53:18 <shachaf> anyway
02:53:25 <shachaf> i think F : D^op -> C^op
02:53:51 <shachaf> So C(F-,-) : D^op × C -> Set
02:54:05 <shachaf> and D(-,G-) : D^op × C -> Set
02:54:09 <shachaf> s/S/s/
02:54:11 <shachaf> er
02:54:17 <shachaf> that was correcting the "So" not the "Set"
02:54:32 <shachaf> anyway does that sounds right y/n
02:55:09 -!- lifthrasiir has joined.
02:58:25 -!- Bike_ has joined.
02:58:44 <shachaf> 19:58 -!- dlackili [dcfdcefc@gateway/web/freenode/ip.220.253.206.252] has joined ##math
02:58:47 <shachaf> 19:58 -!- Bike_ [~Glossina@174-25-43-108.ptld.qwest.net] has joined ##math
02:59:28 <Bike_> he's still on my /ignore probably
02:59:44 <shachaf> hasn't talked yet
03:00:58 <shachaf> Bike_: what about 1
03:00:59 -!- Bike has quit (Disconnected by services).
03:00:59 <shachaf> checkmate
03:01:02 -!- Bike_ has changed nick to Bike.
03:01:21 <Bike> empty product, as you know
03:01:25 <Bike> why do you say things like this
03:01:58 <shachaf> i'm an empty product :'(
03:02:16 <Bike> > foldl * []
03:02:20 <kappabot> Couldn't match expected type `(a0 -> b0 -> a0) -> a0 -> [b0] -> a0'
03:02:20 <kappabot> ...
03:02:26 <Bike> w/e
03:02:29 <shachaf> > product []
03:02:33 <kappabot> mueval-core: Time limit exceeded
03:02:36 <shachaf> > product []
03:02:40 <kappabot> 1
03:02:43 <Bike> good bot
03:02:55 <shachaf> empty product of society
03:03:08 <Bike> you have to provide an identity to folds, huh
03:03:23 <shachaf> yes
03:03:27 <shachaf> this isn't perl 6
03:03:42 <shachaf> (in perl 6 the fold operator decides whether to do foldr or foldl based on the associativity of the thing you're folding)
03:04:48 <Bike> what does associativity have to do with it
03:05:04 <shachaf> associativity/infixity/whatever
03:05:22 <Bike> what
03:05:24 <Bike> oh nevermind
03:05:42 <shachaf> as in whether a*b*c means a*(b*c) or (a*b)*c
03:05:51 <Bike> yes
03:09:02 -!- seraph has joined.
03:16:28 -!- seraph has quit (Quit: irc2go).
03:20:33 -!- oerjan has quit (Quit: Gnot).
03:27:19 <shachaf> Bike: why am i so bad at categories hth :'(
03:29:09 <zzo38> Can you make a better 8x8 graphic for a German "Ss" ligature?
03:29:28 <tswett> You know, I just realized that whenever you evaluate a Cancel, since the entire expression is subverted, the evaluation order's going to go weird, too.
03:29:49 <shachaf> that's, like, how continuations work, man
03:30:02 <tswett> My feeble mind cannot handle continuations.
03:31:07 <Bike> you;re in good company
03:34:47 <tswett> I'm going to use Either instead.
03:35:08 <Bike> shachaf: categories seem hard!!!
03:35:18 <shachaf> Bike: p. sure they're not
03:35:33 <Bike> well why else would you be so bad at them
03:35:38 <Bike> it's, like, simple deduction, man.
03:35:44 <shachaf> maybe i'm bad at easy things :'(
03:35:48 <shachaf> like monoids :'(
03:37:32 <tswett> A monoid is kind of like a set equipped with an associative operator with identity.
03:38:05 <shachaf> @quote monoid
03:38:05 <kappabot> gwern says: [regarding the naming of Monoids] we will call them CuteFluffableThings, since you can put more fluff into them, but no one would remove fluff from a cute thing
03:38:14 <shachaf> @quote monoid
03:38:15 <kappabot> PhilipWadler says: I'm delighted to learn that "a monad is a monoid in the category of endofunctors"---anyone know where I can find a good tutorial?
03:38:19 <shachaf> @quote monoid
03:38:19 <kappabot> PhilipWadler says: I'm delighted to learn that "a monad is a monoid in the category of endofunctors"---anyone know where I can find a good tutorial?
03:38:21 <shachaf> @quote monoid
03:38:21 <kappabot> PhilipWadler says: I'm delighted to learn that "a monad is a monoid in the category of endofunctors"---anyone know where I can find a good tutorial?
03:38:27 <kmc> eff this
03:38:28 <shachaf> bad quotes..............................................a
03:38:37 <shachaf> oh, this is kappabot
03:38:38 <shachaf> that's why
03:39:25 <tswett> I'm pretty sure that "monoid in the category of endofunctors" is nothing more than a really terse way of stating the definition of a monad, so there isn't actually any insight there.
03:39:48 <shachaf> In #haskell it's mostly a way of being annoying.
03:39:49 <Bike> what are we effing
03:39:51 <Bike> is it quotespam
03:39:56 <tswett> You may as well just say "a monad is a fizheuer zieheuer", where "fizheuer zieheuer" is defined as "monad".
03:40:17 <Bike> hey there's a kmc quote just like that but contextualized differently.
03:40:21 <kmc> fuck this imo
03:41:08 <shachaf> kmc: sorry :'(
03:41:26 <tswett> i'm getting a type error help
03:42:58 * kmc goes back to reading book
03:43:08 <shachaf> which book?
03:43:13 <kmc> the one you lent to me
03:43:28 <shachaf> oh
03:43:48 <shachaf> maybe i should make a tree of books
03:43:51 <tswett> Huh. Apparently \(Apply f x) -> (f, x) is a type error. Now that I think of it, that really couldn't possibly not be a type error.
03:44:06 <tswett> It would be an existential type if it were typeable.
03:44:20 <shachaf> "if you liked X and didn't like Y, you might like Z"
03:44:39 <Bike> that would be kinda cool.
03:44:57 <kmc> 'After you have sampled thousands of uses of the word "Tao", you might try your hand at being clever and framing one single definition to cover this whole multitude of cases.
03:45:00 <kmc> But even if you succeed, how utterly empty your definition will be to those who have not had your concrete experience of actually living through this philosophy!'
03:45:03 <kmc> apropos quote imo
03:45:11 <kmc> shachaf: It's like NETFLIX but for BOOKS!
03:45:36 <shachaf> well except it would all be based on my recommendations personally
03:45:39 <Bike> hey amazon is great
03:45:40 <Gracenotes> r
03:45:47 <Bike> at making me spend money i haven't earned
03:45:48 <Bike> :(
03:45:55 <Gracenotes> yeah... r<enter>. pretty good, huh
03:46:06 <Gracenotes> Found in an actual dotfile: set visualbell " shut the fuck up
03:46:15 <Gracenotes> rip in peace vim
03:46:15 <Bike> lol
03:50:24 -!- carado has quit (Ping timeout: 245 seconds).
03:54:40 <kmc> help what is going on in ##crypto
03:55:14 <kmc> <dlackili> rajdhskdsf: You came in here yesterday, with the same IP under a diff name
03:55:20 <Bike> lol
03:55:38 <shachaf> the challenger is challenged
03:56:47 <kmc> a room full of sockpuppet dissociated identities, challenging each other to break weird codes
03:56:49 <kmc> stupid pkd future
03:57:02 <shachaf> pkd?
03:57:13 <Bike> philip k dick
03:57:28 <Bike> predicted the internet age, by being high and schizophrenic
03:57:28 <shachaf> kmc: what if rajdhskdsf is dlackili's sockpuppet
03:57:45 <shachaf> an excuse to give their challenges to someone
03:57:47 <shachaf> in-channel
03:57:49 <kmc> what if we are all zzo38's sockpuppet
03:58:00 <tswett> Wooooo
03:58:13 <tswett> I think I've successfully implemented my linear reducer thinger.
03:58:13 <shachaf> zzo38: Are you a sockpuppet?
04:01:05 <shachaf> ##crypto: best channel?
04:01:27 <Bike> "if you can solve this pastebin, you're obviously not a sockpuppet"
04:06:20 -!- Bike_ has joined.
04:09:19 -!- Bike has quit (Ping timeout: 246 seconds).
04:09:23 -!- Bike_ has changed nick to Bike.
04:13:03 -!- Bike_ has joined.
04:13:21 <shachaf> Bike_: What's with your ISP?
04:13:46 <Bike_> crappy boonies connection dies every time the phone is picked up, i apologize
04:14:30 -!- douglass has joined.
04:14:36 <shachaf> maybe you should run your irc client on a server
04:14:37 <shachaf> hi douglass
04:14:53 <douglass> hi
04:15:33 -!- Bike has quit (Ping timeout: 248 seconds).
04:15:45 -!- Bike_ has changed nick to Bike.
04:20:20 <kmc> Bike: you're on dialup?
04:20:28 <Bike> no, which just makes it surreal.
04:20:34 <kmc> ...
04:20:35 <kmc> DSL?
04:20:50 <Bike> proooobably.
04:21:28 <shachaf> Bike: they have those things that you're supposed to plug into phones when you're using dsl, don't they? do you use those things....... .
04:21:56 <Bike> look i'm not good with computers ok
04:21:57 <Gracenotes> do you know the horrors of using vim in compatible mode?
04:22:13 <Gracenotes> I don't know how I could live like that for so long. like, a week.
04:24:36 <kmc> do what shachaf says
04:24:58 <kmc> shachaf: woah running a client ON a server? this is like inception
04:25:20 <shachaf> endoclient
04:26:14 <Gracenotes> REST is full of endoclients
04:27:04 <shachaf> 21:26 <rajdhskdsf> dlackili: dump all you know right here.
04:27:11 <shachaf> 21:27 <rajdhskdsf> dlackili: dump all your knowledge right here.
04:27:25 <shachaf> imo this sockpuppet theory seems more and more likely
04:28:17 <Gracenotes> knowledge dump in constant time. 1. Reflexivity 2. QED
04:28:18 <kmc> even with <rajdhskdsf> dlackili: ok. not its official: you know nothing about what you are talking about
04:28:44 <shachaf> Oh, maybe not.
04:28:49 * shachaf wasn't following closely.
04:28:52 <Gracenotes> for sure, I am not in any such silly channels having silly conversations
04:29:38 <shachaf> So there are two common strategies for making a thing you did seem impressive. One is to say that it was very hard (because doing hard things is impressive), and the other is to say that it was very easy (because if *that* was easy for you, who knows what you could do when you really put your mind to it!).
04:33:21 <kmc> so I think dlackili is trolling the channel and rajdhskdsf is trolling dlackili
04:33:56 <shachaf> whom are you trolling
04:34:13 <kmc> ask not for whom the bell trolls
04:42:00 -!- mnoqy has joined.
04:49:23 <Gracenotes> hm... I've forgotten whether I'm in a chroot or not
04:49:47 <Bike> pkd goes a-hacking
04:50:01 <Gracenotes> will Ctrl+D exit the chroot, or kill my terminal?
04:50:03 <kmc> dispatching rescue team
04:50:33 <Bike> now i want a script called `ubik' that just tells you if you're chrooted
04:51:27 -!- oklopol has joined.
04:53:03 <kmc> there's a windows program called redpill.exe that tells you if you're in a VM
04:53:08 <kmc> ubik is a m. better reference though
04:53:24 <Bike> i haven't read the book in forever, what did the spray actually do
04:53:30 <Bike> made stuff rotten or unrotted it, i forget
04:53:54 <douglass> unrotted it
04:54:28 <kmc> it wasn't always a spray though
04:54:32 <douglass> it's advertised as a "reality support"
04:55:09 <Bike> so `ubik' ought to like, tell you you're in a chroot, but also make the chroot harder to break out of, or something
04:57:03 <Gracenotes> so, yes, /etc/debian_chroot. woo.
05:04:16 -!- copumpkin has quit (Ping timeout: 256 seconds).
05:35:14 <kmc> "The typical keyboard layout used in the United Kingdom features separate keys for vertical bar and broken bar; however, typically on Windows PCs the vertical bar key produces a broken-bar symbol." :psyduck:
05:36:49 -!- Yoel has joined.
05:37:17 <kmc> nobody seems to know why the broken bar glyph even exists
05:37:31 <kmc> but it has its own codepoint in Unicode and indeed ISO-8859-1
05:38:10 <Bike> ¦?
05:38:35 -!- Yoel has quit (Client Quit).
05:39:10 <kmc> yes
05:39:39 <Bike> it's so that i can make this face: ¦:|
05:40:00 <kmc> oh
05:40:01 <shachaf> kmc: Remember whe | used to be rendered as ¦?
05:40:07 <kmc> kind of
05:40:18 <shachaf> good times, man
05:40:29 <kmc> i was pretty young at the time
05:41:20 <shachaf> so was i
05:41:29 <shachaf> (which makes sense, i suppose)
05:41:36 <kmc> remember when keyboards had open-apple and closed-apple
05:41:41 <Sgeo> It's still rendered like that on my keyboard
05:41:46 <kmc> and swedish campground symbol
05:41:47 <Sgeo> What font do keyboards use?
05:42:02 <Bike> Wingdings
05:42:19 <kmc> dongbongs
05:48:25 <zzo38> You could use such "redpill.exe" and "ubik" and whatever, improve the VM software so that the program running in VM won't check!
05:50:03 <shachaf> hi zzo38
05:50:53 <Bike> i've been assuming that ¦ is used for something since they gave it its own altgr
05:51:06 <shachaf> zzo38: What do you mean?
05:52:05 <kmc> http://www.cs.tut.fi/~jkorpela/latin1/ascii-hist.html
05:52:30 <fizzie> Bike: ¦ is used by shells to make a pipeline that'll immediately cause a "broken bar" SIGPIPE signal when anything is written to. (It's not terribly useful.) ((This is not terribly true.))
05:52:36 <zzo38> shachaf: Make a VM software so that any program running in the VM won't run differently than one that isn't.
05:52:53 <shachaf> `quote zzo38 Make
05:53:01 <HackEgo> No output.
05:53:05 <shachaf> `quote zzo38 octopus
05:53:07 <HackEgo> No output.
05:53:08 <Bike> «The left and right square brackets [] were proposed for inclusion because of their "high use in ALGOL" (in conjunction with arrays) and for being "useful for human-to-human communication".» i too am useful to human communication
05:53:16 <shachaf> `quote zzo38 sandwich
05:53:18 <HackEgo> No output.
05:53:20 <shachaf> help
05:53:22 <zzo38> shachaf: Is that the proper syntax for quote don't you have to use a regular expression?
05:54:04 <shachaf> Oh, I thought it was case-insensitive, but on second thought that's lambdabot.
05:54:06 <shachaf> `quote Octopus
05:54:07 <HackEgo> 185) <zzo38> Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly) \ 214) <zzo38> ais523: Maybe it is better, because I don't think the octopus will live very well in the tree. But the difference is that the Internet is lying and you cannot see such things; you could m
05:54:31 <shachaf> Wait, 214 has "octopu -- oh.
05:54:38 <shachaf> OK, I really got it mixed up with lambdabot. :-(
05:54:47 <shachaf> `quote zzo38.*Make
05:54:49 <HackEgo> 182) <zzo38> Maybe they should just get rid of Minecraft. If more people want it someone can make using GNU GPL v3 or later version, with different people, might improve slightly. \ 186) <zzo38> I have plans to make the computer and one day I will do it!! (I have access to barter some people might help with these things) It is many difference from
05:55:03 <shachaf> Fine. And it's case-sensitive too.
05:55:06 <Bike> «Proposed as "reverse division" operator and for use in two-character sequences for logical operators. » christ, they fucked that one up
05:56:02 <fizzie> Bike: MATLAB(/Octave) still uses it as a reverse division.
05:56:08 <fizzie> octave:2> 2\1
05:56:08 <fizzie> ans = 0.50000
05:56:36 <Bike> wow.
05:56:47 <shachaf> Bike: hey you know what's "even cooler than" limits and adjunctions
05:56:53 <Bike> what
05:57:12 <shachaf> like, limits are adjoint, or something
05:57:28 <shachaf> with the diagonal functor
05:57:37 <shachaf> a little hazy on the details and i have no paper :'(
05:57:54 <shachaf> anyway this being your area of expertise maybe you can explain it
05:57:58 -!- augur has joined.
05:58:08 <Bike> y r u so mean 2 me
05:58:29 -!- sprocklem_ has joined.
05:58:33 <shachaf> "fine don t"
05:58:37 <fizzie> Bike: (It's a reverse matrix division, so it's more useful in the sense that A\B is the solution to A*X = B; it's also supposed to be computed more efficiently/accurately than if you'd write inv(A)*B.)
05:58:42 <kmc> `quote 186
05:58:44 <HackEgo> 186) <zzo38> I have plans to make the computer and one day I will do it!! (I have access to barter some people might help with these things) It is many difference from other computer.
05:59:25 <Bike> wow i can get this paper by just subscribing to Nature Neuroscience for $225
05:59:29 <fizzie> (It also returns the least-squares solution if A is not square.)
05:59:43 <Bike> OR I could buy just the article (AND pdf) for $32!!!
05:59:57 <shachaf> Bike: what if you sold your soul instead
06:00:06 <Bike> ah, tenure
06:00:06 <shachaf> how many papers would that get you
06:00:39 <Bike> ok well the proxy isn't working, fuck.
06:01:47 <shachaf> <ddarius> If D is a diagram, i.e. a functor, D : I -> C, and K is the constant functor K : C -> C^I, then limits are characterized by Nat(KA,D) ~ Hom(A, Lim D) and colimits by Hom(Colim D, B) ~ Nat(D, KB).
06:02:08 <shachaf> so K means the diagonal functor, right? i.e. the functor that gives you a constant functor?
06:03:44 -!- douglass_ has joined.
06:04:28 -!- augur_ has quit (Read error: Connection reset by peer).
06:04:28 -!- sprocklem has quit (Read error: Connection reset by peer).
06:04:29 -!- douglass has quit (Ping timeout: 276 seconds).
06:08:11 <shachaf> Bike: ok false alarm hth
06:08:17 <shachaf> i was just being unable to read english
06:08:24 <Bike> good
06:11:49 -!- nooodl_ has quit (Ping timeout: 246 seconds).
06:13:54 -!- copumpkin has joined.
06:16:18 <comex> help
06:16:37 <Bike> hi comex
06:16:43 <comex> http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/axioms-extended.pdf
06:16:46 <comex> figure 7
06:16:51 <comex> it says that "Int and C Int have no common reduct."
06:17:09 <comex> yet C Int can be reduced to D Int (C Int) which can be reduced to Int
06:17:31 <comex> so i don't get it
06:19:43 -!- copumpkin has quit (Ping timeout: 245 seconds).
06:20:25 <shachaf> I haven't read the paper or anything about this extension, but why can D Int (C Int) be reduced to Int?
06:20:50 <shachaf> It's D x x = ..., not D x y. Or did I misunderstand?
06:20:58 <comex> aha
06:21:01 <comex> i can't read
06:21:20 <comex> thanks, duh :p
06:21:23 -!- copumpkin has joined.
06:22:19 <shachaf> Maybe I should read this paper.
06:22:42 <shachaf> But my tab bar is completely full so I'd have to pick a tab to close.
06:23:05 <Bike> tab six
06:23:31 <shachaf> OK, I have foo.old.txt and foo.txt both open next to each. That looks like a good candidate.
06:23:42 <shachaf> But maybe I had a reason for it?
06:23:44 <shachaf> help
06:23:53 <Bike> yeah, metasyntax is bad for filenames
06:24:01 <shachaf> Maybe I should download papers like Bike rather than keep it all in my browser.
06:24:12 <Bike> wave of the future
06:24:41 <shachaf> Hmm, .old.txt is much longer, so probably not.
06:26:33 -!- copumpkin has quit (Ping timeout: 264 seconds).
06:29:33 <shachaf> Bike: hm maybe i was right all along
06:36:06 -!- douglass_ has quit (Ping timeout: 264 seconds).
06:36:21 <Bike> how right
06:36:39 <shachaf> 28%
06:38:17 <Bike> that's not very much...
06:44:55 -!- copumpkin has joined.
06:46:38 <shachaf> kmc: Hmm, do enum and struct syntax overlap at all?
06:52:46 -!- tertu has quit (Ping timeout: 268 seconds).
06:53:46 <shachaf> kmc: http://www.tdp.cat/issues/tdp.a015a09.pdf
06:58:11 -!- conehead has quit (Quit: Computer has gone to sleep.).
06:59:31 -!- copumpkin has quit (Ping timeout: 276 seconds).
07:00:14 <Bike> god help me.
07:00:21 <shachaf> Bike: come on
07:00:24 <shachaf> just work in binary
07:00:37 <Bike> trinary 4 life.
07:01:06 <shachaf> 3 life hth
07:01:28 -!- copumpkin has joined.
07:02:10 <shachaf> Bike: how many hours of sleep should i get p. night
07:02:20 <Bike> many
07:02:25 <shachaf> how
07:03:20 <shachaf> is 8 many
07:03:24 <shachaf> how about 7
07:03:29 <shachaf> 12?
07:03:36 <Bike> 7 at least
07:03:44 <shachaf> ok and at most how much
07:03:52 <Bike> 11
07:03:57 <shachaf> should i fix one of getting-up-time/going-to-sleep-time
07:04:37 <shachaf> Bike what do those guys/gals that sit and find large numbers do if not arithmetic?
07:04:48 <Bike> uuuugh.
07:07:13 -!- hogeyui___ has quit (Ping timeout: 248 seconds).
07:07:51 -!- hogeyui___ has joined.
07:09:50 -!- copumpkin has quit (Ping timeout: 240 seconds).
07:11:53 -!- copumpkin has joined.
07:21:02 <shachaf> ion: Did you figure out callcc<->lem?
07:21:20 <ion> shachaf: Haven't got around to it yet, but i certainly will.
08:02:13 -!- Bike has quit (Ping timeout: 256 seconds).
08:13:41 -!- nooodl_ has joined.
08:24:56 -!- nooodl__ has joined.
08:25:04 -!- nooodl__ has changed nick to nooodl.
08:29:55 -!- hogeyui___ has quit (Ping timeout: 240 seconds).
08:29:56 -!- nooodl_ has quit (Ping timeout: 240 seconds).
08:29:59 -!- hogeyui____ has joined.
08:40:03 <ion> Heh, i got an OTP that ended 3141592.
08:42:42 -!- sacje has quit (Ping timeout: 264 seconds).
08:49:23 <fizzie> Perhaps it's some kind of a pi backdoor.
08:54:55 <Gracenotes> yeah, no secure generator would generate pi; everyone knows it
08:59:51 -!- lambdabot has joined.
09:03:33 <fizzie> I used to have a credit card with a PIN code that was printed on the receipts, because it was equal to a substring of the "application ID" that gets printed.
09:12:59 <Gracenotes> (incidentally, the defect of the Nazi enigma machine that contributed substantially towards automatically breaking it was that it was a letter-wise derangement: corresponding input/output letters never matched)
09:13:52 <Gracenotes> (so, if your OTP never generates pi, or 111111, you should ask for your money back)
09:22:52 -!- AnotherTest has joined.
09:22:58 <AnotherTest> Hi
09:26:26 -!- sprocklem_ has quit (Remote host closed the connection).
09:35:39 -!- augur has quit (Remote host closed the connection).
09:36:13 -!- augur has joined.
09:40:18 -!- hogeyui____ has quit (Ping timeout: 264 seconds).
09:58:50 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
10:20:43 -!- Taneb has joined.
10:21:14 -!- carado has joined.
10:46:23 -!- carado has quit (Ping timeout: 264 seconds).
10:48:03 -!- carado has joined.
10:54:01 -!- hogeyui____ has joined.
11:00:20 -!- copumpkin has quit (Remote host closed the connection).
11:01:55 -!- copumpkin has joined.
11:03:53 -!- hogeyui____ has quit (Ping timeout: 245 seconds).
11:20:26 -!- hogeyui____ has joined.
11:50:33 -!- Taneb has quit (Ping timeout: 264 seconds).
11:52:44 -!- Sgeo has quit (Read error: Connection reset by peer).
12:23:27 -!- copumpkin has quit (Ping timeout: 256 seconds).
12:24:03 -!- copumpkin has joined.
12:24:36 -!- Taneb has joined.
12:28:16 <Taneb> I'm re-reading House of Leaves
12:54:55 -!- boily has joined.
12:54:58 -!- metasepia has joined.
13:17:33 -!- Taneb has quit (Ping timeout: 264 seconds).
13:18:01 -!- yorick has joined.
13:28:48 <boily> good cold morning!
13:29:45 <boily> @seen vorpal
13:29:45 <lambdabot> V0rp41
13:29:45 <kappabot> Unknown command, try @list
13:29:52 <boily> ...
13:30:44 <boily> @tell vorpal eeeeh... tbh, no idea. I guess it finally worked? I went on another project, then switched teams. feedback from the client was very sparse.
13:30:45 <lambdabot> Consider it noted.
13:30:45 <kappabot> Consider it noted.
13:32:17 -!- Taneb has joined.
13:32:31 <elliott> kappabot: @part #esoteric
13:32:32 -!- kappabot has left.
13:32:40 <elliott> boily: we have `seen
13:32:45 <boily> `seen vorpal
13:32:54 <HackEgo> 2013-07-23 15:34:10: <Vorpal> Which is very very strange still
13:33:05 <boily> ah, not so bad.
13:33:23 <boily> but as long as he isn't connected, I can't @localtime him.
13:37:14 <fizzie> Swedish @localtime is Finnish @localtime minus one hour hth
13:37:26 <boily> `thanks fizzie
13:37:27 <HackEgo> Thanks, fizzie. Thizzie.
13:37:42 <Taneb> `thanks Ngevd
13:37:43 <HackEgo> Thanks, Ngevd. Thevd.
13:37:55 <Taneb> `thanks cnsnt
13:37:56 <HackEgo> Thanks, cnsnt. Tnsnt.
13:38:04 <Taneb> `thanks cnnt
13:38:05 <HackEgo> Thanks, cnnt. Tnnt.
13:38:11 <fizzie> `thanks ooel
13:38:12 <HackEgo> Thanks, ooel. Thooel.
13:39:00 <boily> `thanks éeeee
13:39:01 <HackEgo> Thanks, éeeee. Théeeee.
13:39:13 <boily> `thanks t́eeee
13:39:15 <HackEgo> Thanks, t́eeee. Theeee.
13:39:34 <Fiora> `thanks ants
13:39:36 <HackEgo> Thanks, ants. Thants.
13:39:36 <fizzie> It's "T at start, except if there is a vowel anywhere, then replace all initial non-vowels with Th".
13:39:47 -!- carado has quit (Ping timeout: 264 seconds).
13:40:07 <fizzie> (Where "T at start" means "replace first letter with T".)
13:40:41 <Taneb> `thanks 40601
13:40:42 <HackEgo> Thanks, 40601. T0601.
13:41:21 <fizzie> `thanks cnsntthnglngw/e
13:41:22 <HackEgo> Thanks, cnsntthnglngw/e. The.
13:41:45 <fizzie> ("Consonant-thing long whatever.")
13:47:55 -!- oerjan has joined.
13:48:47 -!- AnotherTest has quit (Read error: Connection reset by peer).
13:48:47 -!- AnotherTest1 has joined.
14:04:21 -!- carado has joined.
14:09:59 -!- carado has quit (Ping timeout: 245 seconds).
14:11:05 -!- jsvine has joined.
14:14:20 <oerjan> @ask Gregor Why have the formatted logs suddenly turned black on grey, i find that annoying to read :(
14:14:20 <lambdabot> Consider it noted.
14:22:27 -!- carado has joined.
14:24:29 -!- tertu has joined.
14:24:44 <Gracenotes> I decided to dress in more classic silicon valley fashion today
14:25:10 <Gracenotes> black jeans, long-sleeved striped dress shirt, hoodie
14:25:24 <boily> Gracenotes: do you wear socks in your sandals?
14:25:34 <Gracenotes> it's like I'm business casual, but taking it down a notch. yeaaaa
14:25:52 * oerjan is wearing two layers of socks in his sandals at the moment
14:26:06 <oerjan> because my feet get cold
14:26:23 <Gracenotes> boily: no, that's for plebes, for sure
14:27:03 <Gracenotes> j/k. My outfit is a commentary on the subversion of business norms in a casual innovative environment.
14:27:28 <oerjan> the outer layer is knitted wool
14:31:09 <boily> oerjan: in the winter we have «gougounes en phentex» (handmade knitted synthetic wool slippers, a traditional christmas gift)
14:31:47 <oerjan> synthetic?
14:32:13 <oerjan> i think mine are real wool, this particular pair is definitely handmade
14:33:38 <boily> most definitely synthetic. Phentex is a brand.
14:33:59 <oerjan> oh slippers
14:35:40 -!- boily has quit (Quit: Poulet!).
14:36:09 <oerjan> chickening out again
14:36:54 -!- boily has joined.
14:37:07 <oerjan> boily: stop chickening out all the time twh
14:39:21 <oerjan> <kmc> <dlackili> rajdhskdsf: You came in here yesterday, with the same IP under a diff name <-- getting surreal
14:40:15 -!- Frooxius_ has joined.
14:40:16 -!- Frooxius has quit (Read error: Connection reset by peer).
14:42:11 -!- Frooxius_ has changed nick to Frooxius.
14:46:43 <boily> oerjan: I'm still having trouble mixing /quit and /close.
14:46:59 <oerjan> OKAY
14:47:10 <boily> SORRY
14:47:14 <boily> `? twh
14:47:15 <HackEgo> twh would help, but is an hth derivative. hth. twh. hand.
14:47:26 <boily> oh yeah. I wrote that one.
14:47:37 <oerjan> good one imo hth
14:56:54 <boily> `pastewords
14:56:55 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastewords: not found
14:57:12 <boily> `pastewisdom
14:57:13 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/wisdom/
14:58:22 <shachaf> `? tdh
14:58:24 <HackEgo> tdh? ¯\(°_o)/¯
14:58:24 <myndzi> |
14:58:25 <myndzi> º¯`\o
14:58:35 <shachaf> oerjan!!
14:59:35 -!- Taneb has quit (Quit: Leaving).
14:59:38 <boily> what the fungot is that ascii mutant doing here?
14:59:38 <fungot> boily: almost as fun as it seems that there's a girl who entered college at 16 and haven't been coding other than icfp recently
15:00:06 <oerjan> boily: myndzi does not discriminate the handicapped hth
15:01:03 * oerjan vaguely remembers "handicapped" is no longer pc, but cannot remember what the pc term is. hm, disabled?
15:01:27 <boily> differently abled, I think.
15:01:48 <oerjan> are you saying they're _different_? that's insensitive!
15:02:23 <boily> it could be worse. I could have said “Canadianly abled”.
15:03:48 <oerjan> true.
15:20:33 -!- Vorpal has joined.
15:20:39 <shachaf> 08:19 <danharaj> does anyone know how to make a project with a lot of TH build faster?
15:20:56 <shachaf> oerjan: resisting the urge to say "use less th hth"
15:21:34 <oerjan> *use less useless th hth
15:22:11 <shachaf> wfm tht
15:23:38 <Gracenotes> shachaf: so proud of you
15:23:59 <oerjan> wait for me, something?
15:25:14 <shachaf> works for me
15:25:16 <shachaf> that helps that
15:25:58 -!- quintopia has joined.
15:27:24 <boily> quintopia: hi!
15:27:35 <quintopia> boily: :/
15:27:45 <boily> :/?
15:29:53 <quintopia> do you know a way to crack a .odm file without installing overdrive media console?
15:30:08 <quintopia> i am on a library computer
15:30:12 <quintopia> and can't install things
15:30:44 <quintopia> and the library i'm borrowing from doesn't support audio books for android for some reason
15:33:24 <oerjan> @seen What is this
15:33:24 <lambdabot> W|-|at iz0rz 7|-|Is
15:33:32 <oerjan> @list seen
15:33:32 <lambdabot> No module "seen" loaded
15:33:36 <oerjan> @seep
15:33:37 <lambdabot> Maybe you meant: slap leet help
15:33:41 <boily> @slap me
15:33:42 * lambdabot smashes a lamp on boily's head
15:33:50 <boily> oooh, I like it :D
15:34:28 <boily> quintopia: sadly, I think you're stuck with the thing, which is very stupid and obnoxious and gets in the way of the Freedom of Audiobooks.
15:36:18 <oerjan> `thanks mgrvgrvladje
15:36:19 <HackEgo> Thanks, mgrvgrvladje. Thadje.
15:38:15 <quintopia> boily: do you have any audiobooks
15:39:13 <boily> quintopia: I had a Tintin album on vinyl once. it's somewhere in my parents' basement. probably.
15:49:13 -!- douglass_ has joined.
15:52:03 -!- AnotherTest1 has quit (Quit: Leaving.).
15:52:09 -!- AnotherTest2 has joined.
16:07:46 -!- oerjan has quit (Quit: leaving).
16:41:51 -!- copumpkin has quit (Ping timeout: 256 seconds).
16:48:04 -!- yorick has quit (Remote host closed the connection).
16:56:06 -!- Taneb has joined.
16:57:02 -!- Bike has joined.
17:08:45 -!- conehead has joined.
17:14:09 <kmc> shachaf: what do you mean by the syntax overlapping? they use different keywords obviously
17:14:24 <kmc> but you can define an enum variant with named fields, or a tuple-like struct
17:16:12 -!- tertu has quit (Ping timeout: 240 seconds).
17:16:40 <shachaf> I mean, is there a meaning to e.g. "enum Foo(int, char);" or "enum Foo { x: int, y: char }".
17:16:46 <shachaf> With the struct syntax.
17:16:56 <kmc> not sure
17:17:10 <shachaf> But maybe that kind of overloading isn't so great.
17:17:35 <shachaf> enums, even with a single variant, don't let you write things like x.y (I think?).
17:18:06 <kmc> yeah that would be odd
17:19:06 <shachaf> Of course, maybe it should be like Haskell. E.g. enum Foo { A { x: int, y: char }, B { x: int, z: bool } } would allow .x but not .y or .z.
17:19:18 <shachaf> (Well, in Haskell it's allowed, just a runtime error. :-( )
17:19:22 <kmc> i don't love that part of Haskell
17:19:51 <Taneb> So it should be like Haskell but better?
17:19:55 <zzo38> If you are using the keyword enum instead of struct then I do suppose that would make more sense than enum Foo { x: int, y: char } isn't it?
17:20:40 <shachaf> zzo38: Well, the question is how well it'd work to combine enum and struct.
17:22:23 -!- jsvine has quit (Quit: Leaving.).
17:23:25 <zzo38> shachaf: Well, in Haskell it works, at least.
17:24:05 <kmc> shachaf: I'm reading the cryptographic Bloom filters paper now
17:27:32 <kmc> whee RSA blind signing
17:33:24 <Gracenotes> what could go wrong
17:34:14 <kmc> yeah i don't know if there's a "safe" way to do blind signing
17:34:18 <kmc> since you can't use traditional RSA padding
17:35:30 <Gracenotes> not without introducing a salt manually
17:37:04 <kmc> elaborate?
17:37:31 <boily> ~duck salt
17:37:31 <metasepia> A colorless or white crystalline solid, chiefly sodium chloride, used extensively in ground or granulated form as a food seasoning and preservative.
17:43:08 <zzo38> Do you know an algorithm to efficiently encode text when there are temporary and permanent shift codes with varying lengths depending on the current state?
17:43:33 <Gracenotes> kmc: do-your-own-padding, salt chosen by signer
17:45:19 <Gracenotes> well... if they're signing a hash of the message, just make the hash hard-to-predict
17:45:24 <boily> zzo38: that sounds vaguely iso 2022...
17:46:18 <kmc> imo fuck iso 2022
17:46:57 <Gracenotes> anyway, as long as you never use the 0x00 padding...
17:47:45 -!- variable has quit (Ping timeout: 246 seconds).
17:48:14 <Gracenotes> I will admit my lack of familiarity with blind signing attacks. so I stfu.
17:48:16 <shachaf> `olist (904)
17:48:18 <HackEgo> olist (904): shachaf oerjan Sgeo FireFly
17:48:50 <boily> `奥list
17:48:51 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: 奥list: not found
17:52:06 -!- copumpkin has joined.
17:55:20 <zzo38> boily: Not really the kind of thing I am doing, though. The shift and shiftlock codes vary (including by their length) depending on the current state, and there is only one current state instead of two.
17:57:58 <boily> what kind of encoding can be even more nasty than iso 2022?
18:01:40 <zzo38> I have made up a three dimensional transition matrix table, from the initial permanent state, final permanent state, and the state which the current character belongs to, into the encoding to use for it; they hav varying lengths without a clear pattern.
18:02:14 <quintopia> boily: Aubergine programs that output the correct bytecode sequences
18:02:59 -!- Bike_ has joined.
18:03:02 <quintopia> boily: you should make an Aubergine interpreter that outputs the memory cells as colored pixels in a grid. GrApHiCaL aUbErGiNe!
18:03:24 <zzo38> boily: It is Z-machine encoding, and it is actually simpler than ISO 2022 (ISO 2022 has a large number of featurse this one doesn't use), although it does have the feature that the encoding for shifts also changes depending on the current state.
18:03:45 * boily is suddenly struck with abject panic, horror, terror, and grotesque fear
18:04:48 <boily> quintopia: the obnoxious capitalization notwithstanding, this is a very interesting idea.
18:05:01 <boily> zzo38: you are evil.
18:05:15 -!- Bike has quit (Ping timeout: 246 seconds).
18:05:31 <zzo38> boily: I didn't make up this encoding.
18:05:41 -!- Bike_ has changed nick to Bike.
18:06:06 * boily hides behind his trusty squid
18:06:07 <nooodl> hmmm i wonder which two #esoteric members share a birthday, if any
18:06:15 <boily> december 24th?
18:06:33 <kmc> i know someone else with a dec 24 birthday, but he's not here
18:06:46 <kmc> i'm feb 22
18:06:54 <shachaf> my birthday is ""coming up""
18:07:01 <shachaf> oops this is like that pop quiz puzzle
18:07:08 <boily> 23.
18:07:09 <fizzie> You're a catch 21.
18:07:32 <kmc> when shachaf
18:07:33 <zzo38> Why do you call me evil?
18:07:40 <nooodl> i'm january 7
18:07:49 <shachaf> zzo38: i didn't !!
18:07:52 <boily> zzo38: I thought that you had created that encoding.
18:07:54 <nooodl> zzo38: when's your birthday (for science)
18:08:14 <Gracenotes> shachaf: what are your birthday plans?
18:08:17 <boily> nooodl: are you trying to ask Questions to people you too?
18:08:45 <zzo38> nooodl: I don't think you should require it.
18:08:46 <nooodl> imo birthdays are less awkward than weight + coordinates!!
18:09:21 <shachaf> Gracenotes: usually my plans are to pretend it doesn't exist :'(
18:09:34 <boily> nooodl: humbug.
18:10:08 <boily> that reminds me, Vorpal: for very scientific purposes, what are your approximate coördinates and body weigh?
18:10:09 <shachaf> but maybe i've said too much
18:12:06 -!- variable has joined.
18:13:07 -!- jsvine has joined.
18:14:36 <zzo38> What purposes do you need their coordinates and weight?
18:15:12 <shachaf> body weighẗ
18:19:12 <boily> zzo38: to compute this Fine Channel's center of mass.
18:19:19 <Gracenotes> coördinates? Am I doing this right?
18:19:28 <jsvine> Hello, hello hexham. I'm continuing to gather thread for a story on esolangs and esolangers. I've had some good email exchanges with esolangers past and present, and looking to learn more about the rest of you. Quick survey if you'd like to help: https://docs.google.com/forms/d/1OvEsdBioOFcXFAiscO34kctUWKs3dWQs5-ZouXdwy9Q/viewform
18:19:38 <boily> (and as shachaf kindly pointed out, the t is a ta' marbuta.)
18:20:07 <boily> Gracenotes: ÿou are.
18:20:14 <shachaf> jsvine: You might consider adding fields for approximate coördinates and body weigh.
18:20:33 <zzo38> jsvine: OK I am filling the form now.
18:21:06 * shachaf isn't really an esolanger so wouldn't feel right filling in the survey.
18:21:29 <jsvine> shachaf: fixed
18:21:31 * kmc isn't really an esolanger and also feels guilty about being part of the off-topic-ification of this channel
18:22:03 <shachaf> I think "approximate" distributes over "and".
18:22:07 <shachaf> But I'm not actually sure.
18:22:15 <shachaf> boily: Is the body weigh also approximate?
18:22:39 <jsvine> shachaf & kmc: meh, interested to hear from you anyway
18:22:46 <boily> shachaf: considering the kind of responses and answers I have collated, I don't think it makes any statistically significant difference.
18:23:15 <jsvine> shachaf & boily: merged
18:24:27 * shachaf can't tell whether "Are you planing to visit New York City any time soon?" is a pun.
18:24:35 <shachaf> PLAAAAANE
18:24:48 <fizzie> (What's the type of "shachaf &&& boily"?)
18:25:06 <zzo38> kmc: I don't think that is a good way to feel guilty; this channel has a lot of off-topic that is OK, although you should know at least a few things about esolang if you want to discuss on this channel since it is sometime used for explanation of various things not only about esolang.
18:25:23 <kmc> what's the pun shachaf
18:25:31 <shachaf> kmc: "planing"
18:25:34 <kmc> heh
18:25:40 <jsvine> heh, woops
18:25:42 <kmc> zzo38: I know a lot about "unintentional esolangs" such as return-oriented programming, etc.
18:26:13 <boily> kmc: return-oriented???
18:26:35 <zzo38> kmc: Yes, good to know that too some people in here would be interested in such things too including myself. What is "return-oriented", though?
18:27:20 <kmc> boily: it's a technique for exploiting programs where you can't directly inject your own code (because the stack is non-executable, say). you build an exploit payload out of fragments of code already existing in the legitimate process
18:27:35 <kmc> http://cseweb.ucsd.edu/~hovav/dist/geometry.pdf‎
18:28:00 <boily> jsvine: the form, it is filled.
18:28:06 <zzo38> Maybe if an actual esolang can be made which is using mainly that, rather than as a exploiting?
18:28:23 <kmc> any sequence of bytes in executable memory that ends in a RET instruction can be used as a "gadget"
18:28:55 <jsvine> boily: the response, it is received
18:29:00 <kmc> you build a bunch of fake stack frames pointing at them, and they return to each other one after another
18:29:16 <shachaf> also some other kinds of indirect jumps
18:29:20 <kmc> and on x86 instructions have no alignment requirement so they don't even need to be "intentional" RET instructions, just any byte 0xC3 in exec memory
18:29:32 <nooodl> kmc: holy crap that's art
18:29:49 <olsner> oh, are we discussing ROP as an esolang again?
18:31:03 <kmc> yep
18:31:10 <nooodl> what ARE my favorite esolangs... hmmm
18:31:22 <kmc> it's not just a beautiful hack, it's also the basis of most real world memory corruption exploits these days
18:31:27 <shachaf> @arr
18:31:27 <lambdabot> Yeh scurvy dog...
18:31:51 <kmc> since people are now pretty good at avoiding writeable, executable pages
18:32:21 <boily> what about self-modifying code?
18:33:38 <kmc> most programs don't have too much of that
18:33:45 <kmc> (although almost every program has a little!)
18:33:49 <Gracenotes> ROP did have papers on how it was climbing out of the Turing tarip
18:33:59 <zzo38> jsvine: I submitted the form.
18:34:02 <kmc> but you can do it by remapping as writeable, then as executable
18:34:11 <Gracenotes> tarpit
18:34:15 <kmc> and not leaving both perms set at a time when you could be exploited
18:35:10 <Gracenotes> I suppose you could consider buffer overflows involving pointer-nested struct manipulation itself an esolang
18:35:24 <kmc> mm yes
18:35:51 <shachaf> kmc: turns out the ghc executable stack thing was due to people turning it on accidentally or something
18:35:53 <jsvine> zzo38: received, thanks
18:36:00 <kmc> also the stuff people do to exploit heap corruption
18:36:23 <Gracenotes> a lot of exploits are in bootstrapping native code, yes, but they can operate in other ad-hoc computational frameworks first. The key is that those other computational frameworks, despite their limitations, are still basically Turing-complete.
18:36:57 <kmc> http://www.phrack.com/issues.html?issue=57&id=8 the word "epic" gets thrown around a lot these days but I really can't think of any more fitting description for this article & exploit
18:37:01 <zzo38> I usually don't bother with trying to prevent these overflows and kind bugs unless the program either is meant to be use with suid or meant to receive untrusted input.
18:37:34 <Bike> hey shachaf, any chance you could compose an epic (just some couplets) about this article
18:37:48 <shachaf> Bike: outsourced to Gracenotes hth
18:38:18 <Bike> hey Gracenotes, any chance you could compose an epic (just some couplets, heavy on alexandrines though) about this article
18:38:30 <kmc> that would be awesome
18:38:42 <zzo38> I do worry about security when applicable. Programs I have written meant to be secure include Internet Quiz Engine and the remote TeX interface; please tell me if you find any security hole.
18:39:45 <shachaf> jsvine: Maybe you would gain important insight about the people in #esoteric from reading the channel quotes!
18:40:09 <zzo38> Yes, also read the logs.
18:40:28 <fizzie> There's only $(wc -l quotes) of them, after all!
18:40:36 <shachaf> `run wc -l quotes
18:40:38 <HackEgo> 1074 quotes
18:40:39 <elliott> `qc
18:40:40 <HackEgo> 1074 quotes
18:40:50 <elliott> I don't think they have any important insights though
18:41:20 <zzo38> They keep deleting quotations so there may be more things in the logs, too.
18:41:35 <mnoqy> elliott: counterpoint: `pastequotes zzo38
18:41:49 <shachaf> `pastequotes zzo38
18:41:55 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.29785
18:42:17 <nooodl> jsvine: submitted! the "what's your favorite esolangs" question reminded me of this thing: http://kevan.org/rubicon/
18:42:29 <zzo38> You can also look at my Dungeons&Dragons game if you think it leads to any insights or just entertainment or whatever you think it is
18:42:30 <nooodl> it's a programming puzzle game inspired by an esolang by cpressey
18:43:24 <zzo38> nooodl: I wanted to make up a card game based on INTERCAL somehow...
18:43:42 <fizzie> Oh yes, consider also reading the logs, for insight. There's only three million or so lines in my (slightly incomplete) copy.
18:44:16 <shachaf> `quote Invent
18:44:17 <HackEgo> 12) <pikhq> First, invent the direct mind-computer interface. <pikhq> Second, you know the rest. \ 13) IN AN ALTERNATE UNIVERSE: <pikhq> First, invent the direct mind-computer interface. <pikhq> Second, learn the rest with your NEW MIND-COMPUTER INTERFACE. \ 81) <ais523> (still, whatever possessed anyone to invent the N-Gage?) \ 124) <AnMaster> c
18:44:26 <elliott> fizzie: but no lines of insight.
18:44:49 <shachaf> imo squareloi
18:45:08 <shachaf> mnoqy: how do you feel about the lack of a super mega update yesterday
18:45:17 <mnoqy> im deeply upset
18:45:29 <shachaf> do you feel....... angry
18:45:35 <mnoqy> no not quite
18:45:38 <shachaf> oh
18:45:54 <shachaf> how about angry
18:46:15 <mnoqy> nah
18:46:22 <olsner> is it a bold yellow angry?
18:46:36 <jsvine> nooodl: thanks and thanks — I hadn't seen that before!
18:46:43 <fizzie> elliott: select count(*) from event where target = 2 and type = 'msg' and body ilike '%insight%' => 266 so there
18:47:15 <zzo38> I have once made up a computer game based on BackFlip esolang; the grid is hidden but you can choose which edge to enter, and then it updates the grid and tells you where it exits from as well as the output of the program, and you have to figure out where the pieces are.
18:47:50 <jsvine> zzo38: In doing some of this research, I read the original INTERCAL paper for the first time. Pretty great.
18:48:29 <zzo38> (You don't have to specify the direction of a mirror or arrow, although you do have to specify it is a mirror, arrow, empty, or output, and if it is output then you do have to specify its value.)
18:48:47 -!- AnotherTest2 has quit (Ping timeout: 256 seconds).
18:51:25 <zzo38> fizzie: Yes I suppose a SQL database would be a good way to search it, although I might use a different format, so the target is '#esoteric' and the type is 'PRIVMSG'
18:52:31 <zzo38> I have written a extension library for some statistical functions in SQL, since otherwise SQL is already pretty good for some kind of statistics. I have also written a extension library which defines a virtual table containing all 64-bit integers; this table can be used like a FOR-loop.
18:54:12 -!- AnotherTest1 has joined.
18:56:44 <zzo38> jsvine: I like that, as well as the stuff written later about INTERCAL, such as "P.D.Q. Bach is the INTERCAL of baroque music"
19:00:04 <zzo38> A lot of things are Turing-complete, even Wang tiles, sequent calculus, Wang B machine, Magic: the Gathering cards, Minesweeper, ...
19:00:17 -!- Gracenotes has quit (Ping timeout: 248 seconds).
19:00:32 -!- Gracenotes has joined.
19:00:57 <Taneb> Minesweeper is turing-complete?
19:02:15 <boily> I should sell tees with “This T-Shirt is Turing Complete”.
19:03:54 <Bike> i'd mock 'em
19:04:25 <boily> I'd slap you with a tunafish.
19:04:59 <Bike> :(
19:05:45 <zzo38> I have made a Turing machine sequent calculus consisting of four rules.
19:06:28 <boily> delicious, fresh tunafish...
19:06:32 * boily drools...
19:06:53 <Bike> back in my day we just had tapes and greek letters and that was enough turing completeness for us, but these days everybody wants to be turing complete! oh this shirt is complete. oh this puzzle is complete. oh sokoban is in PSPACE. enough i say!!
19:08:00 <zzo38> Not all of them are even intended to be Turing-complete, though.
19:15:04 <shachaf> Maybe we should put jsvine's survey in the topic.
19:15:07 <shachaf> Easy to miss otherwise.
19:15:27 <zzo38> I suppose you can if you want to
19:15:40 <zzo38> But don't make it too longer otherwise it won't fit
19:16:11 <jsvine> shachaf: hey, thanks, that'd be great
19:16:18 <boily> who is mr. burbujas?
19:16:28 <zzo38> I don't know.
19:17:08 <zzo38> jsvine: Some things I didn't mention but I don't know if you want to know these things about various people in here, or would be interested in it at all
19:17:52 <douglass_> http://www.flickr.com/photos/pickup_stix/6010986771/
19:17:52 <kmc> boily: http://blogs.sfweekly.com/thesnitch/assets_c/2009/08/rsz_1intact-thumb-500x374.jpg http://www.flickr.com/photos/kaseysmith/7218024116/sizes/l/
19:17:55 -!- oklopol has quit (Ping timeout: 246 seconds).
19:18:01 <jsvine> zzo38: always interested to know things about various people
19:18:12 <Bike> hm, we can take underhanded out now, can't we?
19:18:24 <elliott> is it over
19:18:30 <zzo38> Does it help to know that some people in here also program Haskell (including myself)?
19:18:39 <boily> this is most disturbing.
19:18:42 <Bike> well you can't submit any more.
19:18:45 <shachaf> OK, someone else do the topic thing.
19:19:23 -!- Bike has set topic: jsvine is doing an esolang survey!: https://docs.google.com/forms/d/1OvEsdBioOFcXFAiscO34kctUWKs3dWQs5-ZouXdwy9Q/viewform | logs: http://codu.org/logs/_esoteric and http://tunes.org/~nef/logs/esoteric/.
19:19:28 <kmc> rip burbujas
19:19:52 <zzo38> Also, that I play monster character in Dungeons&Dragons game and record it using TeX with a set of macros I wrote for that purpose? Maybe that tells you what kind of people I am, but confusing since that is just one thing not everything. You could learn other people too.
19:19:53 <Bike> rip.
19:20:04 <jsvine> zzo38: It could be. Why do you think? I'm a few chapters into Learn You a Haskell for Great Good, so I'm interested, independent of this research, but don't see the immediate connection.
19:20:10 <zzo38> The IRC logs has a lot of it but they are really long anyways; you could try looking at some things at random.
19:20:34 <zzo38> jsvine: The connection is just that some people in here have interest in Haskell programming too.
19:20:39 <zzo38> And mathematics.
19:20:55 <kmc> Haskell is a strange language, it's not "esoteric" in the strict sense, but might appeal for similar reasons
19:21:25 <shachaf> it might appeal to people who like hugs
19:21:49 <jsvine> zzo38 & kmc: Gotcha. It seems to have a similar brain-stretching appeal. What other mainstream languages do you think particularly appeal to esolangers?
19:22:15 <kmc> jsvine: speaking only for myself: Haskell, C++, Rust are all very interesting and ususual
19:22:35 <kmc> probably Prolog and other logic languages
19:22:42 <kmc> dependently typed languages such as Coq, Agda, Idris
19:23:08 <zzo38> TeX is a bit unusual when doing things other than typesetting
19:23:11 <kmc> maybe Scheme; the language itself is very simple, but it provides a nice setting for exploring a lot of mind-bending FP concepts
19:23:21 <kmc> `addquote <zzo38> TeX is a bit unusual when doing things other than typesetting
19:23:25 <HackEgo> 1075) <zzo38> TeX is a bit unusual when doing things other than typesetting
19:23:32 <Bike> several people here do assembly and machine code and such, i think, more than i'd expect from randomness
19:23:59 <Bike> or are familiar with that level of things anyway
19:24:04 <zzo38> Yes, I have written a few programs for the Famicom
19:24:06 <Bike> maybe just from looking at compiler output, i dunno.
19:24:22 <Bike> compilers being, of course, very PLT-relevant programs
19:24:23 <zzo38> (using assembly language)
19:27:57 <shachaf> http://software.intel.com/en-us/blogs/2013/07/10/avx-512-instructions
19:28:00 <zzo38> Control structures in non-procedural SQL is also unusual
19:28:48 <shachaf> i bet Fiora has already been using it for years
19:29:51 <kmc> too many goddamn bits
19:29:53 <Fiora> "Intel AVX instructions use the VEX prefix while Intel AVX-512 instructions use the EVEX prefix which is one byte longer." ooooh.
19:29:58 <kmc> how long before I can fit an entire page in a CPU register
19:30:11 <kmc> only 3 more steps
19:30:14 <Fiora> I think this means they might be adding the Knights' Corner features (like swizzling and stuff) to normal AVX :o
19:30:39 <olsner> kmc: 6 more steps? the 512 is (I assume) bits...
19:30:43 <fizzie> kmc: 512 bits is not quite three steps away from 4096 bytes.
19:30:45 <fizzie> Aww, too slow.
19:30:54 <fizzie> I suppose it depends on the size of a step, though.
19:30:54 <Fiora> but geez, that's a lot of prefix bytes
19:31:54 <Bike> eventually we just abandon main memory. a golden age
19:32:11 <Fiora> gosh this is cool though
19:32:35 <Fiora> oh geeez. 32 registers O_O
19:32:59 * Fiora bakes intel cookies
19:33:34 <olsner> ah, so the next step would probably be enough to load a whole page into registers, albeit not *one* register
19:33:46 <olsner> ("the 32 ZMM registers represent 2K of register space!")
19:34:08 <fizzie> What *I'm* waiting for is seeing what the next letter is going to be.
19:34:19 <fizzie> They've gone from xmm to ymm to zmm; now it gets interesting.
19:34:19 <olsner> Å, obviously
19:35:46 <fizzie> olsner: Well, I don't know. Perhaps the Danish conspiracy manages an æmm.
19:36:00 <olsner> or perhaps something like ezmm or xzmm for extended zmm
19:37:54 <olsner> or they might do something boring like operating pairwise on zmm0+1 (and perhaps add another 32 registers at the end)
19:38:02 <zzo38> jsvine: Do you know anything about some of the other things I have mentioned (TeX, Dungeons&Dragons game, etc)? Do you know a lot of things other people are mentioning?
19:38:16 <Fiora> it would be really convenient if they did pairing like um... I think NEON does
19:38:23 <Fiora> so like, ymm0+ymm1 == zmm0
19:38:32 <Fiora> that makes it super easy to address the top and bottom halves of a register
19:38:38 -!- Bike has quit (Ping timeout: 240 seconds).
19:38:45 <Fiora> right now you have to do, like, a vextract to get the top half
19:38:56 <zzo38> Fiora: My opinion is that they are getting way too complicated?
19:39:14 <Fiora> so like vextracti128 xmm1, ymm0, 1 paddw xmm0, xmm1 movhlps xmm1, xmm0 paddw xmm0, xmm1 etc to do a horizontal sum
19:39:31 <fizzie> Fiora: Would you then have 32 zmm registers, 64 ymm registers and 128 xmm registers?
19:39:38 <Fiora> I guess so?
19:40:01 -!- Bike has joined.
19:40:04 <Fiora> I guess if that was too hard on the instruction set you could, like, have only the lowest ones addressable as both?
19:40:11 <shachaf> Well, xmm registers are already specified to be the bottom half of ymm registers, aren't they?
19:40:23 <Fiora> yeah, but like, xmm1 is the bottom half of ymm1, not the top half of ymm0
19:40:51 <Fiora> I guess there must be some reason they didn't do it that way...
19:40:52 <shachaf> Right. You're just proposing adding N new xmm registers to address the top halves?
19:41:16 <Bike> "Yesterday was my 21st birthday; at that age Newton and Pascal had already acquired many claims to immortality." -- fourier <-- suddenly i feel a bit better.
19:41:17 <zzo38> A lot of modern computer designs are way too complicated; sometimes I have designed (or used) simpler things, such as Digi-RGB for a video cable.
19:41:21 <Fiora> Umm.... I guess you could? you cuold also, like, have ymm0-7 map to xmm0-15?
19:41:42 -!- mnoqy has quit (Quit: hello).
19:42:26 <shachaf> Oh, AVX doubled the number of xmm registers anyway?
19:42:35 <Fiora> no no, it didn't
19:42:44 <Fiora> the doubling is with AVX-512, I think, that's a new thing
19:43:11 <Fiora> Bike: wooow
19:43:14 <Fiora> geez
19:43:26 <jsvine> zzo38: In summer camp, ages ago, I used to play D&D, but barely remember a bit of it. And I've heard of TeX but never used it. A lot of the other topics (XMM register, return oriented programming, etc.) I've never heard of before, and occasionally look up on the Google.
19:43:31 <fizzie> x86-64 did double the number of xmm's from the original 8, though.
19:43:50 -!- Gracenotes has quit (Changing host).
19:43:50 -!- Gracenotes has joined.
19:43:58 <shachaf> fizzie: Right, I just figured that out.
19:43:59 <Fiora> I wonder if AVX-512 will let us use all 32 of them on 32-bit or something?
19:44:29 <Bike> apparently fourier was more known as an egyptologist than anything while he was alive.
19:44:33 <Bike> so... i guess that went well.
19:44:55 <zzo38> jsvine: Well, if you are interested, here it is: http://zzo38computer.org/dnd/recording/level20.tex and dungeonsrecording.tex
19:45:47 <Bike> published his first original result in 1798, he was... 30
19:46:17 <fizzie> Fiora: Can you even run 32-bit stuff on one of those Xeon Phi things?
19:46:35 <olsner> Fiora: probably not? 32-bit is just left in for booting 64-bit :)
19:46:41 <fizzie> Fiora: It sounds like a thing they wouldn't bother have included when it was just a coprocessor.
19:46:49 <zzo38> (My character is Iuckqlwviv Kjugobe)
19:46:56 -!- zzo38 has quit (Remote host closed the connection).
19:47:18 <fizzie> olsner: Xeon Phi (with AVX-512) was previously just a PCIe coprocessor card, it doesn't even need to boot anything.
19:47:20 <Bike> 32 bit is just for booting 64 bit, as 16 bit is for booting 32 bit, 4 bit is for booting 8 bit, etc
19:47:24 <Fiora> fizzie: I'm guessing AVX-512 will be on upcoming regular intel chips, though?
19:47:34 <Fiora> or will it be phi-only...?
19:47:42 <Fiora> I mean, I guess it'd be harder for them to drop support on regular ones...
19:48:07 <Fiora> oh, you're right... it doesn't say anything about their regular chips
19:48:20 <comex> does AMD do any of this stuff yet?
19:48:21 -!- Frooxius has quit (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204]).
19:48:21 <olsner> fizzie: it does boot something, but I think they've removed most of the legacy crud
19:48:52 <Fiora> I think AMD still has 128-bit execution units... but I'm not totally sure..
19:48:53 <olsner> from what I read, there was some kind of "firmware" from intel, but it could also boot a linux kernel
19:49:09 -!- Frooxius has joined.
19:49:12 <fizzie> Fiora: It did say something about "some future Xeon processors scheduled to be introduced after Knights Landing".
19:49:14 <elliott> Bike: whoa, fourier is old.
19:49:20 <Fiora> fizzie: nice~
19:49:39 <kmc> oh damn I fail at bits vs bytes
19:49:40 <kmc> so sad
19:50:04 <olsner> give it time kmc, you'll learn to computer some day
19:50:29 <Taneb> I won't
19:50:31 <Bike> elliott: ancient
19:52:24 <Fiora> fizzie: I guess if sandy bridge was AVX-256 maybe skylake will be AVX-512...
19:52:41 <fizzie> Fiora: The AVX-512 chapter of the Extensions Programming Reference contains a line stating "in 64-bit mode, 32 vector registers can be encoded using EVEX prefix", which kinda-sorta sounds like you could do *something* in not-64-bit mode too, but it doesn't seem to exactly say that either.
19:52:54 <Fiora> huh
19:53:10 <Fiora> Maybe it'd be 16 registers in 32-bit mode? XD
19:53:13 <fizzie> I guess maybe it's just saying that the EVEX prefix is only recognized in 64-bit mode.
19:53:13 <Fiora> since it's half!
19:53:15 <Fiora> ahhh
19:53:22 <Fiora> wouldn't that mean that you can't even use AVX-512 in 32-bit mode?
19:53:23 <olsner> in 32-bit mode, 32 vector registers can be encoded using a switch to long mode
19:53:47 <Bike> "Fourier was in his mid-fifties when he finally published The Analytical Theory of Heat."
19:53:53 <fizzie> Fiora: That's somewhat what it sounds like.
19:54:59 <fizzie> Fiora: Also, EVEX has some sort of conditional SIMD stuff, apparently.
19:55:11 <Fiora> yeah, and they mentioned like, mask registers?
19:55:20 <fizzie> Yes.
19:55:21 <Fiora> I remember glancing at the Phi and it had a thing kind of like that
19:55:27 <fizzie> It sounds a lot like the FirePath stuff.
19:55:29 <Fiora> so this kind of looks like them stuffing it back into regular AVX?
19:55:31 <Fiora> FirePath?
19:56:11 <fizzie> Fiora: It's a kind of an ARM offspring; there's a small example at http://everything2.com/title/FirePath -- there isn't all that much about it anywhere.
19:56:26 <fizzie> I think I mentioned this before? But maybe it was to someone else.
19:56:26 <shachaf> `delquote 666
19:56:29 <HackEgo> ​*poof* <zzo38> When you die in Canada, you die in real life.
19:57:03 <Fiora> that's... interesting O_O
19:57:14 <Fiora> I wonder how shuffles would work in something like that
19:57:24 <Bike> clearly i was on the mark about asm here >_>
19:57:31 <boily> but, but, that was an important part of the Canadian Lore!
19:57:31 <Fiora> on the mark...?
19:57:35 <boily> `quote Canada
19:57:36 <HackEgo> 367) <oerjan> as i was filled with zzo38 mystery at the moment i saw <zzo38> quintopia: I am at Canada. \ 995) <olsner> metar lead to canada, more metar and cows
19:58:22 <elliott> `revert
19:58:25 <HackEgo> Done.
19:58:28 <elliott> it's a zzo quote and it's on quote number 666, what's more to like
19:58:32 <elliott> also did delquote get broken?
19:58:35 <elliott> oh it was just mosh...
19:58:40 <Bike> Fiora: jsvine asked what languages people use and i said asm/machine code stuff.
19:58:48 <elliott> I wonder why I get all these weird display issues with mosh
19:58:54 <shachaf> it's not a zzo quote, it's an xkcd quote or something
19:58:56 <fizzie> The eight opmask registers (k0 .. k7) of AVX-512 sound a lot like FirePath's "predicate registers".
19:59:00 <Fiora> Bike: ohhhhh!
19:59:04 <fizzie> Except bigger, since it's a wider SIMD.
19:59:04 <elliott> it says <zzo38> right there!
19:59:07 <Bike> people here use*
19:59:11 <shachaf> it doesn't belong in the database
19:59:35 <Fiora> fizzie: how big are they, like, 32 bits?
19:59:51 <Fiora> and I guess each bit would affect 32 bit chunks of the operation
20:02:40 <olsner> apparently, in 32-bit mode, EVEX only gives you 8 vector registers
20:02:43 <boily> `quote 999
20:02:45 <HackEgo> 999) <Bike> It's like narnia only with dicks
20:02:54 <Fiora> I guess that's consistent at least
20:03:02 <boily> `quote 888
20:03:03 <HackEgo> 888) <coppro> GreyKnight: for instance, you can form a poset category from a bunch of tiles <GreyKnight> oh, that's why somebody was conflating category theory with bathroom interior design the other day :-D
20:03:45 <Bike> bad quotes, imo.
20:04:35 <boily> `quote 777
20:04:37 <HackEgo> 777) <oerjan> Gregor: hey no fair doing ungoogleable citations
20:04:49 <fizzie> Fiora: The AVX-512 opmask registers? Apparently those are 64 bits, though I don't quite know why, since they only deal with 32-bit or 64-bit vector elements, and even 512/32 is just 16. (Room for extensions?)
20:04:52 <boily> seems like theres a Repdigit Quote Curse.
20:05:00 <boily> s/es/e's/
20:05:25 <Fiora> fizzie: the opmask registers can't be used for 8-bit and 16-bit ops?
20:05:53 <elliott> I like 999 but not 888 or 777
20:05:57 <elliott> results inconclusive
20:05:59 <olsner> looks like the instructions for modifying the opmask registers only work on 16 bits, so I wonder why they are 64-bit in the first place
20:06:05 <kmc> hi elliott
20:06:07 <boily> `quote 555
20:06:08 <HackEgo> 555) <fizzie> I prefer the N64 controller, it's the only one that has place for my third hand.
20:06:13 <shachaf> hi kmc
20:06:22 <fizzie> Fiora: "Each bit of the opmask register governs one vector element operation (a vector element can be of 32 bits or 64 bits)."
20:06:22 <Fiora> that is really strange @_@ I hope they explain things better...
20:06:29 <elliott> hi kmc
20:06:32 <Fiora> AVX-512 doesn't support integers? >_<
20:06:42 * Fiora withdraws her offer of homemade cookies to intel
20:06:56 <olsner> e.g. KANDW: Bitwise AND 16 bits masks k2 and k3 and place result in k1.
20:06:57 <boily> hi kmc
20:07:59 <fizzie> olsner: Perhaps they'll add KANDD and KANDQ etc. when they have use for more bits.
20:08:26 <kmc> KANADA
20:08:31 <Fiora> geez, they have new instructions too? I wonder why they couldn't just, like, call it "AND"
20:08:35 <Fiora> and like, extent AND to work on k registers?
20:08:52 <kmc> maybe to avoid confusing old assemblers / disassemblers
20:08:54 <olsner> fizzie: I guess
20:09:07 <fizzie> Fiora: It's a three-argument AND, though.
20:09:15 <fizzie> I mean, they added all those V's, too?
20:09:42 <Fiora> makes sense...
20:09:54 <Fiora> it's actually kind of weird. like, now x86 has a 3-argument ANDN, but a 2-argument AND
20:10:03 <Fiora> the way they're extending things is confusingly inconsistent
20:11:03 <Fiora> I hope I can remember it all...
20:11:16 <olsner> if it was suddenly consistent now, that would be wildly inconsistent with how previous extensions have always been inconsistent
20:11:23 <fizzie> VEXTRACTi64x4 "extract 256-bits of quadword integer values from the source operand (the second operand) and store to the low 256-bit of the destination operand (the first operand). The 256-bit data extraction occurs at an 256-bit granular offset specified by imm8[0] as the multiply factor The desination register may be either a vector register or a 256-bit memory location."
20:11:33 <fizzie> It all sounds very complicated.
20:11:35 <Bike> ow.
20:11:49 <fizzie> The lack of punctuation is also in the original.
20:12:07 <Fiora> VEXTRACTi64x4.... @___@
20:12:17 <Fiora> they didn't just call it vextracti256? geez, they called it vextracti128...
20:12:30 <Fiora> I... I think if I'm readnig it right it works the same way too...
20:12:30 <elliott> VEXTRACTi511+1
20:12:35 <elliott> learning arithmetic with intel
20:12:42 <kmc> elliott: in b4 FDIV bug
20:12:44 <fizzie> Fiora: There's VEXTRACTi128, VEXTRACTi32x4 and VEXTRACTi64x4.
20:12:57 <Fiora> ..... @_@ wait um how is i32x4 different from i128
20:13:06 <elliott> looks like they're still no good at arithmetic
20:13:11 <fizzie> Fiora: It has an update granularity of 32 bits and takes the writemask into account.
20:13:24 <Fiora> update granularity...?
20:13:32 <kmc> Fiora: I'm amused by the idea of you filling a box with homemade cookies and then mailing it to Intel, 2200 Mission College Blvd., Santa Clara, CA 95054-1549
20:13:33 <Fiora> So like... it's a scatter operation...?
20:13:36 <kmc> I wonder what would happen
20:13:37 <fizzie> Fiora: IOW, you can have one of those opmask registers involved.
20:13:41 <boily> update granularity, straight from /r/vxjunkies.
20:13:43 <fizzie> Fiora: (With an element size of 32 bits.)
20:13:44 <kmc> interns deputized as food tasters
20:13:46 <shachaf> can i have homemade cookies
20:13:53 <Fiora> so like, if I have
20:13:54 <Bike> are you not intel?
20:14:00 <shachaf> i'm not intel
20:14:04 <kmc> shachaf: yes, come to SF sometime and we can bake cookies together
20:14:05 <Fiora> xmm0 = ABCD zmm1 = EFGH IJKL MNOP QRST
20:14:06 <boily> I am skeleton jelly.
20:14:08 <elliott> kmc: maybe intel would send chips back (hilarious)
20:14:17 <Fiora> I can use vextracti32x4 to extract EFGH with a write mask of 1101 to get EFCH?
20:14:21 <shachaf> kmc: sgtm
20:14:29 <Fiora> am I getting it right, or...?
20:14:39 <fizzie> Fiora: I believe so, yes.
20:14:56 <Fiora> that's... I guess kind of cool? it'd be nice if they let us, like, pull any 4 arbitrary 32s though XD
20:15:27 <shachaf> imo when do we get MMOR and MXOR hth
20:15:32 <shachaf> s/M//
20:15:47 <fizzie> Fiora: You can pull any of EFGH, IJKL, MNOP or QRST, already.
20:15:57 <fizzie> Fiora: But you can't pull out GHIJ, for example.
20:16:04 <Fiora> okay, that makes sense...
20:16:11 <Fiora> and I can't get FNQT
20:16:12 <Fiora> :P
20:16:48 <Fiora> huh, though... like... they have an i32x4 and i128, but they have an i64x4 and no i256... I wonder why
20:17:13 <fizzie> And the VEXTRACTi64x4 could pull out either (masked) EFGH IJKL or MNOP QRST.
20:17:38 <Fiora> that makes sense...
20:18:50 <fizzie> Fiora: Also, 512-bit registers, so zmm1 = EFGH IJKL MNOP QRST UVWX YZuh oh I ran out of letters.
20:19:00 <Fiora> I usually start using lowercase ^^;
20:19:36 <Fiora> it gets awkward when I have to represent multiple registers though and then it's like oh gosh english can I have more letters
20:19:37 <olsner> how many is 512 bits?
20:19:39 <Fiora> and then I start using kana
20:19:43 <olsner> ... here I was boggling at E..T already
20:19:53 <fizzie> zmm0 = ABCD EFGH IJKL MNOP QRST UVWX YZab cdef, zmm1 = ghij klmn opqr stuv wxyz how do I type Greek on this?
20:20:14 <Fiora> I end up having to diagram things a lot so >_<
20:20:50 * kmc :psyduck:s at all of this
20:20:59 <shachaf> do your diagrams ever commute
20:21:45 <Fiora> commute...?
20:22:04 <Bike> category theory joke.
20:22:14 <Fiora> oh
20:22:47 <neena> oh
20:22:49 <fizzie> I wonder if soon the "opcode/instruction" fields are categorically longer than the "description" field in the tables. I mean, EVEX.512.66.0F3A.W0 39 /r ib VEXTRACTI32x4 xmm1/m128 {k1}{z}, zmm2, imm8.
20:23:47 <olsner> maybe they'll start using UUIDs as opcodes (to save space in the tables)
20:25:22 <fizzie> You can use the opmask to select arbitrary floats/doubles out of the register and write them into a contiguous vector in memory, which sounds quite funky.
20:25:35 <boily> hi neena! who are you?
20:25:51 <Fiora> so, like... EVEX.512.66.0F3A.W0 is... four bytes...?
20:25:58 <shachaf> `welcome neena
20:26:00 <HackEgo> neena: 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.)
20:26:03 <jsvine> zzo38: neat. I'm having a little trouble running the program — probably because I refused to download the 2.2-gig full version of MacTeX and instead opted for the 80Mb "basic" version — but I think I catch the drift.
20:26:47 <neena> I am a failure at lurking, boily.
20:26:49 <fizzie> Fiora: I think so, yes. 0x62 and then three bytes of bits.
20:27:10 <Fiora> I thought the EVEX was a two-byte prefix or something?
20:27:15 <Fiora> like, it was an extra byte plus the VEX or something?
20:27:20 <olsner> it's a four-byte prefix :)
20:27:34 <olsner> and VEX is three bytes or something
20:27:44 <Fiora> I thought VEX was one byte, plus an opcode, or...?
20:28:25 * Fiora really is bad at all of this >_<
20:28:34 <kmc> doubtful
20:28:40 <olsner> EVEX is a 4-Byte prefix (the first byte must be 62H); VEX is either a 2-Byte (C5H is the first byte) or 3-Byte (C4H is the first byte) prefix.
20:28:43 <fizzie> Fiora: The encoding parts of the guide says it's 62H, [R X B R' 0 0 m m] [W v v v v 1 p p] [z L' L b V' a a a], where all those letters are bits.
20:29:53 <fizzie> EVEX.mm is two low bits of VEX.mmmmm, and EVEX.pp is a copy of VEX.pp, and vvvv is the same as VEX.vvvv, so it does have some of the same fields.
20:30:43 <Fiora> this is scary
20:30:56 <Fiora> geez I am just even trying to understand the avx encoding scheme like the regular one and wow
20:30:59 <fizzie> (And I guess you can't again use EVEX in 32-bit mode because 62H is the ES segment override prefix there.)
20:31:18 <Fiora> ooooh. so they reused a segment prefix
20:31:25 -!- atehwa has quit (Ping timeout: 246 seconds).
20:31:39 <fizzie> They're angling for a "best reuse of a segment prefix" award.
20:31:48 <Fiora> they've reused them before?
20:32:25 -!- atehwa has joined.
20:32:53 <fizzie> I don't know whether they have, but I'm sure you can still get an award.
20:33:09 <fizzie> VEX prefixes are... reused segment-register loading instructions?
20:33:23 <olsner> fizzie: the manual I found says it's possible to use EVEX in 32-bit mode
20:34:11 <fizzie> olsner: Which manual is this? (I have probably the same manual where you quoted that last line from open.)
20:34:45 <fizzie> Hmm, curious.
20:34:49 <coppro> probably the royal sign manula
20:34:50 <olsner> it's not very explicit about it but "Table 4-3. EVEX Encoding Register Specifiers in 32-bit Mode"
20:34:51 <coppro> *manual
20:35:20 <fizzie> "The EVEX prefix is a 4-byte prefix, with the first two bytes derived from unused encoding form of the 32-bit-mode-only BOUND instruction," says the manual, too.
20:35:39 <fizzie> Maybe I looked at a wrong column of the opcode map.
20:36:11 <olsner> speaking of BOUND, if you have the same manual it'll also describe a set of "MPX" extensions
20:37:12 <olsner> which seems to be a set of registers for storing bounds of buffers and a bunch of instructions to do checked memory accesses
20:38:00 -!- atehwa has quit (Ping timeout: 256 seconds).
20:38:55 -!- atehwa has joined.
20:42:41 <fizzie> I can't quite figure out how it works in 32-bit mode, but I guess it does if they say so. (62H is BOUND, the P0 byte is fixed as xxxx00xx, and considered as a ModR/M byte that would mean high bit of RM and low bit of reg is 0, but I don't see how that makes it an "unused encoding form".)
20:46:32 <fizzie> http://sprunge.us/jUFc that certainly looks like the two first bytes of a EVEX prefix to me.
20:47:13 <fizzie> Oh well.
20:51:56 <fizzie> olsner: Table 4-3 seems very much limited compared to Table 4-2, anyway. At least it seems restricted to 8 registers (3 bits) in 32-bit mode.
20:52:45 <Fiora> is it wrong if I like... I have this desire for a pmovmskb/movmskps that outputs to an opmask
20:52:47 <fizzie> Ohhhh, right, of course; since 32-bit mode only uses the vvv bits of EVEX, they can select a second byte such that it encodes a register operand in the R/M field, which isn't used for BOUND, making it an unused pattern.
20:53:12 <Fiora> VPCONFLICTD/Q @___@
20:53:29 <Fiora> that... wow that actually seems really cool
20:53:34 <Fiora> 32-way duplicate detection!
20:53:54 -!- AnotherTest1 has quit (Ping timeout: 268 seconds).
20:54:04 -!- sacje has joined.
20:54:28 <Fiora> VPLZNCT~
20:54:53 <Fiora> Bike: "VEXP2PD—Approximation to the Exponential 2^x of Packed Double-Precision Floating-PointValues with Less Than 2^-23 Relative Error" the longest instruction description XD
20:55:27 <fizzie> Fiora: Apparently there's a separate "AVX-512 Conflict Detection" extension, with its own CPUID bit, that VPCONFLICT/VPLZCNT/friends comes from.
20:55:58 <Fiora> I guess some of those instructions might be just for the Phi ?
20:56:35 <Fiora> "sparse prefetch" wow
20:56:49 <fizzie> "Knights Landing will support three sets of capabilities to augment the foundation instructions. This is documented in the programmer’s guide; they are known as Intel AVX-512 Conflict Detection Instructions (CDI), Intel AVX-512 Exponential and Reciprocal Instructions (ERI) and Intel AVX-512 Prefetch Instructions (PFI)."
20:57:14 <fizzie> Knights Landing is (as far as I can tell) still a Phi thing, but it has the "Xeon Phi as a host processor" form too.
20:57:42 -!- Bike has quit (Ping timeout: 264 seconds).
20:57:44 <Fiora> "This chapter describes a family of inst
20:57:44 <Fiora> ruction extensions that target the acceleration of the Secure Hash Algorithm
20:57:46 <Fiora> (SHA), specifically the SHA-1 and SHA-256 variants"
20:57:57 <Fiora> Intel Bitcoin Extensions? xD
20:58:56 <boily> we're going to have a (probably mob funded) bitcoin here in Montréal!
20:59:05 <boily> s/bitcoin/bitcoin building/
20:59:10 <fizzie> Fiora: Ooh, it's like copying VIA PadLock from the whenever-it-was-but-it-was-a-long-time-ago.
20:59:16 <Fiora> VIA Padlock?
20:59:28 <fizzie> It's a crypto-engine integrated in VIA C7 and VIA Eden.
20:59:36 <Fiora> oooh. well I guess they already have some of it, right?
20:59:40 <Fiora> RDRAND and AES-NI?
20:59:45 <fizzie> It did SHA-1, SHA-256 at five gigs/second, and AES, and RDRAND.
20:59:54 <fizzie> (Well, not "RDRAND", but random number generation.)
21:00:11 <fizzie> So, yes, they've been just slowly picking up its features.
21:00:35 -!- Nisstyre has joined.
21:01:47 <comex> i just want Python with HLE
21:02:01 <olsner> hmm, so the two bits fixed to 0 have nothing to do with making it an invalid BOUND instruction?
21:02:13 <comex> actually, why do I even care
21:02:20 <fizzie> The logical next step would be to pick up the last missing PadLock feature, which is I think some sort of modular multiplication helper for RSA.
21:02:28 <comex> it's too slow to be sufficiently performant for anything CPU bound with or without threads
21:02:35 <comex> well, it would be cool for pypy
21:02:39 -!- oerjan has joined.
21:02:48 <Fiora> geez MPX looks complicated
21:02:50 <fizzie> olsner: Not as far as I can tell, since (according to Table 4-3) none of the other P0 bits are used for anything in 32-bit mode, so it can be chosen freely.
21:03:06 <Fiora> is CLMUL that? or no, that's... carry-less multiplication
21:03:23 -!- Bike has joined.
21:03:23 <fizzie> olsner: (The fixed 1 bit certainly doesn't.)
21:04:22 <Fiora> how does modular multiplication in software usually work...?
21:04:26 <fizzie> Fiora: It has something to do with doing http://en.wikipedia.org/wiki/Montgomery_multiplication but all the first results were too PR-y to go in detail.
21:05:03 <fizzie> I guess that link's a good answer to that question, though.
21:05:11 <fizzie> (Assuming that's what they use, I'unno.)
21:11:25 <fizzie> This broadcast thing in AVX-512 seems quite fancy too.
21:12:41 <kmc> boily: bitcoin building?? o_O
21:13:11 <Fiora> is it different from like, vpbroadcastw or similar?
21:14:39 <fizzie> Fiora: It's "embedded", you can set a bit in the EVEX prefix, and it will load only 32 (or 64) bits from a memory operand and broadcast it into a full-width operand.
21:15:20 <Fiora> ooh. that's kind of cool
21:16:22 <boily> kmc: https://bitcointalk.org/index.php?topic=235422.0
21:17:25 <elliott> bitcoin embassy...........
21:19:24 <Bike> ♠♠♠ Bit777.com ♠♠♠ THE PRIME BITCOIN CASINO FEATURING 50+ GAMES. ♠♠♠ PLAY TO WIN BTC NOW! ♠♠♠
21:19:47 <boily> I prefer homemade cookies.
21:28:58 -!- boily has quit (Quit: What is the speed of an unladen penguin plushie?).
21:29:07 -!- metasepia has quit (Remote host closed the connection).
21:34:47 -!- Bike_ has joined.
21:34:53 -!- sprocklem has joined.
21:37:40 -!- Bike has quit (Ping timeout: 276 seconds).
21:37:50 -!- mnoqy has joined.
21:47:22 -!- Bike_ has changed nick to Bike.
21:51:38 -!- Taneb has quit (Quit: Leaving).
22:10:16 <oerjan> @tell zzo38 i do not think it is always possible to find the contents of a backflip program by running it from chosen edges. in particular if you have a region bounded entirely by inwards pointing arrows you will never be able to say anything about its interior.
22:10:17 <lambdabot> Consider it noted.
22:10:57 <Bike> the "event horizon" principle of reverse engineering
22:11:19 <Bike> oerjan: does zzo want the program text or just something operationally identical, though?
22:12:53 <oerjan> <zzo38> (You don't have to specify the direction of a mirror or arrow, although you do have to specify it is a mirror, arrow, empty, or output, and if it is output then you do have to specify its value.)
22:13:21 <oerjan> @tell zzo38 well, ignoring output.
22:13:21 <lambdabot> Consider it noted.
22:13:26 <Bike> i see.
22:13:31 <elliott> oerjan: but that interior cannot change how the program behaves, right?
22:13:42 <Bike> that's what i meant
22:14:28 <Bike> does backflip have spooky action at a distance
22:14:43 <oerjan> no.
22:14:50 <oerjan> elliott: that was my point
22:15:01 <oerjan> except for output which is an extension
22:15:27 <elliott> oerjan: right, but I mean, you can obtain something equivalent to the original program in terms of behaviour maybe, and which is unchanged if you analyse it again?
22:16:28 <oerjan> elliott: yes. but i didn't get the impression zzo38 was doing that, which is why i asked.
22:17:04 <oerjan> in fact in order to do that, you _would_ want the player to specify all directions, so you could simulate whether eir solution does the right thing
22:17:17 <Bike> is backflip turing-complete (or rather, can programs in finite space go indefinitely before halting)
22:17:27 <oerjan> Bike: no, no.
22:17:46 <oerjan> isn't that mentioned in the article.
22:17:57 <Bike> i haven't been looking at the article. reading's for nerds.
22:18:08 <oerjan> http://esolangs.org/wiki/BackFlip#Computational_class
22:27:25 -!- noooodl has joined.
22:32:01 -!- yorick has joined.
22:40:32 <kmc> shachaf: my exciting discovery today is that in Servo, make RUSTFLAGS="-Z debug-info" actually kinda works and you can use objdump -S and get Rust code interleaved with asm!
22:40:54 <kmc> which is v. useful for decoding my myriad stack backtraces
22:41:35 <shachaf> does it slow down compilation
22:43:30 <shachaf> kmc: i wish i had an implicit binder for all my scattered paper
22:43:32 <shachaf> would be p. handy
22:44:10 <kmc> :)
22:44:45 <kmc> i saw one of these up on a board at mozilla http://img.photobucket.com/albums/v313/shivkaladrakh/tearable20puns.png
22:45:05 <Fiora> those things are amazing XD
22:45:53 <shachaf> i find it odd that Fiora likes puns but doesn't like other forms of humour which seem similar to me
22:46:13 <kmc> which forms?
22:46:14 <Bike> guaghagh
22:46:37 <Fiora> ?
22:47:19 <shachaf> i don't know, a lot of things i say for one
22:47:33 <Fiora> I don't get it
22:47:38 <shachaf> usually some form of viewing the world under a different assumption or perspective and seeing what happens
22:47:42 <Bike> i was just guaghaghing at the pun.
22:47:45 <Bike> s.
22:47:51 <shachaf> i'm bad at explaining what i mean so i'll stop :'(
22:48:01 <kmc> shachaf: I didn't test if it slows down compilation, but not enough for me to notice without testing
22:48:08 <kmc> rustc is pretty slow overall :/
22:48:22 <shachaf> kmc: imo that kind of thing should be the default if it doesn't
22:48:23 <kmc> and doesn't parallelize well because the unit of together-compilation is large
22:48:31 <kmc> shachaf: presumably it makes the binaries bigger, maybe a lot bigger
22:53:44 <kmc> shachaf: is the tao a zero knowledge proof
22:58:52 -!- jsvine has quit (Quit: Leaving.).
23:02:21 -!- mnoqy has quit (Quit: hello).
23:02:22 <shachaf> kmc: i don't know
23:04:12 <oerjan> elliott: incidentally tatham's black box puzzle works the way you suggest.
23:04:17 <shachaf> kmc: wouldn't it be great if people found a sha-1 collision that way
23:05:47 <kmc> yes
23:06:03 <kmc> (for context: https://github.com/kmcallister/servo/commit/350c0a61c6c705b2f4c1b095064ee337f17a1c9e https://github.com/mozilla/servo/commit/350c0a61c6c705b2f4c1b095064ee337f17a1c9e are not the same commit at all)
23:06:13 <kmc> the former matches my local repo
23:06:39 <shachaf> as they used to say at my preschool: sha sha sha, sheket bvakasha
23:06:45 <shachaf> (p. sure that's how they pronounced it)
23:06:45 <kmc> whatsit mean
23:06:45 -!- Bike has quit (Ping timeout: 248 seconds).
23:07:02 <shachaf> "sha" is like "shh"
23:07:03 <oerjan> not sure if undead does, or just guarantees a unique solution.
23:07:11 <shachaf> "sheket bvakasha" is "quiet please" or so
23:07:23 <shachaf> "silence please"
23:08:59 <elliott> sha sha sha, shachaf bvakasha
23:09:25 <elliott> kmc: whoa what's with that
23:09:26 <elliott> the collision
23:09:41 -!- Bike has joined.
23:09:42 <kmc> ikr
23:09:45 <oerjan> http://www.urbandictionary.com/define.php?term=Sheket%20Bevakashah
23:09:47 <elliott> no but seriously, help
23:10:21 <shachaf> thoerjan
23:10:27 <kmc> everything you know is wrong, hth
23:11:28 <elliott> do you actually know what's up or not
23:12:03 <shachaf> it's a sha-1 collision hth
23:12:14 <shachaf> https://github.com/mozilla/servo/commit/fe91f6e238acd9e423d98c18c906416be3090eb3
23:12:17 <oerjan> if you follow the link to hebrew hammer read only the first item twh
23:12:35 <elliott> i don't get it
23:12:45 <elliott> but I'll stop asking since it doesn't look like anyone will reply seriously
23:13:01 <shachaf> elliott: you know approx. what anyone else know
23:13:06 <shachaf> it looks like a github bug
23:14:51 <shachaf> s
23:15:15 <Bike> so could you practically find collisions by trawling a site with lotsa shas like that
23:15:36 <shachaf> not particularly
23:15:40 <Bike> i guess none of them would be very useful collisions
23:15:57 <shachaf> any sha1 collision would be a big deal
23:16:27 <shachaf> there's none publicly known collision at the moment anyway
23:16:56 <shachaf> but p. sure all of github's activity generates way fewer hashes than one gpu
23:17:04 <Bike> bah.
23:17:06 <shachaf> s/ne//
23:17:35 -!- ajf has joined.
23:17:46 <ajf> Anyone want to write an actual program in DevPerc? :3
23:17:47 <ajf> http://esolangs.org/wiki/Deviating_Percolator
23:20:53 <kmc> oh mystery solved, I accidentally created a branch named 350c0a61c6c705b2f4c1b095064ee337f17a1c9e
23:21:00 <oerjan> shachaf: gerates? what kind of nonsense is this!
23:21:13 <Bike> catchy name
23:21:13 <Fiora> kmc: oh wow, impressive
23:21:25 <shachaf> oerjan: misspelling of "gyrates" hth
23:21:35 <oerjan> ah.
23:21:54 <ajf> OK uh
23:22:02 <ajf> I'm confused by my own programming language
23:22:13 <Bike> what's confusing
23:22:17 <ajf> I'm trying to write an implementation of cat, which reads one char, spits it out, and repeats
23:22:37 <ajf> however since variable state changes the interpretation of the source code in DevPerc, I'm getting confused :P
23:22:40 <shachaf> i wrote on this page upside down accidentally so now i turned it over and all my As look like foralls
23:22:40 <elliott> kmc: hahaha
23:22:43 <shachaf> it's ""confusing "" " "
23:22:47 <elliott> kmc: what happens if you collide a branch name and a commit hash?
23:22:55 <kmc> well we just found out...........
23:23:02 <kmc> a) you confuse the everliving shit out of the Mozilla build bot
23:23:08 <kmc> b) you confuse a bunch of humans too
23:23:14 <kmc> c) you look like a dumbass in front of GitHub support staff
23:23:15 <elliott> well okay yes
23:23:19 <Bike> ajf: isn't it just GET A PUT A IF 1 PROCEEDTO 0
23:23:35 <elliott> seems like it should default to the commit
23:23:38 <elliott> since how else do you access it
23:23:44 <ajf> Bike: No
23:23:51 <ajf> GET A
23:23:51 <ajf> DEFINE M TO SIXTYFIVE
23:23:51 <ajf> PUT M
23:23:59 <kmc> elliott: yeah and you could still name the branch as refs/heads/350c0a61c6c705b2f4c1b095064ee337f17a1c9e
23:24:07 <kmc> but it's not surprising that Git makes the wrong UI choice
23:24:14 <ajf> Will do the first character. Now I have to do some sort of circus so that "A" means "A" again and "GET A" will work
23:24:19 <ajf> oh and somehow correct "M"
23:24:32 <Bike> ajf: what's wrong with mine...
23:24:57 <ajf> Bike: In devperc, if you change the value of a variable, it changes the character it reads in the sourcecode
23:25:05 <Bike> yes.
23:25:19 <Bike> oh. i see.
23:25:31 <ajf> once you've done "GET A" you can't refer to A as A
23:25:31 <ajf> :D
23:25:52 <ajf> in fact, if they inputted a lowercase character, it's a syntax error!
23:26:20 <Bike> so can't you just do DEFINE M TO M next
23:26:25 <ajf> yeah
23:27:27 <ajf> also, there are no digits here. Only English numerical constants. So you can't use a letter that's in the name of a numerical constant!
23:27:37 <Bike> yes yes
23:28:43 <oerjan> ajf: what about doing DEFINE M TO SIXTYFIVE \ GET M \ PUT M instead?
23:29:48 <shachaf> hey you know the way a cone is just a natural transformation from the diagonal functor
23:29:51 <shachaf> p. great imo
23:30:16 <ajf> oerjan: uhh
23:30:27 <Bike> you still have to repair M, though.
23:30:30 <ajf> no you can't do that
23:30:39 <ajf> since now that last line is PUT <whatever stdin returned>
23:30:59 <Bike> no, shouldn't the GET M become GET A?
23:31:28 <ajf> yes
23:31:39 <ajf> oh, right
23:32:00 <Bike> Maybe it would be good to simplify this somewhat, both the syntax and the evaluation semantics.
23:32:13 <ajf> hmm
23:32:23 <ajf> oh, oerjan's thing works
23:32:35 <ajf> Bike: simplyify the syntax? Then it wouldn't be hard! :P
23:32:42 <ajf> it's intentionally verbose :D
23:32:57 <Bike> well, you could make it hard in a rigorous way, in order to make the real thing hard in a more interesting way.
23:44:10 <ajf> shouldn't DEFINE M TO SIXTYFIVE, GET M, PUT M, IF ONE PROCEEDTO ONE - work?
23:44:37 <ajf> because it doesn't
23:45:00 <Bike> no, because next time around M is something else
23:45:03 <ajf> oh. I see why it doesn't
23:45:05 -!- Sgeo has joined.
23:45:07 <Bike> it could be E or something that messes up the rest of the program
23:45:12 <ajf> GET X ...X is an expression evaluating to the name of a register.
23:45:28 <ajf> hence, in source, M -> A, then A evaluates to <input>
23:45:36 <ajf> so, let's redefine Z
23:46:22 <Bike> I think programming would be pretty easy if DEFINE evaluated its first operand. Then you could just refer to variables indirectly with numbers.
23:46:48 <ajf> ...you actually could do that
23:46:53 <ajf> I never considered that
23:47:03 <ajf> oh crap
23:47:09 <Bike> lol.
23:47:14 <ajf> programming in devperc may be semi-practical
23:47:18 <ajf> curse you, Bike! :P
23:47:32 <Bike> i am the wettest blanket.
23:48:12 <ajf> oh
23:48:15 <ajf> I got it to work
23:48:49 -!- Frooxius has quit (Read error: Connection reset by peer).
23:48:59 <ajf> DEFINE M TO SIXTYFIVE, DEFINE Z TO SEVENTYSEVEN, GET Z, PUT M, IF ONE PROCEEDTO TWO
23:49:00 -!- Frooxius has joined.
23:50:48 <ajf> Great, now I actually have a useful program example
23:51:00 -!- tertu has joined.
23:55:08 <Lumpio-> oo, what's that, COBOL?
23:55:21 <Bike> reminded me more of ti-86.
23:56:52 <ajf> Lumpio-: http://esolangs.org/wiki/Deviating_Percolator
23:57:11 <kmc> DEFINE M TO SIXTYTEN, DEFINE Z TO TWOISM
23:57:34 <Bike> kmc++
23:57:46 <ajf> lol
23:58:31 <kmc> :)
←2013-07-23 2013-07-24 2013-07-25→ ↑2013 ↑all