skysight-inc/HackerNews huggingface dataset:
Here's my version of his opinions, probably even more controversial :P.

CS should be offered as a major by itself. All the most interesting stuff is CS-specific with indirect applications. Working on something like automatic programming is far more exciting than working on biology or art or what have you. (I can't think of anything more awesome or more CS-only than automatic programming.)

It is a mistake to introduce programmers to OOP.

A complex compiler is awesome. A sufficiently smart compiler may be a myth, but it is a utopian myth; we should strive for it. However, I would take it even further: program synthesis is better still. I'm in the business of telling the computer what to do, not how to do it, so there should be no obvious but unnecessary correspondence between what I write and what the computer executes--they just have to have the same semantics.

You shouldn't be allowed to write a library unless you have a thorough understanding of programming languages and some relevant math. There is always relevant math. Your functions should be accompanied by useful and verifiable laws others can depend on. Or maybe everyone should be encouraged to write libraries regardless of skill level and then the libraries could be ranked a posteriori. Any other guidelines make less sense.

Pretty code is readable and readable code is pretty. If you can render your code as a nice pdf and distribute it as a paper, it's about as readable as it will ever be. Even if you can't, remember that aesthetics aren't random--there is a reason why pretty code is pretty.

Purely functional programming is a straw man. Even Haskell lets you write code that at least acts impure. Haskell is a local maximum. On the other hand: a purely functional spec that the computer uses to generate a potentially impure program should work. But I've already talked about that :P.

I don't know what a "software engineering mindeset" is. It sounds like something a manager would say. Don't do stuff a manager would say. This is unfair to good managers but still a useful guideline. Have as much fun as you can unless people's lives are on the line.

I should note that I don't even think all these opinions are true. But a belief does not have to be true to be useful. If I could boil it down to a single sentence, it would probably be: math and CS theory aren't scary and you should reject conventional "wisdom". But that would be somewhat cheap--two independent and rather unrelated clauses joined with "and" may as well be two sentences :P.

Also, there's something very appealing about throwing out intentionally extreme opinions. I can certainly see why this guy keeps on writing his blog.
There's sysadmin and then there's IT/helpdesk. A good sysadmin understands requirements, architecture, best practices, security, scalability, monitoring, auditing, did I mention security?

Someone comes to you with their app running on a single dedicated box running a webserver and database on the same machine... their site runs too slow and has too much downtime.

Can you:

Upgrade DB to a master-slave redundant database with automatic failover and encrypted backups
Setup a web farm behind a nginx reverse proxy
Build a munin (or whatever) powered dashboard tracking system health and KPIs
Verify proper backups, audit trails, log cycling, firewalls, and password policies are in place
Oh, and by the way, audit their systems to make sure they're properly hardened, and make sure they have all the right updates installed

Most 'sysadmin' services are going to offer the last one or two bullets I think, for small change per month.

On the other hand, if you can do it all, perhaps a few days work, and yet worth thousand+ dollars to the client. I'd stay far, far away from anything involving support tickets and < $100 price tags.
I wonder how much that initial version changed during the 20 years of maintenance.

I find it hard to believe that someone was maintaining it for 20 years without improving the quality (of the code/design) and making it easier to maintain. Have you seen the code base of the initial version or of the version that is currently being used?
Photoshop Elements is a light-weight blend of Photoshop and Lightroom. It's more for managing photo collections, tweaking things like exposure and contrast, removing red eyes, etc.

If you want a sub-$100 Photoshop replacement, I'd go for Pixelmator. It's really affordable, and provides the functionality that most users need.
Benchmarks of Cassandra, HBase, VoltDB, MySql, Voldemort and Redis
How can the 20 most upvoted opinions be the 20 most controversial? If the opinions were upvoted based on "I agree" (and this is what I assume), then they would be among the least controversial to the stackexchange crowd. Maybe the middle opinions would be better.
I'm actually currently in process of writing a small library, but I have only 6 years of experience. I'm frightened.
IPhone struggles to gain ground in China
> The only thing appealing about this is that we'll all be long dead by then.

I'm going to use this line a lot in all my future planning meetings.
I'm not sure why the tone is so defensive, b/c, really, who's attacking that?

My guess it is in response to some quarters not respecting "lifestyle business" startups. There ARE (or were) people attacking that.
Making reasonable primers (which would work in conventional firearms, and be sufficiently insensitive to heat and shock) is more difficult than you might think. That's by far the hardest part of the whole process; powder is the second hardest. Ammunition assembly is trivial (you can buy home reloading equipment) re-use brass or manufacture brass, and make lead or solid-copper bullets, make firearms, etc. all using home tools otherwise. Barrels are the most difficult part of the actual firearm.

You could absolutely make a firearm which was much easier to build at home, including ammunition (BP and some kind of shotgun or grease gun open-bolt machine gun).
They're not "just statistics", as they point to some interesting facts.

Americans for example travel less and work more compared to other countries.

"6 minutes of education" is definitively negative (although I would personally use "narrow (minded)" in place of "sad") when compared with "90+ minutes of TV".
Also, anyone with colon cancer in their family should please do a colonoscopy every 10 years from the age of 40 to greatly reduce the likelihood of not detecting colon cancer early. Early detection has a recovery rate of near 100%.
John Hunter was, like me, a neuroscientist on paper. There were times when he helped me figure out how to best plot spike rasters (neural data) in matplotlib. I remember him leaving academia for industry (quant finance at the time), and discussing how he really needed to be able to provide more for his family. Those discussions ultimately stuck with me, and now having left academia myself, I often looked back on them as catalyzing. Thank you, John.
Democracy != Elections

In Ancient Greece, elections were considered (rightfully) as oligarchic, and sortition was the true instrument of democracy.
Sure, their democracy was flawed (not everyone was a citizen), but it's still better than our so called modern "democracies" where a closed oligarchy of influent and wealthy people rule the world while providing the illusion of freedom.
Elections are the circuses of our times, a modern game used to distract the masses, where people get to support their champion and their party.
While i agree that there's nothing to indicate there was neglect or that this death was preventable, please please do not assume that checklists would not help. Doctors and nurses are humans (usually exhausted over worked humans). Checklists save lives and make sure that folks are all on the same (literal) page in aviation, spaceflight, engineering fields of all stripes and other fields where life and limb are at risk.

Just because you're smart doesn't mean you can't make mistakes. Engineer your environment to minimize mistakes.
To be fair I know of programmers that hack their code until it works and then they forget about it. Next time they need to change something: take the ax and hack away...
Firing people is fucking expensive.
Just counted...

I wrote 169,020 lines of code in 9,691.25 hrs over 4 yrs from 2007-11 for a part-time job while going to school.

That's 17.44 lines per hour or 0.29 lines per minute, not including code written for school or leisure!
What You Miss if You Venture on an Ocean Cruise
"Superficially ugly code is irrelevant. Pretty formatting--or lack thereof--has no bearing on whether the code works and is reliable, and that kind of mechanical fiddling is better left to an automated tool."

I disagree with this one. Clear, readable code is... clear and readable. It's like not bothering to format text in a textbook because "the meat of the matter is in there, so who cares?"

Of course substance is more important than style in programming, but style also helps and is it really that much effort to make sure your code is readable for the next guy who comes along?
See 3:25 "a reboot costs a million dollars" (x-thousand engineers & workstations idle for 15min quickly adds up)
Check Who Unfriend You On Facebook with Unfriendapp.
Completely agree; a lot more transparent. They don't patch unnecessarily.
I don't want to get bogged by the semantics of a labor union since that is really not what I meant (and I think you know that). I'm talking a body representing developers in ecosystems where they are a part of, regardless of what semantic name you want to give that organization.

Apple and Twitter, both depend greatly on developers adding value to their ecosystem. You may say Apple sells devices, but it makes a huge part of its revenue from selling apps on the (iOS / Mac) appstore. Developers build those apps, not Apple (who develops a very small subset of integral apps). Those apps not only generate revenue directly via commissions, but also make their devices useful and attractive to the general population. Without the apps, the iPhone is a glorified PDA.

If you think developers are meaningless to those both companies and are just 3rd parties who have no influence, it is you who do not have a realistic picture of the state of things. Obviously, individual developers or small companies have no leverage. But a body representing a large portion of the developers on either platform will have such leverage and could make those companies make some concessions in the way they treat developers.

If all developers flocked to Android, Apple stock would crash. If developers pulled the plug on all of their twitter apps, Twitter would feel the effect strongly. Despite what you want to claim, developers do effect the bottom line for both companies substantially.
> I don't think it is helpful in this situation to insinuate that medical error was involved, or that Mr Hunter's death was preventable.

I agree.

> Also, thinking that a simple checklist will solve medical error reflects a very simplified view of the problems in the health care system.

Indeed, yet, a simple checklist HAS been shown to significantly improve outcomes: http://www.npr.org/templates/story/story.php?storyId=1222261... .

> There are a lot of smart people in health, if the solution was simple the problem would have been solved by now.

This is completely and utterly wrong: All stable systems past their transient stage are generally at a local optimum for their respectively relevant utility function - which is shaped by the incentive structure.

Unfortunately, the incentive structure in medicine is all about avoiding liability, then making money, and actual care is a side effect. As a result, small changes can produce dramatic change in care quality. But (almost by definition) they increase liability in the short term regardless of merits (because "that's not standard practice"), and are rarely practiced.
It's a bit sad that many people attribute yum's slowness to Python. Most of that is because it builds an XML db every single time it runs.
I believe you're somewhat mistaken. SOX generally applies to finance systems and financial reporting at public companies. So if you're publicly traded you couldn't use this process for your accounting system. But if Facebook wants to let a junior engineer push out new code without independent review, SOX isn't stopping them.
I've know my wife for the last 18 or 19 years and it was written before that, so I haven't seen the original. I have seen him debugging code in the evenings though. This consisted of printing out the entire programme (in the DBase sense a "programme" is a single file, but a programme in our sense would be a collection of dbase programmes) and the paper (dot matrix, so it's all connected) trailing all thruought the house as he draws pencil lines all over it to reconstruct programme flow. no indentation at all

The short answer to your question is no, I didn't see any evidence of improved structure or practices at all. All variables global. goto ftw. no procedures/methods/functions at all. He's never even heard of the concept when I tried to explain.

[Edit: managed to get hold of some of the code (see parent) and it looks like I was wrong on the indentation - he did start to use it at some point]
I said professions, not professionals.
It's kind of depressing to me that the most useful, and general quick and cheap, technique understanding your target was left out.

Go and meet them in person.

Please :-)

Every single person I've persuaded to do this, rather than send yet another bunch of e-mails or yet another online survey, has told me they've gotten enormous value out of it. I know it's sometimes scary for tech folk to go out and talk to people. It scared me when I first started doing it. But the value is immense.

By watching what real customers do, and encouraging and listening to their stories, you'll get a much deeper understanding of what they value and what their pain points are.

Then you'll be in a much better position to start other ways of talking to customers like cold-emails - because you will understand them at a much deeper level. More often than not you'll discover that you don't need the cold-email campaign because by actually talking to people you would have discovered some early evangelists who will be forcing their address book upon you and recommending you to all their friends.
Isn't that true of every geek-oriented news site with comments? In every community that reaches a certain size people start complaining that everything was better in the early year(s). There's always a lot of cynicism because that's just geek humor (actually I think HN is far better in that regard than many other sites - I don't know any other major site where you can get so much useful and positive feedback). And on sites with lots of comments you will always find lots of negative comments. That's just the way it is.
First, fire thyself
I haven't owned a cellphone for four years. I love it.
Password security | Hackers Handbook
No, it's much more simple than that. Developers can simply cut their apps from the ecosystem for a short while. Or move to another platform in large numbers. Just the threat of each action should cause those companies to consider some concessions.
How do Americans procreate?
Your comment is bullshit and lacks substance, the kind of opinion born out of ignorance, sorry to say it.

First of all, it is surprising because people put themselves at risk of fines or even jail by using unlicensed copies. If you don't like paying that much for software, then don't freaking use it and search for something cheaper. You don't freaking need all that functionality. Students and schools also get discounts. The many unlicensed copies out there are not used primarily by students. Also I worked for Adobe and I can tell you that they don't like piracy. That's one reason why they are moving towards a subscription-based model.

The difference between Gimp and Photoshop is that while Gimp gives you all the tools you need, it doesn't have an idiot mode, so it expects of you to know what you're doing.

A good example I can think of is Smart Sharpening. I don't know why the Gimp devs haven't implemented it. Maybe there's a patent on it or maybe they considered that it isn't worth it. Well, you can do it manually [1] ... it has the downside that it isn't something you can do in 3 clicks, so messing around to see how it looks is a little painful. On the other hand doing it manually makes you understand the process and allows you to have fine grained control, leading to better results, because truth be told, Photoshop has no way of knowing which edges are important in a photo and which aren't, so the results are not optimal.

This does scare beginners away and I wish that they implemented a nice wizard for what is standard functionality. On the other hand, it's actually quite easy to script such a wizard for Gimp in Python. So GIMP is designed for people that bend their tools to their will with a sharp inclination towards developers. It's not a good design because it prevents mainstream adoption, but for me it's like a breath of fresh air.

[1] http://www.gimp.org/tutorials/Smart_Sharpening/
That's not what the courts have found, I'm afraid.

The misconception about it being for states only is from the clause concerning well-armed militias being good for security, that wasn't a scoped restriction concerning that right.

During the time following the articles and the constitutional convention, most eligible civilian men were obligated to keep arms, not just ones in a militia or the military.

To believe the same people who legislated this had just gotten done signing a constitution that obviated all civilian gun ownership save for those in a militia is ludicrous and painfully unaware of the history.

So the wording goes,

>the right of the people to keep and bear arms shall not be infringed

If you don't like it, get the constitution amended. At least the anti-alcohol prohibitioners had enough self-respect not to try to sneak through the back-door. Otherwise, suck it up. It's the law of the land.

Also, McDonald restricted localities and states from infringing on the individual right to bear arms as much as the Federal gov't had previously been restricted, so it's no longer possible to stuff a city council to get guns banned.
I've never understood what's confusing about pointers...
Who is it that you think pays for the prisons that are profitable? Who is their customer?

I mean, you're saying here that somehow the state would get more money back from the private prisons than they paid them, so they could spend this surplus on courts?
It's not crazy, but it's inefficient. Go hang out in home schooler forums instead. People homeschool for many different reasons, but I think it's great that it's still allowed in the US. The result of a diversity of people with diverse needs meeting a private market that hasn't yet been eradicated by "progressive" teachers' unions and the politicians they employ, is a cornucopia of private resources available to parents and students who exercise some initiative.

These resources are under constant discussion on homeschooling forums.
Ruby based web frameworks you should know about
I haven't used rpm for a while having left redhat for ubuntu years back so this may be out of date: but certainly at the the time rpm was famous for "dependency hell" and deservedly so - almost everything I tried to install was a circular nightmare of incompatible dependencies. To the extent that i'd have to give up or resort to compiling from source. OTOH, apt was an absolute dream. It just worked. It'd fish anything required out of remote depository. There were never any version incompatabilities. I've never once had a failed install. On moving to apt I never looked back and would never use rpm again: indeed for me apt was Ubuntu's "killer feature".
> At some point you have to acknowledge that a substantial portion of your population is in the bottom 10% of the IQ distribution.

Say what? How can 10% of the distribution be a "substantial portion"? Ten percent is ... ten percent. For a normal statistical distribution, 10% of the IQ distribution is normally 10% of the population as a whole. To see why, ask yourself what percentage of the population is at or below the 50% IQ level. Then, having pictured that, ask yourself how 10% of the population could represent "a substantial portion" without contradicting what's just been demonstrated.

Your remark reminds me of the special conditions in fictional Lake Wobegon, where all the children are above average.
> Is it really a controversial opinion?

I haven't heard anyone argue against it, but for a very long time every single curriculum out there started with either Java or C++, and had to talk about object quite early on (you can't print "hello world" in Java without it, and you can't use C++ streams either).

And arguments I've heard about that practice as a proxy for your question, indicate that it is (or at least, was between the late '90s and the late '00s) controversial.
Looking at the roadmap: http://wiki.gimp.org/index.php/Roadmap it seems there won't be non destructive editing for quite some time either (several versions).

I've tried Gimp numerous times, and the lack of smart objects/filters makes it a complete non starter. Generally I found I could do most of the things I wanted to in Gimp, but they required many, many more steps.
Leaving aside the fraud question, my gut says if you hire someone as a consultant because you saw them in a bunch of photos with celebrities, or because you heard they went to xyz corporate parties, you deserve what happens.

Don't make lazy shallow hiring decisions, and don't make "meeting the right people" the key to your business plan, and this is never a problem for you.
Absolutely. Package managers are mostly IO-bound so there is no reason why a Python-based PM should be substantially slower than a C implementation.
I sent it when the site was released, day 1 or 2 I think, the first time it was posted on HN.
Thanks for the information! I'll play with gorp when I find some time...
> How many writers would get a book contract based on a portfolio of their unpublished work?

Certainly not many, because how anyone could know they actually wrote something? But I was speaking about published but not paid for works. There is more than one way to publish your writings and many of them do not involve financial compensation. I know, because quite a few years ago I was publishing short novels and articles in a (real-world, made-of-paper!) magazine about pen&paper RPGs. I didn't earn a penny (and the magazine went out of business quickly), but I was published.

I wasn't the only one who submitted texts to the editors of said magazine. Mine were of poor quality, but there were a few authors that I was not surprised to find in the bookstores some time later. They got a book contract (I don't know, I'm guessing) from real publisher probably with less hassle than other debutants, probably because of what they published for free earlier. You can argue that they became writers only after they were paid to write a book, but I don't see this that way. Also, many of them continue to contribute they writings (mainly reviews, essays) to on-line magazines (about RPGs; sadly, there is no one such a magazine still being published on paper in my country) for free.

How is this different from publishing side-project on github and getting hired based on that? I really can't see the difference.

Either way, thanks for interesting discussion, I enjoyed it, especially footnote about writing a letter to one's mom :)
What's strange about the current recession is that unemployment is high (especially for low skilled workers) but productivity (for the employed) is hasn't gone down[1]. This might explain the Detroit number.

[1] http://www.econtalk.org/archives/2012/08/ohanian_on_the.html
Don't answer them when they're interrupting or you don't feel like it (that's what I do). But, sometimes, people have genuine reasons to want to disturb you (something very important, or in emergency). That's I finally bought an iPhone instead of iPod touch and am much happier now.