skysight-inc/HackerNews huggingface dataset:
> If I suck at writing code there's no reason to believe I wouldn't suck at writing tests to check that code.

Actually, there is ; providing the difficulty is algorithmic.
Take "sort", for example.

// test code

assertEquals([1,2,3,4,5], sort([4, 1, 2, 3, 5]))

// production code

int[] mySort(int[] list)

{

// TODO: implement a sorting algorithm here.

}

Any programmer could write a fairly good test suite for "sort".
However, I highly doubt they could write the implementation.

Of course, this is a very simple example.

Most of the times, the difficulty lies in finding the proper interface between test and production code.
And there, there's no way to compensate for poor software design skills.
Actually, forcing bad software designers to test the code they write might even worsen the situation, by rigidifying poorly-designed-wannabe-interfaces.

> this idea that TDD is a panacea where no bugs ever survive didn't ever make sense to me in the first place.

This is the software industry ; new techniques are confused with silver bullets!
I didn't care for this book - I felt it was like a bad cookie with a few good chocolate chips. The Titan silo explosion that the book is structured around is more a demonstration of designed nuclear safety than not (and the nuclear part is almost nonexistent). Industrial accidents have been so much worse than this.
More than half of major malware attack’s victims are industrial targets
Drinking game time. A shot for every "when it's done."
While much of what Aaron wrote is spot on, one thing missing is the importance of distribution. This a challenge for any startup, but is more pronounced in a regulated industry like insurance with largely homogenized products and with serious restrictions on how you can legally distribute your product (see Zenefits).

If you consider how most people and small businesses buy insurance, they typically make purchasing decisions one a year at most. As such, you need to get in front of them at the exact moment they want to purchase. GEICO and Progressive have done this really well, but have effectively bid up the cost of online advertising to make it prohibitively expensive. This is also why agents are such a powerful force in the industry (and because they effectively provide carriers with an initial underwriting screen which they don't need to file publicly).

It's important to get the product right, and there are many flaws with most P&C insurance today (chief among them that the forms haven't really changed in the past few decades), but I'd encourage any entrepreneurs to make sure they have an answer on distribution before spending time on product.

Disclosure: I've spent a lot of time looking at this as founder of a P&C insurance startup a few years ago.
20 Best WordPress Themes for IT and Tech Startups
I would say that the primary job of a modern developer is actually to figure out what the spec really is. Implementing the spec is easy in comparison. More often than not, "bugs" are errors in the spec that TDD of course has no hope of catching.
How to draw an owl in two lines of code;

import owl
owl.draw()
I was recently at a conference run by a progressive political think tank. I was surprised and confused by the way some of the speakers discussed AI, "innovation", entrepreneurship, and technology.

They basically all repeated a number of the same points.

1. AI will be amazing, and will utterly decimate jobs in the future, though it was never clear whether they understood AI technologies or even the economics of automation.

2. Everyone should be trying to become an entrepreneur. Disruption is a panacea.

3. Technology is the future. But, they use about 1,000,000 different definitions of technology and give little heed to social ramifcations of some of the technologies.

4. Everyone in the future will work on a contract basis and this is amazing. They gave little thought to many of the long term benefits usually associated with careers.

5. "Nudging" will be THE tool of governments in the future, with little thought to the ramifications to democracy and liberal values.

There was such a small bandwidth of opinion and argument it was hilarious. They were basically all repeating boiler plate stuff you read in a lot of these "thought leader" books.
> out-of-band

I'm not sure I know what you mean by out-of-band ? Installed via something other than rpms? Installed from non-official rpm repos?

It sounds like you just need packages built that allow for parallel installs of other versions of the same runtime/etc.

The PHP packages for 5.6 onwards on Debian are built such that they can be installed side-by-side.

Building on this basis, dotdeb.org and deb.sury.org have offered back ported versions of PHP built for stable, oldstable etc. From Buster (testing) it appears there will be multiple versions in the main repo (Buster currently has 7.0 and 7.1 packages)
Wouldn't China's rule be more chaotic evil?
That's true, I didn't fully elaborate on all that but yeah, there's concerns there that wouldn't exist for a parking lot.

However, you bring up a great point with the "snow shed": covering all or part of a road with solar panels like this would also have the side effect of keeping bad weather off the road. How much money would that save in show-shoveling costs, and the costs to society of having roads blocked by snow (and snowplows), and having weather-induced accidents (both rain and snow)? Now, it's probably not feasible to cover every little road in a city with these things, but at least covering major arteries, while probably somewhat expensive due to the engineering challenges you raise, would have some major benefits: keeping the main roads clear even during horrible weather, and also providing a lot of energy from the solar panels.
Linkedin is hacked?
Gaal on you guys, you are on a roll.
https://rentfeather.com

This might be a helpful service for real estate agents who need to stage a home for a photographer.
Car and homeowner's insurance only works /because/ insurers have imperfect data /and/ because purchasing it is mandatory in most cases (eg: auto liability is mandated by the government and homeowner's policies are mandated by banks lending against the purchase of a home).

If you had perfect actuarial data it would mean you would charge predicted "losers" the entire cost of their expected claims plus your costs and profit. Conversely you'd charge the expected "winners" almost nothing because their premiums are pure profit. Insurance requires large risk pools to function as insurance. The entire point of it is that everyone in a large group pays in to cover those who suffer a loss.

For healthcare (which is not what this article is about) that means collecting premiums from younger, healthier people to cover older sicker people. Healthcare is also the only kind of insurance where everyone is guaranteed to make claims - very much the opposite of most other kinds of insurance.

The last point I'll make is that everyone gets older eventually. Higher premiums when you're younger are a form of pre-payment for the care that will absolutely be required when you age. Unless the government forces people to pay these premiums the most rational thing for any individual actor to do is cheat and skip paying premiums when young, then force the cost on others by buying in when you're old. It becomes a classic tragedy of the commons situation where only sick people buy policies, resulting in massive losses and sky-high premiums no one can afford to pay.

Your argument basically boils down to "fuck other people" + "I'll never get old, I'm going to be young and healthy forever!". I don't want to live in that world.

As a practical matter I'd also like to make it easier for people to start new businesses so I favor universal baseline healthcare coverage paid for by taxes. Shrinking hospital billing departments, insurance companies, and bill collectors would be a net win for our economy. I don't know why everyone believes scaling up drives efficiency for a startup, yet requiring every individual doctor to employ a bill collector is somehow a net win.
As a somewhat frequent Airbnb guest (about ten times in the last five years), I can second that getting check-in right is key. I've had a couple places I've stayed at where I had to pick up the key from a different location (once a convenience store around the corner, but another time it was from a friend of the host a few miles away!) and this is frustrating. I tend to not mention it in reviews/let it affect the rating I give but other people are probably less lenient than I am...
Do you guys do rent to buy? Can I just keep something If I like it enough?
Not to doubt you - but, what's your source?

(You sound correct, but I don't know how to verify what you're saying).
This is not creepy at all.

/s
"If you think clearly about your problem, invariants, and APIs then you will guide yourself towards a decent system."

This is the most beneficial part of TDD to me. Most devs will deny this, but their biggest issue with TDD is not wanting to take the time to think clearly about a problem. To me that seems a bit sloppy and lazy. We're supposed to be professionals. From some of the comments I've read, it also seems that devs are trying to "test drive" or write unit tests for the wrong things. As I've gained experience as a software developer, I actually look for ways to write less code. The most effective way for me to do that, is to actually think about the problem before I write a single line of code. If I have a clear idea of what it is I'm trying to build, it's very easy for me to write a test first. If I can't identify a way to write a failing test, it's an indication to me that I really don't understand the problem well enough to deliver a dependable solution.
Not just startups, consumer facing and b2b services as well.

"These tires are going to travel places other than roads and the sidewalls will be shredded by the terrain long before they fail from dry rot, I don't care if they're too old to have a date code, just mount the damn things."

"Our insurance policy prevents us from mounting anything over 10yo"

And that level of BS is nothing compared to overhead lifting.
> Everyone is still (I hope) clear that sending an actual tank division across the Polish/Ukraine border would be met with nukes.

Only if those tanks are under foreign flags. If they're under "rebel" flags, then nobody cares.
You raise a good point, i.e. "do you steal a loaf of bread to feed your family?"

> Do I value integrity? Do I value my family? If I value both, which do I value more?

To make that choice you need to quantify exactly how 'bad' something is though, otherwise you can't determine which you value more.

It's like comparing stealing a loaf of bread vs. killing a man and stealing his money for your family; you'd need to quantify how "bad" each is, to determine that for ex. killing is worse than letting my family starve.

So how 'bad' is automating your job, is it even 'bad' at all?
> - Because your personal cost is unknown to the doctor, as it would depend on factors between you and your insurance company (like deductible met), coverage types, etc.

This one CAN be known to the doctor, the full details of your coverage, current deductible met, copay amounts, etc are an X12 270 transaction away. Almost nobody does this though, unless you are planning on billing an expensive claim (outpatient surgery, post-acute care, etc) where non-payment can mean a significant monetary loss the time and money doing these checks isn't worth it for the provider. This is further exacerbated by most (all?) clearinghouse's charging to run these transactions, and a really slow adoption of CORE Phase II connectivity standards by payers (which would bypass the clearinghouses completely and allow providers to directly submit eligibility requests to payers over a standard interface).
No point in talking about China from the lens of traditional communism. China is an authoritarian capitalist country, 'capitalism with Asian values' as is said with Singapore arguably the architect, so being upset about Chinese communists being invited into the country because they are communist is kind of absurd. Not wanting them in the country because they support an oppressive, racist government with more state executions than every other country in the world combined, if they do in fact actually support it, is a legitimate reason to be bothered. Anecdotally living abroad, the Chinese are deeply racist and nationalist, as are all the main East Asian countries really, even younger generations to my surprise, but immigration obviously adversely selects, and even if then, you're quickly going to lose those those views when you move to a new land as a worker.
The color of the body text is (102,102,102). That cuts your contrast just about in half.
> You could of course filter for the MAC addresses of the devices

That would not help security wise.
People have reverse engineered the API, there are libraries for it on github.
https://en.wikipedia.org/wiki/RSA_(cryptosystem)
I desperately need to acquire expertise in a domain of programming that is not accessible via high school courses, and YouTube videos, or a fear I may not have a job (or a decent paying job) in 10 years.

Does anyone else worry about that?
Pure speculation: you could run an Android VM and used an automated testing framework to drive it
It's a nice example of looking for the keys under the light aka if all you have is a hammer, everything looks like a nail.

A bit more interesting analogy would be the Big Data craze. We do them because we can.
Are the results produced by Big Data as relevant as the dating automation?
Do we understand and handle them as effectively as 150 dates with zero involvement?
And what do we miss instead? Whose time and place is taken by getting lost in superficial data oceans?
There's a lot to be gloomy about but HK is also really inspirational. At a time when a lot of young people in the west are railing against democracy, free speech, and other laws that support their freedom, HK has 20 year olds pushing China to deliver the democracy they promised before 1997.
Not really disagreeing with you, but your conclusion is almost necessarily true, which says something about Strategy 1.

One thing on my mind lately is how often people convert from one strategy to another, and how that's patterned and why.
Added now. Thanks!
I agree with movies getting borinng after a while, but what about games (those with more complexity than solitaire)?

For example, there's plenty of RPGs of all flavors and settings that would have you exploring, conversing, and battling. Many don't have high system requirements, either, so could be comfortable to play on a netbook or tablet.

Edit to add another idea: I know some flights have games you can play with people in the seats next to you. Why not a plane-wide chatroom of some sort on a web portal? Then you could textually converse with many people without bothering anyone and without any bandwidth/latency restrictions.
Wow, if that's how people are describing it, no wonder it's seen negatively. That seems very waterfall-ish and horrible. Thankfully that's not TDD as originally intended.
Aren't car-insurances sort of co-op's? Atleast I've read verbiage in my California car insurance policy from Farmer's that indicates that the insurance policy is really owned by the pool of users taking insurance and Farmer's is just a manager taking a government controlled percentage for their operating costs + profit.
It was the first city to use those particular numbers, but the service existed as 999 elsewhere before it was introduced to the USA.
My own feeling is that we're now smack dab in the middle of two tech hype cycles, and yeah - it does seem kind of boring right now to be honest.

We've probably hit and passed peak web/app/social but the horizon technologies seem still very immature, with relatively high barriers to experimentation.

I've found this is reflected in my own experience perusing HN. In the past I found something on the first page almost every single day that blew my hair back. Now I'm mostly like "Oh, some ancient civilization used scorpion venom to make birthday cakes..." or "Oh, this React library hit version 8.5.2...guess I'll go...make a CRUD app now?"

I don't think my experience says anything about HN though - this community is as good as ever. I'm probably just getting old. One thing I know for sure is that there's a ton of opportunity out there for those with a prepared mind and enthusiasm for technology.
Everything which makes life easier to people who move a lot has potential because people will move more and more.
Good idea
I don't want to ever see the phrase "Exactly Once" without several asterisks behind it. It might be exactly once from an "overall" point of view, but the client effectively needs infinitely durable infinite memory to perform the "distributed transaction" of acting on the message and responding to the server.

Imagine:

- Server delivers message M

- Client process event E entailed by message M

- Client tries to ack (A) message on server, but "packet loss"

- To make matters worse, let's say the client also immediately dies after this

How do you handle this situation?
The client must transactionally/simultaneously commit both E and A/intent-to-A. Since the server never received an acknowledgment of M, it will either redeliver the message, in which case some record of E must be kept to deduplicate on, or it will wait for client to resend A, or some mixture of both. Note: if you say "just make E idempotent", then you don't need exactly-once delivery in the first place...

I suppose you could go back to some kind of lock-step processing of messages to avoid needing to record all (E,A) that are in flight, but that would obviously kill throughput of the message queue.

Exactly Once can only ever be At Least Once with some out-of-the-box idempotency that may not be as cheap as the natural idempotency of your system.

EDIT: Recommended reading: "Life Beyond Distributed Transactions", Pat Helland - http://queue.acm.org/detail.cfm?id=3025012
Hi, Brad. I'm now embarking on a non-programming learning crusade. I agree with your comments on immersion, but I find it quite difficult to become immersed. I am often distracted or don't have the "energy" to do the serious work I need to to learn.

Do you have any tips I can steal from you?

Great article BTW!
The web, specifically Electron, is why I can run a bunch of modern applications on my Linux desktop and I don't have to switch to another OS to use eg. Discord.
برنامج اختراق الواي فاي للاندرويد
That's one of the hardest questions to answer. In order to generate profits for shareholders the carriers have to generate return on their float. That was "easy" during the big bull market that started in the 80s, but has become increasingly difficult.

There are a number of very large and successful mutual insurance companies - take a look at USAA. They also happen to enjoy some of the highest customer satisfaction ratings in all of financial services.
Introducing the Video Intelligence API
Take a look at history - India, for example, which took one of the most famous revolutionies of all time to escape Britain's rule, which they agitated for because of awful policies like the salt tax.
Works well enough with religion, though.
Meanwhile SAN is fine? The alternative to wildcards is that you get a single cert with tons of subdomains as alternative name. Exact same risks, yet much more hassle to add subdomains. I don't see it.
WW3 ISRAEL BOMBS SYRIA WW3 CLOSE
What domain?
No... the real reason StartSSL died was because they were acquired by another CA, Wosign, which had a number of serious security and management issues. These issues led to both CAs being distrusted by all major browsers.

https://wiki.mozilla.org/CA:WoSign_Issues
Chemical and biologic weapons also fit your bill: we didn't create or invent anthrax or smallpox.

However, a government deliberately hiding results from their medical research, or misleading/exploiting their pharmacy industry would be in a dark ethical corner.
Which part of the tech world do you live in where there is no concept of specialisation?

Do you expect graphic designers also write SQL Stored Procedures, or DBA's to crank out PSD's?

Does your business/product manager moonlight as the head of security?
that 3 line post is the most popular blog post I ever wrote.

I got a lot of nasty mail from agile consultants, but it was worth it, heh!

Which reminds me, I haven't blogged in years.

One day I just stopped.

Perhaps it is time to restart.
Basically the Two General's Problem, eh?

https://en.wikipedia.org/wiki/Two_Generals%27_Problem
What is wrong with autogenerated code?
>Also, speaking personally... the sort of person who thinks it's fun to spend their time automating personal interaction is not the sort of person I want to date.

forgive me for waxing poetical but i've thought about this a lot - since i have tinder and okcupid accounts - online dating is one of the most nihilistic enterprises to come out of the digital revolution. take one of the most personally rewarding and edifying experiences and completely formalize one of the most exciting parts of it (if not the most). what becomes the point of your life???

i read a stupid platitude somewhere that you should do something that scares you every day and approaching people you're attracted to (not on the street you pua twats) is one of the few "scary" things still available to us as denizens of modernity (i'm not sailing over the ocean blue, summiting mt everest, hunting moby dick, etc.). why would you want to sidestep that.
It's also used as an example in the article.
> Did Maersk recover from that ransomware attack two days ago?

Somewhat-to-mostly, yes. http://gcaptain.com/maersk-operational-update-on-cyber-attac...

Still, it undoubtedly cost them a lot. The question is did it cost them more than the prevention would have?

You say of course, they only needed to be up-to-date on patches. But there's a cost to that, and we don't know that they don't insure (or self-insure) against IT disasters (they likely do, given their size and scope).
Well, I'm looking at things how they currently are in 2017. I support self-determination of Africans (and subsequently all people), but that doesn't mean they wouldn't be better off right now under British rule. The British (and others, like the Dutch) never should have colonized Africa (or anywhere else), but they did.

Likewise, I can acknowledge that the British are probably worse-off for leaving the EU, but also support their self-determination.

I'm patiently waiting for the "but muh EU!1!" down votes to come in, even though I'm stating that the British are probably better off in the EU.
SQS queues deduplicate over a 5 minute window. This is claiming a much larger window.

Either way your listener(s) still has to have its own deduplication. Ensuring a message ends up on the queue only once, and ensuring it's processed exactly once, are two different problems that require separate handling (and, the former is what most out of the box systems claim to solve, while the latter is more important, and, frankly, completely negates the need of the former).
In your case, that's true. Farmers is a reciprocal, meaning that the policyholders own it. Not all car insurance companies work this way.
Making progress on diversity and inclusion
NY Governor Declares State of Emergency for MTA