skysight-inc/HackerNews huggingface dataset:
The UK has not left the EU, if that's what you're basing this on. All they've done is hold a public opinion poll on whether they should or not. Doesn't mean they will, and it certainly doesn't mean they have already.
Joel Spolsky certainly thinks so

http://www.joelonsoftware.com/items/2006/06/16.html
Lessons from Major Radiation Accidents (2000)
For magic numbers, just use a well named variable, constant or configuration parameter.

private const TIME_DELAY_SECONDS = 5;
$this->executeAfter(TIME_DELAY_IN_SECONDS);
In some sense, yes, it's what article is saying. But yet I agree with it absolutely: it's basically the same thing I try to convey to some my colleagues for years.

Because the problem is that many programmers — almost all novices and even some pretty experienced ones — don't admit to themselves the simple fact, that they might be wrong in the what they are thinking right now, at the moment. Sure, they won't deny that they make mistakes sometimes, but yet somehow they are pretty self-confident while actually working. Basically, they think they are much smarter than they are. What's making the whole thing even worse is the fact that people (again, especially the novices) don't actually think about "how to make it cheaper (less painful)", they think about "how to code properly". Basically, "what should I do to not be laughed at, how do I seem smart?" They just know they must follow some "golden rules", so called "best practices". You know, the patterns, no goto, no code duplication ever. All that programmer etiquette.

That's why often instead of simple, short and not-elegant-on-purpose solution, non comprehendible, thousands of lines long abstractions are born. Programmer tries to justify it by that it "solves the problem we don't have yet", but usually it turns out it doesn't — which isn't a real surprise, as it's hard to solve the problem you don't know about yet. And while the crude and simple solution might have been rewritten in an hour, that not so perfect abstraction of yours requires days of works, and usually just keeps collecting hacks until it is so complicated that it's impossible to change anything without breaking something else.

Of course, the point is, as always, that you have to keep balance. But there is a strong bias towards "abstraction over duplication" and such, so it's better to push programmers towards simpler, imperfect solutions.
If it's new code, and you are unsure what abstraction is needed, build the simplest abstraction possible. YAGNI

That way, as the code develops, and it becomes more clear what is needed, then you can easily build it at that time.

If you have code that needs to be duplicated, throw it into a function, a lightweight and powerful abstraction.
Sounds very dramatic and something a narcissist would come up with.
Having spent many years living in Switzerland (and learning German), it's really hard for people in our industry to do that. Maybe if you work as a bartender all day you'll get fluent fast, but in the software business the entire industry is oriented around English, so you tend to use English all day even in places where most of your colleagues are from other European countries.

And you want to make friends, right? Well, there are lots of other people who want to make friends too: other foreigners who moved there. Who also don't speak the local language.

So you end up finding that learning German or whatever ends up being not much easier than doing so in high school: your opportunities to practice are limited. I have learned it, but basically through just doing lessons. My best Swiss friend comes from the French speaking part, so that was no help.
Which are likely if you are young...

Sport-related accident for instance.
Especially ski accidents... and Austria is a land of mountains, and ski is very popular there.

Young people are more generally more likely to have accidents. Car-accident are also more prevalent (drinking...).
To know when to go for an abstraction, and when just to live with the code as is for the time being, that's arguably the difference between a good and a great programmer. And even great ones get it wrong from time to time.
Why would they kill him if they took seriously his claims that he'd hidden bombs? They would want to know where he had hidden them.

Fears of a remote detonator are not a real excuse either, he could could just as easily have a dead-man switch that detonates the bombs when he releases a trigger.
Atherton mulls move to halt electric Caltrain contracts
My White Boss Talked About Race in America and This Is What Happened
> The officers' do not have the right to execute people...

I agree.
If we establish that the officers perceived that they have control of the situation, then this paragraph becomes relevant. My current understanding is that they thought that they were facing a trained, prepared, still-active threat whom they were close (but not complete) to containing.

> it is still presumptive to assume there is no reasonable justification for the shooter's actions.

I don't think one could possibly build any sort of law-enforcement organization whose members believe there is reasonable justification for being pre-meditatively shot.
I've been flying electric powered high performance model airplanes (mostly F5B class) for decades. I'd like to think the electric r/c flight industry has been trenching this territory for quite some time. With the next 2x improvement in battery energy density cars and possibly full scale planes are going to make a huge leap forward.

Here's a video of F5B class R/C planes. It's hard to convey just how insanely fast these things are. Huge power to weight ratio and very aerodynamically efficient.

You can hear the crowd gasping at the performance they see. Also note that the motor is only turned on for a second or less at at time. If the motor were on longer these planes would reach 1,500 feet in 5 to 10 seconds tops.

https://www.youtube.com/watch?v=T0z9iy2SJA0
That's not how anesthetics work. It's impossible to deliver a controlled dose or measure effectiveness just by spraying some gas in a general direction. Ask an anesthesiologist.
I bought mine 18 months ago and I am extremely satisfied with the quality (both build and sound) for what I paid. They absolutely live up to the reputation PortaPros have.
Disagree. You should never "prefer" one over the other without considering and understanding the actual line where the decision becomes non-obvious.

The author is missing a major important factor, that it entirely depends on the size/scope of the duplication, and the size/scope of the changes necessary for functionality.

More lines/complexity that won't change means you should be more likely to want to abstract it. More changes to the code means you should be more likely to want to duplicate it.
What this example is really lacking is a TimeFactoryFactoryAbstractSingleton to make it extra clear what that whole '5' thing is about.
And how would you do it?

There was plenty of discussion of the consequences, heck, the remain campaign focused more or less ONLY on the consequences of the EU's economic retaliation.

Leaving the EU will absolutely allow immigration to be pushed down, though likely not to the "tens of thousands per year" figure that seems to have been arbitrarily chosen simply because that'd result in too many very useful and in-demand people being excluded. But the type of immigration that has caused so much malcontent in the regions can absolutely be close to eliminated, i.e. poor unskilled workers coming from eastern Europe and undercutting the wages of the locals.
> A lot of web pages use background network requests for tracking user actions and sending data to remote servers, lazily loading heavy assets etc., and all that goes unnoticed by the user.

And there is nothing wrong with it.
I've left it outdoors, and it's still working. I did cover the top (where the batteries are) with some plastic to prevent water from going in.

It should work against birds, as long as the IR detector can sense a change. The bird must stay in one place for a couple of seconds at least.
> Also, the Dallas shooter claimed to have bombs in the area

Sounds like an excellent reason to make every effort to take him into custody
The poster you are replying to probably understands this distinction. They are referring to Amazon's co-mingling of inventory. When you buy an item on Amazon which is offered by more than one FBA merchant, Amazon does not necessarily fulfill your order out of that merchant's inventory. They will ship you an identical item from whichever inventory makes most sense for your order based on such factors as proximity of FC to you, ability to bundle other items for your order from a given FC, etc. In Amazon's fulfillment systems, Amazon itself is just another merchant so ordering "Sold and Shipped by Amazon" is no guarantee of getting an item that Amazon sourced. The only time you can have any confidence is when Amazon itself is the only offer on a given ASIN.
Five transport promises that never quite changed the world
I believe you have missed the author's point - "Using more code is actually the lazy fix." The author would recommend something like:

$this->executeAfter(5); // Execute after 5 seconds

The above code is only 1 line, and is very clear. It does not add a brand new, unnecessary class, nor does it increase the surface area for bugs (adding a new class opens up the potential for new bugs, while adding a comment does not).
To me (Central European/Czech), this sounds like Russians speaking English: IIRC, in Russian, the verb "to be" is mostly implied (resulting in sentences seemingly without a verb), which they carry over when speaking other languages ("Hello, I here. My car needs fixed.").
Russia expels US diplomats in tit-for-tat row
The "complete unknown" is not actually unknown. Just look at any country that is not in the EU.

The exact details of a relationship post-Brexit are impossible to know because the EU refuses to even contemplate such a possibility, let alone discuss it. That's a problem of their own creation however, and that attitude is exactly what has stoked the fires of euroscepticism across the continent. You can sometimes put off reality by denying it, but not forever.
I don't mean to be snarky but I guess I am genuinely 'out of the loop' as they say: What user base is reddit trying to attract atm ?
Coursera courses preserved by Archive Team
Co-mingling refers to inventory pooling, where physical units can exchange ownership at amazon's discretion. For example, let's say that SellerA has a fake iPad for sale via FBA and it is located in Philly, and Amazon has a real iPad located in Los Angeles. If someone from New York buys an iPad from Amazon, Amazon may swap ownership of their iPads in order to ship it a shorter distance. Then, in their records, SellerA now owns a real iPad, and the Amazon-only buyer in New York just got a fake.
Note the "food I like" part. I imagine that I could have a pantry full of Mealsquares or something similar (a nutritionally-complete but not-"tasty"-as-such food), and pots of black coffee, to keep me going monotonously until I managed to finish my work. The reward is the rich, fatty, sugary, salty, umami-y food; not food at all.
It's okay - they can still hire visa bound slaves, err workers, that they can pay lower than the market value and impose harsh terms on - as they do with non eu migrants at the moment.
Author here.

I think it involves some payment (IIRC) or some other stupid barrier. If someone is kind enough to take care of that for me, I'd be happy to publish it. I have a couple other extensions which I'd like to publish as well but wasn't able to do so in the past, so I have just stopped trying.
Honestly, it shouldn't change that too much, since third parties like Cyanogenmod should be able to reverse the change. Of course, it's still a horrible move.
Abstraction isn't the enemy, it's programmer X not recognizing that the abstraction has now become a square peg into a round hole.

When requirements change, it's usually a ripe opportunity for refactoring.
The original article in Alaska Dispatch News has more pictures of the landslide in Glacier Bay, it's pretty impressive.

http://www.adn.com/alaska-news/2016/07/02/massive-landslide-...
EDIT: Published! https://chrome.google.com/webstore/detail/netmonitor/jekcpje...

(under my account by AwalGarg's request [0])

The Chrome store requires a flat fee to upgrade one's account to "uploader", which helps keep (some) spam out. AwalGarg (the fellow who built this) is a friend of mine and comes from a traditionally poor part of the world. I've contacted him about paying for the fee to see if we can get this on the Chrome Store proper.

[0] http://chat.stackoverflow.com/transcript/message/31616167#31...
It is quite plausible that the Swiss will have their own "Swixit" by next year, because avoiding it now requires another referendum to undo the effects of a previous referendum that would result in automatic cancellation of most (all?) EU/Swiss treaties. Also, the EU has been playing hardball with the Swiss lately, and they don't like it one bit.
"Which, BTW, is exactly what would happen if we succeeded in outlawing DRM on PCs."

"Customers wouldn't bat an eye either..."

So what's the problem then?

Customers come first, right?

If they are happy, then what's the problem?

Why force commercial content into the so-called "general purpose" web browser? The way you describe your negotiations I get the impression that scare tactics, e.g., piracy, are being used as leverage.

What are you hoping to achieve?

Also, it is interesting how you transitioned from DRM in a browser to "DRM on PCs". This is a much broader question.

Is the only purpose of a personal computer to run a web browser?

Is the only purpose of the internet "the web"?

Is the only use of a network to transfer commercial content?
An argument could be made that seeing one's colleagues get shot by someone biased the cops' perceptions of "is this person still an ongoing threat?"
Oh wow. That sounds super shady.
Sydney Schanberg has died
Are you familiar with any CAs that will issue certs for a few hundred servers (under the same domain) that aren't on the public internet, with an automation API and at a reasonable price?

Lets Encrypt isn't an option, because (a) the servers aren't on the public internet and (b) even if they were, LE is limited to 20 certificates per domain per week.

I'm aware that Plex has some sort of deal like that, but is that a one-off thing, and if it's something any company can get in on, how expensive is it?

I know some CAs offer 'enterprise services' but their websites don't seem to spell out what that means or what it costs - just that you should contact them to schedule a demo, which probably means the costs are eye-watering.
Go check SO chat or read my sibling message, lemme send you that so we can get this up proper.
Not knowing anything about Einstein's opinions here, I was really worried this was going to go the opposite direction.
Each bitcoin can be theoretically split into 100 million Satoshis (the bitcoin equivalent of a penny I guess). The maximum number of bitcoin that can exist given the current system 21 million. Those multiplied together seem to me sufficient for any economy (about 12x the total amount of US currency in circulation if you count a satoshi as a penny), but someone who knows more about economics would have to chime in for sure
Chat Bots - a Passing Episode or Here to Stay?
The Bitcoin Halving: Then and Now
Wages for tech people in Barcelona at least are dramatically worse than in places like London.

Amsterdam looks more attractive (much better levels of English as well), but the Netherlands is one of the countries most likely to go through an EU referendum within the next 18 months as well.
Maybe the gunman did not want to be taken alive and behaved accordingly.

I think a better comparison would be the Orlando attack or the attacks in Paris which ended with the gunmen dead.
It's certainly not a startup hub yet, but you're absolutely wrong about nobody speaking english and foreigners being treated badly by locals. I don't know what problems you had when you were here, but I'd be willing to bet that either you were extremely unlucky and had a couple of really bad experiences (can happen anywhere) or you're overreacting.
I could be mistaking,but there is a difference between being introvert, and acting it. Also being introvert doesn't mean not being collaborative.
Yeah, picking the wrong abstraction too early also gives you "proven, reliable" code that's sometimes even harder to maintain.

First example of this that occurs to me was an old Rails app I took over. We needed to migrate it up to modern versions of Ruby and Rails since it was getting harder and harder to support the old ones, and they were about to hit their maintenance end of lifes, but someone had extended the Rails framework stuff with their own extra layer.

Now we had code that changed subtly with a new version of Ruby that was used in dozens of places for actually-somewhat-different things, so the fixes had to account for all those different ways it was being used too. Not a lot of fun, you can fix one endpoint but then have to make sure you don't re-break it with how you fix the next one...
Before people ask why this is relevant to Hacker News: he's a great example of how academics, scientists, and even technologists can have effects outside their field of inquiry. For a mix of reasons, hackers are both securely employable and cultural heroes right now. We may not be Einstein, but there are things we can do.

http://www.livescience.com/50051-albert-einstein-civil-right...
Yes.

Mini-tuto to install by hand:

1. Download zip - https://github.com/awalGarg/netmonitor/archive/master.zip

2. Unzip it

3. Go to chrome extension page (or type `chrome://chrome/extensions/` in the URL bar)

4. Drag and drop the folder `netmonitor` on the page
Oh wow. This is concerning considering I am buying flea medication from Amazon and make sure it is "sold by Amazon" so I do not get fake ones.
Agreed. I think this is actually dangerous advice. While I agree that the wrong abstraction can cause lots of pain, the repetition of a bug through duplicate code is arguably a worse issue.

One example might be not using an abstraction for accessing filesystem resources in a web based service. You might end up duplicating a ton of code that improperly takes a string from a request without sanitizing it and then have a massive security problem all over your code.
I hate iOS, I own no iOS devices. But, many people love it.

If many people really need to be protected from themselves (and as a side effect save the world from botnets), iOS is the way to do it.
The smallest transmissible unit of Bitcoin is the "satoshi", which is one hundred-millionth of a Bitcoin.

However, if the value of one satoshi ever grew large enough that people wanted to subdivide it, it'd be possible to migrate to a smaller division by consensus, by adding support in miners and clients, advertising that support without using it, and migrating when enough of those advertised the support.
Is there any language requirement for the Seoul office?
A single bitcoin can be split infinitely -- it's just a matter of adjusting the number of decimal points. Currently, a satoshi amounts to a millionth of a Bitcoin. If a Satoshi becomes more valuable, there may be more decimal points added.
It seems to me that it would be better to address step 6, where programmer B adds cruft to the abstraction rather than re-working it. I appreciate that pragmatics sometimes dictates that duplication is the right option, but instead of mostly giving up and advocating an emphasis on duplication, I'd rather encourage better design of abstractions in the first place, and more willingness to genuinely improve abstractions later on if necessary (rather than more complex logic or whatever). Especially with abstractions as small as methods – I very much question preferring duplication in cases as small-scale as those. This may depend on the expressiveness of the language you're using, though.
There are some good comments in that stack exchange question. They divide the units by people and get 300000 satoshis/person. I was going to mention though in order for those small units to be useable the currency would have to be very valuable. Right now the trading fees are somewhere in the order of 0.0001-0.00001 so if you have any less than that you cant be sure that you will be able to transfer them.
The halving (second) is now complete. The first block with half the reward (12.5) has been mined. You can see it here: https://blockchain.info/block/000000000000000002cce816c0ab2c...
"Uh, mom?"

Seriously, she was a nurse anesthetist who retired decades ago when she had me, and she's mentioned how it's a somewhat precision effort. They monitor the patient to see how it's effecting them, since we're all different.
The only goal is to stop ad blocking with its own local CA installed, which impacts Google's revenue.
Yeah I often fail to open the TM in Chrome/OSX.

This should be trivial to catch with CI tests...wonder what went wrong there.
Each session would need to be decrypted individually, but if it only took you a few ms per session, you could essentially decrypt as many as you want.
So you don't speak the native language of the country you might go back to? I'm certain there are emigrees who came to the UK very young whose parents wanted them to assimilate, but somehow I doubt that's the majority. There will also be people, especially Eastern Europeans, who will want to move to a different EU country than their origin, but again this is the same kind of move they made to the UK to begin with, unless English language education has gotten much better since I lived there.
Yes, I intentionally called it a WMD because if you look at what law enforcement has been doing since 9/11, it's not uncommon to arrest someone in possession of a pipe bomb or flash-powder as an example on WMD charges.

http://abcnews.go.com/US/russian-citizen-pa-charged-wmd/stor...
Most people don't want to be taught something like this though, and why should they? The system can do what practically everyone wants it to do without that user education overhead, which is what they are doing.
This made me throw up in my mouth a little.

Duplication is not inherently wrong as there is a point where you should stop abstracting and live with repetitive code, but that point tends to be way further out than most inexperienced devs would assume.

If you're using duplication as a temporary tool to help find the right abstraction, fine. But don't check that code into source control.

The problem with duplication is that it's difficult or impossible to track. It sucks if you have to spend two days figuring out some complex abstraction, but at least you know it's there and you can work your way out to see all the code that's affected by your change.

If there's duplication in the code base you might never know that you changed function A and it works just great now, but function B that you have no idea even exists because it was duplicated from function A three years ago now has subtle bugs.

If an abstraction is wrong, make it right. Don't use that as an excuse to abandon the difficult work and duplicate code. You're just pushing the problem off on to the dev two years from now who has to maintain it.