00:13:58 <tswett> Ibtlfmm, eh? Is that a programming language?
00:15:02 <Sgeo> Am I seriously about to try to convince myself that it's acceptable for a programming language to not have macros?
00:15:26 <Bike> you're really dramatic, did you know that
00:15:33 <Bike> you should write plays!
00:15:34 <shachaf> The whole world is holding its breath, waiting for an answer.
00:15:46 <Bike> plays about hygenic macros
00:15:49 <tswett> Doesn't Haskell lack macros?
00:16:12 <Bike> sgeo's going to have to deal with his love betraying him in this fashion, yes
00:16:30 <shachaf> I bet Clojure lacks macros.
00:16:43 <Sgeo> Lack of macros was a reason for me to lose interest in Haskell
00:17:05 <shachaf> what about the fact that haskell more like stupidskell
00:17:16 <tswett> Kinda funny. I tend to think of macros as being a sign of a bad language.
00:17:21 <Bike> I'm telling you. Hackskell is what all the cool kids are going to be saying, shachaf.
00:17:32 <kmc> GHC Haskell has macros
00:17:32 <shachaf> Bike: I didn't see monqy say it.
00:17:37 <Sgeo> But Smalltalk has some reflective features that sort of kind of make up for it
00:17:42 <Bike> monqy: Get on that.
00:17:45 <Sgeo> And the IDE is something that I really like
00:17:50 <tswett> Sgeo: do you think you have any interest in NFU?
00:17:57 <Sgeo> Oh, I didn't look at that
00:18:17 <shachaf> monqy is imo "the coolest kid??"
00:18:21 <tswett> I'm interested in it greatly because it seems like it could be a good platform for doing category theory.
00:18:46 <Bike> We don't need your o for that, shachaf. It's everybody's o. It's the world's o.
00:19:08 <shachaf> Bike: but is it monqys o........
00:19:19 <Bike> That remains to be seen.
00:19:21 <tswett> Because ZFC seems like it is not a good platform for category theory, and... and I guess I haven't looked at anything other than ZFC and NFU.
00:19:23 <Sgeo> tswett, I think that sometimes macros can make people lazy in coming up with abstractions
00:19:25 <Bike> monqy is more than the world, of course.
00:19:27 <shachaf> monqy: iuo are you "the coolest kid??"
00:19:41 <kmc> tswett: macros are the feature of last resort. you don't /want/ to use them, but in cases where everything else fails, it is much better to have macros than not
00:19:59 <tswett> kmc: that sounds exactly correct.
00:20:15 <kmc> probably Lisp et al celebrate macros a bit too much
00:21:02 <Sgeo> "From what this guy is saying, the power of Lisp style Macros is akin to what I can do with the syntactic Rewrite Tool and Blocks (Lambdas) in Smalltalk. "
00:21:07 <tswett> Though I have been fantasizing about a programming language that is essentially C++ with tons and tons and tons and tons and tons of macro features.
00:21:17 <tswett> Come to think of it, I guess C++ already has a bunch of macro-like things.
00:21:24 <Sgeo> (Rewrite Tool seems to be a thing that extends the IDE with code to transform code once, but I'm not sure)
00:21:25 <kmc> yeah people love metaprogramming C++ but they have to do it in this shit-ass template language
00:21:45 <Sgeo> So, you write code one way, transform it into something more complicated, but... it stays complicated
00:21:47 <tswett> But what I mean is, like, C++ with so much metaprogramming stuff that you could essentially write Haskell in it.
00:22:18 <shachaf> Sgeo: Did you put me on the MIUAF update list?
00:22:35 <Sgeo> I don't even know what MIUAF is. So no.
00:22:42 <shachaf> whoa, dude, kmc is Twitterizing?
00:24:27 <tswett> > succ <$> "lambdabot"
00:24:33 <shachaf> kmc: welcome to the "twittosphere"
00:24:49 <shachaf> If I "followed" people I would totally "follow" you.
00:25:08 <shachaf> Instead I'll put you in my file of "people to "follow" if I ever start "following" people"
00:26:27 <Sgeo> Ok, the Rewrite Tool thing seems to be some sort of search and replace
00:27:08 <Sgeo> What's this about kmc on Twitter?
00:28:39 <kmc> not a fan of solutions to boilerplate that involve "make the IDE write the boilerplate for you"
00:28:47 <kmc> code is read much more often than it's written
00:29:17 <kmc> a good abstraction allows you to reason about something without knowing what the abstraction expands to
00:29:29 <shachaf> Sgeo: I can't tell if that article is a parody.
00:30:15 <kmc> copypasta code should be avoided because it's hard to read, not because my poor fingers can't type it
00:30:35 <kmc> when i see copypasta code i often feel like i'm playing one of those 'spot the difference' puzzles
00:30:54 <kmc> where they have two drawings of a room and you need to identify the 5 different features
00:32:32 <shachaf> Ideally if you generate code you should only ever have to read the source of the thing that generates it.
00:32:45 <shachaf> It can be tricky if that source is a bunch of vim macros.
00:32:50 <shachaf> Sgeo: Do vim macros count as macros?
00:33:09 <shachaf> lens has files like http://hackage.haskell.org/packages/archive/lens/3.7.3/doc/html/src/Control-Lens-Tuple.html :-(
00:34:07 <Bike> seems reasonably easy to distinguish the "boilerplate" there, though
00:34:53 <monqy> do people use 9-tuples? maybe in codegen....do people use codegen................
00:35:15 <Bike> though uh, what happens if you want 9-tu- yeah.
00:35:24 <kmc> shachaf: yeah there are a lot of things like that in haskell :(
00:35:26 <Bike> or 10-tuples. whatever
00:35:47 <kmc> doesn't stop beginners from gushing about how Haskell is so concise and abstract and you never need to repeat yourself
00:36:18 <Bike> beginners gush about everything regardless of anything, though
00:36:50 <Bike> it's not haskell's fault, you just have to wait for them to germinate into soulless, bitter husks. Who use Lens.
00:37:21 <shachaf> It's pretty odd that people join #haskell with nicks like "HaskellGuy73" and talk about how Haskell is the best language ever, when it's apparent that they barely know it.
00:37:36 <Bike> what's odd about it?
00:37:43 <monqy> odd but not surprising
00:37:51 <monqy> predictable but sad
00:38:01 <Bike> yeah that sounds more appropriate.
00:38:04 <Bike> you're a gift to us all, monqy.
00:38:10 <monqy> why would people do that? well, it's just a thing people do.....
00:38:27 <shachaf> btw elliott said it was odd first
00:38:32 <HackEgo> 546) <elliott> Dear god stop staring at me. <monqy> no never <Phantom_Hoover> monqy is always staring at everyone. <monqy> it takes many eyes to do this but I manage <Phantom_Hoover> He is an inspiration to us all.
00:39:17 <HackEgo> 222) <oerjan> (the former is a very deep theorem, i'd have had to read the whole book to understand it, so i didn't.) \ 190) * oerjan considered buying lutefisk, but apparently it cannot be prepared in microwave </bachelor frog> \ 59) * oerjan swats FireFly since he's easier to hit -----### <FireFly> Meh * FireFly dies \ 377) <oerjan> as i was fi
00:39:59 <Sgeo> "These people would typically claim that it was not a necessary feature, everything you could do with macros could be done using various features of Smalltalk. I do not dispute this, save to observe that the same could be said for a Turing machine. "
00:40:06 <kmc> shachaf: what about HaskellLove
00:40:19 <kmc> 'don't forget that HaskellLove used to be scalalove'
00:40:31 <shachaf> HaskellLove has been gone for a while now.
00:40:31 <Bike> the turing argument is such a boring argument
00:40:33 <kmc> shachaf: how many eulers have you done
00:40:35 <shachaf> Who knows what they are now.
00:40:41 <kmc> gotta do 20 eulers this afternoon
00:40:53 <kmc> btw my uncle is the king of space
00:40:56 <shachaf> I guess beaky is in the post-kmc era.
00:41:01 <kmc> i don't know this beaky
00:42:01 <kmc> Haskell has this problem more than most, because it's so different
00:42:32 -!- FreeFull has quit.
00:42:33 <kmc> presumably it is a bit harder to be a seasoned Python developer and then one day decide that Ruby is the answer to all problems of software
00:42:54 <kmc> cause it's self-evidently pretty similar
00:42:57 <kmc> i'm sure people do it though
00:43:13 <kmc> people who think that superficial details of syntax are the answer to all problems of software
00:43:18 <Bike> and they write excitingly long blog posts about it!
00:43:38 <kmc> you see, i am better than those people because i'm too bitter to find anything exciting anymore
00:43:55 <kmc> (it's not actually true though, i'm just excited by things other than languages)
00:44:08 <Bike> so anyway, how's Agda on Aeroplanes going
00:44:32 <shachaf> kmc: What are you excited by these days?
00:45:17 <kmc> emulating page permissions using split TLBs
00:45:27 <kmc> stackjacking exploit against asterisk
00:45:41 <Bike> Anything involving the word "stackjacking" is pretty exciting imo
00:45:48 <kmc> here is another thing i found cool recently: '...one strategy group was buying iphones periodically and comparing their serial numbers to estimate the velocity of sales, to front run the earnings numbers from Apple.'
00:46:11 <shachaf> That's like the what's-it-called.
00:46:12 <Bike> kmc: german tank problem? do they actually use serial serial numbers?
00:46:42 <kmc> haha, I did not know it was called this
00:46:58 <Bike> really? i thought everybody learned about it in high school stats
00:47:13 <shachaf> I didn't have high school stats. :-(
00:47:13 <kmc> or maybe I forgot
00:47:21 <Bike> exciting applications of boring math, such as killing natzees, you see
00:47:27 <shachaf> But they certainly didn't talk about it.
00:47:31 <shachaf> But I heard about it somewhere else?
00:47:42 <kmc> AP Stats was a weird class because it was 50% students who found calculus too difficult and 50% students who had already completed all the calculus that was offered
00:47:52 <kmc> you might say it had a... *puts on sunglasses* bimodal distribution
00:47:58 -!- variable has joined.
00:48:01 <shachaf> Speaking of minor syntactic differences, it's funny how Ruby's "for x in xs; ...; end" and Python's "for x in xs: ..." are completely different.
00:48:09 <Bike> Hey that's what it was like here too, gosh
00:48:21 <Bike> shachaf: What's the difference? I think you mentioned that before...
00:48:23 <kmc> what does the ruby one do? decode some YAML into arbitrary Ruby objects?
00:48:26 <Fiora> I don't think I ever actually took a proper stats class, I really should have
00:48:58 <Bike> I don't remember much from ap stats, honestly...
00:49:03 <kmc> i took AP Stats in high school, and then in college a stats course that was more mathematical (e.g. proving that things are an unbiased estimator or whatever)
00:49:22 <kmc> the former was crucial for the latter, not because we learned much hard math, but because we learned the language statisticians use
00:49:28 <kmc> which is different from mathematicians and anyone else
00:49:48 <shachaf> Bike: One of them passes (\x -> ...) as an argument to a method; the other one calls a method repeatedly to get results.
00:49:50 <kmc> AP Stats was mainly about applying one of 5 cookbook procedures and then writing a couple paragraphs justifying your choice
00:49:57 <Fiora> kmc: also, wow, that iphone sales thing
00:50:06 <Bike> do "mathematicians" even have a unified language
00:50:08 <kmc> which is not really a maths course, but seems to match how people use stats in the real world
00:50:11 <Bike> shachaf: uh, huh.
00:50:44 <shachaf> Haskell's "traverse" is a generalization of both that's in practice a bit more awkward to use than either?
00:50:50 <kmc> Fiora: yeah, I want to find out if they actually made money doing this
00:50:52 <shachaf> Well, it depends on what you want to do with it.
00:50:55 <Fiora> that's much smarter than my stock trading strategy which consists of "short microsoft" (okay that's only half-serious but)
00:50:59 <kmc> shachaf: come again?
00:51:07 <kmc> sorry, I don't understand the "passes an argument" one
00:51:22 <shachaf> In Ruby "for x in xs; ...; end" becomes xs.each {|x| ... }
00:51:44 <tswett> shachaf: and I take it xs.each {|x| ... } is a function call to xs.each?
00:52:04 <shachaf> You can emulate the Python behavior using continuations or something if you want.
00:52:06 <kmc> but conceptually, they both do iterate over xs and invoke some code once for each element, yeah?
00:52:18 <Bike> well, i think you could redefine the each method?
00:52:20 <shachaf> In this case the mechanisms overlap.
00:52:33 <shachaf> Bike: You can redefine __iter__ or whatever it is in Python too.
00:52:54 <shachaf> Anyway it's interesting that such completely different things are going on.
00:53:08 <shachaf> In Haskell you use an Applicative to describe some arbitrary effects.
00:53:21 <shachaf> If you want you can use a coroutine monad or whatever you want to emulate the Python behavior.
00:53:47 <tswett> In Haskell, anything can have any behavior under any circumstance.
00:54:56 <shachaf> The Haskell behavior is actually pretty neat.
00:56:23 <shachaf> The Python thing makes it easy to zip two loops together, for example.
00:56:52 <shachaf> The Ruby thing can in theory map over more things.
00:57:00 <shachaf> Hmm, I said each, not map, so maybe that's irrelevant.
01:03:36 -!- zzo38 has quit (Remote host closed the connection).
01:15:35 <kmc> MIT is off the Internet and rumor is that they're being DDoSed in retaliation for their supposed role in Aaron Swartz's death
01:16:03 <kmc> meanwhile MIT has already announced an inquiry into their involvement, led by Prof. Abelson
01:16:06 <Bike> huh, seems like it'd take more than just LOIC to take out MIT, but what do I know
01:16:23 <Fiora> LOIC has taken out some pretty big sites hasn't it?
01:16:51 <kmc> yeah, I'm not sure how much traffic MIT handles on a given day compared to, like, Reddit
01:16:57 <Fiora> I mean, they took out the DoJ, FBI, MPAA, warner brothers, RIAA, HADOPI, UMG, and the copyright office all at once
01:17:11 <Bike> oh. well then.
01:17:12 <kmc> it's a pretty small university and doesn't host any particularly large services to my knoweldge
01:17:39 <Fiora> I wouldn't be surprised if LOIC can take down most any site except the top few hundred
01:17:45 <kmc> they do have 1/256 of all IPv4 addresses but that doesn't really help ;P
01:18:33 <kmc> also there were several MITnet outages last week, so maybe there were existing problems
01:20:05 <kmc> attempts to search for "MIT DDoS" mainly find articles about DDoS written in German ;P
01:20:28 <Fiora> I'm reminded when anon tried to ddos amazon or something
01:20:48 <Fiora> I think it was during the wikileaks thing
01:22:49 <kmc> oh because AWS shut down the WikiLeaks server or something
01:23:04 <Bike> wikileaks used aws, really?
01:23:50 <Fiora> I thought it was because they refused payment processing?
01:23:51 <Sgeo> Here's a thought: Ruby's attr_accessor vs Smalltalk "let the IDE do it". By letting the IDE make the accessors, when you want to change one, it's a simpler change (just change what the IDE already made). With Ruby, you need to make one yourself according to the format of the thing and then change the attr_ line
01:24:01 <Sgeo> Not a big deal in Ruby, but a bigger deal in CLOS I think
01:24:16 <Bike> yeah, thatwould make more sense.
01:24:36 <Fiora> huh, w3.gov and the DOJ are down too
01:26:29 <monqy> w3.org seems downish too :^)
01:26:46 <Bike> i've never heard of w3.gov
01:26:56 <Fiora> this is what I get for blindly reading articles and assuming they'r right >_>;
01:27:10 * Fiora note to self: techcrunch is badly written
01:27:24 <shachaf> Fiora: That is an problem with articles.
01:27:28 <Bike> more like too exciting for facts! :D
01:28:03 <kmc> Fiora: they're just leveraging crowd content to disrupt the space of social big data
01:30:49 -!- Bike has changed nick to Bicyclidine.
01:30:50 <kmc> http://farm9.staticflickr.com/8511/8377438923_a1357cedeb_b.jpg when you see it...
01:31:11 <Sgeo> I should probably eat
01:31:35 <Fiora> is that the world as a tesselation?
01:31:40 <shachaf> Sgeo: you could give up eating for lent
01:32:13 <monqy> kmc: the negative space?
01:32:19 <Sgeo> kmc, that wraps in a way I'm not used to
01:33:54 <shachaf> monqy: want an "exepert level puzzle"
01:34:01 <shachaf> ps you have to be an expert
01:34:02 <monqy> how expert is this
01:34:13 <shachaf> edwardk said it was expert
01:34:17 <Bicyclidine> sgeo: "have you ever been so self-centered you cut Asia in half?"
01:34:21 <shachaf> so i'm not sure but maybe pretty expert??
01:34:30 <shachaf> also it involves fixing lens
01:35:14 <Bicyclidine> kmc: anyway i give up, what is it? i'm so bad at seeing it
01:35:14 <shachaf> are you a bad enough dude to fix lens........................
01:35:19 <Sgeo> I should introduce lenses to... I would say $language but no language I'm currently or recently interested in uses $
01:35:21 <kmc> look at the shape of the oceans
01:35:34 <kmc> so yeah what Fiora and monqy said
01:35:45 <Fiora> it made me think escher
01:36:13 <Bicyclidine> i was wondering why the antarctic peninsula had those weird-lookin' islands
01:36:43 <Sgeo> I thought the land masses near the edge were duplicated
01:37:00 <Sgeo> ...The negative space ones also have that effect
01:38:05 <monqy> shachaf: whats this puzzle
01:38:07 <kmc> oh right MIT hosts w3.org
01:38:14 <shachaf> 17:15 <edwardk> if someone wants a good expert level puzzle they can finish out the Tailor i indexed comonad definition
01:47:08 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:55:21 * oerjan first assumed it was some kind of reconstructed prehistoric earth
02:04:50 -!- DHeadshot has joined.
02:07:10 <Sgeo> :( I think Pharo multithreading is co-operative
02:07:28 <Sgeo> Based on the fact that [true] whileTrue: []. just froze it
02:08:12 <shachaf> Is that a clojure dialect?
02:08:38 <Sgeo> Interruptible via Alt-.
02:08:58 <Sgeo> shachaf, if you want to believe it is, feel free to do so.
02:36:29 <Bicyclidine> Well Smalltalk runs in a VM right. So does Clojure.
02:36:43 <quintopia> so they're obviously the same thing
02:37:20 <Bicyclidine> hm, actually is there a smalltalk that targets jvm instead of the... what is it even called? smalltalk vm?
02:38:07 <quintopia> there are a variety of smalltalk vms, so the /the/ is a bit off
02:38:12 <Gregor> There is no standard for the Smalltalk VM, and hence there's no name beyond "Smalltalk VM"
02:38:20 -!- ared_ has joined.
02:38:26 <Bicyclidine> oh, i was thinking of the one in the smalltalk-80 manual, i thought it was common
02:39:06 <quintopia> squeak is probably the most popular, tho pharo is catching on p quick
02:39:07 <shachaf> Smalltalk VMS? I hope that's not Smalltalk for VMS.
02:39:15 <Gregor> By my understanding, which may be wrong, of "The Language and Implementation" from that book, people care about the language, and some ideas, but only ideas, from the implementation :)
02:42:05 -!- asderca77 has quit (Ping timeout: 272 seconds).
02:43:01 <kmc> well maybe it's more correct to say "C is a virtual machine"
02:43:22 -!- poillll has joined.
02:43:23 <kmc> all languages are specifications for virtual machines and all language implementations are virtual machine implementations
02:44:38 <Bicyclidine> are there things commonly referred to as "virtual machines" that have an execution model more complicated than assemblylike? (or, well, not linear, if that makes sense)
02:45:09 <Fiora> do massively parallel things count?
02:45:24 -!- Lotuss has joined.
02:45:55 <Bicyclidine> I remember reading a paper about a pointer-oriented architecture once, but I forget if it was supposed to be hardware or software or someone's psychedelic nonsense.
02:46:21 <Bicyclidine> Fiora: well the flow of control is still broadly "there's a PC, it goes a word at a time", isn't it
02:46:39 <kmc> well the JVM has memory-ordering semantics for concurrency
02:46:52 -!- Arc_Koen has quit (Quit: Arc_Koen).
02:47:01 <kmc> they are kind of shitty as i recall
02:47:13 <Fiora> hmm. what about something like the game of life? like a "virtual machine" that is a set of rules to evolve some state over time
02:47:20 -!- poillll has quit (Read error: Connection reset by peer).
02:47:28 <Bicyclidine> Oh, I had a professor trying to do that in hardware.
02:47:36 <Sgeo> I don't know whether I should `list
02:47:49 <Bicyclidine> And then there's dataflow processors and stuff.
02:48:12 <Bicyclidine> But I guess the advantages of a different execution model in the VM are kind of negated if the underlying (V)M has a wildly different one.
02:48:13 <Fiora> what about those processor design type things where you have ALUs directly connected to memory?
02:48:19 <Fiora> so that every single byte in memory gets operated on every cycle or whatnot
02:48:29 <shachaf> Sgeo: Looks like it's still 865 to me.
02:48:35 <Fiora> I remember it being an alternative to the von neumann bottleneck
02:48:46 <Sgeo> Because there's a new Tumblr post
02:48:46 <Sgeo> http://mspandrew.tumblr.com/post/40486423180/lets-take-a-look-at-a-few-responses-more
02:49:33 <Bicyclidine> Fiora: so, what do you mean exactly, I don't think I get it?
02:50:26 <Fiora> um. basically like if I remember right
02:50:34 <Fiora> in a normal machine you fetch some data and operate on it each cycle
02:50:41 <Fiora> in like, a neural network, every bit of data gets operated on every cycle
02:50:47 -!- Lotuss has left.
02:51:12 <Fiora> because for every bit of state (a neuron for example) you also have hardware that modifies that state based on other things (some sort of logic unit?)
02:51:32 <Fiora> so like, imagine you wanted to do the game of life in hardware
02:51:34 <Bicyclidine> dataflow processor, I thought that was called
02:51:37 <Fiora> oh, so that's what it is
02:51:46 <shachaf> Every neuron has a corresponding neuroff.
02:51:47 <Bicyclidine> like an actual neural network, not what you're talking about, which sounds like you still have one CPU
02:52:03 <Fiora> I was thinking the sort of thing where "game of life" would be a 1024x1024 SRAM array hooked up so that each square of 9 wires into a logic unit
02:52:07 <Fiora> and to an output 1024x1024 SRAM array
02:52:23 <Fiora> so that's what a dataflow processor is?
02:52:54 <Bicyclidine> er, no, I think a dataflow processor is where you have a bunch of processors piping data into each other, like a physical neural network?
02:53:41 <Bicyclidine> ugh, i bet i'm getting the name wrong and ust making things up
02:54:06 <Fiora> I guess I was just thinking of the more general concept of "the amount of arithmetic logic you have is proportional to your memory" sort of thing
02:54:10 <Fiora> like a neural network would count as that
02:54:32 <Fiora> so a processor with 1MB of memory would do operations on all 1MB every cycle
02:54:47 <Fiora> like a neural net would count as that, right?
02:55:00 <Bicyclidine> well depending on the complexity of the operations, i guess
02:55:10 <Fiora> yeah, I mean, you'd be doing far simpler operations
02:55:15 <Fiora> but looots of them
03:02:20 <Bicyclidine> guess it depends on what the operations are. a basic ANN is just a weighted sum, guess that wouldn't be hard to do in blocks
03:03:41 <Fiora> I remember when reading about this that the basic idea was that, since it's becoming more expensive to move things around than to do arithmetic on them, why not just avoid moving things around entirely
03:04:03 <Fiora> at least in the traditional buses-with-memory-controllers-and-caches-and-prefetchers-and-ways-and-things sense
03:04:11 <Bicyclidine> I thought it was always more expensive? That's why we have caches for memory but not arithmetic.
03:04:48 <Fiora> I think the ratio has gotten worse over time?
03:05:21 <Fiora> http://en.wikipedia.org/wiki/Von_Neumann_bottleneck#Von_Neumann_bottleneck
03:05:53 <Fiora> I guess one way to look at it would be to like, compare the ratio of (things not ALUs) to (things that are ALUs) in like, a CPU, to a GPU
03:08:41 -!- ared__ has joined.
03:08:46 <Fiora> Bicyclidine: ooh, this is a thing.
03:08:48 <Fiora> http://en.wikipedia.org/wiki/Content-addressable_memory
03:08:58 <Bicyclidine> Oh, that's the hardware hashish thing, right?
03:09:11 <Bicyclidine> that... isn't very good as made up adjectives go, is it.
03:09:12 <Fiora> it's something like what I described I think?
03:09:17 <Fiora> it has a comparison dicruit for every single bit in the memory
03:09:29 <Fiora> so it's able to search the entire memory in one cycle
03:09:52 <Fiora> oh huh. that's how TLBs work
03:10:23 <Bicyclidine> i really shouldn't conflate hash tables with associative maps.
03:10:40 <monqy> i agree with shachaf
03:11:22 <shachaf> Bicyclidine: YOUR SENTENCE: s/idin//
03:11:38 -!- ared_ has quit (Ping timeout: 240 seconds).
03:11:48 <kmc> hardware hashish
03:12:15 <kmc> next after ninjas and rockstars will be hashashin
03:12:59 <monqy> where did this loving /e asy thing come from this is like the 3rd time ive caught you saying it
03:13:02 <Fiora> $startup is looking for 3 ruby assassins to develop our backend
03:13:21 <Bicyclidine> If Stephenson wrote about hashashin would they be "popular"? Maybe he should do that. Then maybe people could learn about Ismailism! (haha like hell)
03:13:21 <Fiora> make sure to have at least 2 years of experience in ruby and rails, and 4 years of experience in knife and shuriken throwing
03:13:32 <Fiora> bonus points if you show up in the interview room without us seeing you
03:13:49 <kmc> they are mentioned briefly in Cryptonomicon
03:13:53 <shachaf> monqy: http://slbkbs.org/beaky.txt
03:14:22 <kmc> anyway I think that caliphpunk should be a thing
03:14:50 <Fiora> like cyberpunk, except middle-eastern themed instead of japan?
03:14:52 <Bicyclidine> Shitloads of stuff is mentioned briefly in Cryptonomicon, though. I haven't seen a Russian cryptographer coolness vival!!
03:15:04 <kmc> more like steampunk but set in 800 AD
03:15:07 <Bicyclidine> no, wait, the israel in that isn't caliphate is it
03:15:09 <kmc> in the middle east
03:15:10 <shachaf> monqy: try searching for things like "love"
03:15:54 <monqy> what is WITH this guy
03:15:56 <Bicyclidine> «imagine if Haskell had a ``Design Patterns'' textbook equivalent that OOP folks refer to for abstractions» leaving now
03:16:15 <monqy> haskell/12.12.03:00:53:40 <beaky> monoids ftw
03:16:15 <monqy> haskell/12.12.03:00:58:56 <beaky> you love them too?
03:16:15 <monqy> haskell/12.12.03:00:59:12 <beaky> lambdabot can talk?
03:16:18 <monqy> shachaf was this your doing
03:16:22 <Sgeo> Pharo's dynamic variables involve making a class for each dynamic variable
03:16:45 <monqy> he keeps saying he loves things????help
03:17:00 <monqy> haskell/12.12.29:09:57:40 <beaky> lambdabot: I thought you loved monoids :(
03:17:05 <kmc> stardate 2.4 something
03:17:17 <Bicyclidine> kmc: imo we should just have more fiction set in caliphates in general
03:17:28 <monqy> did you make lambdabot say things about monoids
03:18:20 <Bicyclidine> kmc: or really anywhere other than triply fictional medieval france but we knew that already
03:19:49 <shachaf> monqy: beaky is an "acquired taste"
03:19:57 <shachaf> i didn't appreciate beaky at first
03:23:11 <shachaf> 12:37:53 <beaky> stacks ftw
03:23:15 <shachaf> 12:38:08 <Cale> beaky: GHC doesn't use a call stack
03:23:19 <shachaf> 12:38:43 <Cale> (but it does actually use a stack, just not for function applications)
03:23:34 <shachaf> 12:39:22 <mauke> mcstar: that's still recursion :-)
03:23:34 <shachaf> 12:39:30 <beaky> recursion ftw
03:25:48 -!- ared__ has quit (Read error: Connection reset by peer).
03:28:39 <kmc> beaky is a bot?!?
03:29:06 <kmc> "Fair use for Tsar Bomba... The photograph belongs to Russian department of Atomic Energy Minatom. Introducing the picture on our server does not interfere with their ability to develop and market new nuclear devices"
03:29:26 <Bicyclidine> that may be the best copyright notice i've ever seen.
03:29:43 <kmc> yes it's one of my favorites
03:31:04 <Bicyclidine> does the atomic energy minatom actually "market" nukes
03:31:27 <oerjan> unicode: making illegal copies of ©
03:32:47 <Bicyclidine> Wait, Unicode has italic? Does that mean like from Italy, or actually italic
03:33:44 <kmc> Northrop Grumman made a nice CGI promotional video for the Minuteman III inter-continental ballistic missile
03:33:53 <kmc> you can find it on YouTube with various heavy metal songs dubbed over
03:34:02 <Bicyclidine> kmc, could you rant about this for a minute so i can absorb your brain? thanks
03:34:22 <shachaf> Maybe I shouldn't do the "Just ask kmc." thing.
03:34:36 <Bicyclidine> like how you shouldn't do the "it's trivial" thing?
03:34:52 <kmc> i was thinking i would go with Lockheed Martin Space Systems for my next ballistic missile purchase but this Minuteman video really turned me around
03:35:10 <kmc> i don't know much about italic
03:35:24 <Bicyclidine> what, why would you need parentheses in the one character
03:35:26 <kmc> just http://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols
03:35:43 <shachaf> FD3E ORNATE LEFT PARENTHESIS [﴾]
03:35:44 <shachaf> FD3F ORNATE RIGHT PARENTHESIS [﴿]
03:36:05 <shachaf> http://www.fileformat.info/info/unicode/char/fd3e/index.htm shows them as ornate.
03:36:10 <shachaf> Here they look like normal parentheses.
03:36:44 <Bicyclidine> probably should remap () to ﴾﴿ for shiggles in fact.
03:38:00 <shachaf> kmc: Looks like I'll be going to NY in March instead of Feb.
03:39:30 <shachaf> FF5F FULLWIDTH LEFT WHITE PARENTHESIS [⦅]
03:39:30 <shachaf> FF60 FULLWIDTH RIGHT WHITE PARENTHESIS [⦆]
03:40:47 <kmc> all that effort just to drop 475 thousand tons of TNT on someone
03:41:25 <kmc> that is pretty ornate
03:41:25 -!- DHeadshot has quit (Read error: Connection reset by peer).
03:41:40 <kmc> maybe Template Haskell should use those
03:41:42 -!- DHeadshot has joined.
03:41:44 <Bicyclidine> Hey, dropping tons of TNT on people has been an important use of human resources for decades. Don't diss your forepeople.
03:42:52 -!- sebbu2 has joined.
03:42:53 -!- copumpkin has quit (Ping timeout: 272 seconds).
03:43:23 -!- copumpkin has joined.
03:44:47 -!- sebbu has quit (Ping timeout: 272 seconds).
03:53:15 <kmc> "The Sprint accelerated at 100 g, reaching a speed of Mach 10 in 5 seconds"
03:55:49 <Fiora> I'm guessing the acceleration wasn't constant? since the way rockets work and stuff
03:55:53 <Fiora> so maybe 100 g was the max
03:56:24 <Bicyclidine> we're gonna need the jerk of this Sprint, anonymous quotee
03:57:23 <Deewiant> Oh, W|A gave it at aeroplane altitude
04:04:24 <shachaf> kmc: Did you have a solution different from mauke's for "getting the address of an object that overloads unary &"?
04:05:18 <kmc> i don't remember that solution either
04:05:27 <kmc> could maybe reconstruct it though
04:11:18 <kmc> oh i've looked it up
04:11:30 -!- md_5 has quit (Read error: Operation timed out).
04:17:47 -!- md_5 has joined.
04:37:45 -!- nys has quit (Quit: quit).
04:49:23 -!- md_5 has quit (Ping timeout: 272 seconds).
04:51:50 -!- md_5 has joined.
05:07:29 -!- zzo38 has joined.
05:28:35 -!- DHeadshot has quit (Read error: Connection reset by peer).
05:28:51 -!- DHeadshot has joined.
05:36:09 -!- azaq23 has quit (Quit: Leaving.).
05:36:21 -!- Bicyclidine has quit (Ping timeout: 252 seconds).
05:38:12 -!- Bicyclidine has joined.
05:50:30 -!- WeThePeople has joined.
05:51:47 -!- hagb4rd has joined.
05:55:23 -!- DHeadshot has quit (Read error: Connection reset by peer).
05:55:29 -!- DH____ has joined.
06:00:18 -!- DH____ has quit (Ping timeout: 272 seconds).
06:18:06 -!- TeruFSX has quit (Ping timeout: 276 seconds).
06:21:19 <shachaf> oerjan: why do you use reddit...........................
06:27:41 <oerjan> for about the same reason i used usenet in the '90s.
06:28:31 <kmc> can you use reddit to download a film as a sequence of 50 rar files
06:28:49 <shachaf> you wouldn't download a sequence of 50 rar files
06:29:11 <Bicyclidine> kmc: no, but you can use it to download a film as a sequence of 50 gif files
06:30:18 <oerjan> i really didn't use usenet for downloading either.
06:30:26 <shachaf> Bicyclidine: what if it's not a joke
06:30:55 <kmc> what if shachaf is secretly that #haskell person whose name i forgot already
06:31:39 <Bicyclidine> i guess gif files actually are pretty easy. you can make them out of a video in like thirty seconds without knowing anything about anything.
06:31:45 <Bicyclidine> so maybe it's not a joke. i'm sorry, shachaf.
06:31:53 <shachaf> Bicyclidine: I wrote a GIF decoder once.
06:33:54 <shachaf> Bicyclidine: Also it was a really bad GIF decoder.
06:34:06 <shachaf> "the worst gif decoder?????"
06:34:18 <shachaf> Bicyclidine: Did you know GIF files have a section for an ASCII art equivalent of the image?
06:35:29 <kmc> shachaf: what is your solution for finding the address of a thing which overloads operator&
06:35:38 <kmc> does it start with reinterpret_cast<char&>
06:35:44 <oerjan> is that supported by browsers? if so maybe i should have used it for the agora horoscope.
06:35:49 <shachaf> Bicyclidine: Did you ever read a book that used the word "fantastic" in the sense of "fantasy, not feasible, etc."?
06:36:01 <shachaf> kmc: I don't have a solution. mauke's solution is http://codepad.org/XomA23ft
06:36:31 <kmc> this seems dubious
06:36:51 <kmc> you don't have the same guarantees on struct A that you do on char
06:37:05 <shachaf> Is your solution reinterpret_cast<char&>?
06:37:14 <kmc> well it's the one i googled when you asked the question earlier today
06:37:36 <shachaf> Is casting to a char and then taking the address even valid?
06:37:37 <kmc> http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=546
06:38:07 <kmc> 'C++ standard guarantees that an lvalue expression of type T1 can be cast to the type T2& if an expression of type T1* can be explicitly converted to the type T2 * using a reinterpret_cast.'
06:38:20 <kmc> "references: really just pointers"
06:38:38 <shachaf> Sure, but is casting (Foo *) to (char *) and then using it as an address valid?
06:38:49 <shachaf> Isn't there some thing where pointers to different types can be different sizes or something?
06:39:03 <olsner> but everything can be read as a series of chars
06:39:08 <kmc> not sure that's the case, if you can ignore function pointers
06:40:56 <Fiora> I think they can be different sizes, but the cast has to convert it
06:41:03 <olsner> I guess casting pointers might just have to be a complicated conversion between kinds of pointers that have different sizes
06:41:25 <kmc> and 'char' and 'void' would be specially required to have the biggest size
06:41:25 <Fiora> i.e. the spec says things like "your machine can be really weird, but it has to make things work properly if it does things weirdly"
06:41:49 <Bicyclidine> all i can think of is string literals being lvalues.
06:41:59 <olsner> kmc: but function pointers can be bigger?
06:42:22 <kmc> yeah, there's no guarantee that you can convert a function pointer to void*
06:42:51 <kmc> there are some AVR chips with fewer than 256 bytes of RAM but more than that much program ROM
06:42:58 <kmc> i don't think GCC will actually use one-byte pointers though
06:43:11 <olsner> once saw code that base64-encoded function pointers because there's no guarantee void* can fit a function pointer
06:43:40 -!- Bicyclidine has changed nick to Bike.
06:43:52 <Bike> Portability is important.
06:45:04 <shachaf> oerjan: And base64-encoding them is OK?
06:45:25 -!- oerjan has quit (Quit: No that's evil, good night).
06:46:03 <Bike> well playerjaned
06:46:14 <olsner> it probably wasn't base64 though, more like arbitrary encoding as letters and numbers
06:46:33 <olsner> (there was obviously base64 code elsewhere in this project. it was not reused.)
06:47:01 <kmc> is it guaranteed that different function pointers are interconvertible?
06:47:13 <kmc> can you use void (*)(void), or char[sizeof(void (*)(void))]
06:47:51 <olsner> I wonder if it matters though, if you change the type it's probably not safe to use the pointer anyway?
06:48:07 <kmc> sure, I meant for casting and then casting back
06:48:19 <kmc> as is often done for generic stuff
06:49:50 <shachaf> One time I was playing a "reverse-engineer this program" game, and I got to a place that did base64 encoding, and didn't recognize it as base64, and then I felt silly later.
06:50:03 <shachaf> Now I know to check whether something is base64 before working it out.
06:50:33 <shachaf> But on the other hand I used some fancy debugger and it was pretty nice.
06:50:39 <shachaf> Much nicer than gdb for that sort of thing.
06:51:26 <olsner> now you also know that it might be non-base64 because derp
06:51:54 <shachaf> But it's easy to check whether something is base64. :-)
06:51:57 <kmc> which debugger?
06:53:16 <shachaf> I think it might've been OllyDbg?
06:57:26 <kmc> oh i hear that's a good one
07:01:22 <shachaf> If I remember correctly I tried WinDbg first.
07:08:21 * Sgeo knows nothing about reverse-engineering
07:08:24 <Sgeo> I should try to learn
07:08:58 <olsner> it's just programming backwards
07:10:40 <Bike> Sgeo: it's like those "1, 2, 3, 2, 0, what's next" games except a million times harder and also you have to steal the numbers from Iran.
07:22:23 <fizzie> Re "'char' and 'void' would be specially required to have the biggest size", as discussed here a while ago, I don't think they are specifically required to have the biggest sizeof; they just need to be able to contain any (object) pointer. So a system with sizeof (int *) > sizeof (char *) should be legal, assuming that any valid int * can be turned into a char * and back. (E.g. if there's some ...
07:22:29 <fizzie> ... useless padding or other redundancy in the int * representation.)
07:23:19 <fizzie> I'm sure the DS9K has a feature like that.
07:26:57 <Fiora> http://en.wikipedia.org/wiki/User:CompuHacker/CHDS9000 huh, didn't know about this thing
07:27:06 <Fiora> "Pictured here is the super-secure CHAR_BIT generator for the DeathStation, which uses atmospheric and geological white noise, a plasma lamp, and a variant of the Mersenne Twister algorithm to deliver to the program compiler a value of CHAR_BIT guaranteed to pass all known tests for primality and randomness. This is of tremendous assistance in preventing crackers from gaining knowledge about your systems."
07:29:05 <Fiora> "Armed Response Technologies has a range of ADPs (acronym-driven products) to suit all needs" this is wonderful
07:30:08 <Bike> is that paragraph you pasted a joke i am not getting
07:30:59 <Fiora> the deathstation I think is a joke computer that is technically ANSI C compliant but does everything in the most confusing unexpected way possible
07:31:05 <Bike> oh, i've wondered about something like this before though. I said I thought it would be interesting to have an implementation do everything "wrong" and I got "oh well that's [real implementation X]" as a snarky answer.
07:31:11 <Fiora> I think the joke there is how it comes up with the most random possible values for CHAR_BIT
07:31:20 <olsner> "... particularly suitable for use in fully automated missile control systems." undefined behavior probably launches the missiles then
07:31:29 <Bike> yeah i was just gonna say "why would you use a mersenne twister on actually random numbers"
07:31:38 <Fiora> I think it's all being silly
07:31:48 <Fiora> "DeathStation 9000 or DS9K is sometimes also used as an adjective, as in "a DS9K endianness", meaning an endianness which is neither big-endian nor little-endian, like the American date format MM/DD/YYYY."
07:31:52 <Bike> no shachaf, no
07:32:04 <Bike> Fiora: haha, never thought if it that way
07:32:18 <monqy> youre overdoing it....
07:32:23 <olsner> Fiora: fwiw, I think some real computers do actually have an endianness like that
07:32:32 <Fiora> yeah, middle-endian is actually a thing right?
07:32:32 <monqy> :''''(you should see a doctor
07:32:44 <Fiora> http://en.wikipedia.org/wiki/Middle-endian#Middle-endian
07:32:47 <shachaf> monqy: what kind of doctor
07:32:49 <Fiora> oh god. the PDP-11
07:32:49 <monqy> you will love rehab
07:32:52 <monqy> they are so easy???
07:33:01 <Fiora> "this ordering is known as PDP-endian"
07:33:42 <Bike> Fiora: awesome.
07:34:36 <Bike> Never has Swift's terminology been used more appropriately
07:35:37 <Fiora> "Segment descriptors on Intel 80386 and compatible processors keep a base 32-bit address of the segment stored in little-endian order, but in four nonconsecutive bytes, at relative positions 2,3,4 and 7 of the descriptor start."
07:36:04 <fizzie> The segment descriptors are really nasty-looking things.
07:36:05 <olsner> it's an extension of a 24-bit format
07:36:43 <olsner> (I guess... it's not like I actually know how 286 protected mode works)
07:36:54 <Fiora> I guess that makes sense though
07:37:14 <fizzie> http://xn--nxa.zem.fi/~fis/segdesc.png look at that thing.
07:37:36 <fizzie> The segment limit is also split into a 16-bit value and then an extra nybble.
07:37:40 <shachaf> fizzie that url looks scary??????
07:37:41 <Fiora> that almost looks like a cpuid output register
07:38:23 <fizzie> shachaf: It's just β.zem.fi except for stupid browsers being all "wahh IDNs are all scammy domain name impersonation attempts".
07:38:39 <Bike> phishers confirmed for racists.
07:43:35 <fizzie> Anyhoo, the 286 protected mode did have a memory limit of 16 megs, so it does sound likely that it has had 24-bit base addresses for segments.
07:44:21 <fizzie> http://en.wikipedia.org/wiki/File:SegmentDescriptor.svg presumably the bits in cursive are post-286 extensions.
07:45:15 <fizzie> (Oh, it even says so in the description.)
07:45:15 -!- Salli35 has joined.
07:46:20 <Bike> It starts out looking so reasonable on the right, and gets progressively more... worrying.
07:47:10 <olsner> the first bytes are just limit and base address in the sensible 5-byte format, followed by two bytes of flags
07:47:57 <fizzie> One byte of flags, really.
07:48:18 <fizzie> The seventh byte (from the right) is all extended-flags-and-a-nybble-of-limit.
07:48:31 <zzo38> What can I use if I want to store true color 32x32 icons with transparency (but not alpha), in lossless compressed formats? What is best way for such things?
07:49:17 <shachaf> GIF can do it but is certainly not optimal.
07:49:39 <Bike> can gif be described as "true color"
07:50:05 <fizzie> PNG sounds like the most mainstream way of doing it.
07:50:12 <Fiora> http://phil.ipal.org/tc.html technically yes, but only if you're like a really horrific person
07:50:24 <zzo38> Can a headerless PNG make such thing? Can it make transparent pixels without alpha channel?
07:50:49 <Fiora> is there something wrong with an alpha channel o_O
07:50:55 <fizzie> What's a "headerless PNG", anyway?
07:51:19 <Bike> Huh. I didn't know gif could have that many.
07:51:38 <Fiora> it's an animated gif where each frame introduces 256 new pixels
07:51:38 <shachaf> It's more horrific than you think.
07:51:44 <Bike> ...oh, in different blocks.
07:51:50 <zzo38> Such as discarding everything other than the data of the IDAT chunk.
07:51:53 <shachaf> Fiora: To be fair, that web page is too complicated.
07:52:02 <shachaf> You don't need a whole new animated GIF frame.
07:52:15 <shachaf> In fact that's pretty bad -- you see the thing where you can slowly watch the GIF loading?
07:52:18 <fizzie> I do think PNG's transparency options are limited to either having an alpha channel, or having a tRNS chunk which specifies a single transparency color.
07:52:20 <Bike> yeah, you could do it in a still, but it'd still be huge wouldn't it
07:52:39 <shachaf> Instead it should just not insert GCE blocks.
07:52:53 <shachaf> I should make a better version of that page without GCE blocks.
07:53:04 <shachaf> GIF allows multiple image blocks per frame.
07:53:13 <shachaf> GCE blocks introduce new frames.
07:53:22 <Bike> The undithered image is great, also.
07:53:27 <shachaf> Each frame can have its own palette.
07:53:52 <Fiora> I wonder if something like that would expose bugs in decoders
07:53:59 <Fiora> since it's so unusual and probably not often tested?
07:54:14 <zzo38> I also want to store all the icons in one file, which the program decodes and loads into RAM when it initializes.
07:54:14 <Fiora> multiple blocks in one frame?
07:54:21 <shachaf> That's actually pretty common.
07:54:29 <Fiora> really :o what's it used for?
07:54:39 <shachaf> If you want an "efficient" animated GIF, you don't want each frame to have the entire image.
07:54:52 <Fiora> yeah, there's pixels that are transparent, right?
07:54:55 <Fiora> which just use the previous frame's pixels
07:54:57 <shachaf> If you just changed a few pixels in each corner, you might have small four rectangles in each corner.
07:55:00 <Bike> hm, i should dig up that one picture that stymied me once and ask about it here for an exciting technical explanation
07:55:02 <shachaf> And they'd all be in the same frame.
07:55:10 <Fiora> so GIF supports "spare images"?
07:55:33 <shachaf> You can specify where the image blocks are relative to the whole image.
07:55:41 -!- sall has joined.
07:56:05 -!- Salli35 has quit (Read error: Connection reset by peer).
07:56:57 <Bike> ...oh, I lost it in my old hard drive. Darn.
07:57:03 <sall> alguien habla español
07:57:12 <shachaf> Fiora: You could also specify a bunch of transparent pixels and hope for the compression to take care of it.
07:57:17 <shachaf> But LZW isn't that great. :-)
07:57:28 <zzo38> Actually there are also 16x16 true color icons without transparency, and monochrome 8x8 icons, but there can be one file for each kind of icons.
07:57:33 <shachaf> LZW is remarkably simple, though.
07:58:08 <Fiora> shachaf: that is incredibly cool
07:58:10 <Fiora> does PNG let you do that?
07:58:18 <Fiora> or is deflate better enough that it doesn't matter too much?
07:59:23 <shachaf> PNG is fancy but I don't know much about it.
07:59:24 <fizzie> PNG itself doesn't really have animated frames, of course.
07:59:38 <Fiora> https://github.com/kud/jpegrescan/commit/d4b0de61e0689cdc2bcc30ad7d22ec9dce504477 ooh, this was what I was thinking of with image optimization breaking decoders
07:59:45 <fizzie> I suppose it could support sparse base images, but I don't think it does.
08:00:02 <shachaf> JPEG has much fancier compression than lossless formats typically do, of course.
08:00:05 <fizzie> Anyway, MNG "objects" have sizes and X/Y locations.
08:00:06 * shachaf went to a talk about JPEG once.
08:00:24 <Sgeo> I assume by MNG you don't mean the file format that Creatures uses for music
08:00:27 <Fiora> yay custom huffman codes and weird huffman scan orderings
08:00:31 <zzo38> Is it possible to detect the end of the IDAT data if you know the dimensions and have no header?
08:00:37 <fizzie> Sgeo: The animated PNG thing.
08:00:42 <Sgeo> http://creatures.wikia.com/wiki/MNG
08:00:42 <Fiora> APNG is the other one right?
08:00:48 <shachaf> One of the two competing animated PNG things.
08:00:56 <fizzie> It's short for "Multiple-image Network Graphics".
08:01:02 <fizzie> They're not very creative around there.
08:01:20 <shachaf> I kind of wanted to write a JavaScript decoder for MNG or APNG so people could embed them in web pages and have them just work.
08:01:22 <Bike> Is MNG supported by anybody? I know Firefox has APNG support.
08:01:28 <shachaf> But then I decided not to.
08:01:31 <Fiora> there's an addon for chrome for APNG
08:01:36 <Fiora> does firefox still support apng?
08:01:38 <shachaf> A GIF decoder in JavaScript is bad enough!
08:01:55 <shachaf> I heard one of the formats was sort of dead. I think it was APNG.
08:01:55 <fizzie> "Dropped in 2003" in the Mozilla family, says Wikipedia.
08:02:03 <Fiora> http://en.wikipedia.org/wiki/APNG#Application_support wikipedia says it has since 2008
08:02:09 <Fiora> oh! I remember, it must
08:02:13 <Fiora> Bulbapedia uses APNGs for its animations
08:02:24 <fizzie> mplayer and such can play MNG files. But yeah, it might be a somewhat dead format.
08:02:37 <shachaf> TRICK QUESTION: They're both dead, because they've never been alive.
08:02:44 <Fiora> http://bulbapedia.bulbagarden.net/wiki/SolarBeam_%28move%29
08:02:45 <fizzie> Also I don't think I've seen a JNG file once.
08:03:01 <Fiora> the image won't animate if you're using unextended chrome or safari or whatever, I think
08:03:14 <Fiora> I only found this out because a friend was like "wait I can't see the animation" and I was like "wait what in the even"
08:03:24 <fizzie> (JNG is the "JPEG image in a PNG container" format.)
08:03:32 <shachaf> GIF has a lot of features that no decoders today support.
08:03:38 <shachaf> Like a "click to advance" thing.
08:03:44 <fizzie> "Usually, all the applications supporting the MNG file format can handle JNG files, too. E.g., Konqueror has native MNG/JNG support, and MNG/JNG plugins are available for Opera, Internet Explorer, and Mozilla Firefox. The Mozilla Application Suite (and hence Netscape) originally supported MNG/JNG, but native support was removed in Mozilla 1.5a by developers and Mozilla has not supported the ...
08:03:49 <shachaf> And the ASCII art thing I mentioned.
08:03:51 <fizzie> ... format since, despite requests from its users. Safari does not support MNG/JNG."
08:04:13 <Bike> JPEG image in a...why would you want that?
08:04:52 <shachaf> JPEG is a really general thing.
08:04:53 <fizzie> Bike: You can have transparent JPEGs with it. :p
08:05:08 <Fiora> could you mix PNG coding and JPEG coding in the same image?
08:05:25 <Fiora> like JPEG code a photo in the image and PNG code text or graphics
08:05:40 <fizzie> The transparency part can be a 8-bit greyscale JPEG datastream too.
08:05:50 <fizzie> So you can have a JPEG file with a JPEG-compressed alpha channel.
08:06:58 <Fiora> jpeg&co are a good sin
08:07:02 <shachaf> I like how the GIF spec talks about CompuServe.
08:07:10 <Fiora> but you have to be very... discrete
08:07:14 <Bike> Fiora: that sounds like such an awesomely bad idea that i think it's possible, also
08:07:26 -!- epicmonkey has joined.
08:07:36 <shachaf> epicmonkey: we already have an epic monqy...........................
08:07:43 <shachaf> monqy: (you're epic right)
08:07:49 <fizzie> Fiora: You could do that with a MNG file.
08:07:50 <shachaf> (what does that mean anyway)
08:08:00 <fizzie> Fiora: All MNG decoders are required to support both PNG and JNG subimages.
08:08:08 <Fiora> that is actually incredibly cool
08:08:47 <fizzie> And it doesn't *need* to be animated, you can just compose the things together.
08:09:29 <fizzie> You can also magnify things on-the-fly with it, if you want to have images with different in-file resolution in different areas.
08:09:34 <shachaf> I wonder whether some GIF decoders actually support the User Input Flag.
08:09:40 <Fiora> that almost sounds SVGesque
08:10:13 <shachaf> Did you know that browsers insert an artificial delay when displaying animated GIFs, in violation of the spec?
08:10:26 <shachaf> That's because back in the day, computers were slow, so they took time between GIF frames.
08:10:33 <shachaf> So people made frames with delay 0
08:10:45 <shachaf> And then it became standard and everyone had to be backward-compatible.
08:10:53 <Fiora> is it an arbitrary delay, or do they just put a cap on the minimum frame length?
08:10:55 <fizzie> TIFF is another format that can be ridiculously ridiculous, and where there's probably a bazillion crufty decoders (made for texture-loading and whatnot) that only support some miniscule subset of it.
08:11:02 <Fiora> I know IE used to make a limit of 100ms per frame or something
08:11:03 <Fiora> which was really dumb
08:11:06 <shachaf> Fiora: Depends on the browser.
08:11:07 <Fiora> but firefox can do faster than that
08:11:25 <shachaf> Fiora: That's relevant to you when reading that comic strip, isn't it.
08:11:30 <Bike> those seizurey gifs are so annoying, though.
08:11:33 <shachaf> "maximum speed on my gif animations plz"
08:12:06 -!- sebbu has joined.
08:12:28 <Bike> shachaf, http://media.tumblr.com/fd5274f9d05acc03c7b795ba34e6886f/tumblr_inline_mgl55oVC6b1r3xc4e.gif
08:13:06 <Fiora> http://www.mspaintadventures.com/storyfiles/hs2/02628.gif typical homestuck panel
08:13:08 <shachaf> Is that the thing that people were saying was offensive?
08:13:09 <monqy> racial slurs???????
08:13:11 <Bike> "that comic strip"
08:13:46 <shachaf> monqy: do you read that comic strip.....................
08:13:56 -!- sebbu2 has quit (Ping timeout: 272 seconds).
08:14:01 <Bike> the good thing about it, which i didn't notice for a while (because I didn't care), is that the interior of the letters are also caucasian skintone.
08:14:04 <Bike> Important Details.
08:15:14 <monqy> i hate important details why can't details be unimportant???please
08:15:22 <Bike> So do I, shachaf. So do I. (sdichaf? help)
08:15:35 <Fiora> Bike: I think my favorite unimportant detail was that one time where a single pixel started fans shipping
08:15:39 <Fiora> literally a single pixel
08:15:43 <Bike> Fiora: er what
08:15:55 <Fiora> http://tvtropes.org/pmwiki/pmwiki.php/Main/ShippingGoggles see the quote here
08:16:04 <Bike> that sounds like an important pixel. is it related to jng
08:16:11 <Bike> whoa, rot13 fiora is scandinavian.
08:16:17 <shachaf> have you considered changing your nicks to something "more rot13 friendly"
08:16:23 <Bike> meanwhile i'm icelandic and drunk.
08:16:28 <Bike> ^rot13 Bicyclidine
08:16:42 <Bike> That's... actually pretty compelling.
08:20:26 <shachaf> imo that should turn into n̈
08:20:40 <fizzie> `run words --finnish 10 | tr a-z n-za-m
08:20:43 <HackEgo> ynzzr znqnyynaar xbewhinygnnavfrzcvrzzr ivaraäyävxäiryyr irgbivgfhggnzvyyr fbhqnggnzznyyn fbvffä yrvuvaxnyiragäzäg xägxrycbznxh nnggbzvrav
08:20:58 <shachaf> `run words --finnish 10 | tr a-z n-za-m | sed 's/ä/n̈/g'
08:21:11 <HackEgo> anuxreglzn̈g uöyfxlzvyyn xelcn̈vflyrvwban fhhagvvivffn̈n̈a nvuglzvn̈zn̈ffn̈av byravxfrfvnyynzznyyr anvfrzzrgevfvyyn̈aar nuqnfzvfgnn enwbggnnafn gnvgfrzzn̈xfrzzr
08:21:25 <fizzie> Now there's an offensive ö in there.
08:21:38 <Bike> hm i bet there's a cool and sexy way to do this with unicode
08:21:51 <shachaf> `run words --finnish 10 | tr a-zäö n-za-mn̈b̈ |
08:21:53 <HackEgo> bash: -c: line 1: syntax error: unexpected end of file
08:21:54 <shachaf> `run words --finnish 10 | tr a-zäö n-za-mn̈b̈
08:21:57 <HackEgo> uhgxnyyrfv yncfvfgnav uhbyvfghfgnnivyyr fbvggiff neivggbznyyr ghcyvygnav luglzvvaanxfra fhhggnzvan gluzvzcvaaf crqntbennynvfh
08:22:15 <Bike> so that combining_penis_above + hangul "te" is automatically shifted to combining_penis_above + hangul "I don't actually speak Korean, I don't know, something shifted"
08:22:30 <shachaf> `run words --finnish 10 | tr a-z n-za-m | sed 's/ä/n̈/g' | sed 's/ö/b̈/g'
08:22:32 <HackEgo> vyznacvgra an̈ccn̈varaar fn̈qryyvfrfv xnuynnirzznfgn cnxba ryn̈zcn̈an̈aar cvevglggn̈zn̈zzr uhuxrlglin̈ zrebyyrafn xrvxfrffrra
08:22:54 <HackEgo> некахъ kreical довъчальина иняли мобирающие лрупповеркои хромаривле жпва врусствптъмъ осит
08:23:06 <HackEgo> לעית לקול ברוכ ארט גנשטט עדני והמארק להרגש דלכו התבר
08:23:22 <Sgeo> :/ I open 5 processes in Pharo and the UI slows down considerably
08:23:43 <HackEgo> cent annin nion gostothodm ref indensaperley gissumpbe editarla bruing overfl
08:24:00 <fizzie> `run words --russian --hebrew 10 # why won't you mix it up!
08:24:05 <HackEgo> מרודרךכללת שהנוטלות перековреиъ терно והשוב пормкор ויחות קריאו перепя חולדהאורטו
08:24:23 <shachaf> i love mixing up rtl and ltr languages
08:24:24 <oklopol> in both finnish and russian, there are frequently two adjacent letters that cannot occur next to each other
08:24:36 <fizzie> They're produced from character... trigrams, I think.
08:24:46 <fizzie> Some form of character ngrams, anyway.
08:25:11 <oklopol> then how can a word start with two characters that dislike each other immensely
08:25:56 <Bike> Maybe they reconcile their differences for the sake of the greater word.
08:25:57 <fizzie> Do you have some examples? I don't want to de-rot13 all that, and I don't know Russian.
08:26:13 <fizzie> `run words --finnish 20 # it does mess up wovel harmony quite often
08:26:13 <Bike> Maybe these characters aren't as simple as you think, oklopol. Maybe they're reasonable, thinking people, just like anybody.
08:26:19 <HackEgo> tuoksimmäksen houstamaksempi hottaviin huojenilaaduistasi julkoneen säähdyssamme hisessä anakissamme kiihtelma ytismisesi kysyvänä esiksensa käämältä mahtaan huhteissanne naiiveäpakenemmilli dosti panammenkivaantitiedotta fyysyville päänneksensä
08:26:44 <Bike> «naiiveäpakenemmilli» is a pretty great word.
08:26:47 <oklopol> that's a compound word, it's ok
08:27:07 <fizzie> oklopol: No, it's clearly just "in our <säähty>" except wrong.
08:27:35 <HackEgo> porelig ligst femtidsførert morøda lusjoneneredning fyltet brøsterendede bokserinjerra vårfattageilene måletraferdarda
08:27:43 <shachaf> There's a rule where ø must be followed by jran
08:27:49 <shachaf> There's a rule where ø must be followed by rjan
08:28:13 <oklopol> !rot13 uiosdufopisadjafs,dlm
08:29:06 <shachaf> monqy: have you ever gotten "addicted to rot13"
08:29:43 <shachaf> monqy: this is your brain: brain
08:29:49 <shachaf> monqy: this is your brain on rot13: oenva
08:30:30 <shachaf> oklopol.............we've had enough.........
08:31:08 <shachaf> oklopol: you will be missed
08:32:44 -!- sall has quit (Ping timeout: 246 seconds).
08:34:51 -!- sebbu2 has joined.
08:35:23 -!- sebbu has quit (Ping timeout: 252 seconds).
08:42:27 -!- epicmonkey has quit (Ping timeout: 272 seconds).
08:43:29 -!- Taneb has joined.
08:53:52 <HackEgo> Taneb atriq Ngevd Fiora nortti elliot
09:00:49 <monqy> sounds like shachaf wants to be on the list
09:01:22 <shachaf> monqy.......................
09:04:13 <Sgeo> dots dots dots dots dot dots
09:09:36 -!- Bike has quit (Quit: leaving).
09:14:45 -!- sebbu2 has changed nick to sebbu.
09:14:59 -!- copumpkin has quit (Ping timeout: 252 seconds).
09:15:31 -!- copumpkin has joined.
09:20:15 -!- impomatic has joined.
09:30:33 -!- WeThePeople has quit (Quit: Leaving).
09:50:19 -!- epicmonkey has joined.
10:02:59 <Sgeo> Basshunter's I-don't-actually-know-what-language music tends to be geeky, their English music tends to be .. not so much
10:03:37 <Taneb> Quick googling says Swedish
10:07:35 <fizzie> He's the guy with that boat song?
10:09:46 <fizzie> (It's a well-known joke about "Boten Anna" being misinterpreted by people to be about a boat called Anna, due to sv:båt == en:boat.)
10:09:47 <Taneb> I think that's Can Bonomo
10:10:36 <fizzie> fungot: Are you one of those boats too?
10:10:37 <fungot> fizzie: fnord recall evxpr. i think those stereotypes are correct. there's no way discovered to anything else. it's not really
10:11:11 -!- monqy has quit (Quit: hello).
10:13:47 -!- asiekierka has quit (Excess Flood).
10:14:10 <fizzie> fungot: Have you ever banned people from this channel?
10:14:12 <fungot> fizzie: it has a lot of people are biased towards c-like syntax because that's what the rumours say. black helicopters and all.
10:14:38 -!- asiekierka has joined.
10:16:41 <Sgeo> fizzie, the music video even has a boat, doesn't it?
10:18:03 <fizzie> Yes, there was some sort of a thing like that.
10:18:24 <fizzie> "Despite the esoteric subject of the lyrics, the song was well received by mainstream media, albeit the word bot was frequently mistaken for boat (bot ("bot") is commonly pronounced almost the same as båt ("boat") in the dialect spoken by Altberg), and the double meaning of the word kanal — the IRC channel mistaken for a canal."
10:21:18 <Sgeo> If people didn't get that confused, would it have been as popular?
10:22:20 <Sgeo> Hmm, do I list hobbyist stuff in Experience on my resume?
10:22:26 <Sgeo> erm, on LinkedIn?
10:23:08 <Sgeo> Hmm, there's a projects thing
10:24:46 <Taneb> Is the first snippet on http://en.wikibooks.org/wiki/OpenGL_Programming/Modern_OpenGL_Tutorial_02 equivalent to a strict version of Haskell's readFile?
10:26:57 <Fiora> wasn't there a cover of the song that was *actually* about a boat?
10:27:04 <Fiora> with a music video of some guys partying on a boat
10:27:07 <Fiora> just to further confuse everyone
10:30:14 <Sgeo> I'm certain there was a banal English cover
10:30:22 <Sgeo> For no good reason other than to pander to non-geeks
10:30:51 <Sgeo> Same song different lyrics
10:31:25 -!- asiekierka has quit (Excess Flood).
10:32:07 <fizzie> Taneb: That's kind of nasty code you've got there.
10:32:20 <Taneb> fizzie, that's why I'm confused
10:32:32 <Taneb> It looks like it ought to be readFile
10:32:42 <fizzie> Yes, that's clearly what it's trying to be.
10:32:45 <zzo38> In SDL some things work with separate threads. How does this interact with global variables?
10:33:00 <Fiora> probably "badly" XD
10:34:39 -!- asiekierka has joined.
10:35:05 <fizzie> Taneb: It's got all those problems implied by the comments, and arguably several more too, but a readFile is what it's clearly trying to be.
10:37:00 <zzo38> But I want to know in what circumstances it would be OK to read/write global variables (to deal with music and timers)?
10:39:22 -!- sploknee has joined.
10:45:18 <Fiora> maybe use mutexes for starters?
10:52:31 <Sgeo> Hmm. Is it bad if I reorder my Projects thing so that the only one I can proudly point to is on top, even if that puts that section out of chronological order?
10:56:56 <Taneb> I think my brother went to see Basshunter live
11:06:57 <zzo38> Which is the better way to paste text on a screen in SDL, using SDL_LockSurface or using a paletted SDL_CreateRGBSurface and SDL_BlitSurface?
11:13:42 -!- DHeadshot has joined.
11:21:34 -!- Cryovat has quit (Read error: Operation timed out).
11:22:05 -!- Cryovat has joined.
11:22:15 -!- sploknee has quit (Read error: Operation timed out).
11:22:32 -!- sploknee has joined.
11:27:31 -!- carado has joined.
11:55:02 -!- zzo38 has quit (Remote host closed the connection).
12:14:45 <Sgeo> I do have to say I prefer ifTrue:ifFalse: to the traditional Lisp if
12:14:56 <Sgeo> (Although do realize it's possible to write a better if)
12:30:59 -!- Nisstyre-laptop has quit (Quit: Leaving).
12:53:19 <Taneb> Anyone know what GIMP's like on KDE?
12:53:36 -!- sebbu2 has joined.
12:53:36 -!- DHeadshot has quit (Read error: Connection reset by peer).
12:53:45 -!- DHeadshot has joined.
12:53:55 -!- sebbu2 has quit (Changing host).
12:53:55 -!- sebbu2 has joined.
12:54:51 -!- sebbu has quit (Ping timeout: 245 seconds).
12:55:07 <ion> Probably like GIMP.
13:11:06 -!- TeruFSX has joined.
13:19:40 -!- TeruFSX has quit (Ping timeout: 276 seconds).
13:24:12 <Taneb> Would it be worth upgrading to Ubuntu 12.10 just to get Gimp 2.8
13:26:57 <Taneb> How can I install GIMP 2.8 on Ubuntu 12.04
13:32:08 <FireFly> How can I patch KDE 2 on FreeBSD
13:43:02 <Taneb> Mildly tempted to switch to Gentoo
13:54:46 -!- sebbu2 has changed nick to sebbu.
14:11:01 <ion> Anything is worth getting Gimp 2.8 for the sole reason that it finally supports a single-window mode.
14:11:35 <Taneb> Help I'm actually switching to Gentoo
14:11:43 <Taneb> And I'm still planning on using Unity
14:11:56 <Taneb> I'm beginning to believe that something may be seriously wrong with me
14:12:20 <ion> I like Unity, too. I got fed up with Gentoo after using it for a while a few years ago, though.
14:12:57 <Taneb> Tell me why, then give me the opportunity to get fed up myself
14:25:28 -!- boily has joined.
14:35:41 <ion> Upgrades were broken to a degree proportional to how long it was since you upgraded the last time. If you upgraded daily, it was more or less fine. If you didn’t get around to upgrading for a while, trouble was sure to follow.
14:43:06 <boily> quintopia: my machine ain't gonna get no ubuntu installed on it! I like my arch very much, thank you :p
14:43:22 <boily> btw, back from vacation. hi all!
14:43:30 <quintopia> i'm not installing on your machine
14:44:02 * boily subtly scuttles away from quintopia in a non aggressive manner...
14:44:05 <quintopia> are you fast enough to run ubuntu?
14:46:30 <boily> my cardio is abysmally bad. I don't think I can do with much more than good old ms-dos.
14:53:00 -!- Arc_Koen has joined.
15:07:02 <sploknee> elliott, why is Taneb thinking about using gentoo
15:11:41 -!- Bike has joined.
15:37:29 -!- FreeFull has joined.
15:38:57 -!- sebbu2 has joined.
15:38:58 -!- sebbu2 has quit (Changing host).
15:38:58 -!- sebbu2 has joined.
15:40:08 -!- sebbu has quit (Ping timeout: 245 seconds).
15:51:03 <quintopia> sploknee: it says nothing about him as a person. fundamental attribution error. his environment and experiences led to his believing it would be a good idea. he can still be saved.
15:51:24 <sploknee> quintopia, but it's gentoo.......
15:52:12 <quintopia> i installed gentoo once, back in '04
15:52:52 <quintopia> of course, i didn't use it much or keep it around long, but i'm no worse a person for it today
15:53:55 <sploknee> (why is gentoo so corrupting btw)
15:57:23 <FreeFull> > groupBy (\x y -> (x+1)==y) [1,2,3]
15:57:33 <quintopia> i never was involved in the gentoo community
15:57:45 <quintopia> but i bet if i were, i'd be utterly lost to salvation
15:58:14 <FreeFull> Does the x stay constant and y change
15:58:56 <elliott> FreeFull: that is an invalid use of groupBy, I believe
15:59:16 <elliott> the predictae you pass has to be an equivalence relation
15:59:51 <FreeFull> Guess I'll have to write my own grouping functiom then =P
16:08:19 -!- epicmonkey has quit (Ping timeout: 272 seconds).
16:27:28 -!- Nisstyre-laptop has joined.
16:27:47 -!- sebbu2 has changed nick to sebbu.
16:28:00 -!- yiyus has joined.
16:29:24 <elliott> FreeFull: ($!) only goes to weak head normal form
16:29:30 <elliott> i.e. it just finds a constructor
16:29:43 <elliott> evaluate [1..] to WHNF and you get ((:) <something> <something>)
16:30:48 <kmc> WHNF is the primitive step of Haskell semantics because it's the minimum amount of evaluation before you can pattern-match something
16:31:12 <kmc> > let a = [1..] in a `deepSeq` take 10 a
16:31:12 <FreeFull> So, infinite lists always work the same with $ and $!, bar speed differences?
16:31:13 <lambdabot> Perhaps you meant `rdeepseq' (imported from Contro...
16:31:40 <elliott> FreeFull: the thing is, (take 10) is already strict
16:31:51 <elliott> > take 10 (last (repeat []))
16:31:54 <kmc> yes unless you consider (let a :: [Int]; a = a in a) to be an infinite list
16:32:07 <elliott> so (take 10 $! x) is just (take 10 x)
16:32:28 <elliott> whereas e.g. repeat _|_ = [_|_, _|_, _|_, ..]
16:32:42 <elliott> > map (\_ -> ()) (repeat undefined)
16:32:43 <lambdabot> [(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),()...
16:32:44 <elliott> > map (\_ -> ()) (repeat $! undefined)
16:44:25 <kmc> f ⊥ = ⊥ is the definition of "f is strict"
16:45:45 -!- Nisstyre-laptop has quit (Quit: Leaving).
16:51:33 -!- augur has quit (Remote host closed the connection).
16:57:10 -!- Nisstyre-laptop has joined.
17:17:23 -!- hagb4rd has quit (Ping timeout: 256 seconds).
17:30:43 -!- augur has joined.
17:33:52 -!- WeThePeople has joined.
17:36:23 <Jafet> const undefined is strict?
17:41:14 <kmc> i think so yes
17:41:25 <Jafet> Strictly speaking, of course.
17:41:41 <elliott> thanks to indistinguishability of bottoms
17:41:56 <kmc> <BUTT JOKE HERE>
17:42:16 <Jafet> Let's not overanalyze this
17:42:40 -!- Nisstyre-laptop has quit (Quit: Leaving).
17:43:23 -!- epicmonkey has joined.
17:50:12 <quintopia> want to gossip about elliott's life?
17:57:26 <epicmonkey> which also are the worlds end some at the sea jaws
17:57:36 <epicmonkey> or over a dark lake in a desert or a city
17:57:48 <epicmonkey> but this is the nearest in place and time
18:10:06 -!- Nisstyre has joined.
18:18:47 -!- DHeadshot has quit (Read error: Connection reset by peer).
18:19:03 -!- DHeadshot has joined.
18:24:17 <Taneb> "A German student "mooned" a group of Hell's Angels and hurled a puppy at them before escaping on a stolen bulldozer, police have said."
18:24:37 <Bike> how do you escape anything on a bulldozer
18:24:44 <kmc> slowly and with great force
18:25:03 <kmc> through a wall maybe
18:25:12 <Taneb> He caused a 5km tailback on the motorway
18:25:18 <fizzie> I think I recall one (US) story about a "chase scene" involving a bulldozer.
18:25:40 <fizzie> IOW a man driving one around town and crushing everything in his path.
18:26:10 <fizzie> http://en.wikipedia.org/wiki/Marvin_Heemeyer <- yeah, I think it was this one.
18:28:21 -!- Snowyowl has joined.
18:28:47 <fizzie> "Outraged over the outcome of a zoning dispute, he armored a Komatsu D355A bulldozer with layers of steel --" I think that's called "showing initiative", or something.
18:29:09 <Taneb> Bah, he copied it from that movie with Orlando Bloom
18:29:47 <fizzie> Also this quote: [["I was always willing to be reasonable until I had to be unreasonable", Heemeyer wrote. "Sometimes reasonable men must do unreasonable things."]]
18:30:18 <kmc> reminds me of Falling Down as well
18:37:18 <Sgeo> o.O ^ and := in Smalltalk are syntactic sugar
18:38:36 <Bike> for sending messages of some kind?
18:38:40 <quintopia> because it returns the output of the last expression if not told otherwise?
18:39:32 -!- Nisstyre has quit (Ping timeout: 248 seconds).
18:41:09 <Sgeo> http://stackoverflow.com/questions/5638052/is-it-really-all-about-message-passing-in-smalltalk?rq=1#comment6435955_5638259
18:41:55 <Sgeo> quintopia, apparently that is not the case. Just tried it, it returned the object itself
18:42:31 <quintopia> Sgeo: okay i read the link. i didnt know about those messages.
18:53:53 -!- AnotherTest has joined.
18:59:38 -!- Snowyowl has quit (Ping timeout: 245 seconds).
19:04:29 -!- Snowyowl has joined.
19:06:46 <Bike> Sgeo, but why does that surprise you?
19:07:07 <Bike> also ho damn beaky is in ##c.
19:07:16 <Bike> "i love switch statements"
19:09:13 <Bike> He really did.
19:09:17 <Bike> But! Not that they are easy.
19:09:28 <Bike> sometimes they get too big
19:09:45 <kmc> i love duff's device
19:09:57 <AnotherTest> And maybe sometimes there's too much break?
19:09:57 <kmc> Duff's Device would be a good name for a band
19:10:17 <AnotherTest> Is there a hakell function that computer euler's totient btw?
19:10:55 <Taneb> @faq Can Haskell compute Euler's Totient?
19:10:55 <lambdabot> The answer is: Yes! Haskell can do that.
19:11:36 <Sgeo> @faq Can Haskell compute all digits of Chaitin's Constant?
19:11:36 <lambdabot> The answer is: Yes! Haskell can do that.
19:11:39 <lambdabot> The answer is: Yes! Haskell can do that.
19:11:49 <Bike> that seems like a weird thing for there to be a standard library function for,though.
19:12:18 <AnotherTest> Well, if they have a cryptography library that is standard, they should definitely have euler's totient
19:12:44 -!- zzo38 has joined.
19:13:09 <zzo38> What colorspace is best compression?
19:15:20 -!- sploknee has quit (Ping timeout: 246 seconds).
19:15:59 <kmc> black and white
19:16:00 -!- sploknee has joined.
19:16:16 <Taneb> Depends on the image and minimum quality
19:18:54 -!- monqy has joined.
19:18:57 <Bike> have an all white image, put it in one line to simplify, and then encode it as the kolmogorov complexity of the length of the line. it's simple.
19:21:55 <zzo38> I mean lossless; sorry I didn't be clear
19:22:23 <AnotherTest> Wouldn't Bike's suggesting be lossless :p?
19:23:52 <zzo38> Is RGB best (as PNG uses), or do other color spaces result in a better compression (it does not necessarily have to be DEFLATE)?
19:23:55 <AnotherTest> zzo38: You probably just want a colorspace with only the colors that you use
19:24:34 -!- Snowyowl has quit (Quit: Page closed).
19:26:02 <kmc> i suspect you can do better by separately compressing contiguous luma and chroma channels
19:26:59 <AnotherTest> kmc: hm. Wouldn't that depend on the amount of colors used?
19:27:24 <kmc> not always better, I mean for some common sorts of images
19:27:47 <zzo38> Yes, that would work, if you always use the same color and know which ones you are going to use! Still I did think of having a "reuse color" command, and a command for run length, and other than that to be predictive coding somehow. What is best probably depend much on what kind of pictures you are encoding.
19:28:47 <zzo38> One thing I am trying to do, however, is making the 32x32 and 16x16 true color icons for a puzzle game.
19:31:00 <AnotherTest> Well, is it really that much of a problem if they are not compressed in the most efficient way known/possible?
19:32:22 <zzo38> It doesn't have to be absolutely best, but I want to avoid redundant stuff being repeated too many times. However there may be many icons, due to many different kind of pieces in this game!
19:32:41 <Sgeo> Is Alan Davies known for anything other than QI?
19:33:00 <Taneb> Jonathan Creek, a mystery series
19:39:47 <Taneb> He was also in Angus, Thongs, and Perfect Snogging
19:43:41 -!- ais523 has joined.
19:51:47 <AnotherTest> Has a "rather smart" program that generates a program as short as possible given sets of input and output?
19:52:57 <Bike> look up massalin and her superoptimizer.
19:52:59 <Taneb> I seem to recall that's mathematically impossible
19:53:07 <Bike> turns out the space of programs is really fucking huge, though.
19:54:09 <AnotherTest> Taneb: notice "rather smart", it may use if statements if there is no other option; also do you seem to recall the proof
19:54:27 <Bike> Taneb: well given finite sets of input and output, or something less than a turing machine (say, a pushdown automaton, a physical computer) it's possible, if not tractable...
19:54:54 <Bike> AnotherTest: it's impossible because consider what happens if you let it use itself.
19:55:30 <Bike> should be the same proof as for uncomputability of kolmogorov complexity?
19:55:30 <AnotherTest> Bike: it would generate itself in the ideal situation :D?
19:56:16 <Bike> AnotherTest: basically, say RatherSmart(input,output) = some program not involving RatherSmart. But then Eval(RatherSmart(input,output)) is a shorter program. So RatherSmart is wrong.
19:58:02 <Bike> AnotherTest: http://dl.acm.org/citation.cfm?id=36194 here.
19:58:32 <Bike> more concerned with getting something out than with perfect optimality, so that sounds relevant to you.
20:06:27 <Fiora> well, generating the fastest program is possible at least
20:06:35 <Fiora> which I think is more the goal of superoptimization
20:06:47 <Fiora> since you don't have to worry so much about actually halting :P
20:08:02 <Bike> oh, durr, i confused time and space, didn't I.
20:08:23 <Bike> maybe because "size of program" is kind of an odd thing to optimize for?
20:09:17 <Bike> Fiora: fastest program runs into the wonderfully named full employment theorem for compiler writers, though.
20:09:49 <Bike> er no, it doesn't. hrm
20:12:06 <Fiora> "full employment theorem"? XD
20:12:34 <elliott> http://en.wikipedia.org/wiki/Full_employment_theorem
20:12:34 <Fiora> http://en.wikipedia.org/wiki/Full_employment_theorem oh gosh that is the best name
20:15:40 -!- AnotherTest has quit (Quit: Leaving.).
20:16:46 -!- Arc_Koen_ has joined.
20:16:46 -!- Arc_Koen has quit (Read error: Connection reset by peer).
20:16:47 -!- Arc_Koen_ has changed nick to Arc_Koen.
20:28:39 <zzo38> I thought of three kind of deck of cards that could be made.
20:30:20 <zzo38> One is cards printed with atomic number, symbol, name, period, group, a few other data, of chemical elements. Some kind of game might be makable with such things, somehow?
20:31:45 <zzo38> One is cards to make a game based on Chinese elements. (Many correspondences have been made up for Chinese elements, it seems.) Each one of the five beats another create, destroy another, etc, to be balanced in this way.
20:34:22 <zzo38> One is a deck of 360 cards one for each degree of a circle. Each card might have: degrees, astrological sign, degree in sign, classical element, decan, hemisphere, northern season, southern season. A game may be made of this somehow, using sign/degree in sign like suit/ranks perhaps, or having two players north and south, or using elements, and more ideas.
20:35:31 <zzo38> Oops! I also forgot: mode (cardinal/fixed/mutable; cycling in this order starting from zero).
20:39:25 -!- asiekierka has quit (Excess Flood).
20:42:10 -!- asiekierka has joined.
20:44:06 <Arc_Koen> zzo38: well, you can use any deck to play mao
20:44:29 <zzo38> Why? Do they not care what is printed on the card?
20:44:41 <Arc_Koen> http://kevan.org/games/minimao.php
20:45:07 <Arc_Koen> I mean as long as not all the cards are completely identical, of course
20:53:56 -!- monqy has quit (Quit: hello).
20:59:44 <Sgeo> Is Horrible Turn any good?
21:08:26 -!- variable has quit (Ping timeout: 255 seconds).
21:09:23 <Bike> Arc_Koen: i think an experienced mao player could make a good game out of a deck of identical cards.
21:09:55 <ais523> Bike: yeah, but it'd take a while to get started
21:10:19 <Bike> a price true players are more than willing to pay
21:11:45 <ais523> I'd probably add a fizzbuzz rule as the first one :)
21:21:32 -!- oerjan has joined.
21:29:08 -!- sebbu has quit (Ping timeout: 255 seconds).
21:32:51 <oerjan> there is a real oerjan?
21:33:24 <oerjan> nvg is doing server upgrades, so i'm using webchat instead
21:33:37 <fizzie> oerjan: A likely story!
21:34:06 <oerjan> fizzie: marvelous! truth is so unlikely to be likely, usually!
21:34:53 <Bike> was there a person named Trurl here before? I think Ilike this person.
21:35:34 <shachaf> Bike: I was thinking of Lem's Trurl
21:35:55 <Bike> ah. wondering if someone had named themselves after lem
21:36:23 <oerjan> stanislaw lem? (i still don't know about trurl)
21:36:37 <shachaf> https://en.wikipedia.org/wiki/The_Cyberiad
21:38:09 <Bike> trurl and klapaucius (probably spelling wrong) are the main characters of that.
21:38:14 <Bike> i guess youcould also be Pirx or w/e
21:39:21 -!- sebbu has joined.
21:39:22 -!- sebbu has quit (Changing host).
21:39:22 -!- sebbu has joined.
21:55:38 -!- Taneb has quit (Ping timeout: 256 seconds).
21:57:17 -!- DHeadshot has quit (Read error: Connection reset by peer).
21:57:23 -!- DH____ has joined.
22:15:14 -!- WeThePeople has quit (Quit: Leaving).
22:16:15 <lambdabot> mueval: recoverEncode: invalid argument (invalid character)
22:17:21 <ais523> oerjan: unicodiness bug?
22:19:26 <Sgeo> I should probably food
22:20:26 -!- boily has quit (Quit: Poulet!).
22:24:12 <Arc_Koen> Bike: well I guess if you play long enough, some cards will end up "differently damaged" and then you can start *really* playing
22:24:29 <Bike> i was thinking you would ust play so many cards at a time.
22:25:20 <Arc_Koen> also you could make rules about folding or tearing cards apart
22:25:54 <Bike> so many possibilities for fucking with people
22:26:18 <oerjan> fizzie: yeah but how the heck do you get any of the bots to give an actual codepoint number...
22:26:26 -!- carado has quit (Ping timeout: 246 seconds).
22:26:48 <sploknee> Bike, I'd just say that all the cards still have a suit and number and just play as normal.
22:27:14 <Bike> Haha, far better.
22:27:56 <sploknee> "Can I play... this one?" "Hmm. No."
22:28:44 <Bike> excuse me, what kind of Mao game lets you talk
22:28:51 <Bike> just give that fucker some penalty cards!
22:30:06 <fizzie> `run echo -n ø | iconv -f utf8 -t utf16be | od -t x1 # oerjan: the hard way
22:31:33 <fizzie> `run perl -e 'use utf8; printf "U+%04x", ord("ø");'
22:33:58 <oerjan> > showHex (fromEnum (maxBound :: Char)) ""
22:34:58 <fizzie> `run echo ø | perl -C7 -pe '$_=ord' # short-ish
22:35:43 <fizzie> `run perl -e 'use utf8; printf "U+%08x", ord("ø");' # FIXED
22:38:44 <fizzie> > maxBound :: Integer -- the LARGEST NUMBER
22:38:45 <lambdabot> No instance for (GHC.Enum.Bounded GHC.Integer.Type.Integer)
22:39:32 <Bike> > maxBound :: Int
22:40:14 <fizzie> > fromIntegral (maxBound :: Int) + 1
22:40:16 <Bike> it's several orders of magnitude bigger than it is on my machine, so :P
22:40:26 -!- WeThePeople has joined.
22:40:52 <olsner> 64-bit? probably only twice as big as on your machine
22:40:59 <kmc> > 2**29 - 1
22:41:07 <Bike> 64 bit machines are twice as big as mine. yes
22:43:20 <lambdabot> Not in scope: type constructor or class `Word128'
22:43:24 <kmc> > log (2**32) / log 10
22:44:20 -!- Nisstyre has joined.
22:44:29 <fizzie> > logBase 10 (2**32) -- no need for your FANCY MATH.
22:46:13 <kmc> Napier's Bones would be a good name for a band
22:46:23 <Arc_Koen> Bike: excuse me, what kind of Mao game lets you talk << the kind where you care about not losing your friends
22:46:26 <shachaf> > (length.show) (2^32) -- no need for your FANCY MATH
22:46:32 <kmc> probably psychedelic doompunk mathrock
22:46:37 <Bike> Arc_Koen: that is a bullshit game of Mao, sir
22:46:56 <fizzie> > 10**(logBase 10 (2**32)) - fromIntegral (maxBound :: Word32) - 1 -- its not zero math is wrong world is crumble
22:47:34 <shachaf> kmc: Did you read The Cyberiad?
22:48:21 <Bike> you should fix that, it's so fun.
22:48:46 <Bike> it has a pagelong love poem using topology terms! and it's been translated
22:50:01 <shachaf> It's been translated into Hebrew!
22:50:13 <Bike> Huh, who did the Hebrew translation?
22:50:37 * Bike first heard about the Cyberiad in the context of books that are hard to translate
22:51:47 -!- sploknee has quit (Ping timeout: 244 seconds).
22:52:57 -!- sploknee has joined.
22:54:46 <kmc> "There's no doubt that Apple is at the center of technology's largest revolution ever"
22:55:09 <kmc> oh i forgot about iAgriculture and the iSteamEngine
22:55:11 <Bike> The Arab Spring?
22:55:33 <shachaf> kmc: are you doubting? don't doubt. there's no doubt.
22:55:35 <kmc> i love it when "technology" means exclusively "shiny toys for rich people"
22:56:44 <Bike> i love it when "technology" means exclusively "shiny toys for rich people" <-- well at least it's not so geared /directly/ towards chopping poor kids' arms off?
22:57:07 <Fiora> I guess you could argue that smartphones worldwide are a huge information democratization revolution thing?
22:57:20 <Fiora> but people in pakistan are mostly not buying iphones
22:57:32 <Bike> well the government keeps banning them.
22:57:36 <Bike> probably a bit of a turn-off, that
22:58:16 <kmc> cellphones are a huge global thing yeah
22:59:06 <Bike> kmc: also, http://www.theonion.com/articles/twitter-creator-on-iran-i-never-intended-for-twitt,6783/
22:59:37 <Fiora> there is something really amazing about how you can have some place in africa where the government is falling apart and there's serious disease problems and armed conflict and unstable food supplies but everyone is carrying around a cell phone and texting each other
22:59:42 <kmc> don't know about smartphones much less luxury smartphones
22:59:57 <Fiora> but it makes sense, I think
22:59:58 <kmc> Fiora: do you know about M-Pesa?
23:00:03 <Fiora> since like, "stable food supply" is a lot harder than "$20 cell phone"
23:00:12 <HackEgo> \ Looking up 127.0.0.1:3128 \ Making HTTP connection to 127.0.0.1:3128 \ Sending HTTP request. \ HTTP request sent; waiting for response. \ Alert!: Unexpected network read error; connection aborted. \ Can't Access `http://google.com/search?q=%4d%2d%50%65%73%61' \ Alert!: Unable to access document. \ \ lynx: Can't access startfile
23:00:21 <Bike> @google m-pesa
23:00:22 <lambdabot> http://en.wikipedia.org/wiki/M-Pesa
23:00:22 <lambdabot> Title: M-Pesa - Wikipedia, the free encyclopedia
23:00:27 <Bike> the weirdest thing in anthro class was still that everybody, everywhere, has a t-shirt
23:00:37 <kmc> it's a system used in Kenya and Tanzania for sending money with your cellphone
23:00:44 <kmc> reasonably secure / resistant to fraud
23:00:48 <Fiora> wow. that is so cool
23:00:54 <kmc> works for people with no prospect of having a bank account
23:00:59 <kmc> it's used by GiveDirectly for their cash transfers
23:01:10 <kmc> and i think by some microloan programs as well
23:01:14 <kmc> and for general business transactions
23:01:18 <Bike> i should really do some of those microloan things when i get actual money
23:01:23 <Fiora> it's like, it bypasses so much of the financial infrastructure normally necessary
23:01:59 <Bike> "The growth of the service forced formal banking institutions to take note of the new venture. In December 2008, a group of banks reportedly lobbied the Kenyan finance minister to audit M-Pesa, in an effort to at least slow the growth of the service. This ploy failed, as the audit found that the service was robust." oh cool
23:02:53 <Bike> ok the afghanistan bit is pretty sad though
23:03:11 <Bike> i mean, nice that it worked and all, but the previous situation, well.
23:03:44 <HackEgo> #!/bin/bash \ if [ ! "$1" ] \ then \ echo 'Google what?' \ exit 1 \ fi \ \ QUERY=`echo -n "$1" | od -t x1 -A n -w1000 | tr " " %` \ \ lynx --cfg=/dev/null --lss=/dev/null \ \ --dump --width=1000 'http://google.com/search?q='"$QUERY" | \ grep -A 4 'Search Results' | \ tail -n 2
23:04:05 <oerjan> `run sleep 1; google M-Pesa
23:04:08 <HackEgo> \ Looking up 127.0.0.1:3128 \ Making HTTP connection to 127.0.0.1:3128 \ Sending HTTP request. \ HTTP request sent; waiting for response. \ Alert!: Unexpected network read error; connection aborted. \ Can't Access `http://google.com/search?q=%4d%2d%50%65%73%61' \ Alert!: Unable to access document. \ \ lynx: Can't access startfile
23:04:41 <olsner> `fetch http://google.com/search?q=m-pesa
23:04:43 <HackEgo> http://www.google.com/search?q=m-pesa: \ 2013-01-14 23:04:42 ERROR 403: Forbidden.
23:04:43 <kmc> i've heard that in Tanzania, people who are too poor to own cellphones, or live in places with no coverage, will still own SIM cards
23:04:57 <kmc> and when they go into town they will ask random passers-by to borrow their phones and put the SIM in
23:05:09 <kmc> and this is how they coordinate their errands
23:05:27 <Fiora> I wonder if you could sell a service renting cell phones out for a few minutes
23:05:36 <Fiora> like a shop where you go in and pay a few cents and rent a cell phone to use your sim card with
23:05:58 <Bike> well then you need cents. which is like having a whole other currency.
23:06:46 <Fiora> I wonder if you could even automate it. lock the phones via cable or something to a kiosk and have a place to insert coins
23:06:56 <Arc_Koen> I think it's called a telephone box, or something
23:07:05 <Fiora> ... I don't think those take sim cards :P
23:07:22 <Bike> hm. phonebooth renaissance. not bad
23:08:04 <Arc_Koen> well, in london most of them have got wifi already
23:08:20 <oerjan> `run sleep 5; google M-Pesa
23:08:28 <HackEgo> \ Looking up 127.0.0.1:3128 \ Making HTTP connection to 127.0.0.1:3128 \ Sending HTTP request. \ HTTP request sent; waiting for response. \ Alert!: Unexpected network read error; connection aborted. \ Can't Access `http://google.com/search?q=%4d%2d%50%65%73%61' \ Alert!: Unable to access document. \ \ lynx: Can't access startfile
23:08:48 -!- Arc_Koen has quit (Quit: Arc_Koen).
23:09:07 <sploknee> Fiora, why even keep the phone
23:09:27 <sploknee> i suppose there's the cost and simplicity factor for that
23:09:32 <Bike> Well it still needs network connectivity
23:09:51 <oerjan> Gregor: do you know why that doesn't work? i put in a sleep as you suggested previously, and opening the link shown from my browser _does_ work
23:10:03 <kmc> in NYC phone booths are mostly used as impromptu urinals
23:10:23 <kmc> they haven't imported the dutch (?) innovation of the amazing freestanding one-piece moulded quad porti-urinal
23:10:40 <kmc> plus I think americans are too prudish to use one
23:10:58 <olsner> probably counts as public urination, legally
23:10:58 <elliott> kmc: You americans make NY sound *so* appealing.
23:10:59 <Bike> but not too prudish to piss in a phonebooth!
23:11:22 <sploknee> elliott, here is new york in a nutshell: shops
23:11:29 <sploknee> street after fucking street of shops
23:11:29 <kmc> Bike: yeah well at that point you're drunk
23:11:42 <Bike> kmc: I thought the portiurinals were for the drunk as well.
23:11:44 <kmc> sploknee: uhm that's not all of NYC
23:12:00 <kmc> Bike: sure, but you probably have to pretend otherwise
23:12:00 <Bike> Maybe that was just wherever I read about them sanitizing it for us unpissy murkins.
23:12:04 <sploknee> kmc, it was a family trip i couldn't go to the nonshop parts
23:12:09 <kmc> sploknee: sucks
23:12:29 <elliott> all I knew about NY was like the skylines and what the skyscrapers and shit looked like
23:12:32 <elliott> but because of the perspective
23:12:44 <elliott> it always looked like they were literally packed right up against each other so there's barely any space for a street
23:12:52 <kmc> sort of true
23:12:57 <elliott> so my mental perception of NY was like
23:13:07 <elliott> barely being able to fit a car between the buildings
23:13:35 <elliott> (maybe this is actually true I have no idea what the city looks like beyond like Times Square)
23:13:36 <Bike> I thought that was how cities worked in general.
23:13:51 <kmc> well NYC streets are wider than old city centers in Europe
23:14:03 <elliott> (ug simple rural man. ug incapable of handling bigger cities than newcastle. ug sometimes incapable of handling newcastle)
23:14:06 <kmc> but still fairly narrow
23:14:09 <sploknee> Bike, i thought in america you generally can't tell the middle of the city from the outskirts
23:14:17 <kmc> each block does have a bunch of buildings right up against each other
23:14:27 <elliott> the streets are wide in edinburgh right sploknee
23:14:34 <kmc> sploknee: not for anything worthy of being called a city
23:14:56 <kmc> i'm kind of sick of the idea that suburban sprawl is exclusively an american problem
23:15:00 <kmc> i have been to slough
23:15:04 <kmc> it is nicer than new jersey but only a little
23:15:19 <elliott> kmc: yes but do you have any famous poems about how terrible your sprawls are
23:15:36 <kmc> in fairness that poem was written when slough was full of factories, not commuters
23:15:54 <Bike> sploknee: as someone living in a metro area can i just say hahahahahaha, i can see cows from my house
23:16:41 <olsner> if you can see cows you're not in a city
23:17:05 <kmc> i'm sure there are some hipsters in brooklyn raising cows in a loft apartment
23:17:11 <kmc> it's the next step after chickens
23:17:19 <sploknee> if my rme textbooks were anything to go by
23:17:23 <Bike> the town (not city) I'm not actually in the limits of actually has (controversial!) laws on the books about livestock in town, it's awesome
23:17:26 <elliott> anyway car-centric big city design kind of terrifies me
23:17:37 <kmc> yeah it sucks
23:17:48 <kmc> NYC was spared the worst of Robert Moses's plans
23:17:53 <Bike> yeah, who was that one architect who was all pissed at cars...
23:18:00 <kmc> he wanted to put a huge elevated freeway on Canal St
23:18:01 <Bike> right, the lady who was the anti-moses
23:18:04 <elliott> there is just something inhumanly hostile about the whole layout
23:18:11 <kmc> and another on 34th St that might possibly have gone through the Empire St Building
23:18:19 <Bike> is that like the Big Dig?
23:18:24 <Bike> this whole... plan
23:18:42 <elliott> kmc: a freeway through the building?
23:18:50 <Bike> they have those in tokyo, don't they?
23:19:08 <Bike> or at least highway exits or something
23:19:33 <elliott> despite this I strangely like how tokyo looks for some reason actually. their urban hell has soft rounded corners
23:19:43 <Bike> http://en.wikipedia.org/wiki/The_Death_and_Life_of_Great_American_Cities here's the thing i was thinking of!
23:19:43 <kmc> he also decided that there should be a beach for rich people and a beach for poor people, and built bridges over the road to the rich people beach so that buses couldn't get there
23:20:12 <Bike> "The modernist planners used deductive reasoning to find principles by which to plan cities. " i fucking love history
23:20:17 <kmc> anyway I think urbanism in the US is on the upswing again
23:20:20 <elliott> kmc: another day, another person to hate
23:20:34 <Bike> moses is an interesting guy, worth readin about
23:20:38 <Bike> so you can hate with a direction i mean
23:20:45 <Fiora> don't we have rich people beaches?
23:20:48 <Fiora> like, they're called "country clubs"
23:21:00 <sploknee> they're in the country you idiot
23:21:16 <Bike> Fiora: well the fucking over the poor is just going the extra mile, you know?
23:21:35 <elliott> country clubs with artificial indoors beach
23:21:44 <Bike> country clubs are just "poors stay out", not "poors stay out also we shit on your lawn"
23:21:58 <Fiora> I've been to one once, it was in the suburbs in florida (visiting distant relatives <_<;)
23:22:19 <Bike> elliott: what if it was a bald eagle doing the shitting, though
23:22:50 <elliott> probably from the united states of soviet???
23:23:12 <elliott> USSR (United States of SovietR)
23:24:04 -!- oerjan has quit.
23:24:22 <sploknee> united socialist socialist reds
23:24:30 -!- oerjan has joined.
23:24:35 <elliott> oerjan: why are you using webchat. oh
23:24:51 <oerjan> I HAVE NO IDEA WHAT YOU ARE TALKING ABOUT.
23:25:02 <oerjan> (nvg did a server upgrade)
23:25:06 <elliott> anyway I think it would be interesting to have a city designed around not having any roads and instead having ubiquitous access to underground (or overground?????) rail instead
23:25:13 <elliott> probably this is already a "thing"
23:25:30 <kmc> i think rail basically sucks for last mile freight deliveries and the like
23:25:45 <kmc> cars are undeniably useful, it wouldn't be socially optimal to exclude them completely everywhere
23:25:45 <Bike> i've heard milwaukee has some coolness in that regard, in that you can walk everywhere even though it's fucking freezing because they have tunnels and skybridges everywhere
23:26:21 <kmc> cars / trucks i mean
23:26:29 <elliott> kmc: well side-effects are useful too
23:26:57 <elliott> you can learn things about the ideal middle-ground solution by going to the very extreme
23:27:02 <Bike> ooh, they have municipal wireless too. maybe i should live there as long as i'm being an american
23:27:05 <kmc> also most cities have surface public transit as well, be it buses or trams
23:27:26 <shachaf> kmc: I'm told I should read "The Power Broker"; should I?
23:27:29 <kmc> elliott: i'm not sure, it's just as easy to set up strawmen and knock them down
23:27:34 <kmc> shachaf: I've heard it's good but I haven't read it.
23:28:29 <elliott> all I know about him is he has this billion-book biography of lyndon b johnson
23:28:31 <elliott> (who I know nothing about)
23:28:37 <Bike> if you set up a carless city in the US you'd be mocked as a hippie and disregarded. Presumably the analogy here is to trying to popularize the IO monad (instead of usual programming) in C.
23:28:47 <shachaf> elliott: well maybe if you read the biography you would know.........................
23:28:51 <kmc> Bike: it depends where in the US
23:28:58 <kmc> some areas are quite receptive to it
23:29:10 <kmc> the USA is a huge heterogenous country
23:29:20 <Bike> eh, i live near one of the more carless cities here and i don't think they'd go for /completely/ carless
23:29:28 <kmc> the degree to which values differ by geographical location is increasing, I believe
23:29:35 <oerjan> * <elliott> the predictae you pass has to be an equivalence relation <-- BORING
23:29:49 <Bike> i'm honestly sort of afraid of the south sometimes. i am the reverse racist??
23:29:57 <oerjan> > nubBy (((>1).).gcd)[2..]
23:29:59 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101...
23:30:09 <elliott> oerjan: that was a quote from the docs btw
23:30:28 <elliott> Bike: i like me some casual america-hating too
23:30:36 <elliott> Bike: but I also like america-hating-hating when annoying people do it
23:30:47 <shachaf> elliott will hate anything.
23:30:55 <elliott> for instance europeans. the only people worse than americans
23:31:13 <Bike> i mean i do live here, i know they're not zombie evil ghosts or anything, but it's still pretty fucking sad to read about texas textbooks or whatever
23:31:30 <shachaf> elliott: what about hexham people
23:31:31 <Bike> or alabama juvie farms
23:31:47 <elliott> Bike: well they are zombie evil ghosts
23:32:11 <kmc> zombie goatse
23:32:49 <elliott> anyway it's mainly that I hate cars
23:32:56 <elliott> and don't have any desire to drive one
23:33:06 <elliott> therefore roads are completely extraneous for me except for buses and I like trains more than buses!
23:33:07 <kmc> what about bikes
23:33:20 <elliott> bikes are pretty good but I am terrible at riding bikes
23:33:31 <elliott> I don't think you need roads as we know them to support bikes though
23:33:37 <shachaf> i love bikes they are so easy
23:33:56 <Bike> car roads kind of work against bikes, really, if the sanfran bloggers i follow are any indication
23:34:08 <kmc> SF roads are pretty big and scary compared to, say, Boston roads
23:34:09 <shachaf> kmc: You don't have a proper appreciation for this.
23:34:26 <shachaf> i don't even understand it??
23:34:28 <kmc> Boston roads are all twisty and messy and so the cars don't go fast or with much confidence
23:34:31 <Bike> "After making his getaway on the bulldozer, he had driven so slowly that a 5km tailback built up behind him on the motorway." oh so that's the answer to that question
23:34:31 <elliott> like if you just had really wide streets
23:34:36 <kmc> SF has a kind of "damn the hills" street grid with big streets
23:34:38 <elliott> that seems like it could work for bikes
23:34:38 <Bike> kmc: boston drivers are crazed jerks though
23:35:12 <elliott> I read once an argument that suggested we should just get rid of the street/road division and force drivers to drive carefully because there are people everywhere or something
23:35:39 <elliott> seems like it would be hard to sustain because big metal box is going to be better at intimidation than people
23:35:45 <kmc> some cities have those areas
23:35:57 <Bike> pedestrians have the right of way everywhere, don't they? (i mean, not that drivers necessarily care, but)
23:36:03 <shachaf> It's weird that there are no "old cities" in the US.
23:36:17 <Bike> old cities how?
23:36:25 <shachaf> Older than a couple of hundred years, I mean.
23:36:38 <elliott> Bike: well I am not really interested in the law
23:36:40 <Bike> well, yeah, we killed all the people who had been here for hundreds of years.
23:37:03 <elliott> since I don't believe much law-following goes on on roads anyway
23:37:24 <kmc> back later
23:37:27 <Bike> yeah, but then how do you get drivers to stop doing... all those shitty driver things
23:37:58 <elliott> more seriously I don't think a law that drivers have to start being reasonable would cause drivers to actually start being reasonable
23:38:17 <elliott> I don't really see any viable way to enforce road law
23:38:24 <Bike> no, of course not, we have those already. nobody actually follows all the laws, in the US anyway.
23:39:13 <Bike> he has beaky addiction.
23:39:23 <elliott> shachaf is doing the thing where you quote someone you think is a troll in #esoteric a lot
23:39:32 <shachaf> Bike: I heard that beaky was in ##c
23:39:54 <shachaf> 11:07 <Bike> also ho damn beaky is in ##c.
23:40:05 <Bike> 15:39 [freenode] -!- There is no such nick beaky
23:40:12 <shachaf> elliott: I'm undecided as to whether beaky is a troll.
23:40:28 <shachaf> But I do love quoting beaky. It...
23:40:43 <Bike> no. no shachaf. nochaf
23:41:23 <elliott> 19:07:16: <Bike> "i love switch statements"
23:41:40 <shachaf> elliott: http://slbkbs.org/beaky.txt
23:42:03 <Bike> elliott: "but sometimes they get too big" "especially when I have lots of types"
23:42:41 <elliott> Bike: Is PoppaVic still around?
23:42:52 <Bike> in ##c? i see someone by that name, yes
23:43:02 <elliott> I guess no then, if you don't know who that is.
23:43:02 <Bike> today the only person i particularly talked to was I-Love-Boobies, though
23:43:19 <Bike> yeah but i talk to you seemingly everywhere
23:43:37 <shachaf> Well, was awful last time I was in it.
23:43:40 <Bike> elliott: googling the name got me a 4chan thread. I am thinking I will not google any more.
23:44:12 <Bike> well it managed to teach me a lot of things about the more anal points of pointer arithmetic in standard C. But I didn't know much C to begin with.
23:44:37 <elliott> Bike: Seems like the go-to explanation of PoppaVic is down.
23:44:51 <shachaf> I love pointer arithmetic.
23:44:55 <Bike> On the other hand, somebody just asked why they couldn't use ++ in arr[idx++] = 0.
23:45:17 <shachaf> Bike: UPDATE: The exact code is arr[(*idx)++] = 0
23:45:19 -!- Phantom__Hoover has joined.
23:45:23 -!- sploknee has quit (Ping timeout: 255 seconds).
23:45:24 <shachaf> imo arr and idx are pretty bad variable names
23:45:46 <Bike> shachaf: that if you have whatever x[5], x+5 is defined (but you can't dereference it), x+6 is not, and *((x+6)-2) is also not.
23:46:03 <oerjan> <elliott> I don't really see any viable way to enforce road law <-- reminds me of this apocryphical story about the norwegian supreme court justice who was asked if he'd ever broken the law. "Well, I do have a car!"
23:46:09 <shachaf> Bike: Hmm, I didn't know that last one. Are you sure?
23:46:16 <shachaf> What about: *(x + 6 + (-2))
23:46:28 <shachaf> And with parentheses around either group.
23:46:54 <Bike> shachaf: Fairly sure. Don't know about that; maybe the implementation is allowed to fold arithmetic as it wants if it's associative though.
23:46:55 <shachaf> Oh, I think I see, actually.
23:48:00 <shachaf> Did you take https://blogs.oracle.com/ksplice/entry/the_ksplice_pointer_challenge ?
23:48:04 <Fiora> I don't think it's associative if overflow can occur?
23:48:22 <shachaf> Another puzzle: https://gist.github.com/1454460
23:48:32 <shachaf> Hmm, I think I gave that person that puzzle.
23:48:52 <Bike> What does this program print? <-- behavior of %p isn't defined enough to say :P
23:49:38 -!- augur has quit (Remote host closed the connection).
23:49:43 <shachaf> It looks like Oracle broke it.
23:50:37 <Bike> "If you can help, find us on #sicp @ EFnet. We will be attacking ##c on Freenode soon enough. Expect us." ok, this poppavic guy may be hilarious.
23:51:08 <elliott> Bike: I found that same thread googling to try and find the link I wanted and I am pretty sure that is some idiot who talked to PoppaVic rather than PoppaVic?
23:51:18 <elliott> Anyway it looks like the page is gone and not even the Internet Archive has it.
23:51:22 <Bike> Yes, but by association, you see.
23:52:36 <kmc> the pointer challenge was posted post-oracle
23:54:05 <shachaf> I must have it mixed up, then.
23:54:14 <shachaf> Anyway why am I still here?
23:54:31 <shachaf> I was going to be going a while ago. :-(
23:54:31 -!- Phantom__Hoover has changed nick to Phantom_Hoover.
23:54:55 <Bike> i hate leaving, it's so sweet and sorrowful
23:56:21 <oerjan> if *(x + (6-2)) is undefined behavior, then so is *((x + 6) + (-2)), so an implementation would always be _allowed_ to rewrite the latter to the former, i think.
23:56:57 <elliott> shachaf: you can't leave until you figure out these functions