skysight-inc/HackerNews huggingface dataset:
Your example of three times, is another common refactoring heuristic called the "rule of three" (I think Don Roberts coined the term). It's not incompatible with YAGNI, rather by the time you've got three examples you have proof that you do need something.

Arguing about YAGNI is sort of hard because developers fall into 2 camps, those that have spent more time in systems that were too abstract, and those that have spent more time in systems that were not adaptable enough. Your feelings on YAGNI are going to be very biased based on this.

I fall into the very pro YAGNI camp, because I think it is very, very hard to "design" for an unknown future. You can guess, but that's all it is, a guess. Why not wait until you can know what the abstraction should be?

Finally, introducing a class hierarchy for code reuse, is almost always a bad idea, YAGNI or not.
Cloud Platforms Comparison matrix
It depends on what you mean by "image/media-heavy". If you have a website that is basically made of image galleries, you can still make it accessible for blind people by giving descriptions of each picture. The problem is that describing a picture is hard: if you have a picture of a generic tree, you can give it the caption "A tree", but what if you want to give details of your hypothetical tree? To continue the tree metaphor, you shouldn't miss the forest for the trees: a blind visitor may want to know each detail in the tree, but most blind visitors just want to know that the picture has a generic tree so they can move on to find the information they actually need.

With videos, subtitles/captions are useful for deaf users, and useful for blind people when a video has no narration, just a soundtrack.

I say the reason screen readers are given a higher importance than unusual or outdated browsers is a matter of being able to choose. When you use an old browser, you can choose to upgrade. When you have a disability, you can't choose to not have that disability: you're stuck with screen readers until a better way to browse the web with your physical constraints is found.
This is why you use standard licenses. :-( It sounds like they basically want the CDDL (which I'd be totally good with) but writing your own license is rarely a good idea.
If it's so little effort to add a layer of abstraction then it will be just as easy to add it later. If you end up needing to add a feature that the abstraction would make easier then you can still go ahead and do it first. You won't have wasted any time, it's just that you added the abstraction after rather than before a different piece of work. If you don't end up needing it then your code is simpler and you haven't wasted any time.
in the mainstream subreddits, yes. But in the more niche ones, the discourse is civil if not heartwarming (I frequent the bicycling subreddit, personally)
the guardian wrote about his story: http://www.theguardian.com/commentisfree/2012/oct/27/vasili-...
Isaacs is writing from a node context, where apps are basically collections of third party modules glued together. In that kind of world, it's expected that things will work a certain way and not deviate, or your code ends up being crusted up by the glue and exception handling.

The issue with "wait until it's a problem" in node is that dependency updates can and will ruin your assumptions if you haven't been diligent about doing things the standard nodeish way. For better or worse, the node community pushes this pretty hard.

So the way I see it, this isn't about blind application of general rules. It's about having a standard API in your framework. And I firmly believe that the reason npm ecosystem works so well is because of people following these standards.

Though I do agree izs appears to be overgeneralizing his conclusions.
I thought "old, deprecated" might be indicative of that. If your code uses glPushMatrix, glBegin/glEnd, or other deprecated stuff, I don't want you writing tutorials for novices (and you should take down your old ones that already use it).

VBOs and shaders from day one. It's easier that way.
So what happens down the road when you do need it? Seems to me it violates DRY and borks your serialization for save states. Maybe it's just in this particular example though, or maybe it should be viewed not on a code level but more on a feature set level.
I predict roughly a month till they've circumvented it, if not sooner. A lot of these bots are simple contraptions, and simulating the way real people sign up to services seems to boil down to putting in some timers and a new name generating algorithm.
Nowadays you can just use libstd in no-runtime apps; you can choose whether to start the runtime and if you're running on bare metal, just don't start it.
Nice article. There were of course lots of people who identified the need for a case as a market. The success here is that this young man got it to market and achieved enough traction to grow that into something more sustainable. I've met a couple of people who banked a few 10's of thousands of dollars selling cases for the Pi and then got out of the market when volume dropped to unsustainable levels. Not a lot of money per-se but a nice chunk of change to start on the next thing.
Yes, the article states that (a) it's unlikely that the comet actually hit the sun (it probably burned up beforehand); and (b) there was a mass ejection event on the other side of the sun coincidentally around the same time that this comet was destroyed.
Just a thing for "Apple is now engaged in some of the practices Microsoft has been accused of. For whatever reason, the European Union doesn't like Microsoft."

Is not that Eu doesn't like Microsoft. It doesn't like monopolists.
Microsoft has a monopoly on personal computer market with windows.
Apple has not a monopoly in personal computer market nor in smartphones market.

And I hope you didn't chose Windows8 if you don't like the convergence of os_x and ios 'cause w8 is far more mobile oriented that os_x.
If you came back to linux then welcome back.
I think it's ironic that the monthly "who's hiring" posts follow such a guideline and try to inform the potential applicant as much as possible, yet these YC jobpostings go the exact opposite route.
"Finally, introducing a class hierarchy for code reuse, is almost always a bad idea, YAGNI or not."

Agreed, which is why component architectures are awesome. :)

That said, in certain languages and with certain system philosophies, it's the Right Thing to do--especially when you know that the feature will be needed. I don't promote that we prematurely abstract things out of ignorance, but out of convenience.
Tin foil hat time has long gone.
At first. But eventually, less and less will run on the 370^H^H^H Windows box, as people get native clients (or good HTML 5+ clients) for email, memos and spreadsheets, and only "that legacy .NET app we still have to use" will be on the big-iron rack in the DP donjon.
I googled "choice ambiguity". Nothing useful jumps out. Anyone have a good reference? https://www.google.com/search?q=%E2%80%9Cchoice+ambiguity%E2...
Sir or madam, the road to hell is lined with classes whose interfaces were defined after the fact. Usually you'll end up with a bunch of special snowflake classes and some classes which actually have thought-out interfaces, just enough to make you angry.

Software engineering through accretion and backporting is not, by definition, engineering.
Sure, I just meant within the same 99% that minimaxir was talking about regarding the adverts. (I've found plenty of friendly people in sports, gay and classical music sub-reddits myself.)
I agree, I guess that I would do my best to get the easiest tasks so my performance would be up, and the hardest tasks would either never get done or in a really dirty way.

But how do you implement a global stack ranking in such a diverse company like Microsoft? There is no good criteria for comparing the kernel developers to the frontend programmers, for example. I doubt you could even find 100 employees working on the same kind of task.
You're right, both "parallel" and "concurrent" are ambiguous if using the dictionary definitions. Computer science has added somewhat new definitions to both of those terms but they're not really universally known or understood.

It'd be nice if new terms were used entirely, really.
If you're at all interested in life sciences and healthcare, check out Indianapolis! (I'm not based there but my company and cofounder are - awesome place with nice, innovative people)

Some links:

- http://www.indymade.com/

- http://hoosierchallenge.org/

- http://theinnovationshowcase.com/

- http://www.developindy.com/

And if you need any introductions or want to talk more about Indy, let me know.
What Snowden and Manning Don't Understand About Secrecy
Visual cortex is not just processing what we are seeing trough our eyes, there is also feedback from higher brain regions back to the visual cortex. So when you are dreaming, your visual cortex activates.

Things get more messy though. For example when they take images from cat's visual cortex, they are much clearer because the cat is anesthetized and visual cortex only processes data from eyes. If cat would be awake, it would make reading the image very hard to read.

Relevant research with video recording trough much of processing:
http://newscenter.berkeley.edu/2011/09/22/brain-movies/
The reason I publicly posted this is because it is an issue about community standards, not just a personal issue between me and the company.

It's interesting to think about my own motivations -- I wonder if I would have been gentler if their post hadn't been anonymous. If so, should I have been gentler even though their post was anonymous? Anyway, I apologize if this caused unnecessary hurt, I didn't mean to.
Unless you have multiple cores.
The ad says "small team based in the Bay Area" so I doubt it's the National University of Singapore.
Sam’s Objective C Style Guide
The real irony is the "who's hiring" posts get to the front page the hard way.
If you have anything that's even ever so briefly blocking gevent, then you will indeed be bottlenecked in that way.

I'd be curious to see if your migration does allow better bandwidth peaks, though.
Burning Man Airport FAQ
Quora uses a massive amount of dark patterns. They are huge gaping assholes. I bet they even have a counter-UX engineer whose role is just to design users to enter as much info as possible and never leave the website.
I take issue with your recurring assertion that JavaScript is bad. Not just that it isn't to your liking, but that it's objectively bad, something that the software development community ought to avoid. JavaScript's bad parts have been discussed to death, so I won't rehash them; it's enough to point out that programmers can easily get used to avoiding or working around them. What's more important is that there are good things about JS which make it very desirable as a cross-platform, general-purpose programming language. Specifically:

1. JS is the native language of the Web platform. Because of its ubiquity, the likes of which Java, Flash, and Silverlight never achieved, the Web platform is an attractive deployment target for many apps.

2. Because of JS's role in the Web platform, it has the support of every major player in personal computing, specifically, Apple, Google, and Microsoft. Languages like Python, Ruby, and Lua have nowhere near that level of corporate backing.

3. Yet no single company owns JavaScript, so there is no patent trap as with Java or .NET. Nor is there any threat of vendor lock-in.

4. Because of the strong corporate backing and the fact that most Web browsers are now based on open-source engines, there are mature, open-source, non-copyleft implementations of JavaScript for all major desktop and mobile platforms. (The "non-copyleft" bit is in contrast with, say, Mono, whose license enables Xamarin to charge a premium for use in iOS, Android, and Mac apps.)

5. Because JavaScript is the native language of the Web platform, full-stack Web application developers basically know it to some extent, regardless of what language they prefer on the back-end. So many programmers know JavaScript, making it an attractive choice for a software company wanting to hire more programmers, or an open-source project looking for contributors.

6. Because of the competition among browser developers in recent years, all of the major JS implementations are now very fast.

7. Unlike C and C++, which are AFAIK the only languages that match or exceed JS's ubiquity, JS guarantees memory safety. This eliminate a whole class of bugs that many programmers are not equipped to deal with or prevent. These bugs often turn into security holes.

So these qualities, largely political and business-related but important nonetheless, make JS very attractive to anyone wanting to choose a mainstream, high-level, general-purpose programming language for cross-platform application development. In light of this, how can you say that JS is objectively bad?
Sure, I guess I should have mentioned there's some feedback. That's why I said you "probably couldn't"... I don't think we know how much the activated visual cortex corresponds to the imagery we see when we are dreaming.
> I also think in certain cases it can beat multi-threaded code (thread memory size, context switches, cache thrashing)

Sure. But he's replying to a zealot, so he's using zealot-comprehensible statements.
This is a silly objection. Not every code merits specific handling because there are groups of codes that merit the same handling.

if(200){...}else{retry} is never plenty.
Help us build the mobile app farmers really want

Interestingly, that headline first read "John Deere sucks at software. Help us build the mobile app farmers really want." Someone must have edited it because it is not a good idea to alienate a possible future partner/acquirer. These are new companies, and they are still learning how to handle publicity and marketing. It is also possible that they intended to cause a stir with the controversial headline and generate buzz.
I didn't mean to imply that you were piling on, and I don't doubt your intentions one bit. . The problem is that once this is posted, you have little control over the outcome in the comment threads and piling on is inevitable. Again, not a criticism of you at all, my reply was aimed at the comments in the thread.
The purpose of a master password is not to provide perfect security or a false sense thereof. The purpose is to impede an unskilled attacker who has only momentary access (like the amount of time it takes to type chrome://settings/passwords on a temporarily unattended machine) and mitigate the severity of what can be done by an unskilled attacker in the event of such a short breach.

It might be proper security engineering practice, but it strikes me as being totally out-of-touch with regular humans and mere mortal users to insist that once any attacker has access for any duration, you're completely hosed anyway, so why not make it easy for them.
Yes, it used to be that way.
Run your strategies trough past data. That's how it's done by professionals. Remember that data used for testing can't be from same period you used to construct the strategy/model. Using data from decades ago, is usually safe.
Uh, sarcasm miss? Oh_sigh was taking the "full Luddite" tack (I believe sarcastically).

It is absolutely true that not needing to pay pensions or workman's comp is a part of the move to technology. But total jobs available goes up with increasing technological use while creating localized labor displacements.
Well my main interest in this benchmark was actually that of Rust and Go as those are the languages tested that I'm personally most interested in (nice seeing them performing quite well), I just found the use of older compiler versions as an odd thing (though you explained your rationale).

Any chance you would consider putting the compiler version used (for all compilers, not just c/c++) next to the compiler in the column for better disclosure?

Good luck on your game!
What about this objection?

"We A/B tested the copy and we got far better results with custom, quirky copy than we did with a standard format. Why should we purposely use a version that people find boring and has been proven to be less effective? If you don't like our job postings, then the job isn't for you anyways."
There are three reasons why YAGNI works so well.

First, people systematically underestimate uncertainty. The human brain is good at recognizing patterns and making plans but not so good at dealing with randomness and uncertainty. When talking about software development and maintenance we're talking timescales of years. Companies go out of business, projects get cancelled, code gets thrown out and rewritten. It's easy to paint a pretty picture about how the Cat class will get added to the Pet hierarchy but there is tons of uncertainty involved in even the simplest project. Because the scenario is specific the brain overvalues its likelihood compared to the nebulous unknown alternatives.

Second, keeping code as simple as possible is almost always for the best. YAGNI forces smaller simpler code. More complexity and more code means more room for bugs. All the studies I know of consistently show that more code means more bugs.

Finally YAGNI is a principle that forces priorities to be in the right place. The question is never between spending time making something that might be useful in the future or doing nothing, it's between doing one particular useful thing or another. I can't think of a single case where the right priority is to do something that MIGHT help in the future. You start by doing things that DO help now, then things that WILL help in the future.
Seriously cool stuff. I continue to wonder why there isn't more earth bound investigation into fully automating mining, it seems that we would have to have something like that if we want to mine an asteroid.
As you say, existing trucks are parked a bunch of hours a day. I think you and the parent have a semantic misunderstanding. You (i think) are saying there will be more trucks on the road, more routes being run at the same time. Th parent is saying fewer trucks will be built, because we can get 100% utilization as opposed to the 33% we have now. [1]

[1] disclaimer: i don't think robot trucks will have 100% utilization, and current utilization is probably higher than 1/3, i just guessed 8 hours of use a day. I think the point stands, more trucks on the road at the same time, but fewer trucks overall.
And this is why I don't use Chrome, nor recommend it to anyone.

The dimwit Chrome developers continue their dumb insistence that penetrable security shouldn't exist.

"Bathroom doors shouldn't have locks; someone could just kick the door in and then where would you be!"

"Houses shouldn't have locks; you've got glass windows, don't you?! It's a false sense of security!"

"Prisons shouldn't have 20-foot walls; Home Depot has 21 foot ladders, don't they?! Lex Luthor escaped via helicopter! It's a false sense of security!"

"Bicycles shouldn't have locks; there are bolt cutters with five-foot handles, aren't there?! It's a false sense of security!"

Of course in the real world, where Chrome developers do not live, we use locks in all these cases. There's a combination of social signalling (this is mine; do not disturb it) as well as legal signalling (locked means an affirmative action must be taken to break the security, which is punishable; unlocked is not punishable) as well as a substantial amount of actual security (the reality is not everyone carries five-foot bolt cutters, even if some people do).

Maybe I can put it another way: Android, up through 4.2, only contemplated a single user per tablet. So if you gave your kids (or anyone) the tablet to play with, they had FULL and unrestricted access to your Gmail account, Google Play account, and so on. Someone, eventually, slapped some sense into the Android developers and now Android 4.3 has restricted profiles where you can let the kids play games without giving them access to your Google accounts.

That someone needs to get their slapping gloves and wander over to the Chrome development team...
You're not thinking at the right financial scale. A Caterpillar 797 haul truck costs in the range of $5 million USD (not including delivery to remote Australia). Sounds expensive, right? Well it's paid for within 4-6 months of being put into operation. So worker salaries, pensions, etc. for the driver are a minuscule portion of the money being made from a mine. There's no reason to stiff them.
Nice way to earn some free publicity I suppose.
From the video the comet seems to be headed straight towards the center of sun, and yes the ejection event seems to be strongly related to the event of impact.
Hey Joe, unfortunately I've only sporadically written about it on HN and on my blog, but I'm in this weird limbo state where I want to spill all the beans but I know that putting it on my blog would damage my professional future (since I am in the business side of things these days where machisimo and type-A ism is the norm). Not sure how best to communicate, but if you do see this by chance, shoot me a email (it's in my HN profile) and we can chat :)
I don't know if MS took out Borland, or Linux took out Borland. Maybe Borland took out Borland.

All I know is that for a sample of 1, me, I used to use (and really like) the Borland (Pascal, C, ...) compilers in the late 80s and early 90s. Then, I started doing more unix and then Linux work. GCC, perl and later Java was there. By the time Delphi was there, it was too late - Java had already provided a free equivalent. (Java is just Modula + OOP + UCSD-P-code in C++ clothing)
All in good time.
I work for a company in Utah that makes kits to convert single-person driven vehicles (e.g., cars, trucks, motorboats) into autonomous vehicles (http://kairosautonomi.com/).

One of our projects this last year was with a mining company in Russia (http://www.belaz-mining.com/eng/belaz/30t.html / Russian video of our trucks http://auto.tut.by/news/autobusiness/346004.html). At least one of their mining areas is highly irradiated. The radiation is so high that drivers reach their life-time radiation limit in about 6 months of driving. So they're automating their fleet of trucks to avoid the need to constantly replace drivers.
btrfs is one of the alternatives we plan on supporting. In fact there is already an experimental branch with btrfs support.

However, wearing my user / operator hat, if I had to choose I would stick to aufs in production. If I had to switch (and the apparently stupid move by ubuntu to drop it might indeed force me to), I would first try to use more proven code, like lvm or raid/dm.

btrfs and overlayfs are neat, promising technology for the future - that place where our production deployments can't go :)
Our sales guys at $COMP all have iPhones and iPads. They don't like to use their laptops.

Blackberry's are going away, we have remote email via iOS, and its only a matter of time before other people get the gear sales has.
More web scraping with Python
No paved runway, unfortunately. Also no sort of control tower nor air traffic controller. And skydivers still don't get into Burning Man for free.
This is another interesting story about a Russian who may have saved the world: http://en.wikipedia.org/wiki/Stanislav_Petrov
They couldn't be half as shady as Facebook even if they tried.