Some Functional Programmers Are Arrogant - <AUTHOR> http://www.devjoy.com/2015/07/some-functional-programmers-are-arrogant/ <comment><USER2> FP is largely defined by what it avoids, not by what it adds. All the other bits, monads, higher order functions, etc, are necessary to finding workable solutions to real problems while avoiding things that cause the badness. To people who use those things avoided, it comes off as arrogant.

It's like with vegetarians. "I don't eat meat; there are plenty of plant based sources of protein and I don't want to have to have animals killed on my behalf". Nothing about this is factually incorrect, none of it is arrogant, yet, because it's purposely avoiding something the listener consumes, the listener may take offense, and assume the vegetarian is taking a holier than thou attitude toward them. They assume that because the vegetarian views eating meat as something to be avoided, that the vegetarian must be judging them for eating meat.

Similarly, because the FP programmer views mutable state as a dangerous practice, the listener who uses mutable state views the FP's attitude as judgemental, "You're not using best practices!"

But, like the vegetarian who encounters someone who wants to try giving up meat, and is asking for recipes and ideas, FP programmers will, indeed, bend over backwards for someone who is trying to enter the functional world.

<comment><USER3> FP is not defined at all. Pure FP (PFP) has a clear definition, but I challenge you to find a definition for FP that includes Clojure, Erlang, F#, and OCaml but excludes Java, JS, Ruby, Python, C++. All of these languages are imperative with varying amounts of reliance on higher-order functions and emphasis on immutability (for example, my favorite so-called-FP language, Clojure, allows global mutation all over the place, but provides some transactional assurances).

Second, even if we consider PFP alone (which is, indeed, different from imperative programming), I often find that some of its proponents are lacking in understanding of the theoretical underpinnings of imperative programming. For example, day before yesterday I gave a talk at CurreyOn/ECOOP about why monads are harmful in imperative languages (i.e. any language that isn't PFP), and PFP experts present weren't aware (although, TBH, neither was I, but I'm not a PL researcher) of this proof[1] that imperative continuations are at least as powerful and easy to express as monads (I later claimed and provided evidence that they're more powerful).

There is actually much to debate about the relative merits of PFP and imperative, but I certainly wouldn't say that PFP is "avoiding badness". It's avoiding some badness while introducing other kinds of badness (monads have some serious disadvantages), while imperative programmers can avoid the same badness without resorting to PFP (e.g. as Clojure and Erlang do).

[1]: [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.8...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.8213)

<comment><USER4> > I challenge you to find a definition for FP that includes Clojure, Erlang, > F#, and OCaml but excludes Java, JS, Ruby, Python, C++

Challenge accepted: FP languages emphasise restriction of mutation.

<comment><USER5> Javascript has Object.freeze and Object.seal built right in! How is that not emphasis? (He asks with a touch of both sarcasm and seriousness.)

(I seriously believe that any attempt to define FP will end in tears. It's a marketing term and has no real likelihood of producing legitimate technical value.)

<comment><USER4> Well, some people write very functional javascript. I've thought of a better definition that circumvents the issue of what constitutes emphasis.

Functional languages are languages used predominantly by functional programmers.

Being functional probably has more to do with how a language is used than the set of features it boasts.

<comment><USER6> I don't quite agree. Languages push you in different directions. Haskell pushes you toward FP; you can fight the language and "do" (pun intended) imperative programming, but it's going to be painful.

Can you do FP in any language? Maybe not COBOL, but you could do it in C with function pointers. But it's still easier to do it in Haskell than in C, and it's still easier to do imperative programming in C than in Haskell.

So you have a point. But languages have different characteristics, too, and those differences let us classify languages, if not as "FP" and "non-FP", at least as "more FP" and "less FP".

<comment><USER4> I'm not saying that every language is the same. I'm saying it's very difficult to define styles of programming, but if you have a particular style (in this case functional), you will gravitate towards languages that facilitate that style. At the boundary, where a language doesn't have a particular leaning, the style that you will adhere to is going to be influenced much more by the community around the language than its features.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> There are lots of nice people in FP circles and nobody ever said there wasn't. But I think the author is taking the use of the word "arrogant" much too literally--its users generally don't mean _arrogant_ , they politely mean _asshole_.

My sense, from spending a decent chunk of time in a couple different communities, is that they don't do enough policing of their jerks and that that makes itself most apparent to novices rather than established people. Many programming communities don't handle jerks well, for a host of reasons around social standing and conflict avoidance, but of the ones I regularly participate, I don't think a guy like Scala's I-think-I-can-use-the- adjective-"infamous" Tony Morris--though granted, he seems to wish he was Haskell's Tony Morris--would be tolerated past weeks, to say nothing of years.

I really like functional programming. But I find that notions like "shared- immutable programming" are more accepted by people who've been burned by the more socially toxic sections of the universe. The rebrand helps remove the association with the jerks, and that should speak to the impact of those jerks.

<comment><USER8> Could you list us some programming communities that _do_ handle jerks well? 'Cause I'm having a hard time thinking of any.

<comment><USER9> Generally it is unpleasant dealing with unpleasant people. Sometimes though, if a question has been asked many times or if people end up talking past each other, hostility can arise and the ones answering can start becoming a bit snarky.

I would say #haskell is usually very friendly, but no community is perfect. I noticed the above once and it was actually quite easy and simple to fix it. I simply joined in on the ongoing question session and started implying that we should perhaps answer a bit more nice to the newcomer.

</comment></comment></comment><comment><USER10> There are all sorts of "special club" mentalities in programming. Linux users, vim users, functional programmers, never-touch-the-mouse-power-users... the list goes on. Someone asked me why I used Linux and I half-jokingly answered, "Because then I can be pretentious about hating both Windows _and_ OSX!"

Tis human nature, I guess, always trying to find a way to distinguish yourself from the masses. A bit of a Star Belly Sneetches phenomenon.

[https://en.wikipedia.org/wiki/The_Sneetches_and_Other_Storie...](https://en.wikipedia.org/wiki/The_Sneetches_and_Other_Stories)

<comment><USER11> I don't agree that it's "human nature." This type of behavior is significantly more pronounced among programmers, "geeks", and gamers. I don't hear administrative assistants bickering over calendar software, or post-it note dispensers. I don't hear many of the business majors being pretentious about their choice in spreadsheet software.

Everyone else seems to be a bit more focused on the result of their work, not how they get it done. They certainly don't seem to take pride in their choice of tool. Imagine if a construction worker felt self-important because _he_ uses the Aero Hammer 7, while _they_ use the _clearly inferior_ Aqua X Mallet. It's silly. I don't think this behavior is as widespread as many here think it is. _(edit: widespread among the general population)_

<comment><USER12> The professions you should be comparing programming to in this case are not admin assistants or spreadsheet users. Of course they won't care because it makes no difference to them. How about computer graphic artists. Do you think they care if they use 3ds Max or Rhino or whatever exists these days? How about musicians? Do you think they care if they use FL Studio or Reason or Cubase or Logic?

I could go on and on. The answer is a resounding YES to both of those questions by the way. They care just as much as programmers do about their software. It's not limited to software either. Writers who write by hand care about their pen. __A lot. __People who put a lot of energy into their craft care. Is that human nature? Absolutely. Is it human nature to then compare and try to set oneself apart from the rest? Of course.

<comment><USER11> It is true that I over-simplified and used careers that aren't very similar, but that was kind of the point.

> _Of course they won 't care because it makes no difference to them._

Exactly. My point is that it _also_ shouldn't matter to programmers, in the same fashion. Why does it matter if you use Emacs or Vim or Notepad? Why does it matter if you use Ubuntu or Windows or OSX? If you can produce high-quality work that is maintainable in roughly the same amount of time as someone else, the tool you use doesn't matter.

People should have preferences and they should be able to use the tools that are comfortable for them. However, any self-important feelings based on these preferences are silly and don't really make sense. That was my intended point originally.

<comment><USER13>
      > Why does it matter if you use Emacs or Vim or Notepad?
      > Why does it matter if you use Ubuntu or Windows or OSX?
      > If you can produce high-quality work ... the tool you use doesn't matter.

In all of these things, there is a shallow similarity, and a deeper difference that is only visible to a user with expertise. Tools have Quality, and experts care about it.

 _Professionals_ care deeply about their tools. Writers care about pen qualities, musicians care about software and instruments, hunters care about their weapon. Programmers care deeply about our editors, languages, source control, and computer platform. Photographers care about their equipment.

Comparing Vim/Emacs with Notepad is like comparing whether to use a computer versus writing by hand -- nearly no professional writer will choose to use a pen and paper when they have the power of a word processor at hand, and similarly nearly no programmer will choose Notepad over a professional code editing tool.

You'll quickly find that many people who care about writing by hand care deeply about not just pens, but the ink they use within them -- the depth of nerdiness in the fountain pen forums is amazing. Consider looking at "fountain pen reviews", for example.

People usually don't care about post-it brands or pen brands (or band-aids or toothpaste) because, in most cases, they are __functionally equivalent__, so you can decide on price or convenience. If one is not a discerning user, in theory one might buy a set of kitchen knives, a coffee maker, a car, a suit, or a computer based solely on price. Most of us have been burned enough by low-quality tools to care enough to discern Good from Bad.

As programmers, we have the expertise to compare Python vs Ruby, or Emacs vs Vim, or Linux/OSX/Windows. We might not have the same depth of caring in other subjects (cars, cooking knives, pens, phones), and therefore do not engage in the same degree of holy-war that we tend towards when evangelizing our favorite tools.

<comment><USER11> Debating the merits or pros/cons of any given tool is different from binding any self-evaluations to your choices, or evaluating others based on theirs. Writing someone off as "lesser" because they prefer Windows over Linux is unreasonable. There are plenty of valid reasons to prefer Windows based what you use it for. Disagreeing with those reasons does not mean the same thing as thinking the person is "lesser" for it.

</comment></comment></comment></comment></comment></comment><comment><USER14> So the title is a little misleading, the author _does not_ believe arrogance is a real problem in the community and claims to have to look hard to find arrogance.

I'm not a big fan of the social justice community, but they are right about arrogant programmers. They aren't racist or misogynist, they're equal opportunity assholes.

In my experience most people who are oblivious to the arrogance of the programming community are themselves the arrogant ones. There are a lot of friendly people, but if you're a real noob and try to contribute shitty code to a big open source project with real programmers, you're gonna get your ass handed to you.

Even the groups of programmers who claim to support "safe space" environments are chock-full of arrogance, they just don't use cuss words and belittle you in a more passive way. I assume it's pretty much the same in every profession when noobs make mistakes.

<comment><USER15> It's not just if you try to contribute bad code, just asking the wrong kind of question can get a lot of crap back at you.

Of course, if you're genuinely a beginner you don't know you're asking the wrong kind of question.

Yes, it's frustrating to help someone who is strugging to run/consume Foo only to eventually find out what they actually wanted to do was Bar and that consuming Baz would have been a much simpler solution.

But if you don't have the patience to help, don't try to! Too much programmers think they can fix the world and go around trying to correct beginners[1] when they should just get out of the way.

[1] Many high rep stackoverflow users suffer from this, they've seen the same shit too many times and rather get out of the way and let others help the beginners they'll shut down those beginner questions. If a question was valid 5 years ago it should still be valid today, but they seem to forget what it's like to be a beginner.

</comment></comment><comment><USER8> I'm a little unclear on why Bob Martin gets as much coverage as he does. Everything I've read by him has been a mixture of things-that-might-be-a-good- idea-if-you-don't-go-overboard and his own personal opinions, both presented in such a way as to look like Eternal Truths of the Universe.[1] Sure, he's been around for a while, but so have I and it seems our mileage has varied.

[1] See, for example, [http://maniagnosis.crsr.net/2012/03/clean- coder.html](http://maniagnosis.crsr.net/2012/03/clean-coder.html)

<comment><USER16> I'm with you. After hearing him mentioned numerous times in various contexts, I gathered he was some sort of sage guru. Then, I read one of his articles for the first time, "'Interface' considered harmful[1]. I found it rambling and the style to be a bit condescending - and, I found out after reading this piece, I absolutely deter the "X considered harmful" premise[2], which is probably the main instigator in giving the article a condescending feel, along with the acted-out teacher-pupil discussion. I'm a peer, not a pupil. The tweet seems short-sighted and destructive to me as well - not the action of some wise, caring "uncle".

[1] [http://blog.cleancoder.com/uncle- bob/2015/01/08/InterfaceCon...](http://blog.cleancoder.com/uncle- bob/2015/01/08/InterfaceConsideredHarmful.html) [2] My feelings are in line with ""Considered Harmful" Essays Considered Harmful" (The title being the one exception to the rule : ) [http://meyerweb.com/eric/comment/chech.html](http://meyerweb.com/eric/comment/chech.html)

</comment></comment><comment><USER17> If you are expressing interest in functional programming the community is more than willing to lend a hand.

Where the reputation comes from is when someone talks about some problem they have in an imperative language and some Functional Programmer swoops in to tell them how it wouldn't be a problem if they simply rewrote their entire project in Erlang or something.

There is also a perception that functional programmers aren't willing to discuss potential downsides to functional programming. Haskell is the last language you'll ever need for anything you ever want to do and it is perfect for all purposes from embedded systems all the way up to business applications and realtime games.

</comment><comment><USER18> You can't change functional programmers.

<comment><USER19> Oh, sure you can, you just need a side-effects monad. They're plentiful in the hardware world....

<comment><USER20> A 'side-effecting' monad is also pure ;):

[http://chris-taylor.github.io/blog/2013/02/09/io-is-not-a- si...](http://chris-taylor.github.io/blog/2013/02/09/io-is-not-a-side-effect/)

</comment></comment></comment><comment><USER21> I have mixed feelings on this. I have a history of projecting arrogance when it comes to new programming paradigms. I've been doing it since the mid 90's when I used to arrogantly deride non object-oriented programming. How could you not abstract everything as objects? Can't you taste the dream of software reuse? A few years ago I was arrogantly deriding object-oriented programming (The C++/Java variety, not Smalltalk).

It's hard not to be arrogant, especially when you feel strong conviction about some ideas. You actually feel like you need to wake people up from their intellectual slumber, so you'll find yourself saying things that draws attention. Getting your ideas attention is good, right?

I've had my ass handed to me on more than one occasion and my arrogance pointed out as well. It's been an important lesson because its seared lessons remind me to present ideas with empathy.

However, I want to live in a world with a diverse set of opinions that tolerates fundamentalists and their fundamentalist/reductionistic ideas on things like functional programming. Intellectually speaking, I think we need all kinds. We need people who are stubborn and will completely commit and defend ideas and we need people who try to unite ideas by solving what they see to be false dichotomies.

 _I think it 's important to call out arrogance when you see it, but branding a community as arrogant is obtuse and disingenuous._ It can be a useful act that forces a community to flush out bad actors, but it also has the effect of conflating ideas with bad actors.

<comment><USER6> Take Haskell, for example. It's good that Haskell is so single-mindedly driven to pure FP with no compromises. The only way we see what's at the end of that road is if some people drive it to the end. That's a good thing. Even if they're wrong, they're exploring the space, and leaving a clear trail.

It's not wrong for them to be advocates, either. "This set of problems goes away if you do it our way." Well, if they didn't repeatedly shout that in various forums, I probably wouldn't know that FP was a viable option with some benefits.

What's wrong is when some of them call everyone else unenlightened for not being on their road, when some of them insist that their road is the only possibly right road, when some of them state that any other choice is stupid. _That 's_ arrogant. It's not the whole community, but it's some.

</comment></comment><comment><USER22> I must be missing some context here, because the whole article seems to boil down to "someone I like said something I don't like :(". He spends a fantastic amount of time scolding Martin for disagreeing with him and almost no time actually commenting on whether the accusation is really true. Wha?

<comment><USER23>
        > the whole article seems to boil down to "someone I like
        > said something I don't like :("

You must be new here, and by here, I mean The Internet.

</comment></comment><comment><USER24> The thing is, some functional programmers _are_ arrogant. I really like the understanding that comes from learning a functional language, but I've never fit in among the die hard folks who believe that it's functional or nothing. As a functional moderate, I've been maligned at times and in particular by the functional faithful -- which comes off as arrogance.

In an interview once, I was asked what defines functional programming. After I provided an answer I thought was reasonable (function composition, statelessness, immutability), my interviewer politely responded to my obvious ignorance with a few corrections like, "you forgot first class functions!". The tight smirk on his face was as if to say, "Ha! Gotcha, n00b!"

I think a lot of functional advocates are out to prove that it's _better_ than imperative and other paradigms, but it ends up coming off like a forced sports rivalry. What the hell does "better" mean, anyway? Pick a good enough tool for the job and ship something.

<comment><USER25> I don't think there's any reason to think that functional programmers are more arrogant now than advocates of new programming paradigms were in the past.

You could call them architecture astronauts: [http://www.joelonsoftware.com/articles/fog0000000018.html](http://www.joelonsoftware.com/articles/fog0000000018.html)

<comment><USER24> I wouldn't really call functional a "new" paradigm...

It's fun learning new tools and tricks, too, so I don't mind advocacy and outreach. But many folks in the cult of functional present it as a panacea -- "If only," they lament, "everyone would use _functional_ languages, we wouldn't have all this terrible software because functional languages eliminate entire classes of bugs!" and other tropes. Even if all the hype is true, that doesn't mean that the functional model of computation is the best (easiest to grok, maintain, or whatever) way to solve every problem. There is room for a variety of ideas and programming models, and I'm glad functional is one of them.

</comment></comment></comment><comment><USER26> The phenomenon is not unique to the FP community by any means, though it is more prevalent there in my experience. I've seen it in OOP, C, Java, et al communities as well and I think it is more attributable to how people interact with the language philosophies than the languages themselves.

In my opinion, the phenomenon arises from a simple fact: all of these programming models are terrible for writing some significant subset of software functionality. Just because you _can_ write any piece of software in FP, OOP, etc does not mean it isn't an objectively poor engineering decision some of the time. Nonetheless, I frequently see assertions in various communities that these apparent deficiencies are really due to insufficient cleverness on the part of implementors rather fundamental weaknesses in the model for the use case, while ignoring real-world engineering constraints like cost, performance, and maintainability.

The perception of arrogance, or lack thereof, largely reflects the willingness of a community to acknowledge the fundamental weaknesses and deficiencies of their chosen programming model when interacting with people outside the community. Too often, people that question the objective limitations of a particular model are told that if they were smarter or better educated, they would not worry about those limitations. For obvious reasons, this comes across as arrogant.

One of great changes in programming languages over the last 20 years is the extent to which they have become relatively model agnostic and allow you to switch models fluidly. FP remains one of the last bastions of single model purists in my experience, which may explain why they are perceived as more arrogant by outsiders.

</comment><comment><USER27> Some programmers are arrogant. It has nothing to do with Functional or OOP or Lisp or anything. Some programmers are just arrogant. Period.

I can take this even higher. Some _people_ are just arrogant. It really has nothing to do with programming. They are just arrogant.

Don't play with those people. Play with nice people.

<comment><USER28> Unfortunately it seems as if there is a higher concentration of those people in some communities. Making them difficult to avoid if you want to use that tool.

</comment></comment><comment><USER29> Maybe! But proving an assertion like "Functional programmers are more arrogant than OOP programmers" or whatever is probably impossible. So here's my contribution to this debate: I write Haskell in my free time, and I'm not great at it, but if beginners ever need anything, e-mail me and I'll do everything I can to help. So for my part, I'm going to be non-arrogant and super-helpful and damn the rest.

</comment><comment><USER30> I kind of scratch my head at the concept that there is even a "functional programming community" [0], let alone that it is "full of arrogant jerkfaces".

As a target, "all those jerks over there in the XYZ tent" is a really crappy one. There's no tent. There's no one group of people who represent the interests of a certain methodology. "We" can't even get people who are ostensibly _in_ the group to agree on what the methodology consists, and you want to make a target out of "us"?

There are certain pockets you can talk about. "The developers of XYZ programming language who frequent this particular subreddit." Maybe. You're still probably missing the vast majority of practitioners of that language.

And what is the end result of this supposed to be? If we can even clearly define a target, what then? Throw away the methodology because of it?

[0] substitute Functional for OO or imperative or what have you.

</comment><comment><USER31> tl;dr version: Functional Programming's reputation for arrogance does not match the author's own experience, having been welcomed from the time he first showed interest.

</comment><comment><USER32> I've spent my life learning technology from others. More often than not I've found the IT community to be hypercritical and unfriendly. This appears to be somewhat mitigated with older crowds, which leads me to believe that it may just be a maturity factor. The root cause, as best I can tell, is that people who have heavily invested in technical fields evaluate their self worth, and maybe their distinguishing value to society, in terms of their knowledge relative to others. So a new person who is not at their position, but climbing their way towards it, is a threat. I may be wrong but what I am certain of is that spending your life dealing with IT people online is not for the faint of heart.

</comment><comment><USER33> Rather than another social debate on coding, let's get to the real problem with functional programming: There are not enough good resources for it.

It doesn't matter as much if FP'ers are arrogant if you can just learn it properly without them.

I've read blogs, academic papers, chapters in books and more about FP, but I've really yet to find a clear, concise and mutually agreed upon starting point. The best example so far has been a hard to find essay from Recurse Center. Perhaps one exists, but the fact that my searching didn't yield one (and I have searched) might be a more substantive reason for why more people don't FP.

<comment><USER34> This is exacerbated by language choice. Clojure, OCaml, Haskell, Erlang, Racket...? I'm not sure about materials for teaching FP in the abstract, but Racket appears to have a very good ecosystem for beginners; see the "Learning" section at [http://racket-lang.org/](http://racket-lang.org/) Also, [http://www.bootstrapworld.org/](http://www.bootstrapworld.org/) is an interesting project.

</comment></comment><comment><USER6> > Here's the thing about people who are enthusiastic about functional > programming. Most of them are just so relieved to find someone showing a > genuine interest that they will bend over backwards to help you. To build > you up. To make YOU feel smart.

> I know this because I was on the receiving end of this generosity from the > moment I showed an interest. This is why it's frankly baffling when this > charge of arrogance is levelled. Why functional programming? Of all the > areas of software development, why is the arrogance of functional > programmers a thing?

It's not how welcoming FP people are to newcomers. It's how condescending and condemning some FPers are to those who are outside FP. "You're unenlightened/stupid/incompetent/wrong if you don't do it _this_ way." Yes, I have heard that attitude, here on HN, more than once.

Immutable is good. It's not always the right answer, though. Some FP advocates don't seem to get that, and assume (and state) that everyone else is wrong to ever do it any other way. _That 's_ arrogant, because it assumes that those who choose some other way cannot possibly have valid reasons.

</comment><comment><USER35> Take videos like this: [https://www.youtube.com/watch?v=ZhuHCtR3xq8](https://www.youtube.com/watch?v=ZhuHCtR3xq8)

The guy basically goes on some pseudo-mathematical journey that has only a tangential relationship with programming. "It's easy to understand!" he claims multiple times. And it was! I understood everything he said. But I had NO idea how to apply anything he said to my application.

And so it goes with virtually every article I've ever read about functional programming. The truth is out there, but it's hidden in such a dense forest of obfuscation that I'm not sure I'll ever know what a monad is.

The search goes on, but I'm afraid all I'll ever discover is yet another blog post where all the functions are named f(), g() and h(), or something about prime numbers.

So I suppose arrogance may be assumed from seeing this concept explained so badly so many times. It's like people who understand functional programming are gatekeepers and do such a horrible job at letting people in that it seems like we've been locked out on purpose.

<comment><USER36> You know, it's sort of like a werewolf bite. It'll hurt first, then you'll turn and start writing blog posts about f(), g() and h(). And you'll really struggle to understand the complaints of the uninitiated.

</comment></comment><comment><USER37> For some context on Martin's comments his talk on how arrogance effected Smalltalk is probably relevant:

[https://www.youtube.com/watch?v=YX3iRjKj7C0](https://www.youtube.com/watch?v=YX3iRjKj7C0)

and probably worth watching if you enjoy Uncle Bob's soulful stylings and are interested in his thoughts about programming language communities.

</comment><comment><USER38> Arrogance as an attribute of a software engineer? Naw...Say it ain't so!

</comment><comment><USER39> As a bit of an outsider (recruiter) that talks to people in various areas of programming, there does seem to be some perceived hierarchy in programming that is somewhat related to language communities, and I sense it quite a bit on HN. I can see how functional programmers could feel that what they are doing is more complex than what non-FP'ers are doing, generally speaking.

Based on how people reference complexity, I'd think FP languages would be considered to be at the top of the language community hierarchy. Even within FP, I don't feel it's a stretch to think many view Haskell and Lisps "above" say Scala. On HN, we may see more about Rust than we would out in the wild.

I do find that FP communities tend to seem inviting to at least some other language communities and are eager to introduce the FP world to certain other groups (say Python, Java) but perhaps less likely to other language communities (PHP).

</comment><comment><USER40> What, there are arrogant people on the Internet? Say it isn't so!

The fact that some user of a functional language is arrogant has no bearing on whether you should use it for your project.

If you think that it does, then maybe you shouldn't be a programmer, for two logical reasons. One is that it is not logical to think that, and programmers have to think logically. The other reason is that for any stack of development tools, we can find someone who arrogantly advocates it, so if the existence of arrogant evangelists is a problem, you must necessarily be discouraged to use anything at all.

What car do you drive? If it's any good (and even if it isn't), there are owners of the same car who arrogantly believe that they are better than others. So, sell it: you don't want to be associated with them!

<comment><USER41> This can be extrapolated to say "the community which uses a language should not have any bearings on your decision to use that language", which to me is crazy if only for pragmatic reasons -- a strong, welcoming community has tons of observably positive effects on my experience with a language (between docs, third-party libraries, SO/IRC presence, etc. etc.)

<comment><USER40> No, it can't be extrapolated that way, because the community which uses a language is more than just attitude (arrogant versus humble); the community has a productive aspect, like producing tools, libraries and such. Just the basic attribute of the _size_ of that community could be significant.

Some languages with a welcoming community nevertheless have arrogant evangelists.

You can make your own language and use it; where is the welcoming community then? And what if you're arrogant? :)

</comment></comment></comment><comment><USER42> I have always found the Haskell community to be very friendly to newbies. They have a great channel on freenode.

However I do agree that their can be a lot of arrogance in the FP world.

This is actually true of quite a few languages though. C (i.e. kernel) devs can be complete assholes towards people wanting to learn but are finding searching for things frustrating.

On the flip side the C and C++ communities, especially /r/cpp, /r/c_programming on reddit[1], are fantastic. Very newbie friendly with a lot of expertise there. Stephan T. Lavavej (/u/STL), the Microsoft STL maintainer, is very active on /r/cpp and responds to many questions asked of him.

[1] Also check out /r/cplusplus, /r/c_language, /r/cprogramming and /r/cprog

</comment><comment><USER43> Really, it's just Haskell. I've participated in pretty much every major FP community and the only place I find arrogance is the Haskell community. Never have I found any other FP _community_ to be arrogant apart from an occasional programmer or two. But Haskell is different...non-arrogant programmers are the exception. And as far as I can tell, those that are not arrogant are also exceptional in that they have actually produced something of merit, like jgm for example.

<comment><USER44> I have had the opposite experience in the Haskell community. Hell, /r/haskell even started a AMA for new Haskellers[0] this week, and all I see is pleasant replies.

[0] [https://www.reddit.com/r/haskell/comments/3cfax3/new_haskell...](https://www.reddit.com/r/haskell/comments/3cfax3/new_haskellers_ask_anything/)

</comment></comment><comment><USER45> In my humble opinion I suspect that the only fields more arrogant then the computer field are law and health fields. Then of course you can throw in the engineering and political fields. Have I missed anyone.

I seem to be cut from the old hacker mentality that all information should be shared and the collective minds can improve it to perfection. I have increasingly found though a mentality of "ask me no questions and I'll tell you no lies".

I guess my being a narcissist isn't what it used to be.

</comment><comment><USER46> A person (Uncle Bob) who makes a nice living off of selling cyclicle baloney on OO best practices to OO programmers thinks FP programmers are arrogant? Say it ain't so!

</comment><comment><USER47> I posted Andy Matuschak's Functional Swift talk on another thread, but it's worth posting here too -- it specifically addresses how teams can introduce Functional concepts in a way that brings everyone on board, without alienating anyone:

[http://2014.funswiftconf.com/speakers/andy.html](http://2014.funswiftconf.com/speakers/andy.html)

(Andy leads the mobile team at Khan Academy, and worked on UIKit at Apple before that.)

</comment><comment><USER20> It's pretty much like any programming language: you have people who see a language as a tool and people who have a language as a religion.

In the latter group, there is often language arrogance. But it applies to any language. How often haven't we heard "that's not a problem with Go, just use it longer and you will understand".

Now I wonder if there are still any arrogant COBOL believers around ;).

</comment><comment><USER48> There is no excuse for being arrogant or an asshole. In my mind it's as bad or worse than physical bullying. Sure, you may be more knowledgeable than someone else in your particular field of expertise, but you were once completely clueless. Being an asshole to people who are trying to join your community is like cutting your nose off to spite your face.

<comment><USER49> Did you read the article?

</comment></comment><comment><USER50> I've heaard a lot about functional programming but I still not getting how it should be superior to object oriented? I feel OO brings to the table concerete best pratices (everything should be an object, object have state, class defines object bejavior, class inheritance, objects encapsulation...) that's broken by functional.

<comment><USER51> Hi! I have been a programmer for a couple years and started picking up clojure after watching a few of rich hickeys talks. This is the one that best satisfies your question, imho: [http://youtu.be/-6BsiVyC1kM](http://youtu.be/-6BsiVyC1kM)

</comment></comment><comment><USER52> Where's the data? If the data is the tweets cited and googling 'Functional Programming Arrogant', then it's definitely a hasty generalization (the community is open) of a hasty generalization (the community is arrogant).

</comment><comment><USER53> Seem to be true, even mentioning JS in a FP thread means downvotes: [https://news.ycombinator.com/item?id=9826659](https://news.ycombinator.com/item?id=9826659)

</comment><comment><USER54> I think that FP gets a lot of coverage on this site because it's an interesting topic to lots of us...even though most of us won't ever even attempt it beyond a few samples.

That being said...SICP 4 LIFE!

</comment><comment><USER36> It's just a way too easy to take confidence for arrogance. It does not matter if this confidence stems from an illusion or from some real deeper understanding of how to hack things.

</comment><comment><USER55> Programmers? Arrogant? You've made the discovery of the century!

</comment><comment><USER56> more like: Programmers Are Arrogant

<comment><USER7> Does that make it somehow better or not worth fixing?

<comment><USER30> No, but it potentially includes the original speaker of the "<whatever> programmers are arrogant" idea and will hopefully make them reflect on what possible ways they could be improving their own sphere of influence. "Let he who is without sin casteth the first stone" and whatnot.

</comment></comment></comment><comment><USER57> News at 11: hyperbolic Twitter negative comment.

</comment><comment><USER58> ∃f(p)∈Arrogant Fucks where p == programmers</comment>


Random Surfaces Hide an Intricate Order - <AUTHOR> https://www.quantamagazine.org/random-surfaces-hide-an-intricate-order-20190702/ <comment><USER2> I wonder how many people were confused by this "water is boiling at 212 degrees" bit. Sloppy, no unit, no pressure and not a typically used unit either.

<comment><USER3> It's usually a fair bet that if a writer on the general internet uses ambiguous units, date formatting, or seasons, it's the American ones.

</comment></comment><comment><USER4> So where is the intricate order? I read the article, waiting to be surprised by that intricate order but didn't see it.

<comment><USER5> I think it means order in a way that's quite specific to the study of phase transitions. In a phase transition a system switches between a disordered phase (eg a gas) and an ordered phase (eg a solid) as measured by a so-called 'order parameter'. Here the transition is that of percolation (google it, or percolation theory, for detail - it's a big subject by itself) which, in 2 dimensions say, transitions between a phase where the order parameter is zero and there are just disconnected clusters with an expontential size distribution, and a phase where the order parameter is non-zero and a cluster is connected across the entire system. The critical point at which the transition actually occurs tends to be the point of most interest and it's characterised by power law distributions. So it's a slightly broader definition of order than people outside the subject might be accustomed to.

Here, they analyse percolation on a random geometry and look at how this influences the percolation transition. For instance, how the size of the largest cluster scales with system size. This isn't new in itself, it's been an interesting problem for at least a couple of decades. Just skimming the paper, I _think_ what's new here is one or two new results for the combination of this particular random geometry and percolation. I have to say, I didn't quite get the sense of novelty from the paper that I felt the title of the article promised.

</comment></comment><comment><USER6> "How To Be An Artist - The Math Way"

* random data

* crunch through algorithm with audio/visual output

* sprinkle in constants - the algorithm itself counts

* re.: the article, make some arbitrary division between the constants

* tweak constants until it looks "interesting" \- take note that for some algorithms and styles of visualization certain constants help (1/2 in the article) - aaah fundamental truth about the universe whee whoo!

* art!

* discover that this is an obvious property of the relation between arbitrary set of constants A and arbitrary set of constants B

* endless, hopeless, bleak dispair - as befits an artist

* profit

The French are masterfully vapid, as ever. Nothing new under the sun.</comment>


Cuomo files antitrust suit against Intel - <AUTHOR> http://online.wsj.com/article/SB10001424052748704013004574515463907986686.html?mod=WSJ_hps_LEFTWhatsNews

<comment><AUTHOR> This might be behind a paywall, here is another link: [http://www.nytimes.com/2009/11/05/technology/companies/05chi...](http://www.nytimes.com/2009/11/05/technology/companies/05chip.html?_r=1&hp)</comment>


Firefox Strategy Is a Recipe for Failure - <AUTHOR> http://www.pcworld.com/businesscenter/article/230868/firefox_strategy_is_a_recipe_for_failure.html

<comment><USER2> Wow, what a lame article.</comment>


Amazon Kindle growth curve similar to iPods' - <AUTHOR> http://www.techcrunch.com/2008/05/14/amazon-may-sell-750-million-in-kindles-by-2010-thats-a-lot-of-kindles/

<comment><USER2> This analyst doesn't seem to understand the concept of early adopters. Based on the slimmest evidence, he concludes Amazon has sold 30,000 of the things. Even so, that implies nothing about the future sales. We're still solidly in the territory of people who'd buy one out of curiosity.

</comment><comment><USER3> Wasn't the iPod Mac only back then? And wasn't Apple at it's lowest market share ever? When they made the iPod work with Windows, they broadened their market something like 20x. Kindle is already aimed at everyone.

<comment><USER4> I wouldn't worry too much about it. The title here on HN is misleading. The analyst isn't saying that the Kindle has the same adoption curve, but rather that IF it does turn out to have the same adoption curve, it'll be a big hit. Nahhhhh, really?

<comment><AUTHOR> The interesting thing is why Kindle is selling so well, and why exposure to an actual unit seems to convert people far more quickly than one would expect from similar units (the sony version though slicker looking is not doing nearly as well).

My take is that, as with the iPod it's the service element that makes the device (any book you want, any time you want, any where you want) so compelling.

And I've seen a fair amount of anecdotal evidence of non-geeks confiscating Kindle's from early adopters; which coupled with the Kindles decidedly unsexy design suggests that there is a much deeper pent up demand for what the kindle has to offer than there was for the ipod.

It's a big wave forming up and it's ripe for riding; what could be built to supply the Kindle Ecosystem?</comment></comment></comment>


Design early. Earlier than that. - <AUTHOR> http://helloform.com/blog/2010/10/design-early-earlier-than-that/

<comment><USER2> "I'm not going to remember you use a sharded MongoDB infrastructure as your database"

But you're sure as hell going to remember if the site is down for 11 hours.

<comment><USER3> Do you think it's a serious blow for a consumer facing site to be down a day? Enterprise, sure.

<comment><USER2> I do actually, more for the effect on credibility than for anything else. Just as users have "itchy back buttons," I think they also have "meh, this is the last straw, I'm going to try out the competition" moments.

<comment><USER4> Can you cite a case where this has actually transpired? Obviously in the extreme example where the site is never available I can see it having an effect. But spotty downtime I've seen actually have the opposite effect - users become more loyal. On one forum I frequent the "500 errors" are sometimes looked forward to since they usually signify a big news event is happening. Reddit and twitter are other sites that don't seem to have been negatively affected by spotty downtimes. I do think that regularly (excruciatingly) slow performance can have an impact though - one of the reasons I left digg with V3.

<comment><USER2> I don't think companies are going to publicize cases of losing customers due to downtime. But just to turn it around a bit, think of someone coming to a site for the first page. What's the user experience for them if the site is down?

</comment></comment></comment></comment></comment><comment><USER5> I agree with the majority of the article. I think that design is very important and is essential to user experience on your site, however, i dont think design is more important than engineering like the author states.

You can have a functional site with no design, but you cant have no function and just a design. I'm not saying you have to choose between the two here, just saying, engineering is the meat of all websites, without it, you have nothing.

<comment><USER6> Whenever I read a blog post like this, my reaction is "can't we just agree that both are crucial and have that be our answer?"

Even if one day someone establishes a sound mathematical proof that design is more important that engineering or vice versa, what will we have gained from that? Reminds me of the joke about the most important organ in the body...

<comment><USER7> What's the joke?

<comment><USER8> Something like "the one that just failed".

</comment></comment></comment></comment><comment><USER9> "I'll go on a limb and say that design is more important than engineering"

No it isn't. Let me explain.

Design is incredibly important. No doubt about it. But I hire designers by the week, perhaps by the month. I hire them by the design. I have longterm relationships with them. They are a core part of the project but they are interchangeable, if push comes to shove. And I don't need them engaged every day. I really don't.

Most companies are not Apple. Apple has design at its core because it creates tangible products. I loath Jobs and all he stands for -- I detest bullies -- but I saw an Air for the first time (years ago) and had to touch it. Shiny. Hardware design is not software design.

Personally, I don't like the metaphor of "experience" that is currently en vogue. I have never had an "experience" with a site or application, but I have used them. They are functional things, designed for purpose, to fulfil an objective. They are not an orgasm. I wish. They are do not evoke a tangible emotional response. I have never been moved to tears, even close, by viewing a webapp. I do not weep at Google's minimalism YMMV. Graphical designs, as applied to computer application, are not an experience. They really aren't.

I can buy that interface design. And I love to. I love the process, the passion of the artist, and the attention to detail. But that's all it is. And I can get it in many places.

But the skill required to build the infrastructure and networks of complexity that satiates all the requirements of my business plan, and things I have not thought of yet, and things I don't even know I need yet, now that takes skill and experience that cannot be defined, let alone hired by the week. That takes immersion and involvement. That takes a large degree of dedication, foresight, and yet more dedication. It almost take faith in the belief that unforeseen obstacle can be overcome. All of them.

Rewinding, design is incredibly important, a central part of any initiative that's outward facing. But top of the pile it ain't. And it never will be. I can buy it by the hour. I can buy it off the shelf. I hope I never have to.

</comment><comment><USER10> I quite agree with the suggestion that a startup be founded with a designer. IMO, founding engineers should ideally be able to wear product and design hats, but a dedicated designer probably doesn't probably doesn't make sense in all cases.

As TamDenholm said below (paraphrased), design is important, but no engineering == no product.

<comment><USER11> well said ... a designer isn't going to be utilized 24/7 in my mind but the engineers will.

I'd be curious to find out how a company like 37signals keeps its designers completely occupied though.

<comment><USER12> They operate in teams of one designer, two developers: [http://37signals.com/svn/posts/2099-2010-the-year-of-the- pro...](http://37signals.com/svn/posts/2099-2010-the-year-of-the-products-a- new-way-of-working)

<comment><USER11> I understand that, I was just wondering how they find enough stuff for them to do everyday, I'm a little ignorant about how you would keep a designer occupied full time working on just one product.

<comment><USER13> Much like programming, design is never finished. I can imagine a designer working full time on improving the experience of an application like Basecamp. Even more if the designer works on stuff like SEO, analytics, A/B tests, etc.

</comment></comment></comment></comment></comment><comment><USER14> " I'll go on a limb and say that design is more important than engineering or ops today"

So, a designer thinks design is most important. Oddly enough as an engineer, I think engineering is most important. Anyone know an ops person who thinks that ops is most important?

Seriously though, this article has a good point. It's a shame the author ruined it with the above. Is it really a good idea to start these kinds of arguments? Trying to convince people your department is better than theirs is not only childish, it's bad for the whole company.

</comment><comment><USER15> Instead of having a single person working on UX/design everybody should be thinking about it. While eating your own dog food (you are aren't you?) think about how many mouse clicks you can remove, about how many settings options you can remove, etc.

</comment><comment><USER16> This is important in more than just startups and software/websites. This is important is pretty much everything. Designing for human factors should be incorporated as early as possible in pretty much everything, from software, to physical user interfaces (with actual toggles and such), to boring old registration procedures (done with paper!). If you accept the premise that you should be designing for human factors at some point, then you should be applying it as early as possible to save you the most money, time, and generate the largest return. Your minimal viable product should have undergone some sort of "design" when it leaves the door. It doesn't have to implement everything, or even most of it. It just has to be ready to grow into something that does.

</comment><comment><USER17> I've always wondered how ycombinator handles design. Do they have designers on site , do teams hire designers to get it right or do they count on the teams to do it on their own. I'm no good at design and I don't know anybody who's good at it. I just browse Themeforest and buy one if I need one.</comment>


Steve Yegge is an idiot - <AUTHOR> http://enfranchisedmind.com/blog/posts/steve-yegge-is-an-idiot/

<comment><USER2> Anybody that is prepared to use someone else's name in the tile of an article slinging mud at that person should at a minimum pass a reading comprehension test before hitting the 'submit' button.

<comment><USER3> I haven't read the case against "private" and "public", but I also think that it is good to support private/public qualifiers.

That said, it is unfortunate that the blogger tries to get his point across through a title that gratuitously insults Steve. It is even more sad that these titles turn out to be the best way to capture people's attention. I'm assuming that the post would have gotten a fraction of the page views (and upvotes) if it had used a more reasonable title.

<comment><USER4> Well, the point is that Steve didn't actually say anything against "private" and "public", he posted a satire article poking fun at certain things. This guy obviously didn't get the joke and is calling Steve names over it.

</comment></comment></comment><comment><USER5> Lets hope the author does not stumble upon <http://www.theonion.com>

<comment><USER6> Reminds me of the bengali (I think) newspaper that took the article on Armstrong becoming a moon hoax believer seriously.

</comment></comment><comment><USER7> "… it's just that in C++ and the like, you don't trust anybody, and in CLOS you basically trust everybody. the practical result is that thieves and bums use C++ and nice people use CLOS."

<comment><USER5> :) where is that quoted from ?

<comment><USER7> Erik Naggum[1], apparently in his "Capital letters are for conformists" phase.

Apart from the satire aspect, I think the strictness of enforced contracts is a difference in mindset between Eiffel/C++/Java people and those coming from Lisp and other dynamic languages.

[1]: [http://groups.google.com/group/comp.lang.lisp/msg/07310c842f...](http://groups.google.com/group/comp.lang.lisp/msg/07310c842fea847c?dmode=source&output=gplain)

<comment><USER5> Thanks for the source.

</comment></comment></comment></comment><comment><USER8> Well, the author clearly understands best practices much, much, better than he understands satire.

</comment><comment><USER9> Wow, I'm glad someone finally cleared up the purpose behind accessibility keywords. Take that, Steve. /s

</comment><comment><USER10> Its great to see Steve back again. The author of this article is either a) just trying to be funny but is not good at it or b) was declared protected internal static anal at birth.

If they ever do add anal as an actual keyword is Java then I will start using it.

Seriously though, I always thought Python's approach to encapsulation was a bit weak (my background = Delphi and C#) but after reading all this it's more like having your cake and eating it too.

</comment><comment><USER11> "Who's fault is it? Person B can claim that since their code worked with the older version of X, it's person A's fault. But person A can claim that module Y should never have depended upon that particular behavior in the first place."

So apparently the point of having the private keyword is so you can point the finger at your coworker and say, "You should have made that private!"

<comment><USER2> That should work nicely together with the 'blame' option in svn.

</comment></comment><comment><USER4> If this is a joke too, then.. I don't get it.

If not, it looks like its not Steve Yegge who's the idiot.. time for somebody to look in the mirror perhaps?

</comment><comment><USER12> Wait... who's the idiot? And it appears like they are playing it off in the comments like they knew this was a joke? Last time I heard "fetid dingo kidneys" it wasn't a haha sort of thing.

</comment><comment><USER13> subtitle: "And I'll gladly take some of his page views."

</comment><comment><USER14> The only part worth reading was the first paragraph. Fetid dingo kidneys. Just...wow

<comment><USER15> "fetid dingo's kidneys" is a Douglas Adams-ism. From _The Hitchhiker's Guide to the Galaxy_, IIRC.

</comment></comment><comment><USER16> whoosh!</comment>


Ten crypto predictions from the co-founder of the Blockchain Research Institute - <AUTHOR> https://qz.com/1171977/ten-2018-predictions-from-the-founder-of-the-blockchain-research-institute/ <comment><USER2> This thing is one of the biggest scams I've seen in my lifetime. Also comparing it to Bretton Woods is hilarious. A monetary system that lasted what 10 years before it failed?

Maybe that was intentional. [https://www.imf.org/external/about/histend.htm](https://www.imf.org/external/about/histend.htm)</comment>


House Restores Local Education Control in Revising No Child Left Behind - <AUTHOR> http://www.nytimes.com/2015/12/03/us/house-restores-local-education-control-in-revising-no-child-left-behind.html <comment><USER2> 3 thoughts here:

1) There's a lot going on in No Child Left Behind, but one of the interesting ideas is to segment up the student population by gender, income level, minority group, etc and define failure via measurement of inadequate scores in any subgroup.

2) I'm not convinced most states should be spending the time or resources setting their own individual educational programs. With the global economy we are in, it's not like the needs of students in Washington state are that different than Oregon or North Carolina. This infrastructure overlap provides a lot of job security for administrators.

3) Lastly, its hard to strike the right balance between the benefits of longitudinal testing, not spending too much time testing students instead of teaching them, and lastly not teaching students to pass the test (instead of try in learn the underlying concepts).

Suffice to say, there's a lot going with these bills and their subsequent iterations.

<comment><USER3> > I'm not convinced most states should be spending the time or resources > setting their own individual educational programs. With the global economy > we are in, it's not like the needs of students in Washington state are that > different than Oregon or North Carolina.

But this is true of state law as well: in principle, there's really no reason why you'd need to have different laws in different states, but it turns out the ability to respond more quickly to challenges and to try out ten different solutions in ten different states is really useful. It's not like we've discovered the perfect curriculum yet, either. And it's not even clear we know what we want or need: ask 10 companies and 10 universities what they expect out of a high school student and you'll get 20 different answers.

<comment><USER4> > to try out ten different solutions in ten different states

Interesting, I never quite thought about it in these terms. If you squint at it right, it's almost like A/B testing laws.

<comment><USER5> This is why the states are sometimes called "laboratories of democracy."

<comment><USER6> too bad everyone of them is a control group.</comment></comment></comment></comment></comment>


An investigation into the economics of airplane seat reclining - <AUTHOR> http://evonomics.com/resolve-fights-reclining-airplane-seats-use-behavioral-economics/ <comment><USER2> I'm happy to not recline my seat when I'm sitting in steerage, unless the human sitting in front of me reclines.

So it's not about making a deal with whomever sits before you; instead, it's about making a deal with everybody in your column and lower row number, at least up to an exit row. All it takes is one recliner to ruin it for everybody.

<comment><USER3> Exactly. Numerous times over the past two years as I've traveled more for work I've had to out loud say the phrase: "We're all in this together".

<comment><USER4> Who did you say that to? If it was to the person in front of you, you're being an asshole. Just recline your seat or deal with the reduced space in front of you.

If you want more room between you and the seat in front of you, pay for it. Don't try to guilt the person in front of you to make their own flight uncomfortable for sleeping to please you. That's selfish.

<comment><USER3> Take it easy.

I've said that to numerous people. I never say that to people in front of me who recline. I deal with it like everyone else does.

The most recent time was during one of the computer outages, someone tried to cut in front of everyone to check a bag. I just calmly said that we're all in this delay together, we all have places to be, and it's nobody's fault at this counter. So just wait like the rest of us.

I actually don't get into conflicts with air travel, but for some reason it triggers others instantly.

</comment></comment></comment></comment><comment><USER5> Flying without reclining my seat is pure torture to me. I find the default vertical position of the seats deeply uncomfortable. What if all seats had a slightly reclined angle already?

<comment><USER6> Flying in a reclined seat is pure torture to me.

<comment><USER7> What if we grouped the plane into two sections: those who want to recline, and those who do not?

If you're a recliner behind a recliner, happy. If you're a non-recliner behind a non-recliner, happy. Split on the exit row, or hopefully at least one row of people who don't care.

<comment><USER8> Not everyone flies alone and not everyone who flies together has the same preferences for reclining their seat.

</comment></comment></comment></comment><comment><USER9> If you suffer from lumbar (or any other region) pain in your column, reclining or not is a huge difference. I never had problems about knees getting closer or not, etc., but having suffered from lumbar pain for a part of my life, I can assure you that reclining or not has a big impact.

No, it doesn't mean that pain -> need to recline. Sometimes it gets better keeping it straight, sometimes you get relief when you recline.

The advantage was to have the option to choose it at every travel, or during the travel.

As options get limited, so was my pleasure getting lower.

<comment><USER10> > I never had problems about knees getting closer or not

But other people do, that's the point.

I'm only 6'1 but with long legs, if someone reclines in front they're literally on top of my knees the entire flight. When turbulence occurs they bounce up and down on my knees.

I try to book exit rows and Economy+ when budget allows, but for all other times I take painkillers and just have to let my knees get damaged by the 4' woman in front of me who's comfort is more important than my pain.

<comment><USER11> So should the smallest/cheapest seat be designed for shaq to sit in it?

Why should smaller people be forced to pay for bigger seats that they do not need?

<comment><USER12> the seats are fine, reclining is not and should be removed completely

</comment></comment></comment></comment><comment><USER13> Have I been on different airlines than these people who fight?

In my experience airline seat backs pivot at a point somewhere around knee height, so reclining a seat doesn't affect legroom at all. When the person in front of me reclines it tilts my laptop monitor a little but that's it.

<comment><USER14> I guess so. Every flight I've been on has made it uncomfortable for me if the person in front is reclining. The angle makes my laptop have to open less than 90 degrees (15"). The incline also has to begin below the knee (ie. at the base of your seat) because the seat is horizontal and seats are at the same level.

My knees usually touch the seat in front so I have to spread my legs awkwardly when the recline happens.

</comment></comment><comment><USER15> For anyone who dislikes recliners - in what manner does it inconvenience you? For me, it's not useful space that is taken up, except perhaps transiently as I squeeze past my neighbours to get to the aisle. My knees are below the point that reclines. Are laptops the problem?

<comment><USER16> Can't use laptops, can't eat on the tray because there isn't enough space left, and can't watch the monitor on the back of the seat because it's facing down.

So it's pretty inconvenient.

<comment><USER17> Pro tip almost all of those screens allow you to pull the bottom out to make it flat again. I don't think I've ever been on a flight this wasn't true on actually.

</comment></comment></comment><comment><USER12> TLDR ask person in front of you not recline and compensate them with drink or other small gift and most likely they will accept it even without the gift

<comment><USER18> What is this blasphemy of treating humans like humans. It is crazy how many overly dramatic articles and situations could probably be resolved by simply civil dialog and discussion.

<comment><USER19> Because about half the time the response is extremely uncivil, so people are afraid to try the civil approach. So people do just as you say: treat humans like humans. Since humans are largely evil, that results in the behavior we see.

<comment><USER20> It's not that humans are largely evil but about asking people to be less comfortable based on your own preference. Don't recline. Move to a non- preferred seat so I can sit next to my girlfriend. Etc. In some cases this may be reasonable but they're the sort of negotiation I prefer not to get into on a Plane where you're implicitly the bad guy if you say no.

<comment><USER12> it's not about my preference if you hit me with your reclined seat

it's like saying I am making smoker less comfortable based on my own preference that I wanna breathe clean air, he is disrupting clean enviroment, you are disrupting good relations by reclining, I have no problem to not recline for person behind me, because once you do it everyone behind you have to do it to gain a little space the first person who started these selfishly took

<comment><USER17> It's not like that at all in this case the person in front of you has paid for that space you are occupying. It was never your space to begin with.

<comment><USER12> no, you buy seat with space for your legs, if someone is taking my space for legs he is taking something I paid for

they paid for space in front of their seat up to back of the seat in front of them

<comment><USER17> They paid for the space taken up when the seat reclined if your legs don't fit in that space they you need to buy another seat or pressure airlines to start better serving people of your size. It's not the person in front of you who is at fault it is everyone that has ever done a ticket search and sorted from lowest price to highest.

<comment><USER12> i am no special person, i am pretty skinny so they have low fuel expenses on me compared to some short fat people and i have no problem to travel with reasonable polite people who won't recline seat for someone much taller seeing behind them

but ok, let's stop being polite and charge people per kg of weight if we do this already with baggage, at least fat people will have motivation to stop eating, not sure what unhealthy i did that i grew tall and should handle ignorant people reclining seats

<comment><USER17> There is nothing impolite about using a space you paid for. I don't see how charging by weight would improve your situation any. You're still trying to fly in a seat that doesn't fit your body.

<comment><USER12> well hurting someone (by pushing your seat on their legs) unless it is necessary (which it is not in case of reclining, you can just sit as fine without reclining) is impolite by standards of most civilized countries

but maybe in your country causing unnecessary discomfort to other person is being polite...

<comment><USER17> Imposing on other people's space to save money is impolite to me.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> I have only had an issue with a reclining seat once before. It was a transatlantic flight on a horribly old 767 and the gentlemen in front of me reclined (at speed) and then turned around and ordered me to get my knees out of his back as though I could miraculously make myself a few inches shorter. My row mates and I had a good laugh about it and I resolved to only fly premium economy for flights of any meaningful length in the future.

</comment><comment><USER22> I think this problem has been at least partially solved with the slide forward to recline seats; e.g.:

"One product from Zodiac is the 5751 slimline economy class seat. This particular model of seat uses a unique recline mechanism where the seat bucket moves forward while reclining."

[https://en.wikipedia.org/wiki/Zodiac_Seats_U.S](https://en.wikipedia.org/wiki/Zodiac_Seats_U.S).

here is an example of the seat: [http://downloads.cathaypacific.com/cx/new_seat/seatguide/Oly...](http://downloads.cathaypacific.com/cx/new_seat/seatguide/Olympus_y.pdf)

p.s. on international 8+ hours flights resting/sleeping without reclining is challenging ...

</comment><comment><USER23> The whole situation is ridiculous - the airlines clearly know if they sold you the right to recline or not, if they only stopped being so damn ambiguous about the rules there would be no fights.

<comment><USER20> What's ambiguous? Airlines let you recline except during takeoff and landing. However, various people argue that just because you can doesn't mean you should.</comment></comment>


Why the NSA Dump Isn't from an Insider - <AUTHOR> https://medium.com/@thegrugq/completely-wrong-a300246ad316#.v112fv666 <comment><USER2> Would the NSA prefer to have these dumps be vaguely attributed to an insider?

I wonder if they would because any mistake in handling data calls into question their competence which calls into question their ability to keep that big database safe. The one with all our call records, etc.

<comment><USER3> There are plenty of reasons they might.

The (mainstream) Snowden narrative was one of disgruntled employees and treason. The _contents_ of the leak drove some muttering about NSA regulation, but the _nature_ of the leak didn't. It just led to a lot of calls for "internal whistleblowing", which has been repeatedly proved useless.

Enemy action, by contrast, doesn't support a focus on the attacker. Nobody expects Russia to play nice, and nobody can realistically suggest 'discouraging' state powers from hacking and leaking. The tools _will_ be misused (from a US government viewpoint) since the new owner has US-unaligned goals. The only barrier left is security, which appears to have failed.

If insiders leak details, then it's just a conversation about what the NSA does with its tools. If foreign powers get those details, then the "reveal and patch" crowd is bolstered by the knowledge that outsiders are using the same tools.

<comment><USER4> >Nobody expects Russia to play nice,

I do! I expect Russia, China, the US, the UK, Australia, and even places like the Middle East to play nice when it comes to their Intel services.

Why? Because I expect them to be staffed by exactly (precisely) people like you and me and the people reading this forum, and I believe there is an incentive for the intelligentsia to completely ignore all political things and simply be awesome stewards of a safe world. In fact, I think that there should be a secret conspiracy by every single intel worker worldwide to band together online in a meta-community. I think they should state in this very forum (HN) if they are being asked to do evil - such as in reply to this comment - because they're part of this meta-conspiracy.

I don't think this is hopelessly naive because I can say with certitude that there are people reading this from intelligence agencies all over the world. Why wouldn't they?

I expect this to be viciously downvoted and I don't care. I think I'm on the right side of history and I think that the people who expect these geeks to wage war on each other are on the wrong side of world history.

It's very black and white. (The reach and extent of the activities of these respective services is a different matter entirely and not a subject of this comment.)

<comment><USER5> Many physicists didn't want to work on nuclear bombs but they were convinced to help develop it because they were afraid other scientists with even less ethics would build one first. It only takes one Leo Szilard to ruin it for the whole human race.

<comment><USER6> I'm reminded of Einstein wanting 1,000 copies of the famous Hiroshima edition[1] of the New Yorker (70 years ago this week) to send to colleagues.

[1] [http://www.newyorker.com/magazine/1946/08/31/hiroshima](http://www.newyorker.com/magazine/1946/08/31/hiroshima)

<comment><USER7> That story is an excellent read - first hand accounts of the Hiroshima bombing. I'd forgotten the article existed - I seem to remember it being released for free in the last year or so? Thanks.

</comment></comment></comment></comment></comment></comment><comment><USER8> _Puts on tinfoil hat_

I'm a little naive when it comes to this sort of tech, but does anybody else wonder if this leak could be a notice from the Russians that they do, in fact, have all of Hillary's emails?

</comment><comment><USER9> Lots of people are talking like it's a political move, insiders, super team hackers... but imho this is just to level up the game. Pretty sure that this tools are know to the NSA to be leaked and probably saw a small guy using this therefore they release the stash of the most "shared" tools to the general public via this charade and the small players start again from zero and the big league players (equation group) can dominate the the field again with his 0-days.

<comment><USER10> Have you seen anything to support this theory or are you just practicing your creative writing?

<comment><USER11> I am going to steal this creative writing line and add it to my other favorites

Don't meet trouble halfway.

You are entitled to your own opinions but not your own facts

There are two kinds of problems: yours and mine and this is not mine

</comment></comment></comment><comment><USER12> > No team of "hackers" would want to piss off Equation Group this much. That's > the kind of cojones that only come from having a nation state protecting you

I like that part. Yes, don't make the middle aged dads from Fort Mead angry.

<comment><USER13> Would Lulsec in its prime have been willing to piss off the equation group? To me the answer is clearly yes.

<comment><USER14> Yeah, not only would they be willing but it practically be what they existed for. I think your typical black hat has very different weights on risk and reward for these sorts of things than your typical software engineer; hence why they went the life path they did.

<comment><USER13> ...and your typical blackhat is not Lulzsec. I suspect that the media-hungry blackhats are the tip of the iceberg. No surer way to getting a taskforce assigned to finding you than doing high-profile media stunts (ask DPR), most hackers don't want this, but some clearly do.</comment></comment></comment></comment>


Improving collaboration with forks - <AUTHOR> https://github.com/blog/2247-improving-collaboration-with-forks <comment><USER2> This is huge. With Hack Club ([https://github.com/hackclub/hackclub](https://github.com/hackclub/hackclub)) we get a fair amount of PRs from beginners that have one or two minor issues.

We eventually gave up trying to get beginners to fix their pull requests and would manually pull their work to our personal forks, fix it, and then open up new pull requests.

Very excited to see this fixed.

<comment><USER3> It was always possible to send PRs into other PRs, because a pull request is just a branch attached to an issue tracker. I've done it before, but not with newbies. This looks like a nice improvement to the interface, though.

<comment><USER2> Yeah, we started by trying that. To be frank, it turned into a clusterfuck pretty quickly because most beginners that send PRs our way don't understand their internals (i.e. that PRs are linked to branches).

</comment></comment></comment><comment><USER4> This is great. Occasionally I jump into helping with some PRs (for example [https://github.com/adobe/brackets/pull/12251](https://github.com/adobe/brackets/pull/12251)) and before the choices have been either making the changes and asking for the contributor to pull the changes in from some other branch, posting some `.diff`s or just pulling the changes in and pushing them in yourself. This will make all that much simple and best of all more collaborative.

</comment><comment><USER5> I have been envisioning such a feature for a while. I can imagine some pitfalls, but I think that my teams will be working this into our approach pretty quickly.

</comment><comment><USER6> For small tweaks, this is great. I have been wanting this for years. Oh yessss

</comment><comment><USER7> Yes! Saves the PRs on PRs...</comment>


Ask HN: How much do you spend on your internet connection? - <AUTHOR> Hi hacker's, I was exporering options to renew my subscription and came to the opinion that the most optimum internet plan I can access within Uganda(where I live), is about $1 per GB capped at a speed 2 MB/s.
This is a bit expensive for me. & I Just want to answer 2 Questions;
1. How bad are our prices compared to that of other hackers?
2. Can the price be reduced by magnitudes more (if its magnitudes cheaper in other areas may be it can be reduced)? <comment><USER2> I'm in France and pay 20€/month for a 500mb/s connection with no data cap.</comment>


Ask HN: Why are gold stocks so low right now? - <AUTHOR>

I noticed that Yamana and Barrick have really low stock prices right now. I'm not someone who buys stocks very often, but this is pretty tempting. Anyone know why they're so low right now? <comment><USER2> There is a perception that gold is going to hit a downtrend, especially after the sharp sell off last month, which didn't fully recover. The dollar is getting stronger and mining costs are still high. Gold miners' margin is dependent on gold price, which means that a fall in gold can wipe out profits. Gold stocks typically trade many times its book and earnings, so they are sensitive to gold price.

</comment><comment><USER3> Obviously they are dependent on the price of gold, which is down mostly due to the strong US dollar and the stock market performing well.</comment>


Networked rebuild and self-healing in HAMMER2 - <AUTHOR> http://lists.dragonflybsd.org/pipermail/users/2015-March/207578.html <comment><USER2> I've said it before: RAID on the storage node shouldn't be assumed to be a good thing. With good enough inter-node replication and recovery, it's just another complication to go wrong.

</comment><comment><USER3> Top posting, plus lacking dillon@'s trademark indentation?

This is either not written by dillon@ or he's become a gmail user or something.

<comment><USER4> the amount of conspiracy theories about every post attributed to dillon is getting out of hand</comment></comment>


Amazon patents wristband that tracks warehouse workers' movements - <AUTHOR> https://www.theguardian.com/technology/2018/jan/31/amazon-warehouse-wristband-tracking? <comment> le-mark Ah, gathering data to train ML picker bots? Ie reverse kinematic the arm (shoulder, wrist, elbow) movement? Very interesting indeed.</comment>


Ask HN: Is there a self hosted LastPass alternative you know of? - <AUTHOR>

After the recent security breach at LastPass I became curious and when searching for a self hosted alternative, I specifically want something I can host INSIDE my own network.  Unfortunately I didn't turn up much.
It would need to work on OS X, have decent browser integration and crucially run on a server in my network.  That way I can control the accounts for my family.
Anybody got any suggestions? <comment><USER2> [https://www.zetetic.net/strip/](https://www.zetetic.net/strip/) is working on an iOS browser extension. They can sync over local wifi between mobile and desktop. You can emai them with new requirements.

[https://www.zetetic.net/blog/2011/10/10/how-to-sync-strip- da...](https://www.zetetic.net/blog/2011/10/10/how-to-sync-strip-data-across- multiple-devices.html)</comment>


GMail automatic message translation - <AUTHOR> http://gmailblog.blogspot.com/2009/05/new-in-labs-automatic-message.htmlG

<comment><USER2> Your link needs fixed; there is an extraneous "G" appended to the .html</comment>


Dalton Caldwell's  Talk On The Challenges Facing Music Startups - <AUTHOR> http://techcrunch.com/2010/10/20/imeem-founder-dalton-caldwells-must-see-talk-on-the-challenges-facing-music-startups/

<comment><USER2> This was definitely one of my favorite talks. I spent a long time looking for the video. Dalton's clearly on top of his stuff and pretty funny, too.

<comment><USER3> Thank you.

I am probably going to do a "ask me anything" about this stuff once I have a chance to catch my breath.</comment></comment>


New King of Technology: Apple Overtakes Microsoft - <AUTHOR> http://www.nytimes.com/2010/05/27/technology/27apple.html?hp

<comment><USER2> Apple valuation may be a bubble; Microsoft valuation has been building for twice as long. This may be temporary.</comment>


Mining PGP Key Servers - <AUTHOR> http://cryptome.org/2013/07/mining-pgp-keyservers.htm

<comment><USER2> >Perhaps still helps, witting or unwitting, by advising use of PGP.

What exactly would the alternative be?

<comment><AUTHOR> Don't use key servers.</comment></comment>


Audiences experience 'Avatar' blues - <AUTHOR> http://www.cnn.com/2010/SHOWBIZ/Movies/01/11/avatar.movie.blues/ <comment><USER2> See also my analysis: [http://www.jgc.org/blog/2010/01/cnncom-jumps-shark-by- writin...](http://www.jgc.org/blog/2010/01/cnncom-jumps-shark-by-writing- story.html)

<comment><USER3> Pretty remarkable considering any 13 year old can run a more popular forum.</comment></comment>


The Secret Life of a Tech VC and His $10M Infidelity - <AUTHOR> http://www.bloomberg.com/news/articles/2016-03-17/inside-the-secret-life-of-a-tech-vc-and-his-10-million-infidelity <comment><USER2> Republican donor. What a huuuge surprise. I hope the lawyers get super rich off of this guy and his hooker gf.</comment>


Feynman's science lesson for entrepreneurs: Challenge authority. - <AUTHOR> http://www.radicalsocialentreps.org/2012/05/physicist-richard-feynmans-science-lesson-for-entrepreneurs-challenge-authority/

<comment><USER2> I'm not sure if Feynman would endorse the scientific framing that is being applied, in that article, to the haphazard process by which society evolves.

Science experiments should try and be, at least to some extent, repeatable.

When the article starts talking about 'social experiments', e.g.: "He's referring to laws of nature of course, but let's take a step back and imagine that society is a scientific enterprise. Discovering good legal rules, good regulations, or good constitutions is hard — they are not 'given' to us. They evolved. They appeared through different experiments in different places at different times, by different people. They will continue to change."

I think that's stretching it, and going towards the dangerous territory of framing social debate as if it were a science, and as if the 'disruptive innovation by entrepreneurs' was scientific experiment.

I think Feynman was exacting about what could be considered an experiment. From his commencement address, on 'cargo cult science', which covers this general area: "I explained to her that it was necessary first to repeat in her laboratory the experiment of the other person--to do it under condition X to see if she could also get result A, and then change to Y and see if A changed. Then she would know the the real difference was the thing she thought she had under control."

He also points out that it can be bad to use the language of science, if you aren't really doing science: "Another example is how to treat criminals. We obviously have made no progress--lots of theory, but no progress--in decreasing the amount of crime by the method that we use to handle criminals. Yet these things are said to be scientific. We study them. And I think ordinary people with commonsense ideas are intimidated by this pseudoscience. A teacher who has some good idea of how to teach her children to read is forced by the school system to do it some other way--or is even fooled by the school system into thinking that her method is not necessarily a good one. Or a parent of bad boys, after disciplining them in one way or another, feels guilty for the rest of her life because she didn't do "the right thing," according to the experts." <http://www.physics.brocku.ca/etc/cargo_cult_science.php>

I'm not saying the article is making the mistake of cargo cult science; but just that it seems to be skirting a little close to that territory, by applying the language of science to situations in which people are not trying for rigorous experiments, and where isolating variables is particularly hard.

I don't think that disruptive innovation by entrepreneurs would meet Feynman's definition of science. I like the framing of a startup as a company set up to test a hypothesis about a business model, but I think there's a distance between entrepreneurship and science.

<comment><USER3> If an experiment works, who cares how rigorous it was?

For the example of a society I think a good metric would be: "How many people enjoy living in this particular society and don't want to move away?" We wouldn't need to make any big changes right away because we could start experimenting with what we have already: cities and towns.

How about this: "Cities and towns can create some of their own laws (but only certain types of laws that have been pre-approved by the state and federal courts). These laws will supersede state and federal laws."

I think this would give countries the opportunity to experiment with the effects of theoretically harmless legislation (e.g. cannabis legalization, polyamorous marriages, the invention of new types of corporations) that might make people uncomfortable if they were instantly implemented on a larger scale.

There would probably be a long period of adjustment as cities and states got used to their new relationship, but I think in the end it could bring smaller communities a lot closer together and make places in general a lot more interesting and unique.

<comment><USER4> Ollerac is definitely onto what I was arguing in this article. Allowing people to 'opt-in' and vote with their feet in a system with greater policy experimentation through decentralized, competing jurisdictions is perhaps the closest we can get to scientific rigor (holding culture relatively constant, for example).

There is a section on "Exit and Voice" which discusses this on www.radicalsocialentreps.org/theory as well as a practical entrepreneurial proposal called "Free Cities" here: <http://www.radicalsocialentreps.org/theory/free-cities/>

Thanks for your thoughtful comment.

<comment><USER5> _Ollerac is definitely onto what I was arguing in this article. Allowing people to 'opt-in' and vote with their feet in a system with greater policy experimentation through decentralized, competing jurisdictions is perhaps the closest we can get to scientific rigor (holding culture relatively constant, for example)._

Sounds like Bayesian vs. A/B testing. e.g. [http://blog.custora.com/2012/05/a-bayesian-approach-to-ab- te...](http://blog.custora.com/2012/05/a-bayesian-approach-to-ab-testing/) or <http://www.mynaweb.com/blog/2011/09/13/myna-vs-ab.html> Something that's not repeatable but works in an open system full of people, not experimental objects

</comment></comment></comment></comment><comment><USER6> Eugenics in this context is a bad example, because in this case controlled breeding definitely gets results, i.e. the theory (sort of) agrees with the theory, at least in the case of animals. You should thank such manipulative practices when you are enjoying a seedless banana.

Of course, the practice is abhorrent! But, and I think this is important, the ethical part has nothing to do with the science part. Consider the piece from NYT that reported Robert Spitzer's apology ([http://www.nytimes.com/2012/05/19/health/dr-robert-l- spitzer...](http://www.nytimes.com/2012/05/19/health/dr-robert-l-spitzer- noted-psychiatrist-apologizes-for-study-on-gay-cure.html)) for defining homosexuality as a "disease" and trying to cure it. When he published his study one commentary:

"...cited the Nuremberg Code of ethics to denounce the study as not only flawed but morally wrong. "We fear the repercussions of this study, including an increase in suffering, prejudice, and discrimination," concluded a group of 15 researchers at the New York State Psychiatric Institute, where Dr. Spitzer was affiliated."

I think that a scientific theory can we wrong or right (or currently undecided) but it cannot be morally wrong. The way you perform the experiments to test it may be morally wrong, though. There were significant faults with Spitzer's research, these should be pointed out rather than its moral wrongness.

Similarly eugenics should be attacked for its unintended consequences (e.g. extinction of Cavendish bananas <http://www.snopes.com/food/warnings/bananas.asp>) and its nineteenth-century simplistic approach to the human genetic-psychological relationship which, as we now, is vastly complex.

<comment><USER7> _Of course, the practice is abhorrent!_

While I agree that eugenics has been used (often poorly) to justify many horrible policies in the past, I don't think it's abhorrent in general. Today eugenics is used very successfully to prevent horrible genetic diseases.

<https://en.wikipedia.org/wiki/Dor_Yeshorim>

Most of the horrible policies we associate with eugenics are actually a result of a belief in eugenics AND malthusianism. If you reject malthusianism and replace it with, e.g., comparative advantage, you lose the scary policy prescriptions.

[http://econlog.econlib.org/archives/2012/05/eugenics_malthu....](http://econlog.econlib.org/archives/2012/05/eugenics_malthu.html)

<comment><USER8> The problem with eugenics is that it necessitates a central authority over the human genome. No unified standard will fit all people, and human rights and reproductive freedom must be pushed aside in order to accomplish such a goal. This is ignoring the racism, social Darwinism and genocide most people associate with eugenics.

However, the distributed method, where individuals choose to have children with people whose hereditary lines they believe should continue into the future, has been going on successfully for millions of years.

The best I could support would be more information and control. Educate people about genes, inform them which genes they possess, and watch them use that information to their benefit. Sort of like people with Huntington's disease often voluntarily refuse to reproduce, due to the likelihood of their children having it too.

</comment></comment></comment><comment><USER9> 1) The article writer completely missed Feynman's point. Feynman is talking about the nature of reality, not about society and its actions. If I say "bricks are nutritious" and the government forces everyone to eat nothing but powdered bricks, that doesn't change the fact that bricks are not nutritious.

2) There is a slight caveat to Feynman's point -- if a theory disagrees with experiment, it's possible that the theory is correct but the experiment / data interpretation / etc was flawed.

<comment><USER10> I think that tries to draw too bright a line between theory and experiment.

If you view a theory as human understanding of reality, the only reason an experiment would be fundamentally flawed (as opposed to forgetting to carry the 2) is if the understanding, and thus theory, is wrong or at least incomplete.

</comment></comment><comment><USER11> Would the analogous lesson for entrepreneurs be that if the market doesn't want it, it's wrong? I'd think there's some cases where products are ahead of their time, i.e. they're right at the wrong time.

<comment><USER12> I'm reminded of the Heinlein quote "Engineering is the art of the practical and depends more on the total state of the art than it does on the individual engineer. When railroading time comes you can railroad—but not before."

The same is true of markets.

</comment></comment><comment><USER8> Democracy itself is supposed to be a method of experimenting with governance. Try making a law; if it doesn't work, repeal it and try another, or else tweak it until it is right. The federal system is the same way; try one set of laws in California, another in Texas, and see which set works out better.

I do think we could go further along these lines. Wiki and Github style "let the people edit the laws before voting on them" may not be the right answer, but our current system is definitely not ideal. Finding a way to tighten the feedback loop will be tough, especially when a constitutional set of ground rules seems necessary.

Other commenters are right though, no matter how we frame it, society is not science. It's just that we feel benefits could be had by applying something like the scientific method to the laws which govern us.

</comment><comment><USER13> This is not a new video, it's part of his Messenger series lectures from 1964: <http://research.microsoft.com/apps/tools/tuva/>

<comment><USER10> It'd be remarkably impressive if it was a new video, considering Feynman's been dead 24 years.

<comment><USER13> :%s/new/recently\ discovered/g

</comment></comment></comment><comment><USER14> I agree with the OP about special interests misleading people into thinking that a claim is valid because there are studies backing it up.

However, I think the OP is wrong about Feynman. Feynman was not one to blindly believe in other people's studies. In fact, as he learned from his dad as a youth who used to make wrong interpretations of birds, etc., people are fallible, and so are their assumptions. What he was saying is that you can't argue with validly collected data and valid mathmatical proof. You can obviously argue with their interpretation.</comment>


DNSSEC Done Right - <AUTHOR> https://blog.cloudflare.com/dnssec-done-right/

<comment><USER2> I mean, I respect the effort, but at the risk of sounding dismissive: what's the point?

Part of why DNSSEC hasn't been widely deployed is indeed because it's complex to deploy (though its advocates vigorously contest that, and claim it's as simple to deploy as TLS. Heh.) Cloudflare seems to have done a great job of solving that problem.

But there are other reasons why DNSSEC isn't deployed:

* We don't need the DNS to be secure to solve real security problems any more than we need to authenticate IPv4 header options. TLS assumes the DNS is insecure and works anyways. Meanwhile: even email spammers can spoof connections at a level lower than DNS, by using BGP4 to reroute the IP addresses DNS points to.

* DNSSEC exacerbates Internet trust issues. It's a rigidly centralized system whose roots are dominated by world governments, a tree whose most important branches are controlled (literally) by NSA and GCHQ.

* It's interesting, and a demonstration of skillful engineering, that Cloudflare can use DNSSEC ECDSA to reduce response sizes. But the roots of the tree still use RSA; the tree is still littered with insecure 1024 bit keys. Moreover, the ECC variant Cloudflare uses is itself outmoded, and experts suggest it would be optimistic to see it replaced within 10 years.

* Cloudflare might make it easier for organizations to flip the switch for the domains, but they can't solve the software adoption problems of DNSSEC. DNSSEC breaks lookups, adding a bunch of new failure cases nobody is prepared to solve. For instance, every piece of software affected by the GHOST vulnerability is using an API that can't communicate DNSSEC resolution success or failure.

* The most important application on the Internet is, obviously, HTTP via web browsers. And web browsers are not adopting DNSSEC. Browser teams at Google and Mozilla have both declared their efforts kaput. Apple removed their DNSSEC code from the most recent update of the OS. End-users are vulnerable to exactly the same kinds of attacks before and after DNSSEC deployment.

I see how adoption of DNSSEC helps Cloudflare: it's yet another reason you'd outsource the operation of your Internet presence. That's not a sinister motive, but it also shouldn't be an animating motive behind a unnecessary and harmful forklift update of Internet infrastructure.

When I got started, in my first "real" job, you could set up the infrastructure for mailing lists on a FreeBSD 486 and be off to the races. Today, getting a mailing list running is such a nightmare of deliverability hacks and monitoring that most people (sensibly) give up and delegate the task to things like Mailchimp and Mailgun. More companies than not are hesitant to even host their own internal mail. Are we meant to be happy at the prospect of the same thing happening for DNS?

<comment><USER3> I hope that CloudFlare at least can support DNSCurve too.</comment></comment>