The complicated ethics of Tesla's Autopilot - <AUTHOR> https://www.bloomberg.com/news/features/2019-10-09/tesla-s-autopilot-could-save-the-lives-of-millions-but-it-will-kill-some-people-first <comment><USER2> In most complex systems the reality is people will encounter harm. The commercial airline industry is a good example of progress through crashing.

In 2017 there were zero reported accidentally deaths [1]. Compared to 1972, one of the most dangerous years to fly, where more than 2,300 accidental deaths occurred on commercial flights.

How did we go from thousands of deaths to zero? Primarily through crashing. Then working to evaluate what went wrong and improve the design, processes, and programs around commercial aviation.

As one pilot explains [2]:

"One of the ways we've become so safe was to realize that our efforts were never going to be good enough."

So yes, I think technologies like autopilot will save lives. But it won't be able to do it magically, unfortunately some harm will occur because we—in all our human wisdom—just can never accurately predict all possibilities. It's the same problem most self-driving companies are facing today, and the reason promises of self-driving being here today have fallen short. The world is far, far more complex than we realize... especially when we put a computer out into it and tell it to "go forth."

[https://www.reuters.com/article/us-aviation- safety/2017-safe...](https://www.reuters.com/article/us-aviation- safety/2017-safest-year-on-record-for-commercial-passenger-air-travel-groups- idUSKBN1EQ17L)

[https://www.usatoday.com/story/travel/columnist/cox/2018/01/...](https://www.usatoday.com/story/travel/columnist/cox/2018/01/07/ask- captain-why-aviation-so-safe-2017/1005183001/)

<comment><USER3> If Tesla's AutoPilot was regulated like the airline industry with post-crash reviews, mandatory improvements, and open sharing of data we likely would see that. At the current time Tesla's system is proprietary/secret and their oversight is lax.

If we look at the history of airline safety, going back further, we can see that it took many years and numerous crashes to get to the point where it became well regulated and crashes were independently investigated. Before government stepped in, private companies weren't doing a great job and their biases (inc. bad headlines/liability/cost) got in the way of improving passenger safety.

So let's absolutely keep with the airline analogy and regulate Tesla's AutoPilot like the airline industry.

<comment><USER4> I see a cost issue, easy to justify a full investigation every time a commercial plane crashes, how do you do a full investigation every time somebody crashes a car or is crashed into. How do you get the improvement loop that the airline industry had?

<comment><USER3> I thought the topic was AutoPilot crashes, not all car crashes. Is AutoPilot crashing enough to be cost prohibitive?

<comment><USER5> At least plane crashes are usually mechanical and not software, or it's straightforward software (hello MCAS), investigating a machine learning's system behavior ("what input lead it produce this output?") sounds like a more expensive problem.

<comment><USER4> Until you look you don't know if i was hardware, software, road conditions or user, unless you look its just a a pile of twisted metal.

</comment></comment></comment></comment></comment></comment><comment><USER6> My general expectation is that Autonomous vehicles will at some point become safer than human drivers. However, even when that happens, when they make errors they will be errors that seem stupid and incomprehensible to humans. This will be because the failure mode of an ML driving model will be utterly different to the failure mode of human beings. This will lead to a lot of fear and uncertainty, humans want to comprehend what might kill them, and autonomous driving, while safer will kill them in bizarre ways.

<comment><USER7> Communication plays a substantial role in traffic situations. If self-driven cars could signal whether they "see" you or not, it would be safer for pedestrians to cooperate. E.g. when you take a crosswalk, it could shine green for braking before you, or red/yellow for accelerating without seeing any obstacles. It would also be good, if a green laser projected its suggested path with a bold stop line right on the road (or fading red dot pattern if it doesn't).

<comment><USER8> Pedestrians have the right of way, though; they don't need to cooperate. A self-driving car shouldn't be allowed to run someone down just because they were jaywalking and didn't correlate the red light speeding towards them with an autonomous death machine. We generally don't let human drivers get away with mowing down pedestrians or hit-and-runs if they get caught, so why would it be an acceptable failure mode for a machine? Who is responsible for that failure and that death, in the eyes of the court? If the answer is 'nobody', then self-driving cars will have a lot of difficulty finding acceptance.

Also, many states have regulations surrounding which colors of lights can go where on a car for these sorts of reasons - unambiguous and predictable communication is key to driving, and putting what looks like a brake light on the front of your car is confusing.

<comment><USER9> > Pedestrians have the right of way, though; they don't need to cooperate.

I'd change "don't need to" with "shouldn't have to".

There are a lot of dead pedestrians who didn't look before crossing a street because they knew they had the right of way.

It's just another form of "trust but verify". I know when I'm crossing a busy intersection, even if the cross-traffic has a red light and I have a walk sign, I'm closely watching the on-coming cars to make sure none of them are running the red light. I'm extra vigilant for the people making a right turn on red.

</comment></comment></comment></comment><comment><USER10> I'm very skeptical of this authoritarian market logic whereby we are told we must sacrifice others lives for the sake of "progress," which is almost exclusively tied up with one person or business' individual profit.

While I don't think autonomous cars are a particularly good investment for the future of transportation, does anyone doubt that with massive, publicly-funded investment we could not achieve them? And what's more on terms where whatever "costs" were associated with them were subject to democratic checks and debate?

<comment><USER11> 1\. We have democratic checks and debate now, regarding this issue.

2\. I see no evidence that "massive, publicly-funded investment" would achieve this technological goal faster or better than via capitalistic means. Do you have any?

3\. Lives will be lost regardless of how the tech is developed. Surely this is obvious. So what are you even talking about?

<comment><USER12> Re: 1. above, who do we sue when the autopilot kills someone? The owner of the vehicle? The manufacturer? The driver behind the wheel (if there is one and it's not the same as the owner)?

<comment><USER13> Ideally, every self-driving car would have secondary insurance baked into its price. If someone dies, it's an insurance payout of a standardized amount.

<comment><USER12> I don't think the plaintiff's bar is going to allow standardized payouts on deaths or injuries. That would ruin their business model, and they have a lot of influence. The question will be whether the inevitable losses due to jury awards can be sustained by any of the manufacturers.

</comment></comment></comment></comment></comment><comment><USER14> What kinds of accidents is autopilot going to prevent that automated accident avoidance cannot? Why does it have to drive the car to achieve the safety benefits?

If you watch videos of autopilot preventing accidents on YouTube, it involves two stages: first the car detects a situation is likely to lead to a collision, then it brakes and steers the car to avoid it. There is no reason for autopilot to be controlling the vehicle before anticipating a collision.

By contrast the deaths involving autopilot have all revolved around autopilot failing to perceive some object, or swerving the car into it. I don't know of any deaths that were caused by Tesla's accident avoidance feature.

<comment><USER15> If you have all the cars driving themselves they can function more like a swarm/grid of vehicles managed externally vs individual agents working against each other. This means you can have cars going like 80-100 mph but driving bumper to bumper.

<comment><USER16> You mean like a train? Why not have trains instead?

<comment><USER17> Because trains can't take exits... unless the whole train wants to.

</comment></comment></comment></comment><comment><USER18> NHTSA found that the Economic and Societal impact of Motor Vehicle Crashes, when taking into account harm from pain & suffering and lost wages, is about $877 billion per year. [1]

That means we have a tremendous incentive to make investments which make the roads safer, and lower the crash rate. The single biggest technological advancement to make this possible ( _without eliminating cars_ ) will be autonomous driving.

Today the lowest hanging fruit for self-driving is algorithmic work which allows the car to navigate safely based on its own sensor suite, and _mostly_ by ignoring map data which could be unreliable. Reliance on highly accurate maps and roadway infrastructure is not really a pressing concern, because the cost/benefits of investing in improving the internal algorithm is much higher than the cost/benefits of adding roadway infrastructure for such a small percentage of vehicles to leverage.

I believe there will be a cross-over point, where safety for a significant number of vehicles can be significantly improved by making significant changes to road infrastructure to support self-driving. When that day comes, I hope that the USG will be ready to invest on the order of $1 trillion to deploy that infrastructure and ultimately, mandate all new vehicles on public roads are self-driving.

I've said it in many comments before - it is a moral imperative to get computers and not humans "behind the wheel". We can afford to spend trillions of dollars to get there, but that's not to say we get there faster by spending trillions of dollars _today_.

[1] - [https://www.nhtsa.gov/sites/nhtsa.dot.gov/files/2015sae- blin...](https://www.nhtsa.gov/sites/nhtsa.dot.gov/files/2015sae-blincoe- costs_of_crashes2010.pdf)

</comment><comment><USER19> The title makes it appear as if "Sacrifices" must be made, which is either a disingenuous click-bait or misguided, as its categorically untrue.

The whole process of implementation of autopilot is based on the logic that its implementation is scaled as a function of the number of lives it SAVES through its utility. Meaning that as the percent automation increases, you should be able to see a net DECREASE in casualties in automated vehicles compared to non-automated vehicles. If we are not seeing this, then the rate of implementation may be too high, and the software needs to be corrected until it is.

Nothing in life is perfect, there will always be accidents, the only question is can we create tools which will decrease the percent chance of them happening.

</comment><comment><USER20> The problem is that "it could" there is no proof that after Tesla tests on public roads won't fail or go bankrupt.

I am not aware of any proof that neural networks combined with current tech is enough.

I know there are some misleading statistics around but those are not correct are biased and is not a proof.

<comment><USER21> >The problem is that "it could" there is no proof that after Tesla tests on public roads won't fail or go bankrupt.

Tesla will just raise more capital. It's unlikely that they will go bankrupt anytime soon.

Unfortunately, there are nowhere near the misfortune of Faraday future.( They just announced bankruptcy today)

<comment><USER20> Assuming Tesla will do excellent, it could be Uber,Waymo or company X in country Y where some politicians will sign a piece of paper letting them killing people on the streets and later X fails because some bizarre reason or maybe they wanted to use n cameras but they had no idea that you needed double that so all that testing and people killed was for nothing.

Then you have 12 companies testing with real people and not sharing data so killing about 12 times more people then needed.

</comment></comment></comment><comment><USER22> People were having the same discussions about airbags. They ended up saving quite a number of lives. The media should do more to contribute to a better world vs writing clickbaity articles that make adrevenue. It's astonishing that somethinf like drunk driving for example, is portrayed less scary than autonomous vehicles.

</comment><comment><USER23> I've posted this several times on HN but I'll post it again.

I once had the opportunity to interview a renowned cancer doctor and researcher at MD Anderson hospital. He told me that we would never again see the kinds of advances we saw in the early days (70's and 80's) of cancer research because those days were the Wild West. He basically said they did many reckless things, but that's how they stumbled upon treatments such as the protocol for using steroids with chemo for acute lymphoblastic leukemia.

Ok, so high risk experimentation lead to exaptation and innovation. Not sure I want to see that happen with self driving cars but the other part of me knows that's how complex systems "evolve".

</comment><comment><USER24> Think how many lives we could save by loosing regulations on medical experimentation. If we killed not that many people we could save billions.

Good thing we already have decades (even centuries) of research ethics we've developed to deal with situations like this. Too bad Tesla is ignoring them. The proposal in the article to treat these like (potential) medical breakthroughs is spot on.

I think we all agree that autonomous cars will eventually save lives, but that was true 50 years ago too. The question is whether _these_ autonomous cars will save lives. We've developed the ethics. We've developed the standards of evidence. In seems like a no brained to require them here.

</comment><comment><USER25> Wouldn't public transport "save millions" much more efficiently?

<comment><USER26> Yes, but we haven't worked out how use public transport to divert billions of dollars of investment into paying machine learning specialists telephone number salaries, so it's not actually plausible.

<comment><USER25> Sarcasm aside, the discussion seems to be driven by technology fetish and a promise to buy / sell more stuff.

<comment><USER26> Looks like HN has a new strapline!

</comment></comment></comment></comment><comment><USER27> Like many people I accept that there are unavoidable deaths in the name of progress.

What I don't like is that I cannot opt out of this experiment. I believe many of these deaths are needless and due to cost savings and sloppiness.

Tesla to me seems less like a center of excellence and more like a group of people who can put up with Elon. Presumably made easier by telling him what he wants to hear.

While the average driver may be bad, the average hour driven is by good drivers.

Plus I don't like the idea of a Tesla can crashing into me. Seems like something that could be weaponized.

</comment><comment><USER28> We could fix autopilot problems across the entire USA in approximately one year.

However it would not have a winner take all, Wall Street frothiness pump and dump aspect to it.

You put rfid tags in the asphalt, on the curbs and some kind of beacon on the telephone poles, or a 'wire in the road' (like a smarter version of the working system that GM built in the 70s) and then, because it is publicly owned infrastructure, everyone can use it.

That goes against the current hypocritical faux-libertarianism that is espoused by some of our tech elites-but it would in fact work.

I said a year, because that is how long it would take to install it.

Edit to add: for fun, you can go on Mouser or Digikey and determine how to put the system together with off the shelf parts. Just add weather proofing...

<comment><USER29> US is known for their world class infrastructure, and its regular maintenance. [https://www.businessinsider.com/asce-gives-us- infrastructure...](https://www.businessinsider.com/asce-gives-us- infrastructure-a-d-2017-3?IR=T)

</comment></comment><comment><USER30> Systems created by humans adapt to humans, especially where they carry significant downside risks. The risk of death or injury is high enough in driving motor vehicles that we've taken a ton of precautions (licensing drivers, criminalizing reckless behavior, road signs, stop lights, intersections design, freeway design) to try to minimize those risks, and the designs have adapted to how humans drive.

Because there is skin in the game, people drive carefully -- drivers who are consistently reckless are removed from the system. Pedestrians and other non- drivers have adapted their behavior as well to reduce the risks.

Autonomous drivers have the problem that they do not carry skin in the game -- they are not removed from the system for bad behavior. In the short term that just gives us an ethical quandary about who is responsible for deaths caused by autonomous systems.

In the long term it presents much higher risks as non-autonomous-drivers (both drivers who are not autonomous and humans who are not driving) will adapt their behavior to their mental model of the behavior of autonomous vehicles. Pedestrians will adapt their behavior correspondingly, creating even more dangerous scenarios because the interaction with sufficiently complex system is inherently unpredictable. We rely on the fact that we can build an approximate mental model of human behavior as it pertains to other drivers to predict what their behavior will be, and we constrain that behavior via rules and legal deterrents so that they are more predictable.

When we are 50% autonomous, what happens to someone how deliberately tries to cross a busy highway? Other systems, like trains, we have warnings for -- "implacable vehicle coming that will destroy anything left in its path", but for autonomous vehicles? The priority on keeping humans alive will cause situations like this to require building stricter behavioral systems to try to limit people's behavior, but the complexity of the underlying behavior is real -- that is, most of the time, crossing an autonomous freeway is actually a safe operation because of the way that they cars are designed -- so there's no feedback that will cause pedestrians to modulate their behavior. Similarly, the driving systems themselves are designed with some elements of human behavior implicitly included -- as these behaviors drift due to the coupling of complex systems, it's not clear how we can directly adapt the behavior of the autonomous drivers.

</comment><comment><USER31> Caution: Extreme opinion below.

Artificial Intelligence is a tool. Just like anyone who uses a hammer, backhoe or dump truck is responsible for what happens when they are using it, the same is true for AI.

As a tool, all AI systems should be designed to _always do the most harm to the user of the AI first_. It should be embedded into every autopilot-like system, and users should be aware of that choice. It's the only moral and ethically correct solution.

Let's say your AI-controlled car is driving at speed and turning the corner, there suddenly appears a little girl in the road in front of you. It can either swerve into a wall or run down the girl. A human might not be able to make the decision in time, but an AI system would. _It needs to be programmed to always hit the wall_.

Though this might seem extreme, the opposite is completely immoral. If it was a human driving, one could assume bad luck to be put in that situation: aka innocent until proven guilty. But for an AI system, we _have_ to assume the opposite: The AI should always be presumed to be faulty. Therefore the user of that AI is culpable of putting it in that situation.

And just like any other tool, the manufacturer of that tool is legally responsible for its quality and reliability.

The opposite of the above means we'll all be riding around in autonomous tanks, aggressively maneuvering around each other at higher and higher speeds, pedestrians and others be damned.

</comment><comment><USER32> What bothers me about autonomous-driving software is that while you might argue that drivers are free to take the risk, I as a pedestrian (or another driver) did not sign up for the risk.

There is an entirely new set of failure modes that we are not familiar with, and particularly as a pedestrian, it worries me greatly.

</comment><comment><USER33> It reminds me of how the violence-harm that exists in a democracy vs. a tyranny isn't evenly distributed: there may be very little violence (due to control mechanisms) in a tyrant controlled state - at least until you're their target and then slaughter, mass murder can occur.

</comment><comment><USER34> If anyone else balked at the pilot story, here it is (and it's a bit juicy): [https://en.wikipedia.org/wiki/Northwest_Airlines_Flight_188](https://en.wikipedia.org/wiki/Northwest_Airlines_Flight_188)

</comment><comment><USER35> The ending is telling: [I trust the AV, but not enough to risk hitting a cyclist right during the interview. More safety...at the expense of people sans Teslas] (paraphrasing mine)

</comment><comment><USER36> All of these efforts will eventually result in an amazing world where there are a lot fewer or zero crashes. Perhaps even change how cities or homes are built/organized. No doubt.

But the really troubling thing is the attitude and approach: this is not an "experimental software rollout" that somehow Tesla seems to advocate. You cannot use live human beings in real streets with very little safety net to "roll out" your self driving torpedoes. That just doesn't make sense and seems very irresponsible.

I would rather not have silicon valley mentality when it comes to cars or healthcare or even banking. Real people's lives are at stake.

</comment><comment><USER37> [http://archive.is/N3bF3](http://archive.is/N3bF3)

</comment><comment><USER11> Anyone have a link to get past the paywall for this article?

<comment><USER37> [http://archive.is/N3bF3](http://archive.is/N3bF3)

</comment></comment><comment><USER38> Cool! That's me.

</comment><comment><USER38> Hey, cool! That's me in the story

</comment><comment><USER39> I honestly hate this "false baseline" story line that applies to almost all anti AI/automation comments. A person who is focused may be better than self driving vehicle but even that is debatable. However, given real life self driving are already much safer than real life human drivers. Think about pedestrians and bike rider safety too!!

<comment><USER40> Bunk. Autopilot makes very strange decisions during normal operation -- decisions that normal human drivers would NOT make, such as merging into an entrance lane on the freeway. This in and of itself is enough to confuse and befuddle other drivers on the road, which makes it more surprising and dangerous than a human driver. Worse, it will actively fight the driver at the helm to make these decisions. Source: test drove a model 3 and it did just this and nearly caused an accident during the test drive and I could not instruct it to stop.

<comment><USER41> > I could not instruct it to stop

Bunk. You can take over at any time by turning the wheel, pushing the brake, or pushing the accelerator.

Source: I take over from autopilot all the time.

<comment><USER40> Bunk. I was not made aware that was even possible.

Source: I... was there? :D

<comment><USER41> Everyone knows that you can step on the brake to stop a car, even with the cruise control on.

At this point, you're not saving face by arguing with fact.

</comment></comment></comment></comment></comment><comment><USER42> This is a really misleading and inflammatory article.

" reading books, napping, strumming a ukulele, or having sex."

Perhaps it was like that years ago, long before the Model 3 but it isn't like that now. My 2015 Model S would complain long before I could complete a sex act. Or perhaps Bloomberg's hack suffers from premature ejaculation.

<comment><USER43> The author is alluding to a specific incident, which was posted to porn sites. Elon Musk commented about it on Twitter (because of course he did), saying "Turns out there's more ways to use Autopilot than we imagined."

</comment></comment><comment><USER18> I take issue with the headline. The fact that crashes still do and will occur even while AutoPilot is on does not mean that AutoPilot is legally or ethically responsible for the crash, until the system is advertised as a Level 4 system. Only at that point we can look at the accident rate of the L4 system and decide if those accidents are the fault of the autonomy, or if the algorithms could be improved to have avoided an accident that was even another driver's fault.

Distracted driving is a leading cause of crashes today, and particularly if you use AutoPilot, you really see the _ridiculous_ numbers of distracted drivers all around you. Many drivers choose to use their phones instead of looking at the road, whether they have AutoPilot or not. It's dangerous in both cases, but less-so if you have AutoPilot on. In either case, in a L2 system, if the car crashes while the driver is on their cell phone, it's the driver's fault regardless of whether there was AutoPilot enabled or not.

</comment><comment><USER44> I don't get why people are up in arms over this: the average person drives like an I D I O T. A Tesla auto-pilot drives above average. And right now they are driving the worse they will ever drive.

Therefore: more auto-pilot, less human death.

<comment><USER20> I don't think this is true, there are maybe many young drivers and some drunk drivers that cause a lot of accidents.

But consider this, you are a decent driver and you need to send your children somewhere. Do you drive him yourself because you know that you will not speed or text or be drunk or you send it with a robot that is better then an idiot but worse then you ???

Sure if you were drunk or tired is safer to send him with the robot.

<comment><USER44> Yes that is the physiology barrier that you describe that will be difficult to overcome.

The flaw is everyone thinks they will be a better driver than an AI, even though very few actually will be.

So if I had to choose my children driving with an "average joe" / friend / etc vs an AI, I would say: the data says the AI will crash 25% less, therefore it is safer.

<comment><USER20> I assume you are better then a drunk teen that comes from a party and has 3 months of experience, The most road deaths that happen here in Romania are caused by young drivers cumming from parties late at night, maybe drunk, the car is full with people so you have 1 crash causing a lot of deaths, So the average driver from the stats is a terrible driver because the stats are skewed hard by the inexperienced, drunk or tired drivers. You can have both this next two facts true at the same time

1 replacing all drivers with AI is x% safer

2 replacing you an experienced responsible driver with an AI is less safer

Does it make sense ?</comment></comment></comment></comment>


Apple tries to patent its way out of jailbreaking - <AUTHOR> http://news.cnet.com/8301-13579_3-20014356-37.html The patent is titled "Systems and Methods for Identifying Unauthorized Users of an Electronic Device" <comment><USER2> Flagged for misleading headline editorializing.

<comment><USER3> No it's not, its a paraphrase of the actual article, which is about filing a patent on things to prevent jailbreaking</comment></comment>


Ask HN: Best Home Surveillance Cam? - <AUTHOR>

What's the best Home Surveillance Cam available? It has to work outdoors, stream to FTP or whatever, have IR night mode, have decent quality, not call home to China or wherever.<p>Any recommendations? <comment><USER2> I'm in the process of setting up a DVR for my family and I've observed that very few (if any) support GNU\Linux. They all advertise to have "web clients", but all these require ActiveX controls. They do "support" Firefox through IE Tab and Mac through plugins, but that's it.

So 1) use caution if you're a non-Windows user, and 2) I'd be interested to hear of a good system that does support GNU\Linux.

<comment><USER3> [http://www.linux.com/news/hardware/peripherals/8211-five- fun...](http://www.linux.com/news/hardware/peripherals/8211-five-fun-ways-to- use-a-linux-webcam)

[http://infectedproject.wordpress.com/2007/06/26/set-up-a- web...](http://infectedproject.wordpress.com/2007/06/26/set-up-a-webcam- security-system/)

If anything requires ActiveX then don't use it because it's old / junk / what kind of developer creates a requirement for ActiveX these days?

<comment><USER2> I agree that ActiveX requirements are junk. I recently just bought a brand new DVR (released last fall) and that had ActiveX limitations.

I will probably end up rolling my own with Linux and Zoneminder.

</comment></comment></comment><comment><USER4> Would also be interested in responses in this. Local electronics store sells some KGuard combo packs such as [http://www.kguardsecurity.com/us/p/ns801-4cw214h/](http://www.kguardsecurity.com/us/p/ns801-4cw214h/), but it would be great to hear from the experiences of others.

</comment><comment><USER5> Depending on your timeline, the AirVision stuff from ubnt.com might eventually meet your goals. Their line currently doesn't do night vision, but it's supposedly on the way Any Day Now(tm).

It's pretty flexible, good software, good motion detection, etc.

</comment><comment><USER3> [http://www.amazon.com/s/?url=search- alias%3Delectronics&fiel...](http://www.amazon.com/s/?url=search- alias%3Delectronics&field-keywords=outdoor%20wireless%20camera)

Prices range from $35 to $140

</comment><comment><USER6> Mobotix makes great cameras. Not the cheapest but their cameras have an onboard computer which allows them to operate independently. Send emails, upload to ftp, etc...

</comment><comment><USER7> what kind of lens? should it zoom? should it be pannable and zoomable over the internet?

what resolution? VGA? full HD? 2.5K?

motion detection?

microphone?

two-way microphone? (i.e. you can yell at the intruder in your kitchen from the comfort of your office)

<comment><AUTHOR> No zoom, VGA is OK, motion detection is a must, microphone/2w mic maybe.

</comment></comment><comment><USER8> i'm ponying up for a couple of axis cameras...</comment>


Someone just lost 324k payment records, complete with CVVs - <AUTHOR> https://www.troyhunt.com/someone-just-lost-324k-payment-records-complete-with-cvvs/ <comment><AUTHOR> "Let's talk about that CVV for a moment. ... PCI DSS is very clear about how the CVV (or CVV2 as it is these days) should be stored ... It shouldn't be stored and that's what makes this breach such a big issue. Violation of PCI DSS guidelines can lead to pretty serious fines and even loss of merchant facilities; the card providers take this very seriously.

It checked out - this is the CVV."

<comment><USER2> While we're on the subject, how do Amazon get a pass for not making the user re-enter the CVV for every transaction?

<comment><USER3> AFAIK the CVV is not required to perform a transaction. It's just that you take the hit in case a fraud occurs when you don't check the CVV.

<comment><USER4> Depends on your merchant account I believe. We tokenize them somehow, and can do further transactions by referencing the first transaction.

</comment></comment></comment></comment><comment><USER5> The author doesn't explicitly mention it, but the CVVs were saved as a part of debug logging. That mistake should serve as a warning to others implementing PCI DSS systems.

<comment><USER6> Where do you have that information from? I've seen the theory in the comments on troy's website, but no confirmation of it. My kid's after school program got hit and I'm working with them to translate Regpack's obfuscation of what went on and ask some pointed questions.

</comment></comment><comment><USER7> Oh man this Troy guy is the hero we need, fighting the good fight.</comment>


Ask HN: If there is shortage of developers, how come we don't get clients? - <AUTHOR> We have started a software startup, did the client analysis, market segmentation etc and started reaching out. We even created a promo - some free development for recommending a client. WHAT ARE WE DOING WRONG? We offer services. We build with Symfony2 (mainly web-apps/backend/backend for mobile apps). Thoughts? <comment><USER2> Who said there is a shortage of developers? Especially PHP developers?</comment>


Ask HN: Alternatives to GMail? - <AUTHOR>

Reports from users keep steadily coming in, where Google decided to trash all their Emails or lock their account.<p>So I want to migrate to a different email service. Is there a good alternative? It doesn't need to be free, but should've a relatively good Web UI. <comment><USER2> Why not just set up a desktop email program that polls gMail from time to time to download your emails using POP? That way you have a back-up copy of everything and get to continue to use the best web based email service without worries.

</comment><comment><USER3> I moved to gmx.com about half year ago from google.

<comment><AUTHOR> I was once at GMX. They insert Advertisements into your emails and offer to less space for the buck.</comment></comment>


Python IDE on Windows? - <AUTHOR>

For a while I am using Komodo IDE/Edit as Python editor of choice. When a project grew, my wishes grew with it, and so - I'm looking for decent python IDE.
Eclipse, Netbeans (and other Java based ones) are just awefully slow even on my i7, and there are many minor, but annoying UI features, which are missing, are unimplemented, or look just wrong.
But then I tried Visual Studio 2010 (yes, Microsoft!) with IronPython and, most importantly, with Python Tools for VS.
I'm stunned. Is this normal, that the best IDE for Python is made by Microsoft? Killer feature for me is Intellisense - it just works much more intelligently than any (and I mean any) other product I've tried.
Also, if I understand correctly, VS 2010 Express ir free, and is just much better alternative to any free (and most of the paid ones) IDEs.
Am I missing something here, or this is just a fact? Or can you suggest an IDE, which does its job better, faster and smarter? <comment><USER2> I personally haven't tried VS but I use PyCharm from JetBrains for my coding needs. Code completion works for me and I like the DB & Django support offered. Performance and memory use have been decent also.

( <http://www.jetbrains.com/pycharm/> )</comment>


Thoroughly Modern Mongo: Modernising the MongoDB Codebase - <AUTHOR> https://www.youtube.com/watch?v=F1i7R2lfPHw <comment><AUTHOR> "Thoroughly Modern Mongo: Modernising the MongoDB Codebase" by Bernard Gorman

Slides: [https://github.com/cppdug/presentations/blob/master/files/20...](https://github.com/cppdug/presentations/blob/master/files/2018-05-14/Thoroughly%20Modern%20Mongo.pptx)

Abstract: Keeping up with recent improvements to the C++ standard is considered a priority at MongoDB; from its origins in C++03, the project has been successively migrated through C++11 and 14 in recent years, with an imminent move to C++ 17 on the horizon. For a codebase that is already nearing a million lines of code and with any number of areas under continuous active development, this commitment obviously presents a significant logistical challenge. This talk will discuss why and how we invest ongoing effort into incrementally modernising the codebase itself, as well as our build system and testing infrastructure, in service of ever greater developer productivity.</comment>


Google will shoot your business - <AUTHOR> http://maps.google.com/help/maps/businessphotos/

<comment><USER2> Google is awesome, they do this to get in touch with business owners for Google Deals. This is also part of the competitive advantage they have compared to Groupon, nice Photos, Ratings .... Watching new Google services is like watching a good Movie, try to find out how they are connected.

</comment><comment><USER3> Cute headline.</comment>


Show HN: Transformation Invariant Reverse Image Search - <AUTHOR> https://pippy360.github.io/transformationInvariantImageSearch/ <comment><AUTHOR> Hey guys, I'm the guy who made this. Let me know if anything isn't clear or if you have any questions.

*I developed this after I saw how poor google (and any other reverse image search engine I tested, like bing/tineye) performed on rotated images, for example google doesn't match this image [0] to it's original [1] (google's neural network will find that it is a cat but won't match to the original). After playing around with trying to make my algorithm (uniform/nonuniform) scale and rotation invariant I found that I was able to make it fully 2D affine invariant (pretty much by luck)

I developed all this in my spare time actively for about about a year. I also have a c++ implementation that let's you reproduce all this but it's just a proof of concept and so it's quite slow. You can check that out on my github here [2]. There are loads of ways this can be improved but I wanted to get the idea out quickly.

[0] [https://github.com/pippy360/transformationInvariantImageSear...](https://github.com/pippy360/transformationInvariantImageSearch/blob/master/fullEndToEndDemo/inputImages/cat2.png)

[1] [https://github.com/pippy360/transformationInvariantImageSear...](https://github.com/pippy360/transformationInvariantImageSearch/blob/master/fullEndToEndDemo/inputImages/cat_original.png)

[2] [https://github.com/pippy360/transformationInvariantImageSear...](https://github.com/pippy360/transformationInvariantImageSearch)

<comment><USER2> Hey Tom,

Great work there!

One question - Why are we transforming the triangles to equilateral triangles?

Just throwing out a few ideas and wanted to discuss what potential flaws could they have.

1\. For keypoint detection, what if you use ASIFT (Affine SIFT) which is Affine transformation friendly. In that case, you'd probably save time doing the rotations. Given the huge number of proposals we get, we might still need to filter out some keypoint proposals from this may be using a metric like if too many keypoints are within some 2D window, then choose the one which is farthest from all edges of the 2D window (very rough, don't know if there are other ways)

2\. With the final set of keypoints, I propose that let us do Delaunay Triangulation in the hope of getting a collection of triangles which cover the complete surface area of the image making it a spatially equidistant breakdown of the image pixels.

3\. Hash those triangles (maybe? how?)

4\. Now given a query image, perform steps 1-3, and find the triangles which match the triangles from a database image. If the fraction of matches are above a given threshold, then this is a potential candidate for the search result.

<comment><AUTHOR> >Why are we transforming the triangles to equilateral triangles?

This is so that the extracted image fragments/triangles are always very similar and so have an extremely similar hash. If I didn't transform the triangles then, for example, a fragment of a query image might be stretched compared with the matching fragment in the database. Intuitively it makes sense that it would be easier to match image fragments if they have the same scale/aren't stretched versions of each other. The transformation to equilateral triangles is what makes the algorithm 2D affine-invariant.

>what if you use ASIFT (Affine SIFT) which is Affine transformation friendly

I only discovered ASIFT while reading this thread, it looks very interesting and useful but I'll need to look into it more. I did test out SIFT as a keypoint finder and it performed really poorly for what I wanted to do but I didn't do a lot of testing. My current method of finding keypoints is a load of crap that I threw together for this demo, a better one would seriously improve the accuracy and speed.

>like if too many keypoints are within some 2D window/I propose that let us do Delaunay Triangulation

I looked into both Delaunay Triangulation and a 2D window as a way to decrease the number of proposals/triangles generated, but had problems with both. I will still try later to implement a 2D window. As for Delaunay Triangulation, if you play around with it on paper you can see that it's not 2D affine invariant, it might still work well for small transformations but there are affine transformations where it fails. Still I think it would be worth looking into more.

<comment><USER2> Your observation regarding the triangulation makes sense. Might end up failing under most cases.

</comment></comment></comment></comment><comment><USER3> Good in its simplicity. Basically, they construct not-quite-but-local hyperfeatures using edge triangles and then compute a descriptor (perceptual hash) for all these hyperfeatures. In this way, you get many features on different scales allowing for retrieving composed images, and, when comparing, use the most informative fragment available.

The big problem is, a moderately complex image can yield n³ triangles, so you have to limit your feature space in a way that would have consistent behavior across transformed versions of the image.

<comment><AUTHOR> >The big problem is, a moderately complex image can yield n³ triangles

This is a big problem I have been facing. You will notice that all the images I use in my c++ demos are small for this reason. I'm trying to solve this scaling issue but I wasn't able to get a solution quickly so I decided to release this and continue to work on it and hopefully release an improved version at some point (or let other people work on it and hopefully find solutions).

<comment><USER4> Could you not use feature hashing to reduce to something manageable?

<comment><AUTHOR> possibly, I'm not sure what implementation you have in mind?

I find it's the combination of a poor keypoint finder, noise and needing to be able to match partial images is the problem. If I could guarantee that 99% of the keypoints in the query image would be in the matching image and that the extracted hashes wouldn't be affected (hugely) by noise and that most of the query image was present in the matching image then I could simply discard a huge amount of the triangles and only query for a manageable number of them. Obviously that's a lot to ask but the better I can make each part the more options I will have for culling the hashes. For the moment I need to query as many fragments as possible to have a good chance of finding the matching image.

</comment></comment></comment></comment><comment><USER5> Awesome work! Thanks for sharing this!

Reminds me of nova.astrometry.net and PixInsight (and others), which are able to determine which stars are in an image, regardless of transforms.

Relevant paper (outlines an approach using triangle space): [https://hal.inria.fr/inria-00548539/document](https://hal.inria.fr/inria-00548539/document)

Relevant section: "Provided the reduced object lists, our next step is to construct all possible triangles. From the list of n objects we can construct n(n − 1)(n − 2)/6 triangles. Those will be represented in so called "triangle space". We need to choose a triangle representation that will let us find similar triangles, that is to find corresponding object triplets being insensitive to translation, rotation, scaling and flipping. A triangle in the triangle space could be represented as a two-dimensional point (x, y) where x = a/b, y = b/c.

a, b and c are the lengths of triangle sides in decreasing order. Similar triangles will be located close to each other in the triangle space."

</comment><comment><USER6> This is really impressive. What I particularly like is how the demo demonstrates the usefulness of the algorithm - an article about it would be interesting, but after I cropped, scaled, rotated and moved the dog's head, and it was still found, it was just so _obviously_ useful. For example, if someone did the same thing with a photo of a person's face you could find the original image it came from.

</comment><comment><USER7> This is great, I was toying with this kind of image recognition a year or two ago and I am impressed with this.

Have you considered doing other common transformations like various Instagram filters and compression loss? If you had those abilities combined with the current algorithm you could have the kernel of a photo copyright protection system . . .

</comment><comment><USER8> That is really gorgeous, do you have anything quick written up about how your hashes are stored? I spent far too much of a few months optimizing phash to hell (I can do fuzzy lookups in a table of ~17 million images in constant time)and I'd love to play with your math a little bit

</comment><comment><USER9> Really cool! I love how more and more mathematical ideas (like translation invariance) are seeping into the programming community. I suspect that this will have a bigger and longer lasting impact on software engineering as a result of the current machine learning hype, than will any particular technology that it may produce.

<comment><USER3> These invariants are standard practice in computer vision. In fact, you won't go anywhere without translation and brightness invariance, more often you need also scale (uniform) and rotation invariance, and limited projective transform tolerance.

There are various ways to deal with this in ML (not really an expert in ML), but AFAIU in most cases you get candidate transforms via model-based methods, and then make the decision using ML-based methods trained to allow for limited transformations (convolution nets are good at that).

<comment><USER10> I've been out of the Machine Vision space for a while, so my knowledge is somewhat out of date.

What research is out there on general Affine invariant vision algorithms and techniques?

For context, my practical experience ended in the mid 2000's when "jittering" was a bit of thing along with some occasional closed form estimators based on basic linearization approximations.

<comment><USER2> ASIFT or Affine SIFT is one of the Affine invariant versions of SIFT. Take a look here - [http://www.cmap.polytechnique.fr/~yu/research/ASIFT/demo.htm...](http://www.cmap.polytechnique.fr/~yu/research/ASIFT/demo.html).

<comment><USER3> It's actually perspective transform invariant, which is a more general class. The name is misleading.

SIFT and its multiple descendants, yes, and also things like Random Ferns, google "Boosted Random Ferns for Object Detection" (it's damn difficult to get a clean link to pdf from google...)

</comment></comment></comment></comment></comment><comment><USER11> Very impressive indeed. I was wondering, how did you determine your criteria for matching (i.e. the hash distance at which two triangles are considered different)? Also, could this be extended to colour transformations as well (perhaps by using a wavelet transform to extract phase for comparison, rather than amplitude)?

<comment><AUTHOR> >I was wondering, how did you determine your criteria for matching

Yeah, the query image is broken into a number of fragments and then the hash of each fragment/triangle is checked against the hashes stored in the database using a nearest neighbor search (well you find any neighbors within a certain distance/threshold, I found a hamming distance of 8 to be a pretty good threshold).

Currently only one fragment of the query image needs to match a database image for the images to be considered a match. You could also put some threshold on the number of fragments that need to match but this is only a proof of concept I haven't had time to find the perfect combination yet.

>could this be extended to colour transformations

Yeah, actually after you have re-transformed the triangles to be equilateral you can apply a lot of other techniques to future improve the search. You can even use NON-affine transformation partial image matching on the triangles to match fragments that only partially match fragments stored in the database.

</comment></comment><comment><USER12> When you say this is a reverse image search, does it search over multiple images to find the one which matches the closest? In the demo it seems to only search over a single image to find the cropped, stretched or rotated part of the image. Do you also have examples of negative searches where it doesn't find the image in question?

</comment><comment><USER13> This is awesome! Do you have any resources to dive into reverse image search? I am not familiar with the standard methods and I am looking for more than the pyimagesearch's tutorial of using histogram matching, I am interested in learning what the standard is and any tutorials/implementations

</comment><comment><USER14> This is pretty neat. I've been using pHash to find duplicate photos across my personal library, but this seems significantly better. I'd like to wrap it as a Python library - what are the bits that need improving?

<comment><AUTHOR> Unfortunately it needs a huge amount of work to be production ready. I'd love to see it wrapped up in python though and I'll be continuing to work on it. The main issue you will run into is that the number of triangles computed from the keypoints is n^3 (where n is the number of keypoints), So currently it will take far too long to match large images. I have a few ideas on how to solve this but none of them have lead to quick and easy solutions...yet

I'm currently working on an improved method for getting 2D affine invariant keypoints because the current one just barely works. After that I will be working on handling the scaling issue.

</comment></comment><comment><USER15> I'm amazed at how simple this is! Making the triangles equilateral is one of those things which seems so simple in hindsight but I doubt it was easy to think of, were you inspired by anything in particular?

</comment><comment><USER16> Beautifully done! Affine transformations! Gotta love that Jacobian, baby.</comment>


Diabetes drug 'significantly reverses memory loss' in mice with Alzheimer's - <AUTHOR> https://www.sciencedaily.com/releases/2018/01/180101144803.htm <comment><USER2> Blogspam of

[http://www.lancaster.ac.uk/news/articles/2017/diabetes- drug-...](http://www.lancaster.ac.uk/news/articles/2017/diabetes-drug- significantly-reverses-memory-loss-in-mice-with-alzheimers-/)</comment>


The Middle Class in America Is Radically Shrinking. - <AUTHOR> http://finance.yahoo.com/tech-ticker/the-u.s.-middle-class-is-being-wiped-out-heres-the-stats-to-prove-it-520657.html?tickers=

<comment><USER2> No kidding: My dad's first job out of college, an entry level position, earned him $25k/yr, with benefits. His house -- 1500 sq feet in a nice neighborhood cost $25k. This was in the mid 70s

My first entry level job out of college, a good job by all accounts, earned $30k, had minimal benefits. My first house cost $80k for 1100 sq ft. in a decent (but not as nice) neighborhood. This was in the mid 2000s (except the house was bought immediately post crash).

Something is not right w/ this.

</comment><comment><AUTHOR> Slowly killing the American economy.</comment>


Stealthy Trick Makes Facebook Look Like an Excel Spreadsheet - <AUTHOR> http://mashable.com/2011/07/03/hardlyworkin-excel-facebook/ <comment><USER2> The second screenshot shows a Windows-themed Excel running on a Mac (look at the Aqua scrollbar on the right). I think that would get a lot of second looks from curious passers-by... the opposite of stealthy.

<comment><USER3> I think you are overestimating how likely someone is to make note of such a thing when they have no reason to expect a ruse in the first place. This thing isn't meant to stand up to close scrutiny, but rather just quick glances of a screen as you walk by. I'm intimately familiar with the differences between Win7, MacOS and Windows XP UIs, but I'm also fairly sure if I saw that running on someone's desktop, even a Mac or Win7 box, I'd just think "Excel" and not really mentally nitpick based on the verisons of various other things running. Unless I had some other reason to believe something was amiss in the first place, I wouldn't give it enough thought to note the discrepancies and I doubt there are many people out there who would.

For those of you that are convinced you'd still know something is up -- there are also all sorts of reasons why XP Excel running on other systems would be totally legitimate -- could be running in a virtualbox window, could be running in a remote desktop window, etc.

<comment><AUTHOR> Agreed.

</comment></comment></comment><comment><USER4> Cool, but it would be much more useful if someone could write the same thing for Hacker News.

<comment><AUTHOR> I think someone might have written a Hacker News terminal view skin a while ago. Wish I could find it.

<comment><USER4> [http://chadbraunduin.blogspot.com/2011/06/hacker-news-in- ter...](http://chadbraunduin.blogspot.com/2011/06/hacker-news-in-terminal- written-in.html) \- Hacker news in the terminal. Not much different than "lynx <http://news.ycombinator.com>

<comment><AUTHOR> Very neat, but someone built a web-based one.

</comment></comment></comment></comment><comment><USER5> Wow, I'm pretty sure that if you need to get your social fix so badly that you're disguising facebook as legitimate work, you've got an addiction.

Step away from the computer for a bit.

</comment><comment><USER6> A way to view people's personal profiles as dispassionate statistical data that can be used for all sorts of lucrative applications? It's like Zuckerbergvision!

</comment><comment><USER7> Ah, cool, they... did what Elliot Kember did with Twitter a year or two back.

</comment><comment><USER8> Serious request: can someone who upvoted this article explain why?

</comment><comment><USER9> Dishonesty is great!</comment>


Do you suffer from Programmer's Apathy? - <AUTHOR> http://www.petesqbsite.com/sections/tutorials/tuts/vicstuts/tutor22.txt

<comment><USER2> Ummm, what the hell was that?

Sorry, usually I feel the need to make more intelligent comments than that, but in this case I'm just gonna have to go with "what the hell was that?"

<comment><USER3> Yeah, honestly -- who would vote this article up?

I wonder if we need something akin to meta-moderation, to account for people who vote up low-quality articles.

<comment><USER4> I liked it and voted it up. But I knew it would get lots of bad comments because of the spelling mistakes. That's just arrogance to me - you can't expect everybody to be a native speaker of English.

<comment><USER3> I thought the article was pretty terrible, but not because of the spelling mistakes.

As an aside, just because you're not a native speaker of English is not an excuse for poor spelling: a foreigner can use a spellchecker just as well as a native speaker.

<comment><USER4> Hm, but they don't get it right all the time, and the article was old. Maybe back then the options weren't as good.

</comment></comment></comment></comment></comment><comment><USER5> Too long...

Didn't read...

Not because it was...

too long...

really....

but because...

it didn't make...

any sense...

the information....

density....

was just too low...

I understand...

conversational writing style...

but do people....

even talk like this....

I think not...

<comment><USER6> Spock...

I think...

that some people...

do...

talk like this.

</comment></comment><comment><USER7> Dude, if that gets more points than my econometrics tutorial, I'll, uh, do nothing.

</comment><comment><USER8> That's a blast from the past. Pete's QB Site was a big website in the QBasic online scene.

But yeah...terrible article...

...

</comment><comment><USER9> The st5rangest thing is that i actually have a /home/pavelludiq/dev/shit directory and i have all my unfinished stuff in there, actually, most of my code is in there. But the article still sucked. I have the most horrible handwriting, if i write my programs by hand it would take much longer and it would be a real pain to read, plus editing would be impossible, and copy\paste would not be present to aid me in time of need. And syntax highlighting would be missing, and debugging would be impossible. This guy is a real QBASIC hacker :D

</comment><comment><USER10> Keep lots of notes and design info, which you can revise quickly, and program from that. Never the other way around or you'll end of with the dreaded programmers apathy.

</comment><comment><USER11> I read that halfway, and feel more apathetic now than I did when I started...

</comment><comment><USER12> that was painful to read.

<comment><USER13> I quit in the middle. I guess I'm an apathetic reader of crappy posts.

</comment></comment><comment><USER14> 5 word summary: Programming is hard, payment motivates.

</comment><comment><USER15> All the ellipses...

They're getting to me...

I can't seem to finish my th...

</comment><comment><USER16> man i couldn't get past "amateur" misspelled as "ametuer" three times in four sentences</comment>


CHP: Drunk driver slept while Tesla appeared to drive Hwy 101 on autopilot - <AUTHOR> https://www.sfgate.com/crime/article/Drunk-driver-slept-while-Tesla-drove-Hwy-101-on-13435295.php <comment><USER2> It's "edge" cases like this that demonstrate how complex it is for software to coordinate with chaos of real-world environments.

According to a CA State Trooper, "The state law says that upon the immediate approach of an authorized emergency vehicle the driver shall immediately drive to a position parallel to, and as close as possible to, the right-hand edge or curb of the highway clear of any intersection, and shall stop and remain in this position until the authorized emergency vehicle has passed, except when otherwise directed by a police officer. The driver of another vehicle on a one-way roadway shall drive to the closest edge or curb and stop."

My idea would be to add an indicator light at both licence plates that indicates an autonomous control in effect.

The state should require all semi or fully vehicles have a special registration to provide an ability for LE to disable the car in an emergency or to intercept criminal activity.

</comment><comment><USER3> It seems unlikely he was completely asleep the whole time because, as the article states, autopilot will disengage after a warning period. If I had to guess I bet he was waking up periodically to nudge the wheel to keep the thing going.

<comment><USER4> Or he just learned to nudge it in his sleep in response to the alarm, the same way people accidentally learn to snooze their alarm clocks without waking up.

</comment></comment><comment><USER5> Previous discussion: [https://news.ycombinator.com/item?id=18575586](https://news.ycombinator.com/item?id=18575586).

</comment><comment><USER6> This is straight out of a movie. I don't know if I should be shocked, amazed, or appalled.</comment>


VW to Rework $56B Battery Push on Samsung Deal Risk - <AUTHOR> https://www.bloomberg.com/news/articles/2019-05-27/vw-to-reshuffle-56-billion-battery-push-as-samsung-deal-at-risk <comment><USER2> Previous discussion from 5 days ago: [https://news.ycombinator.com/item?id=20030618](https://news.ycombinator.com/item?id=20030618) (22 comments)

</comment><comment><USER3> Both for the Tesla-Panasonic fallout and the Volkswagen- Samsung fallout, I've been unable to understand what caused the conflict?

Can somebody with more insight than me explain?

Further question: Are these unrelated cases? Or is there a broader market dynamic at the root of both?

<comment><USER3> Since nobody has answered, here is my take on the Volkswagen-Samsung deal.

\- Samsung got a better offer from somebody else du to high demand \- Or: The prices of raw material have increased due to high demand and Samsung needs to raise prices to be profitable.

\- Volkswagen is unable or unwilling to match that higher price.

\- To save face, Samsung is still delivering some of the capacity to the originally agreed-on price.

In other words, prices for batteries are rising and they are making it hard to produce EVs at the competitive prices that Volkswagen had in mind.

Let's hope that this is a temporary situation and that supply is elastic enough to make prices fall again in the mid term.

Or else, the EV revolution is in trouble :/

<comment><USER4> I predict that electric vehicles will be so expensive up-front and so efficient that nobody will personally own them. They'll exclusively be structured as pools of rentals, with or without a driver.

</comment></comment></comment><comment><USER5> This Bloomberg title is unreadable English.

</comment><comment><USER6> An interesting side-aspect is the different battery supplier for the chinese market. I wonder if Samsung, LG, etc. will see their battery IP "unwillingly transferred" to Contemporary Amperex Technology Co. when these deals come to fruition.

</comment><comment><USER7> This is a broken blogspam site reposting

[https://www.bloomberg.com/news/articles/2019-05-27/vw-to- res...](https://www.bloomberg.com/news/articles/2019-05-27/vw-to- reshuffle-56-billion-battery-push-as-samsung-deal-at-risk)

<comment><USER8> Ok, changed to that from [https://evbite.com/samsung-struggling-to-fulfill- volkswagen-...](https://evbite.com/samsung-struggling-to-fulfill-volkswagen- battery-needs/). Thanks!

<comment><AUTHOR> I would sort of disagree that EV Bite is just a spammy blog site. I get a lot of great EV news from them among others like CleanTechnica, Electrek, etc.

By the way, I know you have discretion as a moderator to change things dang, but I would hope that you try to place at least some good faith in posters. All the submissions I make are from my personal RSS newsfeed, which I've tried to prune throughout the years to build what I believe is an extremely comprehensive information portal, if perhaps somewhat biased towards the technology industry and technical engineering.

<comment><USER9> Blogspam doesn't mean spammy blogsite, it means copying the content of a source article without adding anything.

There are good reasons to do that, e.g. to be a one stop destination for news on a topic, but from aggregators like this it's preferable to link to the original source because errors are less likely to have been introduced by broken telephone, and to give credit where credit is due.

<comment><AUTHOR> Fair enough, I can see how even with a citation, aggregators might dilute the credit received to the original poster because most people prefer the more convenient option of just staying with the aggregator.

Though I would still argue that by definition, sites like Hacker News are also aggregators in the same way, so I think it's slightly disingenuous to pick on one and not the other.

<comment><USER10> I think that there's a bug difference between a site that's clearly an aggregator (HN) and something with original content and thin wrappers around another site's content.

<comment><AUTHOR> I do have some thoughts in regards to your statement, but this discussion is probably better made on a different thread somewhere else.</comment></comment></comment></comment></comment></comment></comment>


How to build a location-based hybrid mobile app with reverse geocoding - <AUTHOR> http://trigger.io/cross-platform-application-development-blog/2012/05/15/how-to-build-a-location-based-hybrid-mobile-app-with-reverse-geocoding/ <comment><USER2> Random fact: the bottle of wine pictured on that page is one I drank in a restaurant. On the bottle there's Lorem Ipsum text that accidentally hadn't been replaced: [https://twitter.com/#!/jgrahamc/status/140827340757417984/ph...](https://twitter.com/#!/jgrahamc/status/140827340757417984/photo/1/large)

</comment><comment><USER3> Trigger.io looks interesting but I am not sure I understand the pricing. Do you need to pay them if you want to distribute an app? Do you need to pay them just when you are developing the app or the whole time the app is for sale?

This from their FAQ does not clear it up for me: "The monthly payments are a license to use the cloud build service and to distribute our native bridge with your applications with enhanced support,"

So the fee is for support?

<comment><AUTHOR> I'm changing the words on that as it is confusing - you can use Trigger.io for iOS and Android completely for free.

It's only if you need to upgrade to get additional support or Windows Phone that you need to pay the monthly fee.

</comment></comment><comment><USER4> Pretty cool. Just downloaded it into my iPod 4th.

Unfortunately, the photo did not come through. I see broken image icon [bluish small one]. Also, on Wine List, my address/street is very long so it looks like it is cut off.

But trigger.io looks like amazing framework to build hybrids, and will definitely include it in my next project!

</comment><comment><USER5> i just tried the app (iPhone4, iOS 5.1): \- camera/gallery selection does not go away, have to hit "cancel" \- star rating seems broken at first (apparently to small hit targets for finges) \- location in list has broken icon/image to the left \- broken image in detail view \- native bars gone after a few screens, must kill/restart app \- maps work

so far this is less than impressive. reading the post made me wanna try trigger.io, playing with the app made me decide otherwise - not production ready it seems.

</comment><comment><USER6> You were able to implement this over a weekend??? That's really fast and I must be doing simething wrong!

<comment><AUTHOR> Well, strictly, it was a 'long weekend' :).

It obviously helps that I'm already familiar with it and the other technologies I used - especially trigger.io (I'm a founder) and backbone.js. But with those it becomes pretty fast to implement these kind of apps.</comment></comment>


Calculating the sample size required for developing a clinical prediction model - <AUTHOR> https://www.bmj.com/content/368/bmj.m441/rr <comment><USER2> Not sure if any of the test-driven development people have thought about this, but the same principle also applies there: if you debug and fix the code until it passes the tests, you can overfit the tests. It's no longer a good measure for code quality, once it has been explicitly optimized. You'd need new, previously unseen test cases. It would be an obvious mistake in machine learning to simply add failed test examples into the training set and rejoyce that the new model can now deal with those previously difficult cases.

It's related to Goodheart's law: "When a measure becomes a target, it ceases to be a good measure".

It also works in one's personal life. If you find that you made a mistake, don't just fix that particular thing, go back and see what other similar things may need fixing. It connects to the idea of fixing the deeper reason than fixing the symptoms. "Deeper reason" just means, something that generalizes.

By the way, you need to be careful about your data split. This always depends on how you intend to use the model. If you intend to use it on new, unseen patients, then the train and test data cannot overlap with respect to people. Another obvious case is videos: You can't just take every even frame as a training sample and every odd frame as test. Even though technically you would be testing on non-overlapping data, the performance measure would be biased compared to real world performance. Or if you want to classify burglars from security camera footage, you may need to test it on new camera setups from different houses if you intend to deploy it to new houses. If your scenario is such that you'd perform training on each new site and run a location specific model, you can test on images from the same site.

You always have to use your brain to decide what to do.

<comment><USER3> > Not sure if any of the test-driven development people have thought about > this, but the same principle also applies there: if you debug and fix the > code until it passes the tests, you can overfit the tests. It's no longer a > good measure for code quality, once it has been explicitly optimized. You'd > need new, previously unseen test cases. It would be an obvious mistake in > machine learning to simply add failed test examples into the training set > and rejoyce that the new model can now deal with those previously difficult > cases.

This is a great point, and it articulates some challenges that I've seen with test-driven development.

I would say that if you can write tests that fully specify the desired functionality, rather than merely check a few possible inputs, it's less of an issue. This is a reason to try to build things with less knobs to twiddle, so the space of inputs has lower dimensionality.

<comment><USER4> Yes but then the tests would formally describe the requirements - i.e.they would be a de-facto implementation. Congratulations, you just coded an (indirect) solution to your problem (a solution that you postulate is correct/bug-free)

<comment><USER5> Are you saying this like it's a bad thing?

Tests describing requirements acts as documentation, validation, and regression prevention with future refactors.

<comment><USER4> My beef is with the assumption that tests _can_ fully encode the requirements - to the point where any bug would trigger a test failure. Having such a test suite is no simpler than having a perfect implementation of the requirements - i.e. it's probably only feasible, at all, in the simplest/ "didactic" cases.

Having a perfect implementation is not _bad_ , of course. It's just not realistic.

</comment></comment></comment></comment></comment><comment><USER6> The link is not to the paper itself but to a response to the paper, this might be (is probably?) intentional but the title is a bit confusing.

Essentially the response, submitted by several ML / CS / math researchers, addresses a note in the paper which recommends against train/test split in model training, calling it "inefficient". The response is dedicated to explaining what generalization error is and why estimating it is important, and how that's basically impossible without any sort of train/test split or cross-validation.

<comment><USER7> The article is there, if you click on the "Article" tab.

Perhaps if any staff are paying attention on the holiday, we could get the "/rr" chopped off the end of the link, so that we get to the main article instead?

<comment><USER6> My guess is that OP intended to submit the response, I was really surprised to see the note in the article and found the response interesting (even the fact of its existence). But that's just my take :)

<comment><USER7> I suppose, but then you'd expect a different title on the HN submission, since the response has barely anything to do with sample sizes.

</comment></comment></comment></comment><comment><USER8> And if you're a Bayesian, you can choose a stopping criterion based on your desired degree of certainty. This can have practical benefits of not having to run an experiment to its end.

A family member was part of the control group for a cancer treatment study a few years back. The study chose a stopping criterion based on Bayesian methods. Relatively early into the study they were able to determine that it made sense to move people from the control group to the treatment group.

<comment><USER9> You don't have to be a bayesian to do that.

Once you're dealing with real people, early termination is a huge deal, and it quickly goes beyond just the interpretation of statistics. You almost always want to have 3rd party referees involved anyways.

<comment><USER10> > You don't have to be a bayesian to do that.

The reasoning for doing so is much more coherent (imo) in a Bayesian framework where you don't have to say that you are "going beyond" statistics.

<comment><USER11> By "beyond statistics", I think they meant that trials need on-going monitoring for things beyond the outcome variable itself: safety, data quality, and even feasibility of completing the trial itself. Once you've got that infrastructure in place, interim monitoring of the outcome isn't much extra work.

Some of the frequentist approaches to early-stopping seem pretty coherent to me. Curtailiment, for example, just stops collecting data once it will no longer change the outcome of a test. The frequentist emphasis on error control _for the procedure_ also seems like a reasonable fit for a regulatory regime where you're actually making decisions (no argument that it is...weirder for basic research)

At any rate, some approaches for early-stopping have sensible frequentist and Bayesian properties, which is nice.

<comment><USER9> Yes, I meant for clinical trials.

Agreed that things are weirder for basic research.

</comment></comment></comment></comment></comment><comment><USER12> Estimating a minimum required sample size is one of the most common questions asked by clinical or biomedical collaborators before embarking on a research project. This is especially true when ML is an option. This paper provides rules of thumb and a digestible amount of theory that could inform such conversations, and will surely become a popular reference.

Note intuition from traditional statistics does not universally apply to deep learning and/or extremely high-dimensional data. For example, deep neural networks with 1-4 orders of magnitude more parameters than training examples can still generalize well to unseen data.

</comment><comment><USER13> This is part of the reasons why A/B testing might fail in reality, it is not just about collecting random number of responses about A and B.

When doing a test you should plan it in advance based on other data, you should execute the test as planned and analyze the results accordingly failing any of the tests will results in wrong to totally wrong conclusions.

<comment><USER14> > When doing a test you should plan it in advance based on other data

I think this is not entirely true. In areas where experimentation feedback is fast (and experiments are probably cheaper to run), the problem is much more accurately and sample efficiently solved by Thompson Sampling [1,2] which in fact dictates you to have a broad enough prior over the solution space and then let the posterior dictate your conclusions.

[1]: [https://www.microsoft.com/en-us/research/wp- content/uploads/...](https://www.microsoft.com/en-us/research/wp- content/uploads/2016/02/thompson.pdf)

[2]: [http://www.economics.uci.edu/~ivan/asmb.874.pdf](http://www.economics.uci.edu/~ivan/asmb.874.pdf)</comment></comment>


9 Reasons Why It Sucks Working for a Startup - <AUTHOR> http://www.inc.com/dana-severson/9-reasons-why-it-sucks-working-for-a-startup.html

<comment><USER2> Ha, well, not all of these are negatives. i.e.

>> You'll be expected to do much more than you know how to

Good!

>> You'll need to know how to figure things out on your own

Good!

>> Every day is a new adventure

Good!

But yes, the rest are valid complaints. Having done one startup of my own and a few of others' I can attest to all this.

I can also attest to the fact that it is still more fun and rewarding and invigorating than a safe gig at Cubical Corp. In fact, I just lost my current gig at a small startup, two weeks after my kid began her first term at an expensive college, and I don't regret it. I'm interviewing at another one this week.

</comment><comment><USER3> Those 9 points are exactly the reasons why you should work for a startup.</comment>


Progressive Chess - <AUTHOR> http://en.wikipedia.org/wiki/Progressive_chess <comment><USER2> Wowza! That makes for a really different game. I haven't seriously wrapped my mind around chess in a long, long time. I have agreed with Bobby Fisher's assessment, at the grand master level they should be playing with a randomly chosen back row formation. The top players have all the openings memorized, and this would really shake that up.

</comment><comment><AUTHOR> See also: <http://en.wikipedia.org/wiki/Category:Chess_variants></comment>