Ask HN: Will being an engineer at a nonprofit reduce your longterm earnings? - <AUTHOR> Suppose you're a junior engineer at a large tech firm.
If you go to take a technical role at a nonprofit for several years with a much lower salary, then want to go back to a big tech firm, will your salary be reduced compared to what it would have been if you'd stayed in the big tech firm? If yes, by how much?
For the sake of argument, assume your skill development at the nonprofit is equally good. What I'm interested in is whether there's a loss of earnings due to bad signalling, or because if you have a low salary at the nonprofit it'll be harder to negotiate a high salary when you go back. <comment><USER2> You're at far, far, far more risk for missing the years of professional development than you are for experiencing any signaling risk at negotiation, at least as of October 2015. Most non-profits have, by the standards of AmaGooFaceSoft, boring technical problems where 5 years of doing them is worth less than 2~4 weeks at their firms.

Though, that said: there's no guarantees that when you have the conversation in April 2019 that you'll be in the best hiring market for your interest in the history of ever, which is approximately where we are right now.

<comment><AUTHOR> Point taken. The type of nonprofit I'm thinking about is the type that might go through YC though e.g. Watsi. How much would that change things?

Also, how about if you're product manager at the nonprofit (e.g. with a budget and doing some hiring) vs. just an engineer at a big firm?

To clarify the last point, you're saying the hiring market for junior engineers is especially great right now, so it might make sense to lock in the money while you can?

<comment><USER2> I'm saying that given that the current market is totally on fire, you don't really have to worry too much about your negotiating position because the rising tide will lift your boat, even if it has a hole or two in it.

I don't necessarily know if I'd recommend "making hay while the sun shines" as a career strategy -- it would depend on your circumstances, values, etc.

</comment></comment></comment><comment><USER3> I'm an engineer who has worked at non-profits for several years and have maintained top skills. The answer is- your long term earnings will absolutely be reduced, though not for the already cited reasons.

Essential books to read before going into the non-profit space:

* With Charity For All - Ken Stern

* Doing Good Better - Bill MacAskill

Also, read SSIR, it has the best coverage of emerging trends in the non-profit space:

[http://ssir.org/](http://ssir.org/)

The short answer is- if income is important to you, marginally to significantly more important than impact, DO NOT work for a non-profit. If impact is of marginal to secondary importance, then contribute money and time in accordance with the emerging analytics that Bill MacAskill talks about.

If impact is most important, and income is not, then by all means work for a non-profit, but remember that mission comes first, second, third and fourth.

==

There are very, very few non-profits that are using technology in any of the ways that resemble tech-focused big shops or startups, because at this stage there are very, very few non-profits whose funding streams are dependent on specific details of technology deployment.

There are (to my eyes) huge opportunities for technical innovations like data analytics, APIification, and many others to transform the non-profit space, but these transformations will be years in the making. The space moves very, very slowly.

So, at a non-profit, you may maintain skills, and you can often be paid a fairly equivalent salary, but all sorts of other income, practice, and leadership opportunities will pass you by.

* bonus

* equity

* quantitative management

* developing for the customer

* etc

Once you have more of your life-course settled, with life partners and kids and living situation and so forth- by all means go work for a non-profit.

I DO NOT recommend it for junior engineers.

<comment><AUTHOR> Thanks! So to summarise, you'll end up with lower earnings because your skills and network won't improve as fast as they would at a for-profit?

<comment><USER3> Well, not exactly. You can maintain individual skills and can build any kind of network you want while working in a non-profit.

It's that you're in a _domain_ with other people who are not focused on making money. That's not really about your network, which mostly means people you _don 't_ work with on a daily basis. It's about the people you _do_ work with and the opportunities and choices that emerge from those daily interactions.

You will not find people in a non-profit focused primarily or even secondarily on making money. In fact, many people deliberately _sacrifice_ earnings to align with the mission of a non-profit.

Non-profits are also _structurally_ unable to participate in many of the vehicles that enhance earnings for employees in for-profits, like profit- sharing, equity, tax-related benefits (non-profits don't pay any taxes), and so forth.

When you're young, you might be "really good" at football and baseball, enough to have the opportunity to pursue one or the other professionally. Nearly everyone in that situation has to choose one or the other, and being a professional football player will necessarily mean you are not a professional baseball player (Bo Jackson and Deion Sanders aside). Non-profit vs for-profit is a similar choice when it comes to earnings.

At the end of the day, an accumulation of decisions, some of which you would make but many of which would be made around you, that all entail sacrificing opportunities for making money, will mean you will likely wind up with lower earnings.

</comment></comment></comment><comment><USER4> > it'll be harder to negotiate a high salary when you go back.

You might also consider, several years from-- as your career evolves, the types of roles you'll be interested in post nonprofit stint, may well change.

Areas to explore: How might this gig stretch you professionally? Do you see any potential to leverage this experience into something bigger, better?

</comment><comment><USER5> Depends on the scale of the problems the non profit is solving and it's overall impact.</comment>


Evolution of a Web Developer: From PHP Newbie To Python Ninja - <AUTHOR> http://dev.hubspot.com/bid/85467/evolution-of-a-web-developer-from-php-newbie-to-python-ninja <comment><USER2> "24. [..] Learned about the Python requests library. I will now judge all libraries based on this work of beauty."

Completely agree. As if you are writing pure HTTP.

<comment><USER3> Have they not improved urllib in 3.x? (I'm still on 2.7.)

</comment></comment><comment><USER4> Why create a title that contains a term you don't care for but then start your article with an apology for it? There was nothing stopping you from creating a better title... unless of course you actually wanted that title.

<comment><USER5> What I wanted to do was strike-out the word Ninja, but HTML tags are usually not supported in titles for most blogging and other systems.

<comment><USER6> I was wondering the same thing. It seemed like you were apologizing for using the word "ninja" since it's disliked by a lot of people around here (I think; I'm no HN veteran).

I enjoyed the post though; it was fun to see how things moved along for you.

p.s. You are missing a closing parenthesis on #39.</comment></comment></comment>


Why Do Fads Fade? The Inevitable Death Of Flappy Bird - <AUTHOR> https://blog.startuppulse.net/why-do-fads-fade-the-inevitable-death-of-flappy-bird-1bbda20478e0 <comment><USER2> What a weird article. It feels like the author wanted to convey his insight that the reason fads fade is due to the gameplay having a constrained information density. And then he felt the urge to follow the tradition of anchoring the thesis in a concrete current example, and he chose flappy birds. But flappy birds is not at all an example that satisfies the hypothesis. Flappy bird, as he mentions, was deliberately pulled from the store by its creator. Why didn't he choose pokemon go instead? Because that hasn't fully faded yet? I'm not trying to personally attack the author, I'm just making a comment that the style in this article probably isn't what we want to emulate in our own stuff.

<comment><USER3> > But flappy flappy birds is not at all an example that satisfies the > hypothesis. Flappy bird, as he mentions, was deliberately pulled from the > store by its creator.

Meanwhile, there are thousands of clones out there, and people who wanted to play it were and are free to play any of them. So, we can safely gauge if the fad is really gone by popularity of the whole genre it created, not necessarily by the original itself.

<comment><USER4> That is not entirely true. Most of those clones are not fun at all despite having the same concept. Or they are fun, but not nearly as addictive for some reason. Details of execution matter and original flappy bird somehow got a lot of details right. Randomly downloaded app does not.

It is same as with pc-man and tetris. Most of clones are not fun at all, despite having the same concept.

Source: I played both original flappy and then tried some of clones.

<comment><USER5> There's a claim (according to wikipedia and other sources) that Flappy Bird was a clone of another game (called "Piou Piou vs Cactus"). I'm not going to argue "which came first", but your comment is intriguing:

1\. If Flappy Bird was a clone, what made it more "addictive" or "fun to play" than the original (Piou Piou)?

2\. What did clones of Flappy Bird do wrong?

3\. How does Flappy Bird's "addictive mechanics" compare/relate to other games that hook players?

4\. What about similar schemes/products (non-virtual)?

I mean - what do all these hook into; why and how do they become ultra-popular (seriously - $50K per day for Flappy Bird!), etc?

I and some former coworkers called these types of products (League of Legends could certainly fit in here) "Money Fountains" \- relatively simple mechanics (in some cases executed extremely well - I mean, to my eye, LoL is a beautiful and engaging game, despite the basic concepts) that generate for their developers insane amounts of cash, seemingly without end.

All legally.

But at the same time, others trying to follow in the footsteps of the "pioneers" seem to fail more than they succeed. So the question is, why and how to the originals succeed? Is it just luck? First mover advantage? Or is it something else?

<comment> LV-426 > There's a claim (according to wikipedia and other sources) that Flappy Bird > was a clone of another game (called "Piou Piou vs Cactus").

Haven't read the Wiki page, or heard of Piou Piou, but I always thought FB was a rip off of Copter, a game for Nokia style phones where you pressed 5 (IIRC) to keep it airborne.

Maybe "original" Flappy was great and I just played crappy Flappy clones, but dying literally within seconds over and over again didn't make me want to continue, I was just instantly bored, stopped playing and forgot it. I don't understand the craze for such a horrible game.

Copter was good though.

</comment></comment></comment></comment></comment><comment><USER6> Indie GameDev is absolutely a hits driven business. Often I tell people you will learn more from studying some thing like the Autobiography of Keith Richards. Than yet another build a game engine in thirty days book ;)

Html5 "io" games follow similar viral trajectories. But also have some staying power. Once they develop mechanics or features that encourage replay-ablity. Particularly at web scale multiplayer with leaderboards ;)

Some examples for Friday Fun

[http://splix.io/](http://splix.io/)

[https://starblast.io/](https://starblast.io/)

[http://zombs.io/](http://zombs.io/)

<comment><USER7> One more [http://agar.io/](http://agar.io/) This one seems to have quite long legs, but no idea how profitable it is.

<comment><USER8> That's the game that made the genre that people call "io games"

<comment><USER9> I don't like this trend, that would be like me calling all SNES games "SUPER Games" because most of them were prepended with the word "SUPER", but it's not a descriptor of the genre, just the nomenclature.

<comment><USER10> Do you have a better name?

<comment><USER9> How about "Browser-based"?

<comment><USER10> No, besides browser-based it needs to be massively multiplayer, casual, without rounds (games are endless and you can jump right into an ongoing one) and without registration for it to qualify as an io game.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> This one kind of lost me on it's comparison to Breaking Bad. I could be an outlier here, but I've rewatched Breaking Bad, Better Call Saul, and The Walking Dead at least 4 times, probably more.

The reason I don't think I'm too much of an outlier, in that AMC always runs a marathon to both attract new viewers and reconnect existing viewers, and if it weren't successful, I doubt they'd keep doing it.

The article makes some good points about variability and using the story line format to get people hooked, but it's examples and connections seem really tenuous to the overall point.

<comment><USER12> Given that all the production costs are sunk at this point, the incremental cost of offering as part of a streaming catalog or filling up some AMC broadcast slots as part of an "event" is pretty low.

Pre-streaming, I'm sure a lot more people bought DVD sets of favorite series than actually rewatched them from beginning to end. The same principle applies today I'm sure even in the cases where the content is effectively free.

I'm not sure this example really counts as a fad though. While successive groups rediscover older TV shows (not that the ones you list are very old at all) viewership is rarely going to be more than of a fraction than it was originally. Perhaps there are marginal exceptions for shows that never really had an audience but develop a bit of a cult following over time.

ADDED: The other issue I have with the author's broader theory is that much of what he says is just as applicable to episodic TV shows like Seinfeld as it is to serialized shows.

</comment></comment><comment><USER13> I would love to create an app that makes $50k a day and lasted even a week. I wouldn't care if it was a fad at that point.

<comment><USER14> Imaging making that amount of money for a programmer in a developing country (in this case Vietnam), it would be insane, making $20k a year as a developer in my country is considered a well payed job. If you could make $350k in a week that would mean 17.5 years of a "well payed" programming job.

</comment></comment><comment><USER15> Interesting timing as a French clone of Flappy Bird - VooDoo (with a ball instead of bird) is currently the top game in Google Play store...

</comment><comment><USER16> TLDR; conflict,mystery,resolution : are three phases in a cycle to keep you engaged

(akin to the way this article was written)

</comment><comment><USER17> Author is blissfully unaware that _Flappy Bird_ is alive and well in arcades:

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

(video from 2015 but I played one last week)

</comment><comment><USER18> Didn't Flappy Bird die because it was pulled from app stores?

<comment><USER19> The author decided he preferred peace and quiet over leaving flappy bird in the app store.

[http://uk.businessinsider.com/why-flappy-birds-shut- down-201...](http://uk.businessinsider.com/why-flappy-birds-shut-down-2014-2)

<comment><USER20> Dong Nguyen kept making games, though. His company is called .GEARS, and the successor is Swing Copters:

[http://www.dotgears.com/](http://www.dotgears.com/)

[https://play.google.com/store/apps/developer?id=DOTGEARS](https://play.google.com/store/apps/developer?id=DOTGEARS)

He also made Ninja Spinki Challenges, which I really enjoyed for a while and has some really cute graphics:

[https://play.google.com/store/apps/details?id=com.dotgears.n...](https://play.google.com/store/apps/details?id=com.dotgears.ninjabounce)

<comment><USER21> > Swing Copters

This appears to just be Flappy Bird rotated 90deg [1]. Pretty funny!

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

</comment></comment></comment></comment><comment><USER22> I don't think there is much reason analysing lucky successes. Real success happens by getting a little lucky here and a little lucky there, learning over time how to keep the good fortune once acquired, and then stacking one success over another. Analysing FarmVille and Flappy Bird is like analysing why a lottery winner chose the right numbers.

And in both cases the surprise money is gone just as quickly.

</comment><comment><USER23> Anybody here remember the pet rock fad of the 70's? The more interesting question to me regarding silly fads like pet rocks, droopy pants, and "Baby On Board" stickers is how they begin.

</comment><comment><USER24> Because that's what fads do. They're transient by nature, that's why they're called a fad.</comment>


Artificial intelligence, revealed - <AUTHOR> https://code.facebook.com/posts/384869298519962 <comment><USER2> It will only be revealed when people stop using the word "machine" and start using the word "algorithm" in any discussions about AI.</comment>


Edsger W.Dijkstra - How do we tell truths that might hurt? - <AUTHOR> http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html

<comment><USER2> The problem with discussions about this hateful list is that discussion of the interesting, timeless comments is drowned out by arguments about whether BASIC still warps minds (or whether it ever did), whether physicists should share FORTRAN, what we could possibly learn from APL's mistakes, what made PL/I so bad, and what company might constitute a modern-day IBM.

Many of the comments on the list are out of date. Many of the rest are such unravellable apothegms, incomprehensible without a context that most of us don't have, that trying to apply them to any modern-day scenario in the way that Dijkstra intended is an exercise more in creativity and personal bias than in interpretation.

Most of the discussion in this comment section is either about the comments which now appear trollish (such as the BASIC one) or about Dijkstra's software design philosophy, which is only _extremely tangentially_ related to this list.

</comment><comment><USER3> With all due respect to EWD, and the wonderful things he did, I believe that he let himself get carried away with his gift for the glib aphorism. I don't think that those who post them do Dijkstra's reputation any favors.It is as if one were to fill a biography of Churchill with his clever quips and omit 1940.

<comment><USER4> The difference being that, once you set aside Dijkstra's glib aphorisms, there may not BE a 1940 to talk about.

<comment><USER5> You're talking about the inventor of the shortest-path algorithm and the semaphore.

<comment><USER4> Obviously, mutual exclusion is widely used. I'm not so sure that semaphores as such are used as widely (and certainly not with functions named P() and V()).

</comment></comment></comment></comment><comment><USER6> So those of us who read Dijkstra when it was fresh may be more mindful than others about some of the other things that he did. Using the methods that he espoused he and a small team wrote a compiler which, during its lifetime, had a total of four errors.

There are practices that he taught that most of us, even after all our million lines of code, still have not mastered. This is particularly visible from vantage point of the security industry.

</comment><comment><USER7> The thing that always strikes me when I read Dijkstra's writings on languages is that in the context of present-day discourse, he comes across as a massive troll. He rarely gives any in-place justification for his outrageous use of insulting and attacking language.

I realise some of this is explained by the fact that a lot of this stuff was written for consumption by people who were already aware of him and his ideas, other people at various institutions with him. However this begs the question, if your target audience is already so aware of your unusual ideas that you do not feel the need to provide any kind of context or justification, why moan so loudly at all? I'd love to see some of his colleagues reactions of the time to some of these tracts.

I guess when you're that far into the right-hand crevice of the intelligence bellcurve, you're going to fall into the outer quartiles for quite a lot of other psychometrics as well.

<comment><USER8> He was a troll back then, too. Alan Kay used to joke that arrogance in computer science is measured in nanodijkstras. EWD could back it up because he was a genius, but it didn't win him friends.

Either way, some of the aphorisms are less defensible now. 35 years later, if something so broadly useful as programming _remains_ "one of the most difficult branches of applied mathematics", then I think we have failed our responsibility to move the science forward.

</comment></comment><comment><USER9> Ignore a common misbelief, or actively fight against it?

I would say: Get successful ignoring it, and _then_ openly "admit" that you don't share that conventional wisdom.

It can be very tedious, impossible or unfavorable to convince people who just parrot common misconceptions. Or, as Proverbs 27, 22 pithily says: _Though thou shouldest bray a fool in a mortar among wheat with a pestle, yet will not his foolishness depart from him._

It's much easier when you have success on your side. I would guess that's the main reason why nobody talks about the majority of Dijkstra's list anymore: There is a overwhelming lot of examples who succeeded ignoring or opposing them. Waterfall software development isn't on the decline because smart people won an argument, but because even big companies realize that the most successful software today wasn't made that way.

</comment><comment><USER10> _Many companies that have made themselves dependent on IBM-equipment (and in doing so have sold their soul to the devil) will collapse under the sheer weight of the unmastered complexity of their data processing systems._

Interestingly, this still applies except s/IBM-equipment/Microsoft software/. Further, I have not seen any companies collapse due to the unmastered complexity (IBM or Microsoft), but I _do_ see a lot of people that have no clue what they are doing, they just do the same steps over and over because someone in the dim dark past discovered that those steps formed a path through the maze of complexity. The Office equivalent of "Up Up Down Down Left Right Left Right A B Select Start".

<comment><USER11> I'm pretty sure entire companies don't collapse, but projects are canceled and companies are limited in what they can do by relying on overly-complex solutions. I know that from experience.

Of course, that's one thing that can give a startup an advantage against a giant, provided the startup doesn't fall into the same trap.

</comment></comment><comment><USER12> I don't find anything in this list relevant (except maybe the natural language programming bit).

I think the most "uncomfortable" truth is the following:

* Bug-free/fault-free software is impossible

Although continuous/iterative development is very effective at minimizing the count and impact of bugs, but this is only relevant for web applications, and applications with some decent update system (e.g. Chrome, Apple's "App store", Ubuntu's PPAs, etc).

<comment><USER13> > Bug-free/fault-free software is impossible

This is an absolute if you don't have the luxury of formal standards that stop evolving at a defined point in time.

It also means that you get to define 'bug-free' as 'implements the standard to the letter', not 'does what every single user expects all of the time, even when those expectations contradict and are insane.'

<comment><USER14> _This is an absolute if you_

...exclude certain conditions as unrealistic, or take the particular common case as universal.

 _It also means that you get to define 'bug-free' as 'implements the standard to the letter',_

When the specs are engineering specs, this can sometimes be usefully close to true.

 _not 'does what every single user expects all of the time, even when those expectations contradict and are insane.'_

Formal systems will usually tell you when specs are outright contradictory.

<comment><USER13> > Formal systems will usually tell you when specs are outright contradictory.

Right, and I'm sure they're useful when designing avionics software. But how many web browsers have specifications, let alone specifications that can be subjected to that kind of analysis? Doesn't every user have a potentially self-contradictory and possibly insane 'specification' for 'web browser' in their head, and don't they think it's a bug when that 'specification' is not adhered to?

Maybe I should have just said there are two kinds of software: Software that is an implementation of a mostly-stable specification, like a POSIX-compliant OS or the aforementioned avionics software, and software for which no specification, or at least no stable specification, exists, such as web browsers and text editors.

</comment></comment></comment></comment><comment><USER15> "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."

BASIC was the first programming language I was exposed to when I started learning to program 5-7 years ago... I would hope today this truth is false.

It did, however, took me 2 years to learn something else other than BASIC plus another year of programming BASIC in Java...

<comment><USER16> Have you tried learning Scheme? My first language was C, which I learned very much as if were BASIC (plus pointer arithmetic), and I related very much to Dijkstra's observation when a couple of math major friends and I started learning about continuations in college.

Either my friends were unequivocally smarter than me, or my knowledge and experience with C/Java/Python really got in the way of my understanding. The difference in how quickly we grasped the material was really clear: my mental model was that of saving and recalling the call stack. Their conceptual model was quickly somehow intuitive in a way I still don't fully grasp.

<comment><USER17> I've heard that introductory courses that use Scheme go over pretty well, but most people's heads explode when they take Programming Languages I (in Scheme) at my university. It seems that after 3 or 4 years of Java, C and C++, their minds have formed certain expectations of what a programming language is supposed to be like (which is helpful when learning a new language that shares those expectations).

</comment></comment></comment><comment><USER18> I find it hard to believe in the way Dijkstra seems to want to develop software. To me he seems to believe in the existence of faultless, consistent and complete specifications. I don't believe that the specifications and requirements of sufficiently complex software can have any of these qualities in real life, in part because of the humans that interface with the systems.

<comment><USER19> I agree. There's plenty of literature supporting almost the opposite of what Dijkstra preaches. While it's good to aim for formal specification, in practice you're likely to overdesign, deliver late and potentially find yourself unable to react quickly to changing requirements. The key is to deliver a working piece of software because handing your customer a page of beautiful mathematical notation is not going to solve their problem.

(I'm aware of the danger of referencing Worse is Better... but I'll do it anyway :-) ) <http://www.dreamsongs.com/WorseIsBetter.html>

[http://ravimohan.blogspot.com/2007/04/learning-from- sudoku-s...](http://ravimohan.blogspot.com/2007/04/learning-from-sudoku- solvers.html)

In addition, the books 'Hackers' by Steven Levy and 'Coders at Work' by Peter Siebel demonstrate various scenarios where a groups of Hackers had to get something done in a short space of time. Almost invariably, they aim for the final product.

</comment></comment><comment><USER20> > The use of anthropomorphic terminology when dealing with computing systems > is a symptom of professional immaturity.

He makes it sound as if this was a bad thing.See <http://www.catb.org/jargon/html/anthropomorphization.html>

</comment><comment><USER21> The first time I read this, I laughed.

The second time, I cried.

Sure, there are some pretty funny (and clever) thoughts here. The quote about COBOL is priceless.

But this...

 _It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration._

FWIW, I have written over 1 million lines of BASIC for over 100 customers, most of it still it production, and all of it doing important work producing goods, services, and jobs in so many uncool industries we couldn't live without.

Maybe I'm an outlier, but I have gone on to learn algorithms, dynamic programming, database theory, client/server, and web development. I believe the elegant simplicity of BASIC and database theory, although limited in application, has provided an excellent base upon which to build.

I know that ewd is a giant to be respected, but I think it's a red flag when a teacher mutters "practically impossible to teach", even in jest. IMHO, that says more about the teacher than the student.

Posts like this are great for a laugh, but when you stop to think about it, all they really do is further amplify the perception of a huge gulf between theory and practice. Academics whine while those of us in the trenches are too busy to notice because our sleeves are rolled up while we build that which must be built.

<comment><USER22> The BASIC language has evolved a lot.

I think he's referring to very old BASIC which used numbered lines, a whole lot of GOTO's, did not support subroutines (or did it? Correct me...), etc.

<comment><USER23> BASIC has always supported subroutines, albeit in about the most primitive way possible: the GOSUB command jumps to a particular line number, then the RETURN command jumps back to the line after the GOSUB.

<comment><USER24> ANSI BASIC has supported SUBs and FUNCTIONs going quite a ways back. Microsoft just didn't bother to support that standard except in its commercial compilers, and later beginning with QBasic.

Some non-Microsoft microcomputer BASICs (for example Extended BASIC on TI-99/4A) support them to some extent.

<comment><USER25> That may be the case, but the oldest ANSI basic that Wikipedia mentions is "for minimal Basic" from 1978. This text is from 1975, and I doubt that ANSI standard had anything like what we nowadays call functions.

Typical Basics of 1975 had gosub/return, but no functions (= no arguments, no return values). Apart from loop variables, all variables were global.

Commodore Basic had a "def fn" command, but it only supported single-line (= single-statement) functions.

Add in the effect that one had to 'name' subroutines by line number, and compare this with the Lisp's and Fortrans of ten years earlier, and Dijkstra's position becomes quite defensible.

<comment><USER14> _Commodore Basic had a "def fn" command, but it only supported single-line (= single-statement) functions._

Sounds vaguely familiar!

</comment></comment></comment></comment></comment></comment><comment><USER26> Plenty of Dijkstra's points remain relevant today. My favourite (and I completely agree):

"Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer."

<comment><USER27> But even this one seems to be disproven by example. Some of the best programmers I know are exceptionally slovenly in their written language. I strongly suspect that this list of "uncomfortable truths" is intended to illustrate that a competent programmer looks, for all intents and purposes, like ewd himself.

<comment><USER26> I disagree. I seldom meet a talented programmer who isn't able to articulate themselves very well.

<comment><USER27> There's a difference between "able to articulate well" and "exceptional mastery of one's native tongue".

<comment><USER26> Indeed. But I can't help but think that is the point he was making.

</comment></comment></comment></comment></comment><comment><USER14> _By claiming that they can contribute to software engineering, the soft scientists make themselves even more ridiculous._

I might get voted down for taking him (and the post) dead-on, but I think Dijkstra is just plain wrong here. Granted, this was written in 1975, but I think a lot of thinking about human interface design has tremendously benefited various computer fields. That said, there is a subset of "soft scientists" for which this may be true.

</comment><comment><USER28> OK. Can we build a modern day list of 'truths that might hurt'?

<comment><USER13> > Can we build a modern day list of 'truths that might hurt'?

Sure, if you can do it yourself.

Any collaborative process would just be opening the floodgates to trolling beyond all reason.

</comment></comment><comment><USER29> His opening thesis starts out strong. But his language bashing is too myopic. It's a shame to read some of these points from such a well respected computer scientist. I guess it just shows that we're all capable of being human.

</comment><comment><USER30> _Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer._

Wow, prior art for what 37signals has been crowing for the last year or so.

</comment><comment><USER31> I wonder what he would have said about C++ !!

</comment><comment><USER32> Dijkstra (in 1975) strongly dislikes FORTRAN, BASIC, APL, PL/I, and COBOL. What languages did he like? Pascal?

<comment><USER33> Lisp. Dijkstra was the original Smug Lisp Weenie.

> _Lisp has jokingly been called "the most intelligent way to misuse a > computer". I think that description is a great compliment because it > transmits the full flavor of liberation: it has assisted a number of our > most gifted fellow humans in thinking previously impossible thoughts._

<comment><USER34> _LISP's syntax is so atrocious that I never understood its popularity. LISP's possibility to introduce higher-order functions was mentioned several times in its defence, but now I come to think of it, that could be done in ALGOL60 as well. My current guess is that LISP's popularity in the USA is related to FORTRAN's shortcomings._

Source: [http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EW...](http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD798.html)

The memo you're quoting[1] is a lot milder about Lisp, but doesn't come across as the ramblings of a "Smug Lisp Weenie" (disclaimer: I'm currently having a lot of fun playing around with Clojure, so I might not be entirely objective).

[1] [http://www.cs.utexas.edu/users/EWD/transcriptions/EWD12xx/EW...](http://www.cs.utexas.edu/users/EWD/transcriptions/EWD12xx/EWD1284.html)

</comment></comment></comment><comment><USER35> Please people, put the year in the title when you submit older stuff! (1975 in this case)

<comment><USER36> It's _Dijkstra_. I can understand complaining about not knowing the date of a post by Yegge, but did you really expect anything written by Dijkstra to be dated newer than 2002?

<comment><USER35> No, but there's a big difference between 1975 and 2002. The fact that the author is famous or dead is irrelevant here.

When I read an article submitted on HN, I can safely assume it was written within the past few months. If it isn't the case, I can't make assumptions about its year of publication (OK, I can assume it was written within the author's lifetime but that doesn't really help).</comment></comment></comment>


Ask HN: How do you follow new comments on a post? - <AUTHOR> I often like to follow a single post, which can have an active and lively discussion in the comments.
I may come back a few hours later or the next day, to see if there are new comments.  But these comments are often buried in multiple threads, and clicking the [+] button just hides threads, even with new comments.
I would like to see new comments on a post, similar to https://news.ycombinator.com/newcomments, but only for a single post.  Is this possible? <comment><USER2> If you posted a message in the post, click on "threads". It shows all your messages. You can click on the title of the post in your message headline and it'll take you to the post.

If you haven't participated in the discussion then it's harder.

</comment><comment><USER3> I've been using [http://hnreplies.com](http://hnreplies.com) for email notifications and it seems to be working out well.</comment>


Ariane rocket suffers from rare launch anomaly - <AUTHOR> http://www.bbc.com/news/science-environment-42623297 <comment><USER2> While not a _huge_ deal in that both satellites seem to have reached _an_ orbit (even if not exactly the desired orbit), it's worth noting that NASA picked the Ariane 5 as the launch platform for the JWST at least partially because of its extreme reliability. It would be a damn shame to lose an $8.8B instrument in development for over 23 years due to a launcher malfunction.

<comment><USER3> I've always felt that when building these incredibly valuable satellites one should consider building 2. I know JWST is probably not a good example with the work required to make the mirror but but in a lot of cases one could probably replicate a rare satellite during production for much less than 2x the cost. Then you have a flight backup, and alternatively you can later double your science with another launch if everything goes smoothly on launch one.

As said probably not a reality for JWST but these high risk launches always concern me with no backup option. What a tragedy it would be.

<comment><USER4> Satellite insurance is probably cheaper (though rates may rise?)

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

[http://spacenews.com/space-insurers-warn-that-current-low- ra...](http://spacenews.com/space-insurers-warn-that-current-low-rates-are- not-sustainable/)

<comment><USER5> You can't really insure a scientific career.

Let's say you work on the design and implementation of a novel scientific instrument for a satellite for over ten years. That's a job that, relatively, isn't paid well, but if launched, the instrument will get you papers and recognition.

If the rocket launching your toy blows up, all you can get from an insurance is money, and that's not something you value that much in life.

Some satellites also have fairly tight launch windows, for example if you want to intercept a comet.

<comment><USER6> > Let's say you work on the design and implementation of a novel scientific > instrument for a satellite for over ten years. That's a job that, > relatively, isn't paid well, but if launched, the instrument will get you > papers and recognition.

That's true, but building two of everything causes other problems. For a principal investigator (PI), they spend years drumming up support for a concept then hope that it continues to get funded, built, launched, and becomes operational. If we build 2 of everything, let's say it adds 2/3 to the cost. That means less money for other missions overall. That would make many scientists unhappy.

</comment></comment></comment></comment></comment><comment><USER7> You gotta appreciate the guys who have to solve issues like why this rocket's second state lost communications. The actual hardware with the problem gets dropped into the sea and lost forever. All they have to go on is whatever telemetry they did receive from the second state, if they received any at all. Good luck figuring out the root cause of that one. Maybe they have some pre- flight test data or pictures taken of the hardware before launch they can look at for anything funny?

<comment><USER8> One advantage is that it's a relatively self contained system where you can understand what each component does and under want conditions it operates. Together with today's telemetry you have a lot of data to understand the issue.

</comment></comment><comment><USER9> Ironically SES-14 was originally slated for Falcon 9

[https://www.reddit.com/r/spacex/comments/6wimhc/ses_switches...](https://www.reddit.com/r/spacex/comments/6wimhc/ses_switches_spacex_and_arianespace_launches_to/)

</comment><comment><USER10> After all, there doesn't appear to be much of an anomaly. Satellites are in nominal or near nominal orbit.

<comment><USER11> Not quite, they are a ways off from a nominal orbit, and there is still question if Yah-3 will be able to make it to it's correct orbit with fuel to spare. (SES-14 has electric propulsion so it's not much of a worry for them except for lost time).

At best, the Ariane 5 is causing these 2 sats a month of delays, and at worst it could render one of them useless. Just because there weren't any explosions or spectacular looking failures doesn't mean this isn't a big deal.

Edit: my apologies, it seems the article has been updated and Orbital ATK has stated that they are confident that the sat will be able to reach the right orbit. (it previously stated that Orbital ATK had not been able to say either way yet).

Still, loss of comms and an incorrect orbit insertion could prove to be disastrous for many payloads. With ArianeSpace's track record, I have no doubt in my mind that many steps will be taken to prevent this exact failure from ever happening again.

</comment></comment><comment><USER12> Try using recycled rockets like SpaceX. It seems to be working with a reduction in cost. [https://latechnews.org/spacex-launches- bulgariasat-1-recycle...](https://latechnews.org/spacex-launches- bulgariasat-1-recycled-rocket/)

<comment><USER13> Ariane currently has a better reliability record than SpaceX. Cost isn't everything - saving $100M on a $10B satellite like the JWST (which will use an Ariane) doesn't do you any good if the $10B evaporates in a launch failure.

<comment><USER14> As of now, Ariane has 82 successful flights and a partial failure. If the plans of SpaceX pan out, they will have about 60 successful flights by the end of 2018, with no partial failures, so it becomes harder to compare. They could even reach parity with Ariane by the time JWST launches.

JWST is a payload nobody wants to be responsible for blowing up, I don't think SpaceX necessarily wants it on their roster. Even a 1% chance of failure could be too much for what would be a public confidence disaster, likely to cut off significant govt funding and hamper long term prospects.

<comment><USER13> SpaceX has lost two payloads, CRS-7 and Amos-6. Ariane's record still looks pretty good, even for SpaceX fans like myself.

<comment><USER15> For those curious: CRS-7 was a resupply mission for the ISS, had a bunch of miscellaneous cargo on it (a bunch of food, experiments, etc.) Nothing too important as far as I can tell. 99% American/European/Japanese supplies. And a single thing for the Russians: a wrench :)

Amos-6 was an Israeli communications satellite that would've provided satellite internet over Europe and Africa.

<comment><USER16> So what you're saying is that the failed mission had a wrench thrown into it by the Russians? :)

</comment></comment></comment></comment></comment></comment><comment><USER17> I'm a EU citizen but I'm not surprised by this at all.

The "country equality" policy implemented for contract attribution on the Ariane 5 project by the EU is the culprit.

Once again prioritising feelings over efficiency or common sense.

<comment><USER18> Is it also the "culprit" for the 82 consecutive problem-free launches?

<comment><USER17> Sorry, I got confused with Ariane 6.

<comment><USER13> Ah, so the obvious "culprit" of this launch failure is... something you don't like that hasn't happened yet? Who's prioritizing feelings over common sense, again?

<comment><USER17> Yeah a rocket that is way, way over budget and late but hey looking at the facts is difficult.

<comment><USER13> You don't get to claim an Ariane 5 failed because of an Ariane _6_ contracting/funding provision and lecture someone on "looking at the facts".

Side note: there haven't been many rockets that weren't late and over budget. It's hardly unique to the Ariane 6.</comment></comment></comment></comment></comment></comment>


Can China build an anti-U.S. alliance? - <AUTHOR> https://www.washingtonpost.com/opinions/can-china-build-an-anti-us-alliance/2018/07/05/2e707e82-808c-11e8-bb6b-c1cb691f1402_story.html <comment><USER2> The US is building an anti-US alliance.

<comment><USER3> ...you're not wrong.

<comment><USER4> Everything falling into China's hand.

</comment></comment></comment><comment><USER5> China has the long term discipline that the US (and most Western countries) lack.

A key example that can help with this kind of alliance: their 'silk road' for the 21st century...

[http://www.businessinsider.com/what-is-belt-and-road- china-i...](http://www.businessinsider.com/what-is-belt-and-road-china- infrastructure-project-2018-1)

<comment><USER6> The US plays geopolitics very well regardless of who is in office. It's one of the reasons why you guys are the dominant force in the world. If anything, China is emulating the US.

To your example, seems like the real goal of the silk road is suckering nations into huge debts that they cannot hope to repay with massive concessions in case of default. Creation of client states is a key to American domination and the Chinese will emulate it with even more zeal.

<comment><USER7> That's in part due to the civil service, which could continue to engage in skillful geopolitics irrespective of current office-holders, because of the workhorse of skilled employees with loyalty to country rather than an administration. That has changed. Now the civil service is the "deep state" which must be eliminated and/or controlled. Except to see a reduction in US geopolitical skill due to this political attack upon the civil service.

</comment></comment></comment><comment><USER8> The bigger question is, _Can China build any alliance_? Thus far, the one and only country in the world China has seen fit to form an actual alliance with is North Korea, but those relations are strained. At the moment, the PRC has territorial disputes with over a dozen neighbours.

Does China have good relations with _any_ nearby country?

<comment><USER9> China has great relations with Pakistan. Perhaps not necessarily people-to- people relations, but certainly gov-to-gov.

</comment></comment><comment><USER10> Trump can, so I'd assume China can, too.</comment>


Labour is right–Karl Marx has a lot to teach today's politicians - <AUTHOR> http://www.economist.com/news/britain/21721916-shadow-chancellors-comment-provoked-scorn-yet-marx-becomes-more-relevant-day-labour <comment><USER2> > The problem with Marx is not that his analysis is nonsensical, as Mr Gauke > maintains, but that his solution was far worse than the disease.

What solution did Marx propose? In the afterword of Capital, Marx notes "The Paris Revue Positiviste reproaches me in that...[I] — imagine! — confine myself to the mere critical analysis of actual facts, instead of writing recipes (Comtist ones?) for the cook-shops of the future".

Also Marx wasn't worried that CEOs were paid well as The Economist and "shareholder advocates" seems to be. At least that would be paid to someone who showed up for work. Marx was more concerned in noting the dividend checks that went out quarterly, if joint-stock company dividend checks went out quarterly in those days.

The Economist is being indirect in stating Marx's concerns. I'd guess more out of ignorance than malice. Even the first chapter of Capital is famously a hard slog to get through. I doubt the young Economist author made it through Anti- Dühring.

More importantly, Marx thought the various contradictions of capitalist production would lead to economic crises that the world saw in the 1930s (outside the USSR, whose economy was booming at the time). Eventually, the companies which are too big to fail really would fail. Capitalism's taxpayer bailouts of big business that worked in 2008 will in some future crisis _not_ work, according to Marxian thought.

He also noted how various world economies and societies were swept aside by new ones over the past ten millennia - hunter-gatherer bands for slave societies, slave societies for feudal societies, feudal societies for capitalist societies. In the red flags and worker's councils of the Paris Commune, he saw the hazy, nascent harbinger of the social relations and forces of production of those cook-shops of the future.

<comment><USER3> >What solution did Marx propose?

He didn't, really. His proposals were pretty vague. 99% of what he wrote was a (pretty spot on) critique of capitalism.

Needless to say most of the propaganda attacks on his ideas are based upon guilt by association.

<comment><USER4> > > What solution did Marx propose?

> He didn't, really. His proposals were pretty vague. 99% of what he wrote was > a (pretty spot on) critique of capitalism.

 _The Communist Manifesto_ was fairly detailed and prescriptive. It's true that _Capital_ was mostly description and critique of capitalism, but that's not all Marx wrote.

> Needless to say most of the propaganda attacks on his ideas are based upon > guilt by association.

Specifically, most are based on association with Leninist vanguardism, which is a fairly radical departure from Marxism prescriptively.</comment></comment></comment>


Ask HN: Conclusive evidence to turn anti vax into anti anti vax - <AUTHOR> Have some friends that are anti vax.. what are your go to resources to show them the light? If you are anti vax, what are your reasons/evidence for being so? <comment><USER2> Don't bother.

It's an emotional decision to be anti vax.

No logic or facts you can present will change their minds.

Key life lesson: emotional positions cannot be changed by logic. Wish I'd known that years ago.

Except perhaps factual accounts of children of anti vaxers who became very sick, with for example whooping cough or measles.

<comment><USER3> Yep. If you really want to try to persuade them don't expect that the harder you push, the more likely you are to succeed. The opposite is true.

Mostly we make decisions based on a gut instinct and then look for evidence to back that up, ignoring or down voting contrary evidence. In fact seeing opposing views can actually reinforce the original opinions.

Changing an opinion routed so deeply is rarely a single moment of revelation and move likely a slow, drop by drop erosion. So just be one of those drops.

You could read Street Epistemology's basics about how to begin discussing it: [https://streetepistemology.com/publications/street_epistemol...](https://streetepistemology.com/publications/street_epistemology_the_basics)

</comment></comment><comment><USER4> I think a lot of confusion over this issue is that people expect it to be 100% black, or 100% white and the reality is it's not.

Vaccines _mostly_ work, and at scale that translates into thousands of people having adverse reactions to them, and it's exacerbated by vaccine companies mixing different vaccines together and adding preservatives that aren't strictly necessary but increase the life span and thus profit.

For the record, I'm pro-vaccine but it's a nuanced issue.

This is an example that's always stuck in my mind

>For example, a study into the vaccine used during the 2009 swine flu outbreak found that for every million people who had the vaccination, there were less than two extra cases of Guillain-Barré syndrome.[0]

That's the kind of thing anti-vaxxers seize on.

There's also the 'vaccine court'[1] that's paid out over 4 BILLION DOLLARS[2] for injuries from vaccines.

Something that gets lost in the noise is pharma companies are pro-profit, the more vaccines they sell[3] the more money they make. The more they can combine vaccines, the more money they can make. Increasing shelf life by adding things like thimerosal decrease production costs but increases risk etc etc.

Pharma companies don't care about health, they care about profit.

So, again, I'd like to reiterate I'm actually pro-vaccine but it's not black and white, and I'd really like if pro-vaxxers and anti-vaxxers could come together and discuss this stuff rationally without the hysterics!

0 [https://www.nhs.uk/conditions/guillain-barre- syndrome/causes...](https://www.nhs.uk/conditions/guillain-barre- syndrome/causes/)

1 [https://en.wikipedia.org/wiki/Vaccine_court](https://en.wikipedia.org/wiki/Vaccine_court)

2 [https://www.hrsa.gov/vaccine- compensation/data/index.html](https://www.hrsa.gov/vaccine- compensation/data/index.html)

3 [https://vaxopedia.org/2018/07/15/do-kids-really- get-72-doses...](https://vaxopedia.org/2018/07/15/do-kids-really-get-72-doses- of-vaccines/)

<comment><USER5> It's also pretty hard to use statistical arguments when someone watched their kid go into convolutions a couple hours after a vaccination.

<comment><USER5> Studies have shown a small increased risk for febrile seizures during the 5 to 12 days after a child has received their first vaccination with the measles, mumps, rubella (MMR) vaccine. The risk is slightly higher with the measles, mumps, rubella, varicella (MMRV) combination vaccine, but the risk is still small

[https://www.cdc.gov/vaccinesafety/concerns/febrile- seizures....](https://www.cdc.gov/vaccinesafety/concerns/febrile- seizures.html)

</comment></comment></comment><comment><USER6> There's a extensive review on a couple of podcasts on this topic by the "Science Versus" podcast.

</comment><comment><USER7> I'm anti-adjuvant because adjuvants push your body's immune system into a Th2-heavy mode (antiparasitic/antifungal). Repeated adjuvant administrations are likely to contribute to immune disorders, especially Th2-heavy disorders and immunoproliferative disorders. Many, many autistic people have Th2-heavy (and generally imbalanced) immune systems. When exposed to immune stimulants, you'd expect these people to show additional symptoms. Adjuvants, by design, overstimulate immune systems. Repeated adjuvant exposure during infancy probably contributes to disorders of hyperactive immune systems.

Live virus vaccines are adjuvant-free. MMR vaccine, studied in the "vaccines cause autism" study and refuted by countless other studies, is actually adjuvant-free.

TL;DR -- Adjuvants are likely to overstimulate some peoples' immune systems, because they're designed to strongly stimulate peoples' immune systems.

Still better to use adjuvanted vaccines than be unvaccinated and get terrible illnesses though.

<comment> who-knows95 what is TH2-heavy mode,

</comment></comment><comment><USER8> Do you want to keep being friends with them? Then keep your mouth shut.

Do you want to not be friends with them and have them not vaccinate their kid? Show them whatever research you want, you're not changing their minds.

</comment><comment><USER9> Sidestep it. There is VALIDITY to their concerns - vaccines may in some small amount of cases have serious side effects!

Ask about statistics, though. Have them show you the stats. Then ask this:

Would you not wear a seatbelt because in some rare cases the seatbelt can actually bring about a negative outcome?

Herd Immunity doesn't apply to seatbelts but they are freeriding on others' herd immunity.

</comment><comment><USER10> I'm neither pro vax nor anti vax. Both camps are equally irrational.

By pro vax, I mean the folks who feel compelled to push their vaccine views and agenda on other people. Like you.

When I was growing up, statistics on vaccinations were counted in the "We have successfully vaccinated X percent of people" way. It wasn't expected to achieve 100 percent coverage for the entire population. Now, we tend to discuss it in the vein of "X percent of people failed to get vaccinated or refused vaccines." like it's a failure if we don't have 100 percent coverage.

There are legitimate exceptions to getting vaccinated. There are people with serious health issues for which vaccines are actually contra-indicated.

If we would stop acting like 100 percent of all people _must_ be vaccinated and _resistance is futile_ and just let those folks with issues quietly not get vaccinated without having to actively justify their choice, then a lot of this rhetoric and politicking would go away.

There are ways to deal with a small percent of folks not being vaccinated that respect their right to choose without endangering other people. If you are genuinely worried that some small percentage of folks are a threat to your health, then looking into how we can design a world that is safe for both the unvaccinated and those who fear them is a better approach.

I have all my childhood vaccinations. I'm "supposed to" get the annual flu shot because of my respiratory condition. I stopped getting it years ago because all the people helping me get healthier after doctors wrote me off for dead were strongly anti vax.

I'm not strongly anti vax. Anti vaxxers hate on me. Pro vaxxers hate on me. I'm just someone who wants to exercise my right to opt out of the fucking annual flu shot, which isn't actually required, yet I can't do that without being given hell by some internet stranger or other who lives nowhere near me, yet still wants to inform me that I am evil incarnate and a danger to their welfare or the welfare of some sickly family member of theirs.

<comment><AUTHOR> Not sure why you are being downvoted here.. thanks for your perspective and contribution. I think hnews folks tend to fetishize what they see as "scientific thinking" a bit too much and anything that goes out of that narrow view tends to be downvoted into oblivion.</comment></comment>


Chunking Optimizations: Let the Knife Do the Work - <AUTHOR> https://nullprogram.com/blog/2019/12/09/ <comment><USER2> I will say that most of the time, when you want to pull out the intrinsics, you really want to use the autovectorizer instead and "restrict" will get you everything you want.

The main use cases for vector intrinsics, in my opinion, are when you are doing something clever shuffling the vectors around or packing / unpacking them. If you're not being especially clever, just let the compiler do the heavy lifting and make it happen by putting "restrict" in a couple places.

If you are being especially clever, at least give the compiler a shot and benchmark the different versions against each other.

<comment><USER3> Or if you're me and your project is compiled with MSVC.

My personal projects are are beautifully simple loops that compile to vectorized AVX or SSE instructions. My work projects have a lot of `//todo: rewrite this with intrinsics` or `//don't fuck up the alignment there's a bunch of SIMD intrinsics under here`.

</comment></comment><comment><USER4> Using gcc-9.2 with the usual AVX-512 flags, I get

        xor512d:
                vmovdqu8        zmm1, ZMMWORD PTR [rsi]
                vpxorq  zmm0, zmm1, ZMMWORD PTR [rdi]
                vmovdqu8        ZMMWORD PTR [rdi], zmm0
                vzeroupper
                ret

which is very close to the reported Clang-generated code.

Flags used: -O3 -mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl -mavx512ifma -mavx512vbmi

<comment><USER4> By the way, godbolt.org is great for testing this kind of stuff. Here is a link to verify my claim: [https://godbolt.org/z/u68_9m](https://godbolt.org/z/u68_9m) .

</comment></comment><comment><USER5> As one of the comments in the article points out, there's an issue of mismatched compiler optimization flags for the different examples shown. The first was compiled with -Os, the last with -O3, and it's not mentioned for the ones in between. Using the same flags for both will produce the same code, so it doesn't seem like restrict helps much in this case.

<comment><USER6> When testing on clang, the first and last examples produce radically different code even when both using -Os or -O3. The choice of flag does affect the code emitted, but it doesn't change the article's point as xor512d does it 16 bytes at a time and xor512a does it 1 byte at a time.

<comment><USER7> > xor512d does it 16 bytes at a time and xor512a does it 1 byte at a time.

Not it doesn't. The compiler chooses how many bytes to do at a time. And in fact it defers that choice to run time. For reference, here are both functions compiled with GCC and Clang at -O3: [https://godbolt.org/z/WmduxJ](https://godbolt.org/z/WmduxJ)

For xor512a both compilers insert an aliasing check and fall back to a scalar loop if the input arrays overlap. But for the case where they do _not_ overlap, both compilers produce vector code that is essentially equivalent to xor512d.

If we expect aliasing to be rare, the two functions will usually both execute essentially the same vector code, with the performance difference only being the slight cost of the aliasing check. This holds for both GCC and Clang.

</comment></comment></comment><comment><USER8> One unfortunate issue / question: are compilers smart enough to emit tests for CPU support for these extensions? I see no mention of that, and if the answer is "no" you will find yourself being still forced to hand-roll this stuff.

Let's say I build a binary with AVX support. Will it run on a CPU without AVX support?

It's less of an issue with older SSE stuff that is effectively universal across all X64 chips, but it's a big issue with late SSE and AVX extensions.

<comment><USER2> Hand-rolling is unnecessary and error-prone. It is better to leverage the compiler.

There are a couple relevant GCC flags: -mcpu and -mtune. The -mcpu flag will specify which features it is allowed to assume are present. The blog post is using SSE instructions, I'm thinking SSE2 but that's just from memory, and these days most people consider it eccentric to try and support CPUs without SSE2.

There are a couple ways you can do the feature testing in your own program. You can make multiple copies of the function and compile them with different CPU targets, and then use something like

        void xor512a_avx(...) __attribute__((target("avx"))) { ... }

        if (__builtin_cpu_supports("avx")) {
            xor512a_avx(dst, src);
        }

Alternatively, you can use something called function multiversioning, which will write the branch for you. I think this feature is present in both GCC and Clang.

Also note that there are some unusual edge cases you may not have considered with feature detection. There's a strong case to say that instructions like CPUID are the wrong way to go about it, and you should do things like use sysctl() on macOS. The risks in using CPUID are a bit esoteric in my opinion, though.

</comment></comment><comment><USER9> Sadly C++ doesn't have the `restrict` keyword.

<comment><USER10> That's surprising, is there a technical reason? I would have guessed that a non-aliasing declaration was table stakes for any performance critical language, so I just always assumed it was in there somewhere.

<comment><USER11> with C++, you often wonder why some things are done in such an ugly way (or haven't been cleaned up). The standard reply is frequently "backward compatibility". But if you investigate the backward compatibility, you find C++ is not really backward compatible with C at all. FWIW 'restrict' was introduced in C99, so after the big rift. But you can use '__restrict'</comment></comment></comment>


Ask HN: Is Google Down? - <AUTHOR> Can't access any Google services right now. Haven't seen anything about it in the news and only a few people seem to reporting something similar Twitter. I'm currently in the Southeast US. <comment><USER2> Even the Google DNS servers seem down. Can't resolve anything with 220.127.116.11 or 126.96.36.199

Edit: Location Atlanta, GA. Edit2: I can access Google services, for me it just seems to be their DNS servers that are down.

</comment><comment><USER3> Also in Southeast US (Orlando, FL) on AT&T Fiber. Can't access any google services. Thought I was going crazy.

<comment><USER4> Tampa, FL here. It got to the point where I wasn't able to resolve any URLs. Once I switched my DNS to Cloudflare (220.127.116.11), everything came back up.

</comment></comment><comment><USER5> You can check Google's own status pages:

\- [https://www.google.com/appsstatus#hl=en&v=status](https://www.google.com/appsstatus#hl=en&v=status)

\- [https://status.cloud.google.com/](https://status.cloud.google.com/)

<comment><AUTHOR> Certainly, if I could access Google, which I can't.

Seems like it's not just me though: [https://twitter.com/search?q=google%20down&&f=live](https://twitter.com/search?q=google%20down&&f=live)

</comment></comment><comment><USER6> Yup, mostly in the south east US:

[https://downdetector.com/status/google/](https://downdetector.com/status/google/)

[https://outage.report/google/amp](https://outage.report/google/amp)

</comment><comment><USER7> I came here just to search this. I'm also not able to access Google services.

<comment><AUTHOR> Glad I'm not the only one. Does it seem to cover all Google services? That's what I'm experiencing and seems like folks on Twitter are seeing the same:

Are you in the southeast US as well?

<comment><USER7> Yep sounds like it's something in the southeast. It works over my Verizon LTE but not Comcast cable.

</comment></comment></comment><comment><USER8> Maybe you should check here: [https://downforeveryoneorjustme.com/](https://downforeveryoneorjustme.com/)

</comment><comment><USER9> google and google cloud and google services are down in the south east:

[https://twitter.com/_jayphelps/status/1270204647144390657](https://twitter.com/_jayphelps/status/1270204647144390657)

From what I understand google fiber is completely down also</comment>


In Tough Times, the Humanities Must Justify Their Worth - <AUTHOR> http://www.nytimes.com/2009/02/25/books/25human.html?%2334;%20February%2025,%202009=&_r=1&sq=&st=cse&scp=1&%2334;Patricia%20Cohen=&pagewanted=all <comment><USER3> Speaking as someone who double-majored in computer science and a humanity (history) at a top-tier university, I think that the humanity degree should be firmly classified as entertainment, or enrichment.

If you're rich, and have $40 (or $140k) and four years of your life to devote to it, then, by all means, go get a humanities degree.

I think that it's just as useful and enriching as spending $140k and four years learning to become an expert windsurfer, or skateboarder, or glass blower.

However, for anyone who doesn't consider $140k and 4 years "discretionary entertainment budget", then a humanities degree is a huge waste.

People justify humanities degrees as teaching you "how to think" or "how to write".

Hogwash.

Most engineers that I know think far, far, far better than most humanities majors. The humanities only rarely require critical thinking. Further, they don't even train you, in any real sense, how to reason by analogy or how to write well. At most, they filter the folks who already know how to do these things.

Having attended an Ivy League school and seen both types of education, I would not recommend the humanities to anyone other than idle children with trust funds.

<comment><USER4> Odd. My experience is just the opposite.

I think you might have been more content at a trade school, not University. They have different goals. Pressure to dumb down the University to serve as simply a cog feeder for business has always been there.

I have a degree in biochemistry, formal and informal training in computer science, a minor in English, fluency in a foreign language I learned at university...and then this silly professional degree.

My science and professional degree == the critical thinking skills I frankly could have obtained, free of charge, learning automotive repair at my local community college.

Humanities work == understanding and appreciation for how different people(s) think, exposure to the "why" rather than just the "how", development of a yearning to create, deep appreciation for the things that make life just a bit more than our checking accounts: reverence for nature, beauty, compassion, truth.

And yeah, an ability to think far more critically about things a little heavier than syntax errors, an ability to weigh evidence, work with these nebulous, imperfect, non-Platonic things called _people_ , and make correct, critical decisions that incorporate science, ethics, economics - <USER2> harder rights over easier wrongs.

To paraphrase a fellow Dead Poet, there's a _hell_ of a lot of 6 inch pipe to lay out there. It will pay well. You'll revel in the comforting, solid duality of pipe and wrench.

You may come to that end pipe cap wondering if that was all.

<comment><USER5> I'm with logjam on this one. I double-majored in Computer Science and Theatre, and while I do now use my Computer Science degree to make money, I don't believe I learned almost anything in my computer science classes that I couldn't have learned - and mightn't have learned better - either (a) on the job somewhere out of high school or (b) on my own through books and online resources.

The creative and teamwork experiences I got on the theatre side of things, however, are absolutely tangibly valuable to me now in my day-to-day dealings with coworkers (current and potential). Did a humanities degree "teach me how to think"? No. Did it provide me with several different ways of thinking, and help me appreciate better how different my natural thought processes might be from those of other people? Absolutely. I'm sorry, but there are in fact a lot of very narrow, closed off, fit-the-stereotype maladjusted computer professionals out there, and yes, they're unpleasant to work with. Becoming more socialized is a perfectly valid thing to expect out of an education, and a humanities degree certainly puts focus there that doesn't exist in more technical degrees.

Of course, the fact that my particular theatre program was filled with enthusiastic, smart, engaging professors who encouraged lively participation, debate and creativity while the computer science program was nearly lifeless has probably colored my perceptions, but I imagine that paradigm is not limited to the university I attended.

</comment></comment></comment><comment><USER6> "The humanities" are really something of a grab bag when it comes to categorizing fields of study. When it comes to categorizing the different departments of a university into colleges or whatnot, things like "engineering" and "science" clearly share some type of methodology or otherwise easily fit together. But "humanities" ranges from downright useful stuff like foreign language and history to things like philosophy and English (which can be studied fruitfully but most universities fall short due to some bad fundamental approach like postmodernism) to crap like "ethnic studies" and "women's studies" (identity politics: the department).

<comment><USER7> Do you really think that the study of philosophy in "most universities fall[s] short due to some bad fundamental approach like postmodernism"? I am dubious about this, especially if we drop the 'like'. A couple of (hopefully) enlightening links:

[http://leiterreports.typepad.com/blog/2005/10/the_myth_of_th...](http://leiterreports.typepad.com/blog/2005/10/the_myth_of_the.html)

<http://el-prod.baylor.edu/certain_doubts/?p=453>

<comment><USER6> I used the "like" because most folks only know postmodernism. I actually did my first degree in philosophy and while postmodernism was nowhere to be found, there's enough continental philosophy around to waste everyone's time. My school was very analytic, but from talking to other philosophy students online, analytic philosophy isn't all that popular or well-known among undergrads. I think analytic philosophy is great, though of somewhat more limited interest since it's less amenable to bullshit, grand abstractions, and other bad philosophy. It's also a bit arcane and technical at times.

DeRose is a good analytic philosopher and I always enjoy reading him, so thanks for the link.

Not that all continental philosophy is crap (existentialism seems interesting and worthwhile) but a lot of it is, and in many circles, a low opinion of Hegel gets you a lot of credit.

</comment></comment></comment><comment><USER8> _There's a lot more to a liberal education than improving the economy. I think that is one of the worst mistakes that policy makers often make not being able to see beyond that_

If all you have to offer is intangible benefits, then you are welcome to all the intangible support from the taxpayer you want!

<comment><USER9> How about fluency in a foreign language? Is that an intangible? How about the ability to write a lengthy, well-cited, well-reasoned paper in English? Is that an intangible skill?

<comment><USER10> Those are fine and exceptionally useful skills in combination with others, but on their own do not offer many opportunities. Someone whose only skill is fluency in a foreign language is limited to working as a translator; someone whose only skill is writing is pretty much limited to working as, unsurprisingly, a writer. I'm not saying that either field is unimportant but they're extremely competitive fields with a high ratio of qualified candidates to good-paying jobs.

In contrast, someone with a scientific or engineering degree _and_ fluency in a foreign language or the ability to write well, has a very good chance of never being out of demand.

The problem isn't with liberal arts skills, it's with students who pursue them to the exclusion of -- rather than in addition to -- more practical curricula that are actually desired by employers.

<comment><USER11> Someone who only knows how to code is a lot less valuable than someone who can program and also has knowledge of the big, wide real world.

<comment><USER12> There is a lot of evidence that this is not the case.

People that only know how to program Video Card Drivers can make a fair amount of money. So, people who know how to program and also know about the big, wide real world don't make that much more on average.

It can probably marginaly increase their income, but once you make 90k there is not much room for meaningful improvement on average.

</comment></comment></comment></comment></comment><comment><USER13> _...a traditional liberal arts education is, by definition, not intended to prepare students for a specific vocation. Rather, the critical thinking, civic and historical knowledge and ethical reasoning..._

It strikes me as obvious that critical thinking ability is best trained with math.

Civic and historical knowledge can be learned much like any specific skill can.

So it wood seem the humanities are a very round about way of teaching critical thinking. But I think the last paragraph strikes at a core truth rarely spoken out loud:

 _That may be unfortunate but inevitable, Mr. Kronman said. The essence of a humanities education — reading the great literary and philosophical works and coming "to grips with the question of what living is for" — may become "a great luxury that many cannot afford."_

Within the above paragraph is the hard truth that a humanities education is most often a way to show off class and breeding. Class and breeding are highly correlated with wealth.

<comment><USER14> > It strikes me as obvious that critical thinking ability is best trained with > math.

Writing a cogent and convincing argument is not a problem that can be solved with linear algebra. Ethics is not the differential equations of competing interests. That you would consider a good math education to be a core component of critical thinking appears to serve as an example proof of why engineers are poorly trained in critical thinking skills.

<comment><USER13> Proving a mathematical theorem is the kind of absolute proof no amount of cogent and convincing arguing will ever touch.

Ethics is a set of rules, critically occupied with filtering out simple egoistic urges from greater human goals.

I think you're confusing critical thinking with empathy and emotional insight.

To understand humans, you have to understand our emotions and that requires empathy. Combine empathy with critical thinking and you can have insights about our emotional lives.

Engineers are not poorly trained in critical thinking skills, quite the opposite.

Some engineers are very empathic people. A few seem to posses a distinct lack of empathy and little intuition as to how other feel. But those individuals are rare and not confined to engineering.

Convincing arguments depend on who you're trying to convince, know your audience. The same argument won't convince engineers and astrologists.

Any good engineer has excellent communication skills, they wouldn't be a good engineer otherwise. And cogent convincing arguments are an intimate part of every engineer's life.

The study of math, physics, logic, will greatly improve your ability to come up with convincing arguments.

<comment><USER14> > The study of math, physics, logic, will greatly improve your ability to come > up with convincing arguments.

As will the study of history, philosophy, rhetoric, and psychology. Let's be honest here. Physics has no place in that list, logic is a subset of math, and a strong case could be made that math is just applied philosophy/epistemology (and the reverse is also true.) There is a reason that math is considered a liberal art and not an engineering discipline...

There is a difference between real "higher math" and the applied math that engineering students learn as a part of their vocational training. The former is useful for enhancing critical thinking, the latter is not.

</comment></comment></comment></comment><comment><USER15> From the article: _The essence of a humanities education — reading the great literary and philosophical works and coming "to grips with the question of what living is for" — may become "a great luxury that many cannot afford."_

Good Will Hunting rebuts this quite well:

 _You wasted $150,000 on an education you coulda got for $1.50 in late fees at the public library._

A humanities _education_ is not a luxury that no one can afford. A humanities _degree_ is.

</comment><comment><USER16> A "liberal" education was meant to teach you the tools you needed to grant yourself a free existence... including rhetoric (to both identify and fight against, and use for yourself), critical thinking, analysis, history (things to do and not to do), persuasion, philosophy (self-understanding), and so on.

EDIT: These are incredibly valuable, far more than any kind of job-training education. BUT, that's assuming that's what you actually get. Based on my knowledge of universities... that's not what you get.

<comment><USER13> My computer science degree required I get a passing grade in a public speaking class.</comment></comment>


Groupon's Secret Weapon – the local advertising GDS - <AUTHOR> http://www.startupwhisperer.com/2011/03/groupons-secret-weapon-the-local-advertising-gds.html

<comment><USER2> Okay, let's say I buy the argument that there is a lot of money to be made becoming the premier "real-time" intermediary between consumers and long-tail small businesses.

I'm not entirely clear on why Groupon is uniquely positioned to become this intermediary. It seems like there are a lot of other national companies already doing business with this long tail (e.g., eBay, Yelp -- not to mention MasterCard, Amex, the big telcos, etc.)

What am I missing? What about Groupon's relationship with these vendors gives it a leg up?

<comment><USER3> I don't think it's its relationship with vendors so much as its relationship with consumers. People are flocking to Groupon looking for places to spend their money.</comment></comment>


Ask HN: Why does Reddit search suck so much? - <AUTHOR> I'm just curious what the technical challenge is there and was hoping someone here who is an expert in that space could ELI5 it to me. <comment><USER2> In general, people are trained by Google to expect a lot out of a search. On Google you can phrase a search in a number of ways that don't precisely map to how the ideal content phrases it, and still figure it out. This works because Google has a massive amount of data - data from searches about what words are generally synonyms of other words, data from other pages on the internet that link to the target page, and data about what past searchers have done.

When you do a site-specific search, or a search on an internal corporate site, much of this data is often totally absent. So it may just not be possible to build a search with as high a quality as you expect, on that corpus, with modern technology.

Source: I don't know anything about Reddit search specifically but I was formerly a search expert and I am pretty sure this is what's going on here.

<comment><USER3> I don't know, I rolled my own search feature for a previous project just using mysql full text search with weighted results and ended up with something that worked way better than reddit's search function. Building the next google is hard but building a functional search feature isn't exactly rocket science, especially when you have reddit level money.

<comment><USER4> Is that a fair comparison? Reddit has a ridiculous amount of data to search through. I feel like if improving search was so trivial, they would have done it already.

<comment><USER3> Well they do have a search that works reasonably fast, so they have the infrastructure already. It's just not that good. It's a algorithm/methodology issue. I can understand if they were still in startup mode or it wasn't 2017. I'm not saying the method I mentioned would be a solution for something on reddit's scale but we live in an age of readily available data analytic solutions and open-source search engines. An open-source solution like Solr would work, I just don't think reddit has any motivation to solve the issue.

Edit: Found this on reddit's wikipedia page:

"On July 21, 2010, Reddit outsourced the Reddit search engine to Flaptor, who used its search product IndexTank.[91] As of July 12, 2012, Reddit uses Amazon CloudSearch."

It seems to be an implementation issue, not a technological one.

</comment></comment></comment></comment><comment><USER5> I use [http://searchreddit.net/](http://searchreddit.net/) to search reddit since I discovered this site in IndieHackers, its fast and matching reasonably.

<comment><USER6> Thank you ! Also [http://vis.searchreddit.net](http://vis.searchreddit.net) to visualize search results.

Also [http://searchhn.com](http://searchhn.com) for a realtime hacker news search. All of these demos are being rebuilt from scratch and hopefully will be out in a week.

</comment></comment><comment><USER7> I'm guessing reddit search simply isn't used often enough for them to dedicate resources to improving it. The site is primarily about having a constant stream of new posts anyway. Worst case you can use Google.

</comment><comment><USER8> Maybe you think it sucks, but it's still much better than no search at all. Looking at you HN.

<comment><USER9> There's a search bar right at the bottom of this page, and it seems to work.

<comment><USER8> Well, TIL. Thanks.

<comment><USER10> I wasn't aware of the search bar on HN either. Would be nice if it was at the top of the page rather than the bottom.

<comment><USER11> Me too; this is the first I've heard of it. I guess I never scrolled down enough to see it.</comment></comment></comment></comment></comment>


Awesome-lite-websites – A list of lightweight websites without all the bloat - <AUTHOR> https://github.com/mdibaiee/awesome-lite-websites <comment><USER2> How about [http://multithreaded.link/](http://multithreaded.link/) for the list? It's so light you can actually flip through full articles on the homepage!

<comment><AUTHOR> It _looks_ lightweight, but it's actually 3MB and uses JavaScript as a necessary dependency (so browsers without JavaScript will probably break it). The list is meant to include only websites with less than ~1MB of content and no, or very little JavaScript.

</comment></comment><comment><USER3> Look's like [http://skimfeed.com](http://skimfeed.com) would fit the list perfectly.

<comment><AUTHOR> Added to list, thanks! +1</comment></comment>


Carnage3D: Reimplementation of Grand Theft Auto 1 (GTA1) - <AUTHOR> https://github.com/codenamecpp/carnage3d <comment><AUTHOR> The author made a video as well demonstrating the current state of it.

The video is linked to from the README but I'll put the link here also.

[https://www.youtube.com/watch?v=RENqPCwTdhw](https://www.youtube.com/watch?v=RENqPCwTdhw)</comment>


Join my NATO or watch critical thinking die - <AUTHOR> https://www.thetimes.co.uk/edition/comment/join-my-nato-or-watch-critical-thinking-die-sl5sdqv5v <comment><USER2> Hehe I found an new powerful foe: "Want to read more? Subscribe now and get unlimited digital access on web and our smartphone and tablet apps, free for your first month."</comment>


Cloud Storage Pricing Calculator - <AUTHOR> https://www.backblaze.com/b2/cloud-storage-pricing.html <comment><USER2> I work for Google Cloud and want to make a note.

This page is quoting Google Cloud's multi-region storage option, which is the most redundant storage option in the industry (but more expensive than, say, Regional GCS), which is what S3 has.

The page makes it seem that all storage options are equal, which is not serving users' best interests.</comment>


PG about being aggrieved and/or rich - <AUTHOR> https://twitter.com/paulg/status/1109902207326015488 <comment><USER2> A theory: people who become rich are able to conceal their grievances better.</comment>


To Bootstrap or Not? - <AUTHOR> http://techinboston.co/post/101969377906/ken-deckinger

<comment><AUTHOR> Interesting (audio) interview with startup founder who's bootstrapping his second company.

Should you? Or should you raise money? What about if you are a consumer company that needs to spend to acquire?</comment>


Persuade xor Discover, Parkinson Remix - <AUTHOR> http://paulgraham.com/pxdremix.html <comment><USER2> I am speculating, but I believe this was because so many people focused on the Michael Arrington reference which was just a starting point, not the main focus of the essay.

By switching that to something completely noncontroversial (a bicycle shed which may not even exist physically) he was showing how you can come to the same conclusion without the lightning rod in there, and also at the same time emphasizing what he was really writing about.

</comment><comment><USER3> I don't think people "missed the point" of the original. Rather, a lot of people prefer talking about Michael Arrington's personality instead of talking about technique in writing and communication. Essays do not come with Taser- equipped topicality guardians that electrocute you if you don't talk about what the writer thought you might talk about.

</comment><comment><USER4> Is there an in-joke here? I can see the difference between this and the original, but who is Parkinson, and why is this a remix?

There's something I'm not understanding. Am I the only one?

<comment><USER5> See here: <http://news.ycombinator.com/item?id=839237>

and here: <http://en.wikipedia.org/wiki/Parkinson%27s_Law_of_Triviality>

<comment><USER4> Ah. Definitely insider knowledge, although no doubt widely known in appropriate circles.

Thank you.

</comment></comment></comment><comment><USER6> What I learned from the comments (and comment voting) on the first version: surprisingly, the HN community is more passionate in their disdain for Mike Arrington than they are in their worship of pg.

Hopefully this article will allow people to focus on the real points of the first, because he explored some interesting territory there.

<comment><USER7> An alternate conclusion is that given the opportunity to discuss two ideas, where one is inflammatory and simple, and the other is abstract and nuanced, people tend towards the inflammatory. Conversations, then, are like physical systems: they tend to find the lowest energy point.

</comment></comment><comment><USER8> Doesn't remixing the article to eliminate a distraction from the main point suggest PG actually _is_ trying to persuade with this piece?

<comment><USER9> Maybe, but the identified harm was adding fluff in order to persuade. If you subtract mostly irrelevant if colorful anecdotes, you keep the point and the concision, basically making it more persuasive for free.

<comment><USER8> And yet, this version's cryptic title and bikeshed-cliche-intro only make sense when considered in contrast to the original.

So while one message sent by this version is "look again at the part I thought I was important", another message is, "wow, that 'bikeshed' was a powerful distraction". That calls yet more attention to the 'bikeshed' itself -- both the specific instance and the general phenomenon -- and the author's own self- conscious rhetorical choices about how to influence readers.

The many levels of semi-contradictory subtext are making my head spin!

</comment></comment></comment><comment><USER10> I appreciate the change. I almost abandoned the essay when I saw it was going to talk about Mike Arrington. Luckly I continued reading, and enjoyed it full.

The question that remains in the back of my mind is: is this an intent of pleasing me (as an audience)?. The other question is: Is Mike's anti-fan base so big that this remix is useful?

Above all, I enjoyed reading the original article and liked the remix.

</comment><comment><USER11> This would seem a less... sarcastic if the author had tried in good faith to find another real example, rather than woundedly choosing something deliberately boring.

<comment><USER7> The color of bike sheds has special meaning in the technical community.

<comment><USER11> Yes, and it is a very sarcastic choice. The author implies that Arrington was just a totally arbitrary choice in the previous article, absolutely irrelevant to his point, and this is more than a little disingenuous.

</comment></comment></comment><comment><USER8> How dare you call MA a bikeshed!

</comment><comment><USER12> There's another reason people "dislike" the color of the bike shed: they love participatory righteous indignation, and the bike shed's color is something convenient to complain about. That so many bike sheds are this color makes me think that people enjoy complaining about things more than they actually dislike the color.

</comment><comment><USER13> It strikes me as very male to disregard the presence and feelings of others in the pursuit of making a point.

</comment><comment><USER12> Invoking Parkinson's Law is incorrect. That would require Arrington to be uninteresting, and your main point to be intimidatingly profound, neither of which are true. This was plain old Distraction By Shiny Objects. I think "see randomness" applies here.

</comment><comment><USER14> Well, this is not a simple substitution in the original. There are entire paragraphs removed. The ending remains pretty much the same.

I am not getting the point.

<comment><USER15> Basically, the XOR essay he wrote wasn't at all about Arrington. It was merely a starting point for the real point of the essay--why pg writes the way he does and the reasons for doing so.

However, there are certain things that just set people off--even if it has nothing to do with the main point--and go off on a berserker rant. In this case, people disagreed with the reason pg gave about why people thought Arrington was unfriendly.

So then the question is, does pg's essay still hold up and make sense about the reasons why he writes the way he does, if Arrington was unfriendly for a different reason than what pg gave?

One way to test it is if you replaced the entire section about Arrington with a similar analogy and see if the essay still holds up.

Pg decided to pick one about Parkinson's bike shed color as a nice little meta-commentary about how we are arguing about things that don't matter to the main point of the essay.

</comment></comment><comment><USER16> XOR is not an English word. The either...or construct is used to be explicit with regards to mutual exclusivity.

</comment><comment><USER17> Does "persuasion" even work? To me it just comes across as smarmy.</comment>


stickK.com - Put a contract out on yourself - <AUTHOR> http://www.stickk.com/about.php <comment><USER2> Tyler Cowen (Marginal Revolution) on why it won't work:

"The very smart Dean Karlan and Ian Ayres are behind the idea. I've long predicted this won't work; one group of potential customers doesn't really want to change, the other group is unwilling to give up control. It's not exaggerating to say that human nature is on the line here, and that if I am wrong this is probably the most important idea you will ever encounter."

From (which has additional interesting comments): [http://www.marginalrevolution.com/marginalrevolution/2007/12...](http://www.marginalrevolution.com/marginalrevolution/2007/12/buy- self-constr.html)

</comment><comment><USER3> eww. people are so confused. "i want to lose weight, but also i don't want to take steps to lose weight. i know! i'll just hurt myself every time i gain weight. i'll make it really embarrassing and painful. that will resolve my contradictory preferences!"

<comment><USER4> there's a drug out there now that does it... it makes your body not digest fat, so if you eat fat, it comes right out at inopportune times.

<comment><USER5> I remember reading somewhere that drinking Yerba Mate naturally causes one to release some excess calories as heat instead of storing them as fat. Sadly Wikipedia doesn't have the cite.

<comment><USER4> Yerba Mate is just caffeine, and caffeine increases your metabolism like any other stimulant. It is a good dieting tactic to drink lots of sugar-free coffee. This is why amphetamines are prescribed for weight loss.</comment></comment></comment></comment>


Entrepreneur's Don't Think Enough - <AUTHOR> http://www.bothsidesofthetable.com/2012/11/20/entrepreneurs-dont-think-enough-heres-what-to-do-about-it

<comment><USER2> Already discussed at <http://news.ycombinator.com/item?id=4809176>

</comment><comment><USER3> Evidently neither do title writer's</comment>