Senate narrowly rejects plan to require a warrant for Americans' browsing data - <AUTHOR> https://techcrunch.com/2020/05/13/senate-warrant-americans-web-browsing-data/ <comment><USER2> Once again the lack of media coverage on this is appalling.

Rand Paul has introduced an amendment that goes up for vote tomorrow that would disallow this surveillance on American citizens, which of course is not expected to pass.

McConnell is drafting language to prevent this from being used on "federal election candidates" which of course _is_ expected to pass.

<comment><USER3> > McConnell is drafting language to prevent this from being used on "federal > election candidates" which of course is expected to pass.

So privacy for those in positions of power but not for us plebes.

<comment><USER4> Do they have to be viable candidates? I don't mind being in a permanent state of casual campaigning

<comment><USER5> We can even make a political party out of it where everyone in the party is a candidate.

<comment><USER6> This has a very Slack vibe to it that I can dig.

<comment><USER6> No love for the Church of the SubGenious?

<comment><USER5> I gave you an upvote in the previous comment because I knew what you were talking about mainly due to Slackware's reference to Church of SubGenious. I don't think many know what that is though.

For those curious:

[https://en.wikipedia.org/wiki/Church_of_the_SubGenius](https://en.wikipedia.org/wiki/Church_of_the_SubGenius)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> As a Bernie supporter, I'm disappointed by his lack of a YES vote. We at least deserve a statement. I'm going to suggest a potential explanation, but I'm still disappointed by the lack of vote and/or statement.

Based on how Patty Murray (D) has said she would have voted YES but wasn't able to get to DC in time, it's clear it was never going to pass to begin with. This happens often – someone like Mitch McConnell might whip the votes, realize they're ahead, and allow a few Republicans that are at-risk to vote YES to provide cover for them in the future. Remember, even if you count the two Independents as Democrats, there's still 6 more Republicans. We've seen this with Susan Collins a lot; if Republicans don't need her vote she'll vote against them. But when they need it, she votes with the party like clockwork.

So, now we get to be mad at Sanders and Murray (the Democrats who weren't in DC), and nobody blames the 37 Republicans who actually killed it. Remember that McConnell decides what is voted on, and he always knows the votes. Maybe the one exception ever was McCain saving Obamacare.

I feel certain Sanders would have voted YES. He's historically been mostly pro-Snowden, anti-surveillance, and pro-whistleblowers (it's nuanced; for example he thinks Snowden should be prosecuted but also thinks what he did was right and that he should get a plea deal).

(Not the point, but it's insane Senators have to be physically present, especially given the situation. At least one Senator missed the vote due to quarantine. Why are we making a 78 year old man physically fly to DC to vote, and do so in a chamber full of at least one person who has had COVID-19 recently?)

Like I said, I'm still disappointed we haven't even gotten a statement from Sanders yet. But this whole thing has been on my mind a lot today.

<comment><USER8> >nobody blames the 37 Republicans who actually killed it

I think we _do_ blame the 37 Republicans, it's just that that's not a particularly new emotion to feel at this point. It's no secret that the GOP pulls this stuff (as, like you noted, with Collins).

Currently, though, Bernie (and Murray, who at least commented) have the image of not being present for what, even if only optically, feels like an incredibly important job. I've had to say this to a few people today: you can be equally annoyed with with the people who voted for it, the GOP who brought it, and those who weren't there to try and stop it to begin with.

Everyone on this forum knows what's at stake here, so it's frustrating to see the "one vote missing" here.

Edit: a word.

<comment><USER9> For additional context, Bernie hasn't voted in any of the 10 roll call votes so far in May.[1] He's not campaigning anymore. Hell, he was streaming on Twitch this evening.

As noted up thread, the GOP would've just moved the goalposts by turning one of their swing votes if there was any danger of him putting a vote in for this. But he was batting .000 on the month going into today, so it was an easy bet.

1: [https://www.govtrack.us/congress/members/bernard_sanders/400...](https://www.govtrack.us/congress/members/bernard_sanders/400357)

<comment><USER10> > As noted up thread, the GOP would've just moved the goalposts by turning one > of their swing votes if there was any danger of him putting a vote in for > this.

That's exactly why he should've showed up. The swing votes are swing votes because voting that way is unpopular in their district. It makes it hurt more to do the wrong thing. "Meh, it would've passed anyway" lets the people doing wrong get off too easy.

</comment></comment></comment></comment><comment><USER11> Wyden is probably one of the few senators, who is consistent on this issue. Everyone else, at best, pays lip service or repeats talking points about terrorism and the need to protect America from the ever present danger.

<comment><USER12> On these max-out-surveillance votes, Dianne Feinstein poorly represents the massive tech industry presence in her state.

<comment><USER13> Or does she represent companies like Google, Facebook, or Palantir who are more concerned with pro-privacy laws cutting into their revenue? The politics of tech industry workers are not identical to their management and the latter steer a LOT more money into politics.

<comment><USER14> It's more the entertainment industry in this case.

</comment></comment></comment></comment><comment><USER3> This is just backwards.

People in power should always have to justify their actions to us. Always. They should always be questioned. This (in theory) is how we ensure their power isn't abused.

We should have privacy while they do not. A lack of privacy should be a cost to the power they're entrusted with.

If it's legal for them to sift through our lives while they refuse to be questioned, and they act insulted that we dare question their actions, we have gone off the rails.

<comment><USER15> "People should not be afraid of their governments; governments should be afraid of their people."

100% agree that the tradeoff of power should be a loss of privacy.

<comment><USER3> It's important to stress: They should happily answer with accurate and honest data when asked.

We have hit a wall where our leaders react with vitriol when asked what they're doing; mcconnell's pushing for an exemption for those in power, pushing for them to have privacy while actively voting laws into place which _drastically_ reduce ours should concern every single one of us–at least as much as Snowden's docs revealed to us.

</comment></comment></comment><comment><USER16> Just a reminder that if you're upset about this, politics is an active process. I'm going to look up my senator's votes right now and send them an email if they were one of the nay votes.

<comment><USER16> Whelp... I'm 0/2 for my senators. Here is my letter BTW, feel free to copy it and use it to get in contact with your reps. Look up their votes here [1].

Dear Representative $NAY_VOTER,

I'm writing you to express my disappointment in your recent vote on May 13 to reject Wyden amendment no. 1583. This amendment would have required law enforcement agencies to obtain a warrant before accessing American's web browsing data. Despite bipartisan support, the amendment failed to garner the required 3/5 majority by only one vote.

The controversial language of section 215 of the Patriot Act provides the government with broad powers to collect information related to federal investigations. Unfortunately, that power extends to the warrant-less collection of American's private information. This even includes innocent and law-abiding citizens who's only relation to an investigation is that their records are considered "relevant" in some manner.

Privacy reform is important now more than ever with the increasing role of technology in our daily lives. Please give me your support in creating meaningful oversight for our country's surveillance programs.

Sincerely,

Djaque

[1] [https://www.senate.gov/legislative/LIS/roll_call_lists/roll_...](https://www.senate.gov/legislative/LIS/roll_call_lists/roll_call_vote_cfm.cfm?congress=116&session=2&vote=00089#position)

<comment><USER11> 2/2

For once, I don't have to be embarrassed about Duckworth.

<comment><USER17> 2/2 here in Nevada, too.

</comment></comment></comment></comment><comment><USER18> Of course! Wyden again! I'm really happy he is our senator. I wish there were more like-minded people in congress.

Too bad he couldn't quite get all the necessary votes.

<comment><USER19> Makes me pretty happy to see headlines with him and generally be quite proud of what I see. If only I could say the same thing about our congressman in OR2...

</comment></comment><comment><USER20> PopVox record for the bill which was to be amended[1]

Congress.gov article for the same bill[2]

I'm thoroughly confused about the current process. It looks like HR6172 is the House "version" of the extension on the "USA FREEDOM Act" thru 2023 and S3421[3] is the Senate attempt to do the same. I can't find any references on Congress.gov which references Ron Wyden's proposed amendment.

[1] [https://www.popvox.com/us/federal/bills/116/hr6172](https://www.popvox.com/us/federal/bills/116/hr6172)

[2] [https://www.congress.gov/bill/116th-congress/house- bill/6172](https://www.congress.gov/bill/116th-congress/house-bill/6172)

[3] [https://www.congress.gov/bill/116th-congress/senate- bill/342...](https://www.congress.gov/bill/116th-congress/senate-bill/3421)

<comment><USER21> If the Senate has amended the House bill, it will have to go back to the House (or a conference committee) to hammer out a unified version, which then needs to be voted on again and passed by both sides. This isn't a done deal (yet).

</comment></comment><comment><USER22> Short term solution: Well VPNs for all, Ghostery [1] was running a deal on their paid version with a VPN built into their add-on [1].

Long term: The State is making their panopticon ambitions overt now in the public eye, thus spurring on the need to re-design the Internet entirely to avoid this.

Anyone know what Starlink is offering in terms of privacy? Details are sparse for the most part right now, but given their ties to DoD I'm not sure how this will play out. Sounds like a product release presentation is needed to clarify some things.

Edit: I plan on buying Ghostery Midnight but it's Windows/Mac only, so no Linux! I guess these Bitcoin accepting ones will have to do [2].

1: [https://www.ghostery.com/midnight/](https://www.ghostery.com/midnight/)

2: [https://www.comparitech.com/blog/vpn-privacy/vpn- bitcoin/](https://www.comparitech.com/blog/vpn-privacy/vpn-bitcoin/)

<comment><USER23> Don't use VPN services: [https://gist.github.com/joepie91/5a9909939e6ce7d09e29](https://gist.github.com/joepie91/5a9909939e6ce7d09e29)

<comment><USER24> But, according to that link, you should be using one in this case:

"You are on a known-hostile network (eg. a public airport WiFi access point, or an ISP that is known to use MITM), and you want to work around that."

An internet connection from an ISP operating under a government that logs your browsing history is a "known-hostile network".

<comment><USER25> This law would almost certainly be exercised via Google and not the ISP, which can't see the contents of your browsing history anyways.

<comment><USER2> But most ISPs will have DNS lookup records. Most users aren't savvy enough to set their own DNS servers. I'm not sure on the current status of DNS over HTTPS, but I'd imagine .gov could just compel cloudflare or whoever to provide logs.

<comment><USER26> Do ISPs generally have DNS lookup past records? That seems like something that would be costly with little benefit. I run small ISP and only enable DNS logging when tracing some problem.

<comment><USER25> Apparently AT&T charges to prevent them from selling your data[0], which almost certainly is DNS data and maybe SNI.

0: [https://arstechnica.com/information- technology/2015/03/atts-...](https://arstechnica.com/information- technology/2015/03/atts-plan-to-watch-your-web-browsing-and-what-you-can-do- about-it/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> Here's the bill, might want to read it before commenting:

[https://www.congress.gov/bill/116th-congress/house- bill/6172](https://www.congress.gov/bill/116th-congress/house-bill/6172)

—— or better yet, read what the EFF wrote recently on it:

[https://www.eff.org/deeplinks/2020/04/yes- section-215-expire...](https://www.eff.org/deeplinks/2020/04/yes- section-215-expired-now-what)

</comment><comment><USER28> VPN + DNS-over-HTTPS (DoH) is a very potent combo turning your internet connection into an opaque pipe, as far as your ISP is concerned. DoH hides your DNS requests from your ISP, and a VPN service (basically glorified proxies these days) hide the IPs of site you're visiting. If you are concerned about this issue then I urge you to use that combo. The more people doing that and the more normal that kind of traffic becomes the less able law enforcement is to use it as probable cause or similar.

AFAIK Mullvad is a non-US VPN service that does not require personal info for sign up and accepts cryptocurrency payments. Though I haven't used them myself so I can't speak for service quality. For DoH, I'm only aware of Google and Cloudflare offering that. However they are both US companies so if anyone has a non-US recommendation I would appreciate it. At least using them is one step removed from your ISP, making it a little harder to get your records.

Please correct me if I have anything wrong.

</comment><comment><USER29> Is there a senator who is filibustering this bill? It seems that there were 59 yes votes and four absences - how many nays are there, and who is obstructing this bill?

<comment><USER30> Bernie decided to just not vote even though his vote would have changed the outcome.

<comment><USER31> It's a strange vote. I mean it's completely bipartisan. And a couple on either side and an independent abstained. Guess there was some good horse trading.

<comment><USER32> Not that strange. McConnell knows all the votes before allowing a vote on anything. Then he lets any R in sensitive states vote YAY up to <59 votes.

</comment></comment></comment></comment><comment><USER33> This is a really sloppy article.

"But the amendment fell short by one vote of the required 60 votes to pass the chamber."

No, it needed 60 for _cloture_ , to stop debate. Pass/fail requires a simple majority in a _subsequent_ vote.

"Assuming none of the amendments pass, the final bill is likely to skip the House — which passed its version of the bill earlier this year — and await the president's (sic) signature."

Uh, that's not how it works. A bill isn't enrolled (sent to the President) until the _identical contents pass both houses_. So, if the House has a distinct version with any difference whatsoever, it can't proceed.

</comment><comment><USER34> These hits will keep coming. The only way is to fight it by joining the system and setting up a pro-privacy lobby group and fund it. I don't know how long it can last though. I am pessimistic about this.

</comment><comment><USER35> Lots of things change but the fact that rulers need to subdue the ruled has not changed.

What has changed is how either civilians or the military could withdraw their consent which gives a government legitimacy. Society thought it would be a good idea to log our thoughts and lives on computers and the internet,now rulers can monitor the ruled and adopt before they can organize any effort to withdraw their consent.

Suddenly all the weapons,money and elections are futile against rulers that monitor and manipulate thoughts and social relationships.

You can imagine why they feel like americans must be spied on. Their ability to maintain rule depends on it. Not all citizens are created equals in their minds. Deep divisions and addiction to power.

Begining of the end, or end of the begining?

</comment><comment><USER2> I wonder how broadly they define "internet browsing and search history". I'm assuming email is somehow included. I wonder if mobile app data falls under the umbrella.

<comment><USER36> I imagine the intelligence community would try to interpret it as narrowly as possible, ie just the literal URLs you visited and terms you sent to Google.

<comment><USER2> Is this sarcasm?

Do members of the intelligence community have a history of wanting less information than they can get?

<comment><USER20> Your logic is inverse.

The thing at question was an amendment to add additional proof for access to "internet browsing and search history" data, so if the "intelligence community" defines that term as narrowly as possible, (assuming the "USA FREEDOM Act", the bill which was to be amended, is renewed) then the potential future restriction is applied to fewer data points.

</comment></comment></comment></comment><comment><USER37> Shouldn't one's _personal_ data be a Fourth Amendment issue?

<comment><USER38> It's not your personal data. It's Google's log of requests made to and carried out by Google's servers. It's not covered by the literal text of the fourth amendment—which, as you correctly paraphrased, applies to one's own person and property. The fourth amendment was also never understood at the time it was written to apply to third party business records, which is what your search history is. (While we didn't have search engines in 1789, we had all sorts of commercial businesses, from banks to accountants to merchants, who kept sensitive customer records. Indeed, for at least 400 years, such records have been obtainable in civil suits with just a subpoena.)

I think it would be a _good idea_ to require a warrant in such cases. But it's not a 4th amendment issue.

<comment><USER39> I'd go so far as to argue that the 4th amendment ought to be amended to apply to such data. Such customer records may have been sensitive in the past, but they've become far more personal and all encompassing.

<comment><USER38> If we can't even pass a law protecting such data—how can we amend the constitution to the same effect?

</comment></comment></comment></comment><comment><USER40> 'Now I am become Death, the destroyer of worlds'

-Robert Oppenheimer

we did this to ourselves. we built these tools that are now at the disposal of people with malicious intentions. in another thread about surveillance of WFH employees everyone is aghast that managers would use such tools. again: we did this to ourselves.

you can shift the blame any number of times around the loop of responsibilities

it's not my fault it's my boss's fault -> it's not my fault it's the government's fault -> it's not my fault it's the constituency's fault -> it's not my fault it's the business's fault

and so on. someone has to admit fault and break the loop. for my part this year i left a dod funded project even though the money was easy.

<comment><USER41> How will finding someone to blame make the problem any better?

Finding fault isn't useful here. Our mental energy is better spent finding ways to fix the process and/or technologies.

<comment><USER40> Where did I say blame? I essentially said we should take responsibility for our part. So far I've seen many people say things like "it's not my problem I only do as I'm told" absolving themselves of the responsibility of doing anything to rectify the situation.

</comment></comment></comment><comment><USER42> > I can understand why a system built on a pattern must try to destroy the > free mind, for this is one thing which can by inspection destroy such a > system. Surely I can understand this, and I hate it and I will fight against > it to preserve the one thing that separates us from the uncreative beasts. > If the glory can be killed, we are lost.

~ John Steinbeck

</comment><comment><USER43> Awesome. Now, FISA warrants can continue to be used without oversight to spy on Americans!! Goooo team! And who wants to do this?? These guys! yaaaaay! [http://clerk.house.gov/evs/2020/roll099.xml](http://clerk.house.gov/evs/2020/roll099.xml)

</comment><comment><USER44> Committing the initial capital to form a FEC recognized national political party The Privacy Party to begin direct opposition to this and related activities.

If you are interested in collaborating or learning more:

[https://theprivacyparty.org/](https://theprivacyparty.org/)

</comment><comment><USER45> This article does an incredibly bad job of explaining the current status of this law, and what is expected to happen next. Has the existing law expired? Is it being replaced with something equally bad? Is the replacement subject to further change? Am I just bad at reading?

<comment><USER27> Link to the bill & the EFF's analysis of it is here: [https://news.ycombinator.com/item?id=23173491](https://news.ycombinator.com/item?id=23173491)

</comment></comment><comment><USER46> Would a VPN basically make even a warrant useless in obtaining browsing data from your ISP?

<comment><USER47> No, it just puts your VPN provider in the position your ISP was in assuming they both keep similar records.

<comment><USER46> Well in that case, I would be OK since the VPN I use (ProtonVPN) doesn't keep any logs.

<comment><USER48> most VPN will tell you they don't keep log, which is probably not true

<comment><USER46> Why would they? There is 0 incentive and are not legally required to from Switzerland law.

</comment></comment></comment></comment></comment><comment><USER49> Too bad. Sounds like they could have passed it if certain senators weren't taking a vacation from defending our rights. Quite disappointing really.

</comment><comment><USER50> What is the court precedent that lets congress decide whether a warrant is needed for a specific thing?

It's a thing being searched and seized...what's the argument?

</comment><comment><USER51> Is there a list of who voted against this?

<comment><USER52> Yes there is: [https://www.govtrack.us/congress/votes/116-2020/s89](https://www.govtrack.us/congress/votes/116-2020/s89)

</comment></comment><comment><USER43> Democrats rejected = More use of FISA warrants to Spy on Americans, with no oversight. Woot !

</comment><comment><USER53> normally narrowly rejects is a construction used to indicate something bad was going to be done, so narrowly rejecting it is still bad, which I mean I guess this was still bad but not because the rejection was narrow.

</comment><comment><USER54> And if you use an offshore VPN?

</comment><comment><USER48> orbital VPNs that don't have to comply to a specific country laws when

</comment><comment><USER55> Thanks Bernie!

<comment><USER56> Please don't do this here.

</comment></comment><comment><USER57> Interesting to note that one of the reasons this did not pass is Bernie Sanders' failure to support the amendment.

Keep that in mind next time someone riles about how Bernie is a champion for the average American. I, for one, am glad he will never be President.

</comment><comment><USER58> Doesn't it have to go back to the House anyway? Am I missing something? I thought that bills needed to pass in both the House and Senate before they can be signed into law?

Now in the House they'll have an opportunity to reject the bill with McConnell's original amendment, which is obviously dispicable. This all seems like political theater, like Senator Schumer allowed a vote on this today knowing Sanders would be out. This way, the GOP looks slimy and the House has more reason to simply reject the bill as is and Bernie Sanders can be the scapegoat --> more support for Biden. If this amendment had passed, it'd have been harder for the House to reject the bill.

(Sanders was out today with Ilhan Omar advocating for international debt relief for indebted countries. )

<comment><USER59> I read it was merely a replacement of something already in, and thus does not need to be returned to the house.

<comment><USER60> The House has already passed the surveillance renewal bill, so unless the Senate passes the House bill with at least one amendment (so it's not technically the same bill), it doesn't have to go back to the House.

<comment><USER58> I've been reading that Mitch McConnell's changes, the ones that would expressly allow warrantless surveillance, are a "new amendment". Wouldn't that kind of reporting imply that this amendment hasn't yet been cleared in the house?

<comment><USER61> Democrats are federally elected officials and are of course gonna vote yes on his amendment. Just bec they wear a blue tie it doesn't suddenly make them less self serving.</comment></comment></comment></comment></comment>


The Rise of the Solo Capitalists - <AUTHOR> https://nbt.substack.com/p/the-rise-of-the-solo-capitalists <comment><USER2> "But over the last couple of years, there's been an increase in individuals investing not just at the earliest stages of companies, but at the Series A and beyond.

These individuals aren't just investing their own capital. They're raising dedicated funds and special purpose vehicles (SPVs) from traditional limited partners (LPs)."

I don't mean to snark, but isn't this just individuals starting new venture capital firms? Maybe it's newsworthy if new VC funds are being raised by former tech founders rather than people with finance backgrounds, but it's a different story.

<comment><USER3> I think the real change is a decline in the prestige of the VC firm, which is often used as a signalling factor, combined with a rise in the profile of the individual. It's still a pretty typical VC fund model, with a celebrity face out front. I find it pretty interesting and a little funny that there appears to be real value in differentiating where the money comes from, essentially: "We fund companies with only the purest, artisanal funds, raised without antibiotics or preservatives before they are lovingly invested in your firm".

<comment><USER4> I think you nailed it. Most name brand VC firms reputations are based on a couple of good decisions early in their careers. The time scales we're talking about scream hindsight bias, and even in the best case where they made good decisions rather than got lucky, whatever cargo cult training baloney they come up with doesn't mean they will continue to make good decisions as they pass the torch to whatever MBA dipshits they dig up as successors.

</comment></comment></comment><comment><USER5> [https://spearhead.co/](https://spearhead.co/) basically converts founders into solo capitalists under their own brand.

Easier than ever in some ways. Your personal network becomes your unique sourcing advantage that firms can't get dibs on. What do you know, founders tend to trust other founders.

<comment><USER6> That is a super interesting model. Any idea who makes up the first three "classes" of investors?

</comment></comment><comment><USER7> > _the ability to make very quick investment decisions (given you are the sole > decision maker and don 't have to persuade any partners)_

This specific advantage also benefits Warren Buffett, except in a different investment arena.

</comment><comment><USER8> The trend is towards the follow model from social media. You follow investments from individuals and pay them a success fee on exit. No more AUM fee

</comment><comment><USER9> Are they really "solo" though? In VC firms the VCs usually put up less than 5% of the money as the GP, and then the LPs (pension funds, high net-worth individuals, endowments, etc.) that are invested in the VC fund put up the rest. I would imagine it is the same with some of these "solo" capitalists.

</comment><comment><USER10> Looking forward to the new newsletter!

</comment><comment><USER11> The problem with raising from Solo Capitalists is that some are toxic individuals.

<comment><USER12> You're downvoted by the crowd, but you're 100% correct. The world of solo capitalism is a wonderful place for a bad actor to hide and thrive without having to come to terms with what's wrong.

We have to come up with better systems for accountability, for both groups and individuals. Solving this problem is a major opportunity, given the growing interest in ethical capitalism and socially responsible investing. Unlike the situation in decades past, money to be made here, so I am assuming people will work on this.

<comment><USER13> Can you provide an example of what you're talking about?

<comment><USER11> Are you asking him to name drop some of the most despicable, dishonest, sexually harassing, Solo Capitalists in the industry?

<comment><USER13> surely someone with such a strong opinion would be able to cite an example... ?</comment></comment></comment></comment></comment>


How Much Money Does Bill Clinton Need? - <AUTHOR> http://www.newyorker.com/news/amy-davidson/how-much-money-does-bill-clinton-need

<comment><USER2> You find many politicians giving speeches for money and having a non-profit they are involved in or named after them.

The only reason why Bill Clinton is being targeted over the others is because his wife Hillary is running for President. So the news media and this book Clinton Cash investigate where their donations are coming from. I'm sure we will hear more about it as 2016 comes closer.

Bill Clinton used to invest in startups, then he made the Clinton Foundation to help out the poor and sick in third world nations.</comment>


Uber's $1-per-ride 'safe rides fee' had nothing to do with safety - <AUTHOR> https://www.theverge.com/2019/8/23/20829798/uber-safe-ride-fee-margin-mike-isaac-super-pumped <comment><USER2> In America business if you aren't cheating you aren't playing.</comment>


Probability, Paradox, and the Reasonable Person Principle - <AUTHOR> http://nbviewer.ipython.org/url/norvig.com/ipython/Probability.ipynb <comment><USER2> The hand-wavy way I've always thought about the Monty Hall problem is as follows:

When the contestant picked a box he was making a random choice between three boxes and had a probability of 1/3 of picking the car. The probability that one of the other two boxes was the car is thus 2/3\. When Monty Hall opens a box it's still the case that the probability of the car being in the other two is 2/3 but the contestant can now eliminate the open box and knows that the probability that the car is in the other box is 2/3\. Thus it's worth switching.

<comment><USER3> Monty chooses a door?

I thought he selected it at random.

That was always the confusing unstated assumption for me, that makes me think the problem is only confusing because of how the wording usually de-emphasizes that distinction.

If he chooses a door, you can benefit from the secret information he reveals sometimes by doing so.

If the door was chosen at random, he is not adding any information, so you can't act on it?

<comment><USER4> That's the whole reason why the problem is tough. It's carefully worded to be ambiguous about that point so that most people assume it was random (most of the erroneous math people pull out is valid were it random) but the problem actually makes little sense if Monty picked randomly since it completely ignores the potential possibility that he picked the car door.

The problem isn't probabilistically difficult and most people's intuitions would be on point if it weren't set up to deceive.

<comment><USER5> Ah. In my generation, who actually watched the program, there is no ambiguity. No intent to deceive was detected by me. Its not supposed to be a trick question. Its supposed to illustrate how far off our intuition is about statistical behavior.

Monty himself mentions that he would occasionally try hard to argue contestants into swapping. They would always refuse. He would even explain that 'his door' had the better chance - nobody would listen. But I suppose that's confounded by the suspicion that he was trying to trick them.

<comment><USER4> This may be very true and I think that if you're more familiar with the program and recognize that the host must know the answer then it becomes more a question of statistical intuition.

I'm confident that there are lots of people who still fail to make the connection (though we're getting to the point where I think people are failing less due to a lack of statistical intuition and more due to a symbolic/physical model mismatch issue), but I think this problem wouldn't be as renowned as it is if it weren't for all of the even expert statisticians who are getting fooled.

In their case it's definitely a matter of them misinterpreting the situation and the way that it's worded, for someone unfamiliar with the show, is at least a little "tricky".

</comment></comment></comment></comment></comment><comment><USER6> Love the George Carlin quote referenced in the section defining The Reasonable Person Principle:

 _" Have you ever noticed when you're driving that anybody driving slower than you is an idiot, and anyone going faster than you is a maniac?"_

I'll include the canonical quip by Laplace:

 _" The theory of probabilities is at bottom nothing but common sense reduced to calculus; it enables us to appreciate with exactness that which accurate minds feel with a sort of instinct for which ofttimes they are unable to account."_ -Introduction to Théorie Analytique des Probabilitiés

<comment><USER5> Hm. That guy writing the intro was extremely optimistic about human nature. Most folks find statistics very unintuitive. Folks routinely overestimate extremely unlikely events (lotto) and underestimate near-certainties (auto accident). Its the idea that we _might_ get away with something, or _maybe_ it won't happen to me, that guides most human activities.

Its this warping of the probability curve that is responsible for major facets of human society: war, witchcraft, gambling, marriage, on and on.

<comment><USER7> I think those problems are a little different. For example, no matter how you approach it, from a rational point of view joining a war for your country makes no sense. You are highly likely to die and highly unlikely to change to outcome of the war.

But if you think in an evolutionary sense, if each individual in a tribe acted rationally, we'd get a sort of Tragedy of the Commons: the enemy tribe wins the war, and slaughters your men. So it may happen that if each individual acts rationally the group, each individual included, suffers; so it makes sense individual sense to develop mechanisms to go to war, which by symmetry must include yourself.

Even less intuitively even if the probability of death is _lower_ by not going to war (no tragedy of the commons in traditional sense), which means no individual would rationally choose war or develop mechanisms to force going to war, it would be rational _for the tribe_ to choose war, in an evolutionary sense, provided many more of your men are killed than the enemy tribe (so they do better in evolutionary terms).

<comment><USER8> The consensus among biologists today is that group selection does not occur: [https://en.m.wikipedia.org/wiki/Group_selection](https://en.m.wikipedia.org/wiki/Group_selection)

<comment><USER9> I know I've heard this before, and I've not taken an evolutionary biology class before so I do give a lot of weight to the idea that there is little influence at the group level, but one of the first paragraphs states: "As of yet, there is no clear consensus among biologists regarding the importance of group selection."

In particular, when selecting for war, there's a clear individual level selection pressure: if you don't cooperate with your group, you likely die. This is a just so story, I have no idea how irrationality actually developed, but say you have small groups of hunter gatherers and one individual develops a preference for cooperating in raids against their best interest. If this means that on average you now have two versus one whenever this individual participates, there's a clear competitive advantage which could allow that gene to propagate. The key here in this hypothetical is that the mutation occurs at the individual level in a lone individual, who then cooperates with someone else who wouldn't necessarily follow them, but is happy to have the help. This results in a disproportionate gain (100%) in effectiveness vs lone opponents. As time evolves, the gene becomes more widespread by its early disproportionate effectiveness and groups that fail to cooperate are killed on average, thus eliminating individual competitor genes.

Again, I have no idea how war actually evolved, but it seems easy to believe that when a trait influences whether one group kills another, that it would cause the killers to have a reproductive advantage. I'd love someone more educated on this topic to send me up though.

</comment></comment></comment></comment></comment><comment><USER10> Peter Norvig often covers really interesting stuff. A long time ago here on HN I read his article on the probability of there being no set in the card game SET [1]. I had never heard of SET then, but picked it up based on the article. It's a simple game, but has interesting properties. Analytical answers are hard to find for a lot of the cases, so simulation to the rescue. I ended up running more simulations than Peter did, with some interesting results [2].

Also, the interview with Peter Norvig in the book "Coders at Work" [3] is great - one of my favorites in the book (actually, the whole book is great).

[1] [http://norvig.com/SET.html](http://norvig.com/SET.html)

[2] [http://henrikwarne.com/2011/09/30/set-probabilities- revisite...](http://henrikwarne.com/2011/09/30/set-probabilities-revisited/)

[3] [http://www.amazon.com/gp/product/1430219483/](http://www.amazon.com/gp/product/1430219483/)

<comment><USER11> Very nice write-up on SET, Henrik. I hadn'e seen it before, and wasn't aware of your interesting results.

</comment></comment><comment><USER12> Another interesting paradox in probability is Bertrand's Paradox[1]. Given an equilateral triangle inscribed in a circle, what is the probability that chord of the circle chosen at random is longer than the side of the triangle? (Hint: The answer depends on your method of selecting a random chord.)

[1] [https://en.wikipedia.org/wiki/Bertrand_paradox_%28probabilit...](https://en.wikipedia.org/wiki/Bertrand_paradox_%28probability%29)

<comment><USER13> For me the most messy part is being allowed to rotate the triangle to match it to one of the described cases.

Normally, if you assume triangle does not move, and then draw a random chord, then depending on relative position of the chord and triangle you use one of three methods described by Bertrand to judge whether it is longer or shorter than triangle side.

Then you need a way to count probability of each of those cases to happen and then count the weighted average of all three "paradoxical" cases.

EDIT: in fact I would just bet on Method 3 as a correct solution, because it is the most general: it does not require rotating the triange.

If you are rotating the triangle then you are in fact changing problem definition during solving it, which leads to some hidden assumptions (i.e. Method 2 is only good for chords which are parallel to one side of triangle, and Method 1 is only good for chords that do not cross with triangle sides)

<comment><USER14> Actually, as the wikipedia entry mentions, one can argue that Method 2 is the correct one: it is the only one respecting reasonable translation and scale invariance constraints.

</comment></comment></comment><comment><USER15> Man, that's just beautiful - I love reading his notebooks. Just skimming them yields unexpected little gems like "the value of money is roughly logarithmic", which I had never heard before and gets me thinking about progressive taxation.

The final step of the St. Petersburg paradox, which he took far further than I had ever seen before, might be implementing the Kelly Criterion, where the amount you bet is related to the size of your own personal bankroll, but I don't know offhand how to relate that to a probability distribution since the Kelly Criterion is normally calculated with one odds value and one payoff value. At the least, I'd like to see a calculation of how many times you'd have to place the bet before you could be reasonably sure of a positive payout - you could do that easily enough with a monte carlo simulation I guess.

<comment><USER11> Good point, tunesmith, I should define a version of `util` that lets you start at your current personal bankroll, rather than at 0, and show how the amount you are willing to pay to play depends on how much you already have.

</comment></comment><comment><USER16> My TLDR summary: all probabilities are conditional. If you have two probabilities for the same event and they aren't the same, you're just assuming different priors in the statement of the probability. (and if you can't find any different priors, maybe you've discovered something new)

<comment><USER11> Good summary. If I were in charge, I wouldn't even have a notion of unconditional probability -- everything is conditional on something.

</comment></comment><comment><USER17> I recently came across the "Three Prisoners Problem": [https://en.wikipedia.org/wiki/Three_Prisoners_problem](https://en.wikipedia.org/wiki/Three_Prisoners_problem)

If you feel comfortable that the answer to the Monty Hall problem is "switch", you might want to test your understanding to be sure you reach the correct answer here as well. As Wikipedia states, Three Prisoners "is mathematically equivalent to the Monty Hall problem with car and goat replaced with freedom and execution respectively". But mathematically equivalent may not make it intuitively equivalent, and the answer may feel like it contradicts the correct Monty Hall answer.

Wikipedia points out that it's originally from a 1950's Martin Gardner column, but I came across it in the textbook "Stastistical Inference" by Casella and Berger. Here's C&B's phrasing:

      Three prisoners, A, B, and C, are on death row. The governor
      decides to pardon one of the three and chooses at random the
      prisoner to pardon. He informs the warden of his choice but
      requests that the name be kept secret for a few days. The
      next day, A tries to get the warden to tell him who had been
      pardoned. The warden refuses. A then asks which of B or C
      will be executed. The warden thinks for a while, then tells A
      that B is to be executed.

      Warden's reasoning: Each prisoner has a 1 in 3
      chance of being pardoned. Clearly, either B or C must be
      executed, so I have given A no information about whether A
      will be pardoned.

      A's reasoning: Given that B will be executed, then either A
      or C will be pardoned. My chance of being pardoned has
      risen to 1 in 2.

      Who is right?

In what I found to be a parody of textbook tropes, C&B begin their explanation "It should be clear that the warden's reasoning is correct..."

While it's true that the warden's reasoning is correct, leading off with "it should be clear" seems cruel. Here's a slight variation of the Monty Hall problem, one of the most famous "paradoxes" of popular statistics, and you are going to start with a paraphrase of "it should be obvious to the reader" without the slightest sense of irony, even though this variation produces an answer superficially incompatible with the better known problem? Ah, the strange humor of textbook authors! The remainder of their answer (which is solid) can be found here on Section 1.3 page 22: [http://people.unica.it/musio/files/2008/10/Casella- Berger.pd...](http://people.unica.it/musio/files/2008/10/Casella-Berger.pdf)

</comment><comment><USER18> It's always great to see these notebooks from Peter Norvig. There's also some really interesting implementations (in several languages) of probabilistic algorithms on the website [0] of the book he co-wrote on artificial intelligence. Great book and great material.

[0] [http://aima.cs.berkeley.edu/code.html](http://aima.cs.berkeley.edu/code.html)

</comment><comment><USER19> Great advice on assuming other people are also reasonable, and try to understand the problem they are trying to solve.

Years ago, Peter Norvig was a tech editor for an AI book I wrote. I realized two things: he has a clearer way of analyzing things than I do, and also that I was very fortunate that he ended up spending several hours helping me with his review material.

<comment><USER20> Would you mind expanding upon how he analyzes things in a clearer way? It's something I've _felt_ when reading his blog posts.

<comment><USER19> Sorry, that was over ten years ago, and I can't find his review notes so I can't really answer your question except to say that I remember his comments to be very useful.

</comment></comment></comment><comment><USER21> The Python code is mostly clear and beautiful. Just one small wish: please use collections.deque() instead of showing an O(n) insertion into a list using "deck[0:0] = [card]".

<comment><USER11> You're right! 2.4 was out when I wrote that, so I could/should have used dequeue. But I wanted to use things that I thought readers would be familiar with, and timing wasn't a big issue.

</comment></comment><comment><USER22> Good write up

Most paradoxes disappear when the problem is strictly described.

</comment><comment><USER13> "Problem 3. One is a boy born on Tuesday. What's the probability both are boys?" \- this is not a problem at all. The fact that one boy is born on Tuesday is completely irrelevant as the sex of the child does not depend on day of the week. That information is given only to mess with readers mind. So, if you ignore that Tuesday part then you can reduce Problem 3 to Problem 2.

<comment><USER23> For me both problem 2 and problem 3 should also be 1/2 .

The variances are due to how people interpret the outcome space .

It is right that probability = favaroble out comes / total possible outcomes.

In problem 2, in my opinion the possible outcomes are not how it was suggested in the post but as below. When a family has 2 kids , the below are the only possible outcomes

1) Potential Outcome 1: Both are boys 2) Potential Outcome 2: One boy and one girl 3) Potential outcome 3: Both are girls

The 3rd one is not a legal potential outcome in our particular constraint of problem 2, since problem #2 statement already states 'at least one is a boy'

So Total possible legal outcomes = 2 Favorable out comes for our event (both boys) = 1

So probability for Problem 2 = 1/2

Similarly for problem #3, I think the post unnecessarily complicates the calculation of problem space. The fact that 'Tuesday' is mentioned is irrelevant in my opinon, if you state the problem #3 in a different way that is more clearly understood.

There are 14 baskets labelled as follows "Sunday Boy", "Sunday Girl", "Monday Boy", "Monday Girl",....."Saturday Boy", "Saturday Girl". A stork came and dropped 2 babies. One baby was dropped in "Tuesday Boy" basket. What is the probability that both are boys?

Now the total outcomes and favarable outcomes are :

Total possible outcomes = Number of ways second baby could have been dropped = 14 possible baskets = 14

Favorable outcomes = second baby dropped in 'boy' basket = 7 possible baskets = 7

Probability that both are boys = 7 / 14 = 1/2

<comment><USER24> If you understand problem 2, then you will get problem 3 as well, so let's focus on 2.

 _> It is right that probability = favaroble out comes / total possible outcomes._

No, not actually: It is only right if all outcomes are equally likely! (There's an old joke about the guy who has a 50% chance of winning the lottery, since either he will win it or he won't.)

In particular, you make that mistake here:

 _> 1) Potential Outcome 1: Both are boys 2) Potential Outcome 2: One boy and one girl 3) Potential outcome 3: Both are girls_

These three outcomes are not all equally likely. Outcome 1 has probability 1/4, outcome 2 has probability 1/2, and outcome 3 has probability 1/4\. (This is if you assume that each child has a half chance each of being a boy/girl.)

Norvig gets rid of this problem by listing out all four possible outcomes, which are all equally likely.

1\. First child boy, Second child boy

2\. First child boy, Second child girl

3\. First child girl, Second child boy

4\. First child girl, Second child girl

<comment><USER13> Again, both Norvig and you are messing with ordering of events. If you list 4 events like this, assuming that ordering of boys and girls matters, then you should stick with that. So, if ordering mattered when children were born it should also matter when you are doing "checks". So you shouldn't formulate problem as "one of the children is boy", you should formulate problem as "first child is boy" (with ordering in place), which eliminates possibility 3. Otherwise you are "solving" problem by listing sample space of completely different problem.

<comment><USER24> The event "at least one child is a boy" is well-defined on the 4-state sample space. It is the set of events (first boy/second boy, first boy/second girl, first girl / second boy). It has probability 3/4.</comment></comment></comment></comment></comment>


You Don't Need All That Complex/Expensive/Distracting Infrastructure - <AUTHOR> https://blog.usejournal.com/you-dont-need-all-that-complex-expensive-distracting-infrastructure-a70dbe0dbccb <comment><USER3> > 'Engineers get sidetracked by things that make engineers excited, not that > solve real problems for users' — we've heard it all before. There's no > shocking revelation here (you are on Medium.com after all …). But there > seems to be a pervasive sense that you can't launch a product without a K8s > cluster or two, load balanced across a couple of regions, oh and if you have > to deploy anything manually how can you possibly expect to turn a profit?

Not everyone needs K8s, not everyone needs multi-region. But as far as manual deployment goes... it's all fun and games until someone loses an eye. Often what you find if you have a process that can't be automated as-is is that you have a process that's got problems. Maybe those problems are bugs. Maybe those problems are "only one person knows how to run this, and if he wants to take a vacation or more onto something else, we're hosed." Automation is a good thing at any scale.

<comment><USER4> > Automation is a good thing at any scale.

Once dealt with a company that spend close to 2 years to develop 2 different generations of a robotics system to glue together two plastic pieces. One of the pieces changed slightly close to the end making both robots useless. The pieces ended up being glued together manually for next to no labor cost because a person could actually do the gluing quite fast.

Premature automation wrecks budgets and production lines and can kill entire companies.

<comment><USER5> There's a lot of difference between a gluing robot and the tasks that Devops advocates to automate.

Spending a few hours on setting up an automated build on a SaaS CI server will start bringing benefits immediately and pay off very quickly. Not only quantitative (next deployments will take less human time) but also qualitative (less chance of errors/bugs/mistakes, easier to do them more frequently etc).

Obligatory XKCD: [https://xkcd.com/1205/](https://xkcd.com/1205/)

<comment><USER6> The _other_ obligatory XKCD: [https://xkcd.com/1319/](https://xkcd.com/1319/)

</comment></comment></comment></comment><comment><USER7> I largely agree... but to offer more nuance you need to know what the right amount of automation versus _toil_ is right for your project. It's worth reading the Google SRE [0] books, especially the workbook, if you're thinking about running and operating a service.

Complexity is the enemy in software engineering as much as it is in operations engineering. Sustainable reliability is about doing as little as you can get away with to achieve the reliability results that make your customers happy. That does mean following the advice of TFA and avoiding going straight to k8s for a small indie site that could be deployed with a simple Ansible/Puppet script. However it also means defining what your targets are and having indicators so that you're not relying on your gut instincts either: aim for 60% toil, 40% automation at first. Whatever the right balance is review it regularly as you scale your project up.

You can do a lot with a couple of beefy VPSs and a solid database these days.

[0] [https://landing.google.com/sre/books/](https://landing.google.com/sre/books/)

<comment><USER8> "Simplicity is a necessary precondition for reliability." \- Edsger W. Dijkstra (handwritten annotation to EWD498)

<comment><USER9> That's in EWD1175: [https://www.cs.utexas.edu/users/EWD/transcriptions/EWD11xx/E...](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD11xx/EWD1175.html)

<comment><USER8> Ok, maybe you can help settle this for me. I know that phrasing appears in EWD1175, but years ago I came across this[1] which claims it was originally a handwritten annotation to EWD498. So that's how I've always cited it (I prefer Dikstra's phrasing to Hoare's.)

Some searching today found a wikiquote page[2] which led me here[3] also claiming an EWD498 handwritten annotation as the source.

Do you know definitively whether the annotation appears in EWD498?

(I thought at one time I actually found an image with the handwritten annotation, but I can't find it at the moment... Maybe I dreamed that...)

1\. [http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html](http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html) 2\. [https://en.wikiquote.org/wiki/Talk:Edsger_W._Dijkstra](https://en.wikiquote.org/wiki/Talk:Edsger_W._Dijkstra) 3\. [http://web.archive.org/web/200011201643/http://www.cbi.umn.e...](http://web.archive.org/web/200011201643/http://www.cbi.umn.edu/inv/burros/ewd498.htm)

</comment></comment></comment></comment><comment><USER10> Funny and true story:

2 years ago we we needed to move in from the cloud to a internal network. Because of time pressure we got a PC as our first server, where we installed a set of tools for our embeded developers, from Gitlab, over Jenkins, LDAP backend, Nagios, Rocket.chat, Crowd, file sharing, nginx, Volumerize backups, nfs sharing, build artifact storage, a private Docker registry, we even run a build slave instance on it.

This was supposed to be a intermediate solution until we move to the real infra. In the new infra they have all of the things like several stages of load ballancers, tons of firewalls between the servers, the slaves are physically in a different network, everything is insanely complex and takes at least 20 times more time to set up than you'd expect. This is why we still run on that old PC (we added 7 more as build slaves) and ca. 200 people use it now for 2 years on a daily basis, which seems pretty weird but it just works.

Lately we saw that the network card started hanging and we needed to do a hard reboot which is not nice. The guys who are close to that PC (we use it remote) had a USB network card lying around and we asked them to connect it because the old one in the tower most probably had it's end of life because it has been used so much during the last 2 years.

We're still on boarding more and more people and it's not clear when we will be able to move to the new very complex infra.

<comment><USER11> How do you run all the apps on a single server? Docker?

Also, who is responsible for updating all those apps? Is that a full time job for somebody?

<comment><USER10> Yes we run every app with their official docker image so updating it is quite easy, basically pulling the newest image and restarting the docker container.

When it's just everything on one server there is surprisingly little to do, so for that we have a rotating sysadmin where one of the team members is responsible for the servers for one sprint and then the next person takes over. For some time we had a dedicated sysadmin but it was never enough work for them so the rotating sysadmin does it on the side right now.

In the new infra this is changing significantly and there it already is much more work and we will grow with at least two more teams to handle it full time.

</comment></comment></comment><comment><USER12> These sweeping generalizations in either direction are wrong and counterproductive. Some people need the complex infrastructure, some people don't.

What you should focus on is finding out what your use cases are, and then building the simplest thing that meets them. For some folks, high availability and zonal resiliency is an absolute must. For other folks, like Peter, it might not be. These context-less platitudes are pretty useless outside of the context in which they're made.

<comment><USER13> I thiink the idea behind this post was more to avoid this kind of thing from happening [https://xkcd.com/1319/](https://xkcd.com/1319/)

</comment></comment><comment><USER14> Well, your users are gonna have a fun time when linode has to take down your single vpc for maintenance, or an AZ goes down (does linode even have AZs? There's some evidence that even GCP doesn't have truly redundant AZs, so I doubt Linode could.)

Point being: its a balance. I tell any startup who will listen: App Engine or Heroku. That'll get you REALLY far and strike a good balance between autoscaling, simplicity, and redundancy.

If you're still using a single server, you're doing something horribly wrong. This random guy's strategy isn't something to be proud of. He just doesn't know that there are better options out there. Simplicity isn't a VM you have to maintain, update, and secure. Its a fully managed PaaS.

<comment><USER15> I'm not sure when exactly this shift happened, but people (myself included) fetishize high availability so much nowadays. What would really happen if your startup-of-the-year with less than 1k active users was down for five minutes? Or an hour? Do you really think people visiting a site that's down think "I'm dropping my account"? Or do they think "Oh. I'll check back later."?

NomadList and RemoteOK (from the article) have both had downtime before. They're both much more profitable than whatever startup of the day has decided they desperately need complicated infrastructure to run their CRUD app.

I've fallen for this trap also. I've written an article about deploying a Next.js app to Elastic Beanstalk, when I probably could've just stood up a server and SSH'd in to deploy. I've used Firebase when I could've just stood up a simple REST API and PostgreSQL.

There's nothing horribly wrong with using a single server, he knows there are other (not better) options out there.

<comment><USER16> The shift started back in the late 2000s when the explosion of NoSQL and AWS made it easier than before for people to pretend they have problems they don't.

Before NoSQL you had to do expensive/difficult stuff like manual database sharding and buying expensive dedicated hardware. Now you can instantly spin up a few instances.

Considering how much easier it is to put the infrastructure in place IF you ever need it, its odd to me how focused on it people seem to be.

<comment><USER15> That makes a lot of sense, and if that's the case, I'd chalk it up to advertising for convincing people they _need_ all of this type of infrastructure.

</comment></comment></comment></comment><comment><USER17> An old Unix admin mentor of mine always said to "do the simplest thing that works properly". I've always tried to do this and it's great advice.

<comment><USER18> That advice is gold. I follow it too. Currently in beta with a C++ application that has its own web server, video encode/decode, and NSA quality FR - all in a 10MB executable with a 200MB run-time foot print. This single application removes the requirement for separate video encode/decode, video serving, REST API serving, and all DB needs. And it runs exponentially faster than what it replaces, while being happy on a single box, anything from an Intel Compute Stick to you name it heavy iron server. I like to say "the infrastructure is inside, nothing else is needed."

</comment></comment><comment><USER19> FWIW, I run Minikube to manage a single ML churning machine in my garage, because I only need to learn 'docker build Dockerfile', 'docker push <image>', 'docker run <image>', 'kubectl create -f <foo.json>' and 'kubectl delete -f <foo.json>' to manage the workloads on a regular basis. For this minimal brain-space investment I get a bunch of features like resource management, a workload queue, dashboards and being able to test/debug an image on my dev machine for free. Then I scale this knowledge up to managed clusters in the cloud with as little machines I can get away with, using minimal brain-space to learn additional systems.

While I agree with the general sentiment of using the bare minimum to get the job done, the gratuitous complexity problem is usually caused by the people using the tools than by the tools themselves.

<comment><USER20> What are you using in production? Still minikube?

<comment><USER19> GKE.

</comment></comment></comment><comment><USER21> > I've seen the idea that every minute spent on infrastructure is a minute > less spent shipping features

This is why working in infra is so awful, people follow this principle for _years_ and then invest a million a year in an infra team whose hands they tie.

Resilience is a feature, though I agree at early stage folks often need less than they think, a single auto-scaling group and load balancer in AWS or something similar isn't much heavier than a single linode VPS, except that it has substantially improved resilience.

<comment><USER22> > This is why working in infra is so awful, people follow this principle for > years and then invest a million a year in an infra team whose hands they > tie.

Yep, having to wait for development resource to build a scalable system because the legacy is working just fine.... and then the legacy falls over and burns because it exceeded capacity like you warned it would a year before it did, and the business guys suddenly want you to fix it yesterday because now every account manager is out their end of month reports...

A significant downside of Scrum as a methodology is that it assumes product owners listen to the engineering team as well as the sales people yelling at them 24/7 for latest feature X before making prioritisation decisions.

</comment></comment><comment><USER23> Wasn't this on HN last week?

Remember Soylent boasting about their elaborate compute infrastructure, for a business that made a few sales per minute? I once pointed out that they could handle their sales volume on a HostGator Hatchling account with an off the shelf shopping cart program, for a few dollars a month. But then they wouldn't be a "tech" company.

Soylent is apparently still around, competing with SlimFast and Ensure.

<comment><USER24> In one of my past lives, I managed an IT group where we processed ~50 point of sale transactions per second and did it on a two smallish application servers and a single "large small" Oracle database server. Our entire infrastructure only had about 10 servers... (including things like email, file services, redundancy, etc. and this was almost 15 years ago.) A few years later I was brought into another retail company that only did 500 orders a day... with damn near 150 servers. My jaw dropped on that one...

</comment></comment><comment><USER25> > Obviously if you're FAANG-level or some established site where that 0.1% > downtime translates into vast quantities of cash disappearing from your > books, this stuff is all great

As the CTO of a small startup 0.1% downtime translates into vast quantities of lost trust and irreversible damage to our brand. Netflix goes offline for a bit they have some angry customers, and maybe lose some cash, but they'll still be chugging along. However, if we're down for a while our customers, who are already taking a risk trusting a new company, may disappear forever, and as a smaller/newer company the overall brand damage is far worse.

While I largely agree with the premise that companies over do it on infrastructure. I strongly disagree that my up time is less important than that of FAANG companies.

<comment><USER26> No, it doesn't.

Whether you're talking about a new Twitter or Reddit, which used to go down all the time (like, constantly), or some business startup, a downtime of 30 mins or so no-one really cares about, in my experience. At worst you'll get a phone call or two, a few emails, but if you handle them compassionately you'll be fine.

You can run a startup serving thousands or tens of thousands of customers on a single server, with no micro services, a simple server-side MVC setup and never have a $600 a year dedicated server even break 15% CPU.

I once took down a server by flooding the email server with error emails, which generated more error emails, which ran out of disk space, etc., etc. Took an hour to get the site up again.

Barely a blip in revenue. Client finally coughed up for proper email hosting rather than running their own server on the same box as their site, as I'd been advising them for 4 years.

<comment><USER27> > You can run a startup serving thousands or tens of thousands of customers on > a single server, with no micro services, a simple server-side MVC setup and > never have a $600 a year dedicated server even break 15% CPU.

This is a gross over-generalization. There are many kinds of problems in computing that can be approached by a startup AND which require large amounts of compute. The soup du jour is machine learning problems.

As for downtime, OP has a perfectly valid point. If you're building a B2B application, the customer has already taken a risk on you. If you go down in the middle of a busy workday, even for 30 minutes, you can be damned sure that someone at your client is getting some heat for taking that risk rather than going with $BIG_CO.

<comment><USER26> Not really, most people hate $BIG_CO, they're invested, they're invested in your trendy brand, your lovely UI vs the lotus notes style $BIG_CO.

The early adopters are going to give you slack.

As for the tiny number of startups solving ML business problems, compared to the thousands of web apps launched daily on product hunt, if your USP is computing power and special tech, then obviously this advice does not apply.

Edit: You should really disclose you work on AWS when discussing this sort of stuff

<comment><USER28> > Edit: You should really disclose you work on AWS when discussing this sort > of stuff

Yikes. Is this irrelevant attempt to disarm them why we have these obnoxious "disclaimers" all over HN?

It's an absolutely meaningless gesture.

</comment></comment></comment></comment></comment><comment><USER29> > Your goal, when launching a product, is to build a product that solves a > problem for your users. Not build the fanciest deployment pipelines, or > multi-zone, multi-region, multi-cloud Nuclear Winter proof high availability > setup.

I agree, but context is key: if you're bootstrapping a start up, you don't need these things. You need to prove your product, then you scale.

But automation != scale. Having a process that streamlines your delivery process, regardless of scale, can be helpful. I've screwed up enough single- box deployments to learn that less.

Stepping back: our industry is pretty horrible about creating tools that can start small and scale up. I like where CockroachDB is going for that reason (just as an example). It would be great to start with a single database, and have a clear path to scale it horizontally across multiple nodes and data centers.

Kubes might get there... I'm not sure how focused they are on making small things work well, though... any examples of that?

</comment><comment><USER30> I do not want to be overly harsh, but this is just lazy clickbait. Nothing new is said here, just a hipster developer making sweeping generalizations about companies he does not work for, and does not know their requirements.

Honestly, I do not even agree with his premise that you should start at bare metal with manual deployments. Getting some basic automation set up is STUPID EASY between Travis CI, Jenkins, Google App Engine, etc. I feel that toiling to deploy your services is a massive waste of time.

Obviously, the reality of this lands somewhere in the middle. I feel like Kubernetes is the whipping boy for "over-complicated infrastructure" undeservedly. Hosting it yourself I am sure is a bear, but there are a LOT of great hosted solutions available.

Google Hosted Kubernetes makes my job easier.

I write a few Deployments, Services, and Ingress controllers, set up keel.sh to update my deployments based on docker image uploads, and BOOM: Awesome, absurdly automated infrastructure.

Log aggregation? Comes out of the box with Stackdriver logging.

Monitoring and alerts? Comes out of the box with Stackdriver monitoring.

My developers can edit the Kubernetes resources through the Google Cloud GUI.

Deploying to an environment is as simple as pushing a docker image with the correct tag and letting Keel take care of the rest.

We have looked at alternatives, including bare metal, MULTIPLE TIMES, but in the end, we keep on deciding that Kubernetes is doing a lot for us and we do not want to stop using it.

</comment><comment><USER31> ... you just need heroku.

I remember chatting with someone intimately familiar with k8s and docker. We were talking about an app I was working on which deployed to heroku. He asked how many dynos and I told him (it was under 10) and he said: "yup, you'll not need k8s".

10 dynos and a big database can serve an awful lot of users.

<comment><USER32> 10 of the large instances costs $5000 a month. Not insignificant. Smaller ones in my experience don't run larger Rails apps very well.

<comment><USER33> $5000 a month could be a single employee's wage. Just pretend you have a new hire named "Heroku" who is generating immense value for you. If you are a one or two man shop, sure...but if you find yourself spending inordinate amounts of man hours toying with infrastructure, I think you'd need to ask what you are really saving.

<comment><USER34> Yeah, I've been frustrated so many times over my career when people get fixated over the sticker price of some SaaS/PaaS and instead insist on wasting rediculous hours building something or gaffa-taping some open-source solution together that then has to be maintained.

I've been in meetings where the combinded cost of the time taken to discuss if we should use a thing was more than the cost of the thing. Utterly infuriating.

Even when I worked for an agency there seemed to be an automatic discounting of the cost of people's time vs spending actual cash (and cashflow wasn't an issue).

I appreciate that there is often good reasons to DIY, but when there are not I will always favour something off-the shelf unless it is significantly more expensive.

<comment><USER35> I once worked at a company where the CEO would change the CRM every eight months or so, based on what kind of deals he could negotiate. Can you imagine how much time was wasted migrating, remapping and relearning the new systems??!

</comment></comment></comment></comment></comment><comment><USER36> A good rule of thumb is: "plan for scale, but don't implement until needed". True, you don't want to engineer yourself into a dead end by designing a system that can't be parallelized, but I've also seen so many startup founders (including myself) that design for massive scale that won't arrive for years, but introduces complexities that will slow down development in the exact phase one needs to be the most agile.

<comment><USER37> This is good advice. It's all about risk appetite. We should be identifying and communicating both the potential for over-optimization and risk of not being scalable. You can only hope to hit the sweet spot if you have clarity on both being potential outcomes.

</comment></comment><comment><USER38> Well. It's all about a golden mean. As usual.

The mindset shouldn't be about building an ideal infrastructure, but it should be about having a reliable infrastructure instead. It surely doesn't required to have every brand cool thing which was advertised on HN within last 2 weeks. But fully automated pipeline for code delivery and configuration as code is essential. It doesn't require that much time (especially if you reuse one of thousands example from github), but it will save you later. Even for a single node in linode.

Even though it won't help you to build new features and attract new users, just think about as a necessary action to keep your existing users. Nobody wants to use the thing which isn't available because a developer messed up with deployment command, didn't notice it and left home.

</comment><comment><USER39> 8 days ago also, 81 comments [https://news.ycombinator.com/item?id=19299393](https://news.ycombinator.com/item?id=19299393)

After the last time I watched a video of the Nomadlist guy, Pieter Levels, talking about it and he said

>I've woken up so many times at 4:00 a.m. to just check if my website down and I have to do all this stuff and then I'm awake for three hours because the server crashed. [https://www.youtube.com/watch?v=6reLWfFNer0&feature=youtu.be...](https://www.youtube.com/watch?v=6reLWfFNer0&feature=youtu.be&t=2127)

So maybe just PHP on Linode has some drawbacks

</comment><comment><USER40> Enterprise systems must employ 100's of people therefore we must have complex stacks with multiple vendors providing services.

<comment><USER41> /s ??

<comment><USER40> my current situation :)

I wish it was sarcastic

</comment></comment></comment><comment><USER42> TFA makes a more-or-less valid point, albeit one that's been made quite a few times before. My problem with this is that the headline elides a lot of the nuance involved in these discussions. For example, once you read TFA, you realize that the author is talking specifically about very early stage projects, where traffic and expectations are minimal. In that case, yes, it's probably correct that you don't need a lot of complex infrastructure.

But as even the author allows, at some point you _do_ need this stuff. The real truth is closer to "You don't need all that complex/expensive/distracting infrastructure... until you do."

The other thing I might posit, although I haven't sat down and worked out a complete argument for, is that sometimes even in a very early stage a bit of more complex infrastructure (automation in particular) can be very helpful... specifically when it serves to allow you to run more experiments per unit of time / effort.

<comment><USER39> For the tweet in TFA

>That single @linode VPS takes 50,000,000+ requests per month for [http://nomadlist.com](http://nomadlist.com) , [http://remoteok.io](http://remoteok.io)

So it's not that early stage. I think remoteok.io is currently the worlds #1 remote working site. ("Remote OK is the #1 remote jobs board in the world trusted by millions of remote workers" it says)

</comment></comment><comment><USER43> I like the simplicity advocated by Pieter Levels.

The fact that he uses PHP with PHP-FPM solves the problem of deploying a new version (starting the new version, switching new connections to the new version, draining existing connections, stopping old version).

But when using a single host machine, you still have the issue of updating the kernel and the OS, and this is sometimes better done in an "immutable" way, by setting up a new VM and switching traffic to it. This is where things become a bit more complex. You have to use things like AWS EBS or Google Cloud Persistent Disk, detach them from the old VM and reattach them to the new VM. You also need to use floating IP or a load balancer.

In other words, baby-sitting the machine and its OS, either done manually or automatically, is a real pain.

Maybe the real simplicity lies in using something like Google App Engine, Heroku, Clever Cloud or Scalingo.

</comment><comment><USER44> I used to think that resume driven development was nothing but a curse but I've softened my stance on it a little.

Realistically developers are compensated by a range of different things - <USER2> gourmet meals might be one - another even more important one being career development.

If you let developers who want to use kubernetes use kubernetes even if it's not strictly necessary it might be a net positive for the company.

Hell, even if kubernetes is a slight negative compared to the simpler equivalent it could be a net positive because it gave somebody who wanted it a career boost from experience with a "hot" technology which made them happy.

Now, only if RDS is going to cause a massive headache would I be seriously against it - provided we walk into this situation with open eyes.

<comment><USER45> There's also something to be said about not having to scramble to configure things once you outgrow that simple VM setup.

Obviously, you shouldn't prematurely optimize, but you also shouldn't wait until you are getting multiple hours of downtime every day while you are scrambling to get a better solution in place.

And I think many times we underestimate the server power we will need as we grow.

After a few hundred users I used to extrapolate that I would never really need more than a large VM and database instance. But then we added more and more functions and features and more and more computer power is needed per user now.

Then we started running into issues where certain procedures would take too long so they need to be queued, well then you have the overhead of a queuing system and on and on.

It's kind of the same thing that happens with companies as you hire employees. You think, oh, we have 5 developers now. We will never need more than 15 devs and some customer service and sales. But then you need someone to handle HR, and maybe a bookkeeper, and then people to manage the non developers, and then someone to manage the project and it just kind of grows exponentially.

</comment></comment><comment><USER46> The elephant in the room here is this is talking about projects made by a single person. Part of the infrastructure mentioned is only in part about delivering reliable service, it's also about enabling deployments and concurrent work. If you go from one to two people, you're going to be thankful you set up a continuous delivery pipeline and the usual things needed to ship code consistently like a working CI build and test suite. Even with one person, making it easy and reliable to deploy changes without some crazy manual steps is a good idea.

(I agree with the whole "don't run k8 et al" for your side project, though obv.)

</comment><comment><USER47> For hobby web apps that fit within the limitations of the free tier, I found deploying to App Engine to be simplest. It's hard to beat free, and this lets you keep the app running for many years without maintenance.

</comment><comment><USER48> It may be an impression of mine, but it seems that such articles proposing a return to the simplicity are appearing more often here. I've just commented on another one questioning the nowadays richer front-ends.

This article here resonated to me as well.

We are currently running a fairly busy web app on a single Linux cloud-based VM instance, occasionally rising new instances during higher loads, and a deployment pipeline based on small python and shell scripts. Maybe rudimentary for some current standards, but it's been working sufficiently well.

</comment><comment><USER49> While I agree that some people have much more complicated infrastructure than they need, and much more complicated infrastructure management tooling than they need... refraining from automating it and doing it all manually sounds to me like saying "Why are you writing tests? Your users don't care about tests, they don't care about how the code gets written, they just care about the product, you're wasting your time writing tests." Yeah, but, um.

<comment><USER45> You also don't need to write test early on. Especially if you are still validating your product. For the first year or so of our service, we just manually tested the important features after every deploy.

<comment><USER49> That sounds miserable to me, but it may be that we are working on different platforms where the cost/benefit of tests differ.

</comment></comment></comment><comment><USER50> If its just a message you want share, such as 'delete all docker containers and images' Why hire a team of specialists, and pay for only the best in complete server infrastructure, when i can just get it for free from GitHub pages. [https://seanwasere.com/delete-all-docker-containers-and- imag...](https://seanwasere.com/delete-all-docker-containers-and-images/)

</comment><comment><USER41> Could not agree more !!! Most of my side projects....some big some small. Has a vps, self managed mysql db and a bash script called deploy.sh Ive seen whole sprints devotes to I fancy infrastructure... with the payoff usually not much... expect for one guy ending up owning all the magical pieces and know- how...

</comment><comment><USER51> Or in my case, I feel the need to learn these technologies so I implement them to some extent, maybe that way I'm more employable. Then again, I love tinkering with new tools and my side projects don't make me any money yet.

</comment><comment><USER52> > The answer? Simple … a single Linode VPS.

Fully second that. I started some of my best projects on the small Intel Atom Linux server at my residence. And we all know the garage story of Facebook (and similar)

</comment><comment><USER53> "I didn't need it so you don't either. Look at how easy it is to claim everyone else is over complicating things because I didn't have a need for it!"

Is essentially the TL;DR of that article. Being dismissive while not really substantially expounding on the faults of other processes is just bland contrarianism. Bald assertions need only be met with bald assertions.

Allow me to write a retort:

You do need all of that infrastructure and you should spend even more time making sure your pipelines are a well oiled machine to reduce deployment fears and establish confidence in your infrastructure. Make it nice to use. That new tool that came out? It was written for a reason, and is probably tackling a problem you weren't even aware you'd be facing. So stick it in and call it a day with the knowledge that you've avoided spending time on a problem someone else has already solved.

Your turn, cynical blog person.

<comment><USER54> This ^^

I've seen / worked with a number of startups that used the author's advice and just had a simple setup "that worked". Until it didn't.

Here's how it typically plays out: Our "dev" setup "the server" for us at <AWS/GCP/DO/Linode/etc> and everything worked fine until the provider restarted the server, or an OS upgrade happened, or we fired the dev we found on Upwork and he shut down the server. Now X doesn't work. We don't know how to reproduce what he did.

Now you are left with trying to go through someone else's bash history and decipher what steps they used to build the server. Did they forget to tell a service to autorun? Who knows.

I agree with OP that it's possible to over-engineer a fancy CI / CD pipeline and matching infrastructure for a founder that just has an idea and zero users when you should be getting product/market fit, esp. when you just have one developer working on the system. However, the opposite is also true. It's possible to under-engineer the infrastructure where developer productivity is dramatically slowed when you're spending a significant amount of your dev's time doing deploys and blocking other work from happening at the same time. This can happen fast when you hire dev #2 and #3. This isn't even getting into the perils around security and scaling when you play fast and loose with the infrastructure side of the house.

</comment></comment><comment><USER55> duplicate: [https://news.ycombinator.com/item?id=19299393](https://news.ycombinator.com/item?id=19299393)

</comment><comment><USER56> Maybe I'm weird, but I like servers that I can touch. Maybe if you're only a couple person company, it makes sense to use the cloud. But just paying for some space at a data-center and having your own servers seems ideal for any company medium and above sized start-up.

My last job was at a financial start-up worth about 200M at the time. And our server setup was dead simple: 8 servers and a load balancer. No containers, no bullshit, just servers running JVMs.

<comment><USER39> Coding Horror just have a discussion on using colocation for Discourse. Seems kind of ok really [https://blog.codinghorror.com/the-cloud-is-just-someone- else...](https://blog.codinghorror.com/the-cloud-is-just-someone-elses- computer/)

</comment></comment><comment><USER57> It takes a lot of experience and discipline to apply the right amount of leverage to the problem

</comment><comment><USER58> Sometimes you do. Sometimes you don't.</comment>


Emacs in the real world – part 1 - <AUTHOR> http://www.linuxuser.co.uk/tutorials/emacs-in-the-real-world-part-1/ <comment><USER2> Uh, since when is Emacs mythical? This article is a bunch of noise. Yeah, Emacs expects you to play finger-twister sometimes (and I'm not convinced that's a good thing), and yeah, it's extensible as hell (which usually makes up for the awkward keybindings).

If you want to learn Emacs, quit fetishizing it with articles like this and just do it. Install it, start it, then hit alt-x, type "help-with-tutorial", and hit enter. Work through the (brief) tutorial. It's not that hard. I'm sorry if xkcd never told you about this.

Flagged.

<comment><USER3> It's not even all that hard to start using, since you can use the menu system for just about any command that a beginner might sensibly want his text editor to perform.

<comment><USER2> Sure, but if it was just about "any command that a beginner might sensibly want his text editor to perform", they could stick with textmate (or whatever). Using menus _inherently_ sucks, because it doesn't scale to hundreds of operations. Emacs transcends both, but I don't begrudge the people who prefer vim either - each cuts the bullshit and focuses on actual editing.

Also, a lot of people who build Emacs extensions (self included) consider the menus as an afterthought, best dealt with after cancer (or C++) is cured, i.e., never.

<comment><USER4> Hell, I just turn off the menu bar entirely -- and the scroll bar and the toolbar with all the goofy buttons on it...waste of valuable screen real estate that could have text in it, if you ask me.

One of these days I'll get around to re-binding M-` to something useful, too...</comment></comment></comment></comment>


The Apple of today and the IBM of 1989 - <AUTHOR> http://www.osnews.com/story/25733/The_Apple_of_today_and_the_IBM_of_1989 <comment><USER2> The author (Thom Holwerta) is more of a troll than all ZDNet writers combined... Just read this piece: <http://www.osnews.com/story/25264>

I failed to understand what the connection between the quoted text, and Newton's idea being stolen is. He just seems to have read about Newton's _true_ history somewhere and was so eager to share it on his _credible_ website that he just put some random quote there to make his article seem more professional and have a point!</comment>


Ask HN: Which technology/language learn to dive into CS even more? - <AUTHOR> As a software engineer in Web, I worked with many technologies over the last 10 years, from server-side Perl/PHP/Python to frontend with all it's fancy JS ecosystem.
Recently my wife started taking computer science classes in Community college, and I helped her with assembly assignments. I mean, I studied it in college myself, but all it got buried in everyday work. I really enjoyed learning more about assembly again and it's helping me at my everyday work — making my mind more open and solve problems faster.<p>Which languages can you recommend I should look to continue to improve myself as engineer? Better based on own expirience. <comment><USER2> The Racket ecosystem.

1\. Because Racket is mainly developed in universities, it gets used to implement many computer science concepts by professors, graduate students and undergrads.

2\. Because Racket is based on Scheme it's heritage as a teaching language goes back to _Structure and Interpretation of Computer Programs_.

4\. Since Racket is a lisp, all the CS concepts from lambda calculus to garbage collection to self modifying code to runtime reflection are readily available.

5\. Generally, the quality of information provided by Google will be high and will tend to be relevant to CS concepts because of the way the other factors shape the community. It is sort of at the other end of the spectrum from javascript where volume and an embrace of whatever is new swamps the conversation.

Good luck

<comment><AUTHOR> Thanks, Racket is something I knew about, but never considered learning. Will take a look.</comment></comment>


XML Is Not Injective - code-faster https://codefaster.substack.com/p/8a68a85d-ad03-4e38-b4fc-b4a9a65788ff <comment><AUTHOR> I think there might be an error in the examples as the second example does not have a single root element.

If you need to spot an array vs an element, you have to use a container tag to express it. This is the same structure as is needed to encode algebraic data types.

      element: b0
      array of two elements: <array>b0b1</array>
      array of one element: <array>b0</array>

<comment> code-faster Ah, they're meant to be xml fragments, not full xml documents.

In my limited experience I haven't seen people use the <array> container and the xml parser still works, although it is a good idea.

<comment><AUTHOR> It might be something other than <array>. The name depends on the DTD. It does need a DTD that has the concept of allowing either a single item or a container.

</comment></comment></comment><comment><USER2> This seems like a misunderstanding of XML. XML has no built in concept of arrays or properties. This is a problem with your application of XML, not XML itself.</comment>


CCC Fake Fingerprint - <AUTHOR> http://www.youtube.com/watch?v=3M8D4wWYgsc <comment><USER2> The funny part is that they also managed to gather the fingerprint of then German Home Secretary Wolfgang Schäuble (an outspoken proponent of biometric authentication technology) and published it in the club magazine "Datenschleuder". On clear tape, ready to stick it on your own fingertip...

[http://www.h-online.com/newsticker/news/item/CCC- publishes-f...](http://www.h-online.com/newsticker/news/item/CCC-publishes- fingerprints-of-German-Home-Secretary-734713.html)

<http://www.edri.org/edrigram/number6.7/fingerprint-schauble>

</comment><comment><USER3> My brother (not a twin, physically very different from me) once came with an HP laptop with fingertip unlock, and my finger unlocks it ~ 50% of time.

I suspect those system to be set with an extremely high level of tolerance; if they aren't, they probably often fail to recognize legitimate fingerprints and people revert to the old, not-hardware-vending passwords.

<comment><AUTHOR> It'd be interesting to benchmark this trick against commercial grade systems.

The hardest part of finger print analysis is not the matching but figuring out if the finger is still attached to the body that it originally came with, and then if the print is still attached to the original finger.

</comment></comment><comment><AUTHOR> For all of those in the 'I've got nothing to hide so let me put my fingerprints / DNA and whatever else' on file.

That way you can skip all the messy steps and start from the filed data.

</comment><comment><USER4> Wow, that is surprisingly simple. I'd heard that fingerprint readers were easily fooled, but that's crazy. Good find!

How long until this is someone's start up idea?

</comment><comment><USER5> Fingerprint sensors, even the extremely-high-end, are rather laughably easy to fool. Never rely on them for identification. Period.

For instance, if you've got one that also measures GSR to generate the image, you just make the end-product out of ballistics gel that has the same conductivity. No really, it's been done, and it works rather flawlessly.

Simple examples can be found from the Mythbusters, including breaking some of the "super" secure ones: [http://en.wikipedia.org/wiki/MythBusters_(2006_season)#Finge...](http://en.wikipedia.org/wiki/MythBusters_\(2006_season\)#Fingerprint_Lock) and [http://www.metacafe.com/watch/250607/mythbusters_high_tech_s...](http://www.metacafe.com/watch/250607/mythbusters_high_tech_security_system/) ("never been broken," my shiny metal ass)

Alternatives that show more promise are iris scanning, retina scanning, and whatever that back-of-hand blood vessel scanning is that I saw a while ago (infra red, if I remember right).

</comment><comment><USER6> I wonder how long does it take Youtube to remove the video. I really expect it to happen (in the name of taking down harmful instructions for terrorists, etc.)... Otherwise - most of the things that come from CCC are good learning materials.

<comment><AUTHOR> If they were to remove it I think it would have happened already.

The video was posted in '06 and has since had about 23,000 views.

<comment><USER6> That's 23k visits over 4 years - it's barely a blip on their radar. Let's see what happens after half of HN visits the link and someone blogs about it. (I may be wrong of course, but there were some cases of "dangerous" material being removed before afair)

<comment><USER7> i doubt they're going to take it down. a different version of this was aired in german television one or two years ago.

one show even picked it uped and worked with the ccc to show that selve- servicing sales stations that one of the largest supermarketchains (EDEKA) was introducing, who had fingerprint auth, were not safe.

</comment></comment></comment></comment><comment><USER8> Sort of related: [http://www.silicon.com/management/public- sector/2008/09/26/i...](http://www.silicon.com/management/public- sector/2008/09/26/id-card-will-drown-in-a-billion-mismatches-39294213/)

It seems to me like Iris recognition is much more reliable, although I don't know how easy it is to fool the system. John Daugman's web page contains lots of _really_ interesting material: <http://www.cl.cam.ac.uk/~jgd1000/>

<comment><USER7> the problem here is just that iris recognition is not yet a mass market product. fingerprint readers are built into laptops etc and you can buy a usb fingerprint reader for very little money.

</comment></comment><comment><USER9> Its all about the quality of reader. Not all are alike.

This spoof is likely against a silicon reader. Most silicon readers can be spoofed with molded fingerprints and gummy bears. Optical scanners can be spoofed with black and white printouts. Neither are very usable.

<http://integratedbiometrics.com> makes a fingerprint scanner that senses a live finger and is immune to this kind of attack.

</comment><comment><USER10> There was a bit in the news a few months back that a woman from mainland China used surgically alterated fingerprints to gain entry into Japan (after multiple deportations). Notably she was not caught because of the fakes, but simply after they arrested her later for other reasons. <http://news.bbc.co.uk/2/hi/8400222.stm>

</comment><comment><USER11> So _that's_ why attempting to superglue my classic Game Boy screen cover back on ruined it :(

<http://img110.yfrog.com/i/sxnm.jpg/>

<comment><USER5> A definite possibility, though the other is that superglue reacts with plastics, sometimes quite destructively. Fumes alone can eat up plastic films, for instance. It's quite possible the fumes simply screwed up the surface of the plastic enough to look white.

<comment><USER11> You can't see in that photo but there's a very clear fingerprint on it. But your explanation makes sense too.

</comment></comment></comment><comment><USER12> Nojokesaboutrevokedthumbsplease!

As this video is quiet old, but got a lot attention, perhaps you would like to take a look at: ftp://ftp.ccc.de/ where more ccc material is hosted.

</comment><comment><USER13> IIRC they did this successfully on MythBusters although their process was much more elaborate.</comment>