Addressing some misconceptions about our plans for improving the security of DNS - <AUTHOR> https://blog.chromium.org/2019/10/addressing-some-misconceptions-about.html <comment><USER2> The claim that ISPs are concerned about Google DNS being anti-competitive or too powerful really rubs me the wrong way.

Google has offered DNS services for years, and ISPs didn't care. The 'problem' isn't that Google is offering its own DNS -- it's that now those queries are encrypted and ISPs can't read them.

The pushback on this has been really eye opening for me. I knew that obviously ISPs were reading DNS queries, but I think the amount of effort ISPs are putting into stopping what is a fairly basic security measure means that I under-appreciated just how much they care about that data. Apparently unencrypted DNS is a bigger threat than I realized.

If ISPs aren't monetizing this stuff now, they're probably planning to.

<comment><USER3> It's not about selling the data for ISPs, never was, never will be. For ISPs almost all websites are uniquely identifiable by looking at clear text SNI and Host: headers. But it's much worse, 95% of top 1 million websites are uniquely identifiable just by looking at IP addresses during page load, basically netflow data that pretty much all ISPs store. And this data is more detailed, than DNS queries. There is a lot of detailed data to monetize, cheaply, with no ability to hide, besides Tor and VPN.

ISPs couldn't care less about such silly attempts to limit spying that don't really work, what ISPs actually care about is control. They want to be the ones who decide which websites have which IP addresses, they want to be able to change them, block them, do address translations, maybe show you ads on nonexistent domains, etc.

Mozilla, Google and Cloudflare are no better than ISPs here either. They don't want you to know all of the above. Mozilla wants money from Cloudflare, Cloudflare wants to control critical piece of infrastructure pretty much all competing CDNs rely on, Google probably doesn't need it, but just can't help itself to get its hands on that data.

<comment><USER4> Yes, control. Control and scale.

ISPs can afford some nerds configuring their DNS to 126.96.36.199 or 220.127.116.11 but they can't afford browsers deciding for all users.

If course Google will say that it won't force nothing and it's true today. But will it be true tomorrow? Ask uBO users about that

<comment><USER5> > Ask uBO users about that

What do you mean?

<comment><USER6> Recently Google blocked uBO Dev Builds on grounds of "including unrelated functionality", of course, it was all an accident made by some AI, so no actual human is responsible, and in now way, shape or form did google intend to kill of a project that harms it's profits.

</comment></comment></comment></comment></comment><comment><USER7> My issue is with browser based DoH is when it defaults to ON.

That was Mozilla's original plan for Firefox. That's a problem for those of us who use DNS to reduce the risk from malware, advertising and other invasive technologies. DoH effectively circumvents those protections.

After a crapstorm, Mozilla walked that back and made DoH a user choice. Even better, Firefox queries the use-application-dns.net zone - which (added to a local DNS server) tells Firefox to turn off DoH. This is super helpful for those who use DNS to safeguard networks.

Now, better than DoH and a more elegant solution overall is DNS over TLS (RFC7858), which is simply encrypted DNS. It's the natural next step. Frankly, we all should have been using it for years. It's just beginning to gain support, tho.

As it stands now only a handful of public DNS resolvers support it (Quad9, Cloudflare, Google, someone in Germany). None of the root servers do. Nor do ISPs'.

My approach is to run a local DNS resolver (Unbound) which forwards it's queries over TLS. Local users' queries are plain text but the forwarded (public network) queries are encrypted.

</comment><comment><USER5> Archived copy, which can be read without JS enabled:

[https://archive.is/5GypR](https://archive.is/5GypR)

</comment><comment><USER8> >The first claim is that Google is going to redirect user DNS traffic to Google's own DNS or another DoH-compliant DNS provider. That is incorrect. Because we believe in user choice and user control, we have no plans to force users to change their DNS provider. [...] We're simply enabling support in Chrome for secure DoH connections if a user's DNS provider of choice offers it.

Chrome will use the DoH frontend of the DNS server of the computer it's running on, respecting the user's choice. Instead, the Mozilla Corporation has decided that Firefox will route all DNS requests through CloudFlare regardless of user settings.

<comment><USER9> > Firefox will route all DNS requests through CloudFlare regardless of user > settings.

[https://support.mozilla.org/en-US/kb/firefox-dns-over- https#...](https://support.mozilla.org/en-US/kb/firefox-dns-over- https#w_switching-providers)

<comment><USER8> I was talking about defaults. Of course you can also change them on Chrome too. But defaults matter because most people stick to them. And the default of Firefox will send navigation history to Cloudflare.

<comment><USER6> IIRC Cloudflare is currently not the default and there is no plans to turn on DoH per default if there is no way for Firefox to properly preselect the provider the user wants.</comment></comment></comment></comment>


Ask HN: Which websites do you visit on a daily basis? - <AUTHOR> <comment><USER2> HN Drudge Report _ducks_ 5 or so YouTube channels Podcasts (not daily)

</comment><comment><USER3> HN

FlyerTalk

MouseOwners (I like Disney World)

Drudge Report (I'm not conservative, and the headlines are totally sensationalized, but it's a solid rundown of current events)

Reddit

</comment><comment><USER4> [https://www.zelican.com](https://www.zelican.com)

</comment><comment><USER5> this questions was asked before and everyone agreed to be faithful to HN only.

</comment><comment><USER6> HN

Techmeme

learn.chef.io

ruby-doc.org

</comment><comment><USER7> Hacker News \o/

<comment><USER8> +1. This is literally the only site I visit every day. Some days I don't even google stuff

</comment></comment><comment><USER9> hackernews reddit porlatarde.club hackaday

<comment><USER10> for the url for hackday?</comment></comment>


Is this the end of regional intellectual property rights in Europe? - <AUTHOR> http://www.bbc.co.uk/news/business-12355022

<comment><USER2> Football Industry just need to tighten their contracts to ensure that people stick to selling in their regions. The issue is that a Spanish company has sold a box to a British pub.

Instead of territorial argument with the other broadcaster, Sky decided to take legal action against the pub operator.

<comment><AUTHOR> No, the issue is whether or not a rights holder can licence content on a country by country basis at all within Europe. This may also have implications outside of football such as the licensing of films etc.

Also, it was a Greek broadcaster (NOVA Sat) in this case. The box itself will be generic but the landlord may have paid a subscription fee for the NOVA Sat channels.</comment></comment>


First (Raw) Screenshots of SaberBlast.com - <AUTHOR> http://petovera.com/professional-web-design-blog/2011/03/work-sample-wednesday-first-screenshots-of-saberblast-com/

<comment><USER2> There's a lot of competition in this space from some pretty big, well established players.

I'm wondering what you're bringing that isn't available yet? What's your differentiation?

The issue you're going to face (because you're a small team) is that you won't be able to reach feature parity with your competitors. I'd suggest to focus on one aspect of your product first, execute it perfectly, and then possibly expand.

Also, does your product actually serve a need? Unless it has all the features of MailChimp, Socialblaze, Wordpress, etc... I would rather just use all of these products independently. Otherwise, you'd still end up using them for certain things.

<comment><AUTHOR> Hey Alex, the short answer is that I'm just building it to solve my own problem :)

</comment></comment><comment><AUTHOR> would love to get feedback on this :)</comment>


The Surveillance State Puts U.S. Elections at Risk of Manipulation - <AUTHOR> http://www.theatlantic.com/politics/archive/2013/11/the-surveillance-state-puts-us-elections-at-risk-of-manipulation/281232/ <comment><USER2> As much as you might think this is out there, I have a hunch, however stupid it might be that leaks about candidates could in fact come out this way.

it might not even be Obamas team leaking. Lets sat a partisan person who works for the NSA wants to destroy a candidate. They could in fact do all the research themselves rather than anyone even close to Obama.

I look at one direct example of Herman Cain. How did the press ever get ahold of the fact that he was paying women out? Literally, you could say the women spoke up, but with the NSA, you could say someone who works at the NSA leaked the information just because they didn't like Herman Cain to begin with.

Now that's scary. Someone's reputation could be destroyed just by a rogue NSA agent.

<comment><USER3> There is at least one case of character assassination that we can with near certainty attribute to the US surveillance apparatus.

Eliot Spitzer was Governor of New York, former AG of New York, famous gadfly of Wall Street, and a top contender before the 2008 election to be Obama's pick for Attorney General, when it was discovered that he was paying prostitutes.

The explanation as to how this information was discovered is as follows: he paid for these "services" using a wire transfer to the madam, who had created an "anonymous" corporation to collect payments, as a convenience to her wealthy and famous clients. According to Wikipedia, "The investigation of Spitzer was reportedly initiated after North Fork Bank reported suspicious transactions to the Treasury Department's Financial Crimes Enforcement Network as required by the Bank Secrecy Act, which was enhanced by Patriot Act provisions, enacted to combat terrorist activity such as money-laundering." [1]

Every bank is required by the Patriot Act to file "Suspicious Activity Reports" regarding certain activity to FinCEN, which reports must be kept secret from the person being reported upon. SARs are typically filed electronically, and then centralized in FinCEN review centers, where patterns are analyzed and information is distributed to law enforcement personnel. Spritzer was being monitored because one of the chief criteria used in determining whether a SAR should be filed is whether an individual being monitored is a "Politically Exposed Person" or PEP (that acronym is actually used actively). [2]

In other words, by explicit provision of the Patriot Act and US DoT regulations, all financial activities of politicians must be monitored and reported on in secret by financial institutions.

Don't get me wrong, I wouldn't want the US Attorney General to be someone who frequents call girls. It was Spitzer's own self-destructiveness that created the opportunity for this take down. But you have to ask, if it weren't for his aggressive anti-Wall St. stance, would he have been targeted? Perhaps he wouldn't have been. There are certainly similar transgressions committed by less "problematic" politicians that never leak. For instance, even after the whole Spitzer hullabaloo, we don't know who any of this madam's other clients were, even though it was reported that some were famous politicos.

What's most significant here, though, is that we don't need to speculate about how this power can work to the advantage of certain interest groups.

In this case, broad-spectrum surveillance may have resulted in Eric Holder becoming AG at the height of the financial crisis, instead of the one man perhaps most qualified by experience and temperament to prosecute financial crimes, Eliot Spitzer.

[1] [http://en.wikipedia.org/wiki/Eliot_Spitzer_prostitution_scan...](http://en.wikipedia.org/wiki/Eliot_Spitzer_prostitution_scandal)

[2] [http://www.sowal.com/bb/showthread.php/21466-Unintended- Cons...](http://www.sowal.com/bb/showthread.php/21466-Unintended-Consequences- Spitzer-caught-by-Patriot-Act)

<comment><USER4> _But you have to ask, if it weren 't for his aggressive anti-Wall St. stance, would he have been targeted? No, he wouldn't have been._

That's silly. Plenty of people have been busted for prostitution without being politicians. For example, NY Attorney General Eliot Spitzer busted a whole bunch of people who weren't politicians:

[http://www.artharris.com/2008/03/11/bald-truth-exclusive- ag-...](http://www.artharris.com/2008/03/11/bald-truth-exclusive-ag-spitzer- busted-hookers/)

[http://nypost.com/2008/03/11/bane-of-the-brothels-is- hoist-b...](http://nypost.com/2008/03/11/bane-of-the-brothels-is-hoist-by-his- own-petard/)

As for special surveillance of PEPs, sounds like a good thing to me. Can you think of a reason that our politicians should not be subject to extra scrutiny?

<comment><USER5> The problem with your post is exactly why selective prosecution is the very embodiment of an oppressive regime. After all they DID break the law, and they SHOULD be punished right? Who could argue with that.

Meanwhile half of Washington is doing the same thing, with the full knowledge of people like the NSA, and the facts are sure to come out if they take a meaningful stand against their agenda.

The example of the soviet election is also an excellent one. They knew every bit of information about every candidate, and merely had to expose the ones that didn't toe the line properly as the criminals or terrible people they were.

Just like every single other person ever, they did something illegal or unsavory at some point in their life.

Make no aspersions, the kind of information the NSA holds is complete and total political power.

<comment><USER6> Best post in the thread. This is exactly the problem.

Now, an interesting question is, what happens if everyone knew almost everything? This is the alternative scenario. If the end of privacy is more ubiquitous and democratic, the power of the secret services would shrink. It might lead to a change of our laws and social norms to something that more realistically represents our reality.

I'm not optimistic that this would be a good or even better world, but this is the best argument I've heard from the people who are not afraid of the end of privacy. I would count Mark Zuckerberg and Eric Schmidt into that group, but also many of my friends.

Which norms and laws would change? I can imagine that e.g. the use of certain drugs like cocaine and sexual behaviors like sado maso and yes prostitution would be the first to be tolerated by the majority. In some societies, that is already the case. A more difficult to swallow reality might be pedophily. I'm quite sure that child abuse would always be unacceptable but simply being pedophilic might be accepted as normal for a certain percentage of the population.

<comment><USER5> The power inherent in not allowing others to know what bad shit you are doing is unfortunately too great. Its always going to be possible to hide a conspiracy. Information asymmetry rules the world around you.

I find the logic of Schmidt and Zuckerberg to be extremely self serving, where can we know all the details of their online and offline life, like they seek to know about ours?

Death of privacy indeed, but for who?

<comment><USER6> > Information asymmetry rules the world around you.

True. Good point. But is information asymmetry becoming larger or smaller? I would argue that it becomes smaller, but I have nothing to prove it.

An anecdotal example out of my memory, is Kofi Annan saying in an interview, that he started to use Google, more and more instead of having to ask his assistants. Another example are journalists, able to uncover secret CIA locations with Google. Or a single whistleblower, Edward Snowden, able to leak a good part of the NSA's secret operations with just a USB stick. Sure, the NSA has more knowledge than ever. But the average Internet user, too, has unprecedented access to personal information of strangers. Just knowing your real name will likely allow me to find your location, employment, a picture of you and much more. So has the information asymmetry between us and the NSA grown or shrunk?

<comment><USER7> > But is information asymmetry becoming larger or smaller?

I think the _asymmetry_ is becoming larger. Certainly in absolute terms we all have more information about one another than we did before, but the problem now is not having the information, it's searching through it to find the relevant information. Or being able to act on the information.

What can you as an ordinary individual do with a publicly available list of corrupt government officials? What can a corrupt president or FBI director do with a publicly available list of political opponents?

<comment><USER8> That favors the people, who will always have way more manpower to search and process the data than the elites who try to hide it. The more information in the public realm, the more that scores of interested scholars, journalists, statisticians, lawyers and other such professionals can use the tools of their trade to come to useful conclusions. Of course, most people could do nothing with such information, but released into the wild, even minor outrage can cause real change.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> _I worry more about people high up inside the national-security state using their insider knowledge to help take down a politician. Is part of the deference they enjoy due to politicians worrying about that too?_

There is an argument[1] that this may have been what took out General Patreaus. It was no coincedence he was removed from the Army and put into the CIA post just prior to catching Bin Laden [2,3]. Patreus would have received all of the credit, not Obama. But we know that the prep work for Bin Laden involved building a replicate of the abbatobad compound in the US, etc. so was well underway under the leadership of Patreus, not Panetta. Obama was very wary of Patreus entereing the 2012 elections, and would have been a much more credible candidate than any republican. In the end, Patreus was of course done in by someone snooping through his gmail. Wether or not he was also the victim of a parallel construction, in how that came about, we'll never know.

[1] ie, Informal line of resoning or logic. In this case, circumstantial.

[2] edit: The move was orchestrated and announced earlier in the spring. viz: _On April 28, 2011, President Barack Obama announced that he had nominated Petraeus to become the new Director of the Central Intelligence Agency._

[3] Bin Laden: Died May 2, 2011 (aged 54) Abbottabad, Pakistan 34°10′9″N 73°14′33″E

<comment><USER10> It has to be taken with a very large pinch of salt since there is no documentation and no named sources, but in July Jack Murphy reported that his sources in the CIA told him that the "seventh floor" at CIA wanted Petraeus out and used his affair to do it. And that Clapper and Petraeus had a heated meeting where Petraeus was informed that he would be resigning.

[http://www.democracynow.org/2013/7/1/was_deadly_benghazi_kil...](http://www.democracynow.org/2013/7/1/was_deadly_benghazi_killing_of_ambassador)

The fact that we can't be sure that he wasn't being blackmailed with something even more scandalous demonstrates the problem perfectly. There is no reason to believe that he was, but you can't say it is impossible now that we have documentation proving their capabilities. That is why this sort of dragnet mass surveillance is so dangerous to a democracy. It undermines the legitimacy of the political process.

</comment></comment><comment><USER11> "Did the Obama Administration ever spy on Mitt Romney during the recent presidential contest?"

It's interesting, in hindsight, that probably the seminal event in Mitt Romney's loss was via an unidentified person making an unapproved recording:

[http://www.politico.com/news/stories/0912/81346.html](http://www.politico.com/news/stories/0912/81346.html)

There was no real need for top down NSA surveillance here. All you needed was someone sympathetic to your cause ("an operative") who could infiltrate the oppositions meetings, with a cell phone.

<comment><USER12> The source of the recording has been exposed: it was a bartender, Scott Prouty, employed for that function.

See [http://www.motherjones.com/politics/2013/03/scott- prouty-47-...](http://www.motherjones.com/politics/2013/03/scott- prouty-47-percent-video)

</comment></comment><comment><USER13> Julian Sanchez identified this precise problem back in 2008 (and I'm sure he wasn't the first either).

Sanchez cites examples of Truman using an FBI wiretap on a potential supreme court nominee and Johnson wiretapping Martin Luther King and indirectly wiretapping presidential candidate Richard Nixon (ironic given how crazy Nixon went with wiretapping once he got into office).

[http://articles.latimes.com/2008/mar/16/opinion/op- sanchez16](http://articles.latimes.com/2008/mar/16/opinion/op-sanchez16)

</comment><comment><USER14> > Let's fix this before it causes a scandal even bigger than Watergate—or > permits behavior more scandalous than Watergate that is never uncovered, > rectified or punished.

That's the thing. It can not be "fixed", it will not (although our representatives will offer all kinds of PR actions/"legislations" to try to calm us down and "accept it"). This kind of power is already strong enough to defend itself. Rather, it's going to become stronger (also because it is being attacked). It will take some sort of serious revolution for this sort of cancer to be undone. And for that to happen, we're going to have to feel some serious pain, first. That's our nature.

<comment><USER15> Moving the marker from apathy to critical thought, in the masses, is the thing I think. That, and fixing the central banking cartel and the military industrial complex, I suppose.

</comment></comment><comment><USER4> Incidentally, the prospect of government agencies messing with US elections has already happened. It was just the IRS, not the NSA.

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

So this isn't hypothetical.

<comment><USER2> Great Point.

</comment></comment><comment><USER16> Why is the author so sure this hasn't already happened? He gives the current (and past) administration a lot of benefit-of-the-doubt.

"To be clear, I don't think it's happened yet." "Obama was probably as surprised as we were." "But what about a future, less scrupulous president?"

(Paraphrasing.)

<comment><USER17> He is showing how his argument stands whether or not the reader believes that this has already happened. His stance only strengthens his argument, since he makes it clear that his argument doesn't rely on a conspiracy theory.

<comment><USER18> How is it not "conspiracy theory"? Because it's in the future?

</comment></comment></comment><comment><USER19> This is extremely scary, and it also seems like a better way of phrasing the argument for the general populace to realize what mass surveillance is capable of. I don't think most people would argue in favor of Watergate type spying, evidenced by how Nixon resigned shortly after it was revealed. Hopefully this kind of tack will be used more and more to get these stories to resonate with the average non-techie person and get them worked up enough to care.

<comment><USER20> "I don't think most people would argue in favor of Watergate type spying, evidenced by how Nixon resigned shortly after it was revealed."

You might want to review a timeline of events for Watergate. Nixon won re- election after the initial reporting and stayed in office until Aug of 74.

<comment><USER19> Definitely should review them then haha. Looking at it now "shortly" was the wrong word to use. He got re-elected after the initial story leaked, but more things started leaking, like the 18-minute gap in the tapes, and other things started to unravel.

Although, I think the fact that the cover up was so grand is pretty good evidence that the general populace is against that type of behavior once they become aware of it's magnitude.

<comment><USER20> I hope the general populace is against it, but there are so many cases of worse stuff that I have come to doubt it. It seems like if you look good on TV the populace gives you a rather large pass.

</comment></comment></comment></comment><comment><USER21> Previous NSA whistle blower Russ Tice [1] has stated that the NSA targeted Barack Obama (in 2004), Diane Feinstein, Hillary Clinton, John McCain, David Petraeus, Colin Powell, and Supreme Court nominees.

[1] [http://en.wikipedia.org/wiki/Russ_Tice](http://en.wikipedia.org/wiki/Russ_Tice)

</comment><comment><USER22> Superpacs are far more dangerous.

Not just out of state but out of country sources can pour millions into any campaign, no matter how big or small, and there will be zero paper trail.

Yet no-one seems to care. It's mind-boggling.

</comment><comment><USER15> To me its bloody frustrating to look at a problem, and see it wallow around in all its greedy and obese glory. Its really frustrating to think the mechanisms for changing the problem are co-opted. Makes you feel a bit impotent. This overreach, and the general military-industrial complex, to me, are sickening. I don't understand how it survives the light of day.

</comment><comment><USER23> In the state of Wisconsin, numerous stories point to Governor Walker's staff vetting hires based on their political activity. For example, withdrawing a candidate they proposed for a governance position with the University of Wisconsin because they subsequently learned he had signed the recall position (for the sake of a family member and their job; the candidate is actually a staunch Walker supporter, himself).

(This being my and many others' determination based upon detailed accounting of the story, despite subsequent PR spin to the contrary.)

It's widely suspected that Governor Walker has ambitions for a 2016 run for the Presidency. Or maybe 2020.

One has to wonder what such an Administration might get up to with respect to surveillance results feeding bias.

"Conservative" or "Liberal". I don't want that power in either hands.

</comment><comment><USER24> Abuse of state apparatus has been a risk throughout history. The Internet has now joined the informant, undercover agent, letter, telegram, phone, microphone and video camera as technologies of surveillance. The state has had these older options available for a long, long time and democracy has survived so far. In fact, technology allows us to implement safeguards which are more infallible than a mere human. A blacklist of current and candidate politicians, for example, would be easy to implement in software. However, the main defense against abuse has always been a system of checks and balances combined with the rule of law.

</comment><comment><USER25> These allegations are very dangerous: they undermine confidence in the democratic system. What will happen next? Will they start calling for violent revolution? We must stop these irresponsible journalists before it is too late.

</comment><comment><USER26> I liked the point about "Bizarro Edward Snowden" acting on conscience to spy on and take down nsa threats as a sort of lone gunman of information. Don't get me wrong, I'm one of those conspiracy theorists who believes there's a piece of bureaucracy somewhere that's a little more formal which serves that purpose, but the idea certainly makes the whole conspiracy a little more approachable.

</comment><comment><USER27> There is far more risk from local machines and blatant gerrymandering of districts and selective targeting of minorities to deny them the vote.

</comment><comment><USER28> Puts them at risk? If you were really paying attention you would know they are already being manipulated.

</comment><comment><USER25> Can insights gained from surveillance lead to increased effectiveness of lobbying activities due to better targeting of persuasion techniques?

I suspect that the preponderance of the evidence leans a rational decision maker towards an answer to that question with affirmative qualities.

</comment><comment><USER29> _Let 's fix this before it causes a scandal even bigger than Watergate—or permits behavior more scandalous than Watergate that is never uncovered, rectified or punished._

What does he think he is, some sort of time-traveler?

</comment><comment><USER30> To be honest I don't know how much scarier this is than the current overt clout wielded by entities like the gun lobby.

</comment><comment><USER31> Hahaha, that's a good one. Lets just upload our votes to the net. Then we can outsource our voting machines to Diebold and neglect any sort of actual engineering for hardware tamper resistance. At this point, I'm wondering who _hasn 't_ cheated voters yet.

What a fucking stupid article.

</comment><comment><USER32> Monitoring sub-atomic particles for science, sure.

</comment><comment><USER33> The government probably watches over everyone in a position of power, regardless of their political opinions. It wants to make sure that the people in power aren't corrupt and aren't being manipulated. I'm pretty sure President Obama explicitly mentioned that in one of his statements.

I think this "theory" of election manipulation is tenuous _at best_. Pull off election manipulation would take a lot of balls, a lot of secrecy, and a lot of collaboration... three things an organization as diverse as the government does not have.

I'm not saying it's impossible to pull off, but the risk (potential political blowback) would certainly outweigh the reward.

<comment> grey-area _Pull off election manipulation would take a lot of balls, a lot of secrecy, and a lot of collaboration... three things an organization as diverse as the government does not have._

There is strong evidence this has been done in the recent past on a massive scale, in the US, by the intelligence agencies and president - see Nixon's plumbers, and J Edgar Hoover, and that was before these capabilities were available. Your assumption about a conspiracy being required is completely unfounded [1]. That is not a theory, that is fact, and it is in no way tenuous, so it lends serious credibility to the idea that in the present new tools are being used in similar ways.

The other point which lends this credibility is the evidence we have seen of use of these powers for all sorts of industrial and political espionage abroad - they are doing exactly this sort of activity abroad (e.g. bugging Merkel before she was leader, Petrobras, Belgacom) - I find it highly likely they are also using these powers at home, at the very least to stymie investigations into their power. Note how obedient to the wishes of the spying agencies almost every politician is.

 _it wants to make sure that people in power aren 't corrupt and aren't being manipulated_

You seem to trust the current admin, even though they have been shown to lie repeatedly (Clapper, Obama [2]). Why do you trust that if given power they would use it in your best interests and to clean up politics, doesn't that strike you as somewhat naive given the huge compromises every politician has to make just to get elected president?

[1] [http://www.maryferrell.org/wiki/index.php/Church_Committee](http://www.maryferrell.org/wiki/index.php/Church_Committee) [2] [http://www.newrepublic.com/article/114276/obama- surveillance...](http://www.newrepublic.com/article/114276/obama-surveillance- comments-dishonesty-isnt-only-problem)</comment></comment>


Ask HN: Insurance for startups – is THREE any good? - <AUTHOR> We're looking into getting the usual business insurance coverage for our startup and noticed that Berkshire is offering some new product they call "THREE," which they claim is comprehensive business insurance with a three page policy (https://www.threeinsure.com/the-policy/). Does anyone have any experience with using this service for a startup? This seems simpler/more appealing than the patchwork of policies we would have to do otherwise, but I don't know if something advertised for small businesses is good for startups, or if there are alternatives that people have used that they would recommend over this service. Thank you all for your time! <comment><USER2> I would say that is for more of your small business bricks and mortar insurance. Try Rick Brown at 855-773-1100 he can find all of the business insurance you need.

<comment><AUTHOR> Who is Rick brown/what agency is he from?</comment></comment>


Chrome Experiments: "3d city" - <AUTHOR> http://www.chromeexperiments.com/detail/3d-city/ <comment><USER2> Judging by the tools provided, it looks to be a clone of SimCity Classic. I'll remember those 3x3 zone tiles forever.

EDIT: Strictly speaking, SimCity Classic let you remove the edge tiles of residential plots as long as you didn't destroy the center, allowing you to force low-density suburban areas. </random sim nerdery>

Seeing this running in the browser reinvigorated my wishful excitement for the Citybound[1] project.

[1] - [http://cityboundsim.com/](http://cityboundsim.com/)

<comment><USER3> Strictly speaking, it's not a clone... It's a port.

SimCity for XWindows, released as Micropolis under the GPL: [https://code.google.com/p/micropolis/](https://code.google.com/p/micropolis/)

Ported to JavaScript: [https://github.com/graememcc/micropolisJS](https://github.com/graememcc/micropolisJS)

Ported to 3d: [https://github.com/lo-th/3d.city](https://github.com/lo- th/3d.city)

</comment></comment><comment><USER4> Is anyone else building a ton of police stations but still getting the notification "Crime Very High"?

<comment><USER5> Here is where it is computed in the source: [https://github.com/lo- th/3d.city/blob/6d206e4df362444d4c2a36...](https://github.com/lo- th/3d.city/blob/6d206e4df362444d4c2a36bf3582b343f5afe93c/src/utils/BlockMapUtils.js#L219)

An initial glance suggests reducing the populationDensityMap is the real solution (aka don't put so many houses next to each other, but spread it out?)? Feel free to dig into it and reply below with findings.

<comment><USER6> Looks to me like a bug -- they do a

value -= policeStationMap.worldGet(x, y);

when they probably meant to do

value -= policeStationEffectMap.worldGet(x, y);

otherwise, crime is reduced only if there's a police station _right there_. That's just a guess based on a cursory look, though.

<comment><USER5> [https://github.com/lo- th/3d.city/blob/6d206e4df362444d4c2a36...](https://github.com/lo- th/3d.city/blob/6d206e4df362444d4c2a36bf3582b343f5afe93c/src/utils/BlockMapUtils.js#L204)

Before the for loop it "smooths" the policeStationMap 3 times. And this is reset every 15 cycles and in the first 8 cycles it re-populates the policeStationMap before performing the crimeScan.

([https://github.com/lo- th/3d.city/blob/5827c3be180c6b7b39076d...](https://github.com/lo- th/3d.city/blob/5827c3be180c6b7b39076dde27f02492e9022681/src/game/Simulation.js#L168)).

So a cursory investigation it doesn't look good and any policeStation needs to be within 3 to have any effect.

What the simulation should do is never clear the policeStationMap. The policeStationMap is constantly cooling and diffusing and it is only by refreshing where the police stations are is how new energy is introduced into the system (policeStationMap). The simulation doesn't even need to reset the spot on the map when a Tile.POLICESTATION is removed because the value will on its own cool. As an added bonus the simulation doesn't need to waste cpu cycles calling smoothStationMap three times in a row, but only needs to do it once.

</comment></comment></comment></comment><comment><USER7> I love seeing stuff like this. But what really excites me is when these types of 3D models start to represent real cities. Like the ViziCities project[0]. Maybe the idea of Mirror Worlds [1] will eventually become reality.

[0] [https://github.com/robhawkes/vizicities](https://github.com/robhawkes/vizicities)

[1] [http://www.amazon.com/Mirror-Worlds-Software-Universe- Shoebo...](http://www.amazon.com/Mirror-Worlds-Software-Universe- Shoebox/dp/019507906X/)

<comment><USER8> I'm the creator of ViziCities. It's projects like this (and SimCity proper) that inspired the project and the attempt to making something similar for real-world cities. We're getting close!

</comment></comment><comment><USER9> I have a plane stuck on train tracks and a train hovering over my city. Other than that, it's a pretty good SimCity imitation in 3D.

<comment><USER10> Yeah, this happened to me too. I had a 747 doing the moonwalk down the tracks at high speed.

</comment></comment><comment><USER11> Moving around the map is really difficult. When I select anything except the dragging icon, the map seems to scroll to the edge. After right clicking and rotating and zooming the problem was even worse. If I didn't have this issue, it would be loads of fun to play. :)

<comment><USER12> I have been moving around the map with WASD which has been working fine for me. I wasn't able to get it to scroll by going to the edges.

<comment><USER11> Nice, thanks!

</comment></comment></comment><comment><USER13> Worked for me in Firefox 31. Awesome, played for a while but the citizens didn't like me; no save option! Would gladly play again with persistence.

Very impressive example of the richness in todays web. Well done loth!

</comment><comment><USER14> There's no other energy choice aside from coal and nuclear? Bummer. Edit: Then again, if this is a sim of an 80's game or something, I guess it makes sense.

<comment><USER15> Wait wait... how old are you? This is a port of the ground breaking game Sim City. Look it up, you'll be pleasantly surprised :D

</comment></comment><comment><USER16> Pretty nice, though, my train and my plane got mixed up.

[http://i.imgur.com/U27syus.jpg](http://i.imgur.com/U27syus.jpg)

</comment><comment><USER17> This a beautiful re-implementation of the original SimCity / Micropolis code in JavaScript, true to the original game. I was hoping somebody would finally do that, and I'm thrilled by how well it turned out.

[http://www.reddit.com/r/SimCity/comments/1dwctf/fixing_up_mi...](http://www.reddit.com/r/SimCity/comments/1dwctf/fixing_up_micropolis/)

I'm most impressed by how fresh and clean the graphics are. I've got the original tile expansion sets for Ancient Asia, Future Europe, Future USA, Medieval Times, Moon Colony and Wild West, if anyone is interested in making 3D versions of those, too!

</comment><comment><USER18> Nice. I hope the author adds some audio. There's something about the simple songs that came with the game that helped you zone out and relax. I could play SimFarm for days.

[https://www.youtube.com/watch?v=Q28WFGK8xxE](https://www.youtube.com/watch?v=Q28WFGK8xxE)

</comment><comment><USER19> This is pretty cool, but I find it rather sad when simple games like these consume > 50% of my CPU (E8400). Didn't the original SimCity (2000?) run on a pentium 3?

<comment><USER20> Wasn't the original an isometric layout though? Not true 3d.

<comment><USER19> Yes, it was probably sprite based.

</comment></comment></comment><comment><USER21> Doesn't work for me on Ubuntu 14.04 with Chrome 36. Works on Firefox with Ubuntu but much slower to render events. Very cool.

</comment><comment><USER22> funny, the trains start flying and the planes move along the tracks :)

</comment><comment><USER23> If only there was some kind of "save game" feature

<comment><USER24> I too like to build fully functional games and then reclassify and promote them as experiments.

</comment></comment><comment> transistor-man This will crash your firefox instance

<comment><USER25> Worked fine for me on Firefox 31

<comment><USER26> Me too</comment></comment></comment>


To the Mun and Back: Kerbal Space Program - <AUTHOR> http://www.polygon.com/features/2014/1/27/5338438/kerbal-space-program

<comment><USER2> Is anyone else having serious trouble in firefox with this website? I tried to increase the font size for my own personal readability and now the margins are all over the place without being able to scroll.

<comment><USER3> Yeah, something keeps scrolling off screen (probably the flying Kerbal) and the side nav floats into the middle of the text.

</comment></comment><comment><USER4> Does anyone know how to get a version of this without the animations and stuff? It's a little hard to read.</comment>


Ask HN: Can you share your Vim setup for Python? - <AUTHOR> I'm a recent grad and I have been using PyCharm so far. I'd like to try out coding in Vim especially because I need to code on a remote machine. Since Vim is one of the most popular choice for writing Python code, I'd love to know your setup.<p>Thanks! <comment><USER2> I always forget to set my defaults globally to the file type, so my python files are littered with the following vim comment towards the bottom:

# vim: ai et ts=4 sts=4 sw=4

Explanation: forces auto-indent (ai), expand tabs to spaces (et), and tab stops (soft and hard) to 4 spaces.

</comment><comment><USER3> If you plan to do more than Python, you will be happy to use EditorConfig (vim plugin + .editorconfig file)

Here is my config: [https://github.com/RaitoBezarius/vimconfig](https://github.com/RaitoBezarius/vimconfig)

I am more a Python developer than anything else.

But, this config is handy when you do fullstack dev or Rust or Elixir or something other. :)

</comment><comment><USER4> [https://github.com/carlhuda/janus](https://github.com/carlhuda/janus)</comment>


The Wonderfully Elusive Chinese Novel - <AUTHOR> http://www.nybooks.com/articles/archives/2015/apr/23/wonderfully-elusive-chinese-novel/ <comment><USER2> If the nuances of the different translations appeal to you, Douglas Hofstadter's "Le Ton beau de Marot" is a must-read.

</comment><comment><USER3> Chinese really is well-suited to poetry. This carries over into song lyrics, even for pop songs. Here are two that I really like:

* Tian Mi Mi by Teresa Teng - [http://www.lyricsmode.com/lyrics/t/teresa_teng/tian_mi_mi.ht...](http://www.lyricsmode.com/lyrics/t/teresa_teng/tian_mi_mi.html) \- which includes a line "your smile is like flowers opening in the spring wind"

* Sky by Faye Wong - [http://www.chinasmack.com/2012/more/chinese-pop-songs/sky-by...](http://www.chinasmack.com/2012/more/chinese-pop-songs/sky-by-zhang-jie-and-faye-wong.html) \- one of many beautiful lines translates as "The sky. Piled with layers and layers of longing."

There are certainly great lyricists in English, but the two songs I linked above were both massive popular hits. Teresa Teng and Faye Wong during their respective heydays are probably best compared with people like Madonna in the 80s/90s or Beyonce today (in terms of popularity, media attention, etc.). Is there anyone in mainstream pop music writing lyrics as beautiful as the ones I linked above?

(Fun side note: Faye Wong is a huge admirer of Teresa Teng, and has a great cover album of Teng's songs called Decadent Sounds of Faye. The arrangements of these songs are great and Faye Wong sings them beautifully).

<comment><USER4> I like Teresa Teng's music a lot, but I'm not sure the lyrics are uniquely poetic. And most of her songs also have Japanese versions, despite the two languages having little in common besides a lot of lexical borrowings.

</comment></comment><comment><USER5> I wonder if the word _duanming_ was the origin for the name of Short-Round in Indiana Jones.

<comment><USER6> In military terms, a short round is a projectile that falls short of the target, particularly if enough so as to harm one's own troops. The book on which _Full Metal Jacket_ was based had a lieutenant nicknamed Short Round for his stature.

<comment><USER5> Well, I found the source, was a doggie -

 _" Like Indiana Jones and Willie Scott, the character is named after a pet dog: Short Round was the dog of the film's writers, Gloria Katz and Willard Huyck."_</comment></comment></comment>


More Gmail storage coming for all   - <AUTHOR> http://gmailblog.blogspot.com/2007/10/more-gmail-storage-coming-for-all.html

<comment><USER2> Am I the only one who just realized that anyone can pay for more storage on gmail?

<comment><USER3> I can't imagine a person who would possibly need more than 10GB for email, much less pay for that much email storage.

<comment><USER4> "I can't imagine a person who would possibly need more than 10GB for email"

Careful with that one... <http://en.wikipedia.org/wiki/Failed_predictions#Computers>

;)

<comment><USER3> Ha. But still, 10GB of text is an insanely large number of emails-- more than any person could possibly read. Unless you're getting huge attachments or hundreds of thousands of emails, I don't see 10GB being a limit for many, many years.</comment></comment></comment></comment>


Water's odd behavior stems from its ability to exist in two liquid states - <AUTHOR> https://www.seeker.com/materials/the-strange-counterintuitive-properties-of-water-explained <comment><USER2> Dammit.

Now those crackpot ads in the back of Popular Science (see Jan/Feb 2018, pp. 82-83) for devices to make 'heavier' water for your health can cite Stockholm University scientists.

I wonder how long that will take.

</comment><comment><USER3> Pull quote: "Most people think water freezes at zero degrees Celsius but that is because you have crap in it," said Nilsson.</comment>


To Increase Privacy, Company Removes Polarized Film From LCD Monitors [video] - <AUTHOR> http://www.youtube.com/watch?v=WdIVE-CsZGY

<comment><USER2> That's f*ing brilliant!</comment>


Neural programmer better than Quicksort - <AUTHOR> https://arxiv.org/abs/2007.03629 <comment><USER2> It's really hard to write correct code.

Sorting was broken in java and nobody noticed for a long time: [http://envisage-project.eu/wp- content/uploads/2015/02/sortin...](http://envisage-project.eu/wp- content/uploads/2015/02/sorting.pdf)

The same was true for java's binary search: [https://ai.googleblog.com/2006/06/extra-extra-read-all- about...](https://ai.googleblog.com/2006/06/extra-extra-read-all-about-it- nearly.html)

So I am not sure I will ever trust an ML algorithm trained on inputs/outputs only (which is what I think "neural program induction" means). The above bugs are only hit because the programmers who wrote it didn't think about overflow. What is this "neural programmer" assuming about their inputs? We'll never know.

OTOH the standard library sort can be improved if you know the distribution of the numbers you're sorting (e.g., small numbers can bucket sort, small lists can use a sorting network, etc). If this thing can efficiently almost- correctly-sort because it's better at these types of pattern matching, we can just run a final pass of insertion sort to make it useful!

<comment><USER3> Next step is to prove the ML-produced algorithm is correct. I can see a world where we generate algorithms and then automatically prove they're correct based on a formal description of the problem being solved.

<comment><USER4> It doesn't need to be 100% correct. There's a place for fast sorting algorithms which are correct most of the time - basically anything non- critical, like sorting comments by upvotes.

According to the article, they couldn't find a case where it wasn't correct.

<comment><USER5> > There's a place for fast sorting algorithms which are correct most of the > time - basically anything non-critical, like sorting comments by upvotes.

Nothing saddens me more than this trend of the modern web where everything works semi-probabilistically (even if it's likely for "good" technical reasons, such as, "we wrote our server backend in Ruby which is slow as molasses so now we need 230 CDN and 800 databases instances around the whole world and transformed our simple centralized problem into an horrendous decentralized one).

The central reason for me to use computers is that they are (or at least were) deterministic to a much higher degree that normal life, and so many things in the 10 last years becoming much more non-deterministic in particular on social websites is something that frustrates me every single day as it just makes the whole experience and process of using computers & the web very unreliable compared to what it used to be.

<comment><USER6> Today's perfections are yesterday's "good enoughs". Don't be sad for the trend. In 10 years, you will have new perfections to enjoy.

<comment><USER7> Like the probabilistic bank account balance. "You have between $10 and $1000 with the greatest likelihood being $537 (52% chance)."

<comment><USER8> There was this thread a while ago with HSBC switching to MongoDB... so, yeah, distinct possibility :-)

[https://news.ycombinator.com/item?id=23507197](https://news.ycombinator.com/item?id=23507197)

(The article was very light on details though, and it was probably just one team that consolidated to MongoDB, not the accounts itself... one hopes.)

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> The code (which is a few percent faster than quicksort) is on the last page:

      procedure QUICKSORTAGENT(input state)
      2: Let i = 1, j = 2, l = 3, h = 4
      3: if FunctionID = None then
      4: return vh ← Function1(vl ← vl, vh ← vh)
      5: else if FunctionID = 1 then . QuickSort
      6: if vl < vh then
      7: if prev = None then
      8: return vi ← Function2(vl ← vl, vh ← vh)
      9: else if prev = (vi ← Function2(vl ← vl, vh ← vh)) then
      10: return AssignVar(j, i)
      11: else if prev = AssignVar(j, i) then
      12: return MoveVar(i, -1)
      13: else if prev = MoveVar(i, -1) then
      14: if vi > vl then
      15: return vi ← Function1(vl ← vl, vh ← vi)
      16: else
      17: return MoveVar(j, +1)
      18: end if
      19: else if prev = (vi ← Function1(vl ← vl, vh ← vi)) t hen
      20: return MoveVar(j, +1)
      21: else if prev = MoveVar(j, +1) and vj < vh then
      22: return vh ← Function1(vl ← vj , vh ← vh)
      23: else
      24: return Return(h)
      25: end if
      26: else
      27: return Return(h)
      28: end if
      29: else . Function ID = 2, Partition
      30: if prev = None then
      31: return AssignVar(i, l)
      32: else if prev = AssignVar(i, l) then
      33: return AssignVar(j, l)
      34: else if vj < vh then
      35: if prev = Swap(i, j) then
      36: return MoveVar(i, +1)
      37: else if (prev = AssignVar(j, l) or prev = MoveVar(j,
      +1)) and A[vj ] < A[vh] then
      38: if vi 6= vj then
      39: return Swap(i, j)
      40: else
      41: return MoveVar(i, +1)
      42: end if
      43: else
      44: return MoveVar(j, +1)
      45: end if
      46: else if prev = MoveVar(j, +1) then
      47: return Swap(i, h)
      48: else
      49: return Return(i)
      50: end if
      51: end if
      52: end procedure

<comment><USER10> This reminds me of programming basic on an Acorn Electron. Line numbers and I don't remember indentation, though it was a few decades ago.

<comment><USER11> The Electron had a new enough version of BBC Basic that "proper" procedures and UDFs were supported (in a limited fashion, but well enough considering the constraints of the machine) so you could pretty much ignore line numbers, in fact by using a text editor and TYPEing the result into BASIC you could write code without them (the interpreter needed them, the TYPE trick made it put them in for itself).

But yes, this was uncommon so line numbers were a major thing.

And indentation was optional, you could add extra spaces to the start of lines and they would be kept and would have no effect on execution, but you would be wasting precious bytes of RAM and if using one of the heavier display modes (0, 1 or 2) you would only have 8.5Kbyte to play with for _all_ the code and run-time storage (your variables, BASIC's call stack).

</comment></comment></comment><comment><USER12> Quite dull research wrapped in fancy words.

Essentially they generate functions that map a program state to another program state and counts those function calls and compares with e.g. the number of function calls in quick sort. They "cheat" by feeding how all elements compares the their neighbours at each step. Like, if you give the algorithm that input for free what's the point.

 _Notably, none of the popular sorting algorithms decide which elements to swap by looking at the whole input at each execution step. On the contrary, the decisions are typically made based on local evidence only. ... We implement this principle for the sorting task by employing a small set of k(independent of n) index variables, and include in the input the information about how A[i] compares with A[i+ 1] and A[i−1]for each index variable i._

<comment><USER13> This is absolutely not cheating; every hand designed algorithm can access and compare everything in the array!

The real point of what they're saying in your italicized quote is actually that giving the net full access hinders efficiency, so they actually restrict it. Almost like the opposite of cheating.

<comment><USER12> It is not a pointer to an array I'm concerned about but the "neighbour diff vector" or what you should call it that provided by the "environment". See A.1.2.

Doing so many comparisons and storing them has a cost. Also the model can't decide if it is done so at each step the array has to be iterated to see if it is sorted by the "environment". Are they only counting function calls? I guess so. The paper is really hard to follow and the pseudocode syntax is quite madding.

If I understand the paper correctly of course I could be wrong.

If so, _" our approach can learn to outperform custom-written solutions for a variety of problems"_, is bogus.

<comment><USER14> >> Are they only counting function calls? I guess so.

Oh that, yes, it's true. They're listing "average episode lengths" in tables 1-3 and those are their main support for their claim of efficiency. By "episode length" they mean instruction or function calls made during training by the student agent which they compare to the instructions/function calls by the teacher agent. So, no asymptotic analysis, just a count of concrete operations performed to solve e.g. a sorting task.

</comment></comment></comment></comment><comment><USER15> According to the limitations stated in the doc.

1\. It runs slower on modern CPUs and you need neural logic units to see the speed benefits

2\. Model needs the be fined tuned to the data for best performance.

While it may be better than quicksort in certain usecases it isn't going to replace it anytime soon.

<comment><USER16> "Model needs the be fined tuned to the data for best performance." -> typical :D

</comment></comment><comment><USER17> This is pretty cool, pardon my limited understanding, trying to see if I get this correctly:

1) they train a model to do sorting, it actually sorts correctly. 2) they optimize the model on efficiency and it becomes better than many custom sort functions?

If I remember correctly from school, you can basically speed up any kind of sorting by using more space (basically by using a hash table). Is the neural network just using the normal sort algo until it sees a pattern in the input and then skips the sort algo for the pattern output? Or to put it plainly, is it just a smarter (or dumber, depending on the size of the neural network) hash table?

<comment><USER18> The question is how does the algorithm perform on average, what are the pathological cases and how slow are they?

How do you prove that with an algorithm that no human can reason about?

Basically this paper looks like they've found an algorithm which is efficient for given sets or given classes of sets. Whether that generalizes is a different problem.

It's basically a cool automatic heuristic generator.

<comment><USER19> Exactly, that's what I thought. Although, they should be able to look at the set of instructions that generated the output, which is basically an algorithm in itself. Then they could try to prove whether that algorithm would really generalise.

</comment></comment></comment><comment><USER20> Eh... Look I get that everyone wants to publish exciting results, but to call this unequivocally "better" than quick sort is a big stretch. The profiling results are unconvincing at best. A small, < 10% improvement, could easily (and much more likely) be explained by any number of possible differences in optimization between the quicksort implementation they're using and the neural network library.

Table 3 is very suspicious too. If they're doing what they claim, then why is Binary Search all of a sudden significantly better than the learned agent for some problem sizes? It really feels like they're running up against some kind of inherent optimization boundary inside their neural network library...

</comment><comment><USER21> Better as in lower number of instructions not lower wall clock time.

</comment><comment><USER19> Some interesting extracts:

"The instruction set together with the input representations jointly determine the class of algorithms that are learnable by the neural controller, and we see this as a fruitful avenue for future research akin to how current instruction sets shaped microprocessors."

"The generalization or correctness we aim for is mostly about generalization to instances of arbitrary sizes."

"[...] computing a = f(s) can be more expensive on current CPUs than executing typical computation employed in the algorithms studied here. We thus hope that this research will motivate future CPUs to have "Neural Logic Units" to implement such functions f fast and efficiently, effectively extending their instruction set, and making such approaches feasible."

</comment><comment><USER22> Pretty cool.

"We include videos in the supplementary material showing the execution traces of the learned algorithms compared with the teachers, and observe qualitatively different behaviors."

Anyone know where we can find these?

<comment><USER23> I think it's this one. [https://mobile.twitter.com/liyuajia/status/12812613378307112...](https://mobile.twitter.com/liyuajia/status/1281261337830711299?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet)

</comment></comment><comment><USER24> > As highlights, our learned model can perform sorting perfectly _on any input > data size we tested on_

I'm not going to drop something into my production code that works on just the inputs you tested with. As ghj pointed out- Java's highly analyzed sort method had a bug for years and we didn't notice.

It's neat research and I won't discourage it at all, but give me some proofs of correctness.

</comment><comment><USER25> Can anyone link to experiments in the space of evolving code by mutating it in a syntactically-correct way, running it, evaluating its results or killing it if it doesn't complete?

<comment><USER26> There is a project along these lines at Google, which is used to test graphic drivers. The generated code is randomly (but equivalently) transformated, and the result is verified to be the same. If it doesn't match, then there is a bug. Link to the project [https://github.com/KhronosGroup/SPIRV- Tools](https://github.com/KhronosGroup/SPIRV-Tools).

</comment></comment><comment><USER27> Does this work for arbitrary data sorts? If not, beating quick sort is really easy with bucket sort.

<comment><USER28> > Does this work for arbitrary data sorts?

It's a Comparison Sort, as they say on page 5 - so I think the answer should be yes.

</comment></comment><comment><USER14> Short version:

In summary, this paper makes strong claims of generalisation and efficiency but does not seem to provide sufficently strong evidence to back them up, e.g. it does not perform an asymptotic analysis to support the efficiency claim, it doesn't show actual program output to allow the evaluation of what is actually learned and the claim about strong generalisation is based on a very vaguely described experimental setup.

Longer version below.

Interesting paper. It describes a Reinforcement Learning method to learn neural network models that imitate the behaviour of agents performing a) sorting, b) binary search and c) solutions to the NP-complete knapsack problem. The technique is notable because it learns from program traces also, not only from input-output pairs. The technique relies on a hard-coded set of problem-dependent a) input states and b) instruction sets. The latter are what it sounds like, sets of instructions that form the building blocks of the learned programs, although in an enhanced version of the technique, functions are also added to the (less complex?) instructions. Input states basically include all other information that may be useful to a learner, other than the instructions and functions from which to build a program. Two different setups are tested: a) one using the single instruction "swap" (that swaps two elements) and where the input state includes information of the full list, and b) one with more instructions and localised information that is reported to generalise better and be more efficient. The latter setup is also augmented with "functions" which are stated to be more complex than operations, though the distinction is rather on the vague side (there is some more information in an appendix but it's not very helpful, I'm still left wondering why an "instruction" is qualitatively different to a "function").

The paper is poorly organised and requires long appendices to elucidate all manner of poorly defined concepts in the main paper. This doesn't help when it comes time to evaluate the two most striking claims in the paper, namely that the proposed method(s?) a) show strong generalisation and b) outperform hand- crafted sorting algorithm quick-sort in sorting lists of numbers.

The first claim is difficult to evaluate because the paper presents results of sorting lists of variable _size_ but does not say anything clear about list _contents_. For example, while training lists are chosen to have a random length in [10,20] and with elements in the same range, testing lists have their length incrased, but there is no mention of the values of the elements in those litss and, going by what is described in appendix C, lists can have duplicate values. In other words, it's possible that the "strong generalisation" results refer to sorting lists of variable size with the same unique elements as in the training lists. In that case, the claim of "strong" genearlisation is not supported.

The second claim is difficult to evaluate for two reasons: a) there is no example of the training output, i.e. we never get to see what progams, exactly, the proposed approach is learning; and b) there is no attempt to asymptotic analysis of the learned models (which would be hard without an example thereof). Instead, the claim of efficiency seems to rest on two presmises: a) that sorting programs of O(n log n) time complexity are in the hypothesis space defined by the input states and instruction sets and functions for the relevant experimental setup, i.e. the learner _could_ learn an O(n log n) sorting algorithm; and, b) that the number of training steps taken by the learning agents in imitation of the teacher agents is in the ballparck of n log n of the input. In other words, the strongest evidence for the efficiency claim seems to be a count of instructions (or function) calls during training. So, this very strong claim is also very poorly supported.

<comment><USER28> > I'm still left wondering why an "instruction" is qualitatively different to > a "function"

Functions can be recursive. So the algorithm that the agent generates is able to use divide-and-conquer.

<comment><USER14> Yes, but the "functions" in the paper are implemented as two extra types of _instruction_ \- one representing a function call and one representing the "return" point of the function. So again, the difference is not clear. An instruction is an instruction, but some instructions are function calls (or returns). Why not just call them all "instructions", or all "functions"?

</comment></comment></comment><comment><USER29> Coming to a leetcode style interview near you!

</comment><comment><USER30> Evolving sorting networks was cool.

This is not cool.

<comment><USER31> "We don't have a formal proof for this, and only have empirical evidence, measured on a large number of test instances. More on this in the paper. The learned algorithm is not entirely opaque. I'd argue it is easier to understand its behavior than that of a neural net." [https://mobile.twitter.com/liyuajia/status/12815201991083089...](https://mobile.twitter.com/liyuajia/status/1281520199108308994)

agreed, this is kind of backwards research

</comment></comment><comment><USER32> How will you debug this?

<comment><USER33> With a neural network trained debugger, of course.

</comment></comment><comment><USER34> There are sorting methods faster than quicksort though. O(n loglog n) for instance. Or for randomized its O(n sqrt log log n).

<comment><USER28> Omega(n log n) is the fastest possible for a comparison sort, by a simple decision tree argument. This is true even for the average case.

Their algorithm is a comparison sort, as they make clear on page 5.</comment></comment>


The Visual Patterns of Audio Frequencies Seen through Vibrating Sand - <AUTHOR> http://www.thisiscolossal.com/2013/06/the-visual-patterns-of-audio-frequencies-seen-through-vibrating-sand/ <comment><USER2> It is interesting, but it's a standard way of demonstrating normal modes, or the applications of eigenvectors. I would think most physics and engineering undergraduates have studied this.

That's not to say you shouldn't watch it, but just to put it in perspective - this is a topic studied in the 1st/2nd year of university, not a poorly- understood topic for research.

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

<comment><USER3> I'm a cs person and never encountered this in school. Is this taught in engineering? Typical course names?

<comment><USER4> As a math person, I look at this and think "Fourier series".

I encountered the ideas in both Classical Mechanics 1 (third year physics course where I took it) and Differential Equations (third year math course where I took it).

It is still a nice visualization.

<comment><USER5> It's very close to Fourier series, but since the "solutions" (the equilibria) are not integer multiples of a fundamental, but solutions to a 3-dimensional wave equation, it's more like "wave equation."

<comment><USER4> From a mathematician's point of view it is a Fourier series. You have the property that any starting state can be divided into the sum of orthogonal components. No matter how complex the components are, that's still a Fourier series.

A physicist would disagree, I am sure. But to a mathematician, an orthonormal wavelet basis is also a Fourier series.

</comment></comment></comment></comment></comment><comment><USER6> "The study of the patterns produced by vibrating bodies has a venerable history. One of the earliest to record that an oscillating body displayed regular patterns was Galileo Galilei. In Dialogue Concerning the Two Chief World Systems (1632), he wrote:

As I was scraping a brass plate with a sharp iron chisel in order to remove some spots from it and was running the chisel rather rapidly over it, I once or twice, during many strokes, heard the plate emit a rather strong and clear whistling sound: on looking at the plate more carefully, I noticed a long row of fine streaks parallel and equidistant from one another. Scraping with the chisel over and over again, I noticed that it was only when the plate emitted this hissing noise that any marks were left upon it; when the scraping was not accompanied by this sibilant note there was not the least trace of such marks. "

[http://en.wikipedia.org/wiki/Cymatics](http://en.wikipedia.org/wiki/Cymatics)

These patterns are also drawn on tiles in the Rosslyn Chapel and are thought to be displaying music:

[http://en.wikinews.org/wiki/Rosslyn_Chapel_music_score_'deco...](http://en.wikinews.org/wiki/Rosslyn_Chapel_music_score_'decoded')

</comment><comment><USER7> Why is it sometimes asymmetrical vertically? Is it just a slight variation where the plate isn't perfectly square or the bolt not in the exact center?

<comment><USER8> It appears to be simply a lack of sufficient sand to show all of the lines- some of them become symmetrical when more sand is sprinkled on.

</comment></comment><comment><USER9> Here's a Science Friday video of the same thing but without the music on top, so you can actually hear the frequencies.

[http://www.npr.org/player/v2/mediaPlayer.html?action=1&t=1&i...](http://www.npr.org/player/v2/mediaPlayer.html?action=1&t=1&islist=false&id=103210918&m=103221404)

<comment><USER10> Here's a not very good example using hair and a car stereo ([http://youtu.be/4s_lpBkdoNc](http://youtu.be/4s_lpBkdoNc))

</comment></comment><comment><USER11> I wonder if that could be done at scale with a massive art installation and marbles.

Now that would be mind blowing to watch.

<comment><USER10> I'd love to see an enormous version of this harmonic motion demonstration.

([http://sciencedemonstrations.fas.harvard.edu/icb/icb.do?keyw...](http://sciencedemonstrations.fas.harvard.edu/icb/icb.do?keyword=k16940&pageid=icb.page80863&pageContentId=icb.pagecontent341734&state=maximize&view=view.do&viewParam_name=indepth.html#a_icb_pagecontent341734))

</comment></comment><comment><USER12> Interesting, but for a similar experiment that's rather higher on the "cool" spectrum, check some of the videos with "oobleck" (non-newtonian fluid, like cornstarch and water) on an amp.

<comment><USER12> Here's the first one I saw, a couple of years ago:

[http://www.youtube.com/watch?v=Yp1wUodQgqQ](http://www.youtube.com/watch?v=Yp1wUodQgqQ)

Linking it here because I just went searching for new examples, and none of what I found was quite as good at fooling my brain that living creatures were crawling out of the muck...

</comment></comment><comment><USER13> I wonder what would happen if you designed a helmet that vibrated your brain like that?

Maybe some frequency could tweak pleasure centers, etc?

<comment><USER14> I don't think small deformations of the brain do much, because they don't change the connectivity or electrical activity of the neurons. However, there are devices that induce currents inside the brain by applying magnetic fields, and this has profound effects.

</comment></comment><comment><USER15> Has this been attempted in a zero-gravity environment (or even water)? Would that completely obliterate the results of the test, as the sand wouldn't be on a solid surface? I'm curious what the results would be.

</comment><comment><USER16> There's a really fun exhibit at the Exploratorium in SF that demonstrates this. Not _quite_ so fancy, but if you can shove some kids out of the way it's still pretty cool to play with!

</comment><comment><USER17> They have this at the Exploratorium! Definitely cool to play with.

</comment><comment><USER18> Bold title for WWDC day.

<comment><USER14> Because some shiny new gadget will impress you more than a beautiful visualization of the mathematical structure of nature?

<comment><USER18> That was tongue-in-cheek (mostly...you never know with WWDC).

This video reminds me a bit of A New Kind of Science ([http://en.wikipedia.org/wiki/A_New_Kind_of_Science](http://en.wikipedia.org/wiki/A_New_Kind_of_Science)): some of the phenomena Wolfram discusses gave me the same "holy! how does this happen in nature" kind of reaction.

<comment><USER14> Sorry for coming on so strong. And for being that guy who misses the tone.

<comment><USER18> No worries, we're all that guy sometimes.

+1 for emoji support in HN comments. (Also ironic...mostly.)

</comment></comment></comment></comment></comment><comment><USER19> Couldn't you use something like this on a small scale to implement a better random number generator for computers?

Looks like all it would take is a tiny speaker, a thin metal plate, and something that reads that metal plate like a QR code. The tone could then be randomized by a psuedo-random number generator, and even though the shapes generated are similar, they are never quite identical.

</comment><comment><USER20> if you want to see many other examples, search for "chladni plate"

</comment><comment><USER21> Actually, this is salt.

</comment><comment><USER22> No.</comment>


Electrons May Well Be Conscious - <AUTHOR> http://nautil.us/blog/electrons-may-very-well-be-conscious <comment><USER2> > Panpsychists look at the many rungs on the complexity ladder of nature and > see no obvious line between mind and no-mind. [...] By the same logic, we > can look steadily at less-complex forms of behavior that allow us to > reasonably infer some kind of mind associated with all types of matter. Yes, > including even the lowly electron.

> While inanimate matter doesn't evolve like animate matter, inanimate matter > does behave. It does things. It responds to forces. Electrons move in > certain ways that differ under different experimental conditions.

Those points are quite some mental gymnastics. It feels like they took the "I don't understand it, therefore it was god" argument and applied it to consciousness, while attributing every single behaviour of any particle in the universe to intelligence.

I don't know why this should be taken more seriously than any (other) faith.</comment>


Mail-Order Viruses Are the New Antibiotics - <AUTHOR> http://www.buzzfeed.com/azeenghorayshi/mail-order-viruses-are-the-new-antibiotics#.gywqX81EY

<comment><USER2> Although I know nothing of phage therapy, I can offer a personal view on the history of misuse of antibiotics. The article suggests a 20 year history for this, but that's an underestimate. My Dad was a physician, and I remember him talking about this a lot during the '60s, when I was a kid. Maybe doctors of that era, many having taken up medicine after returning from WWII, had a clear understanding of the battlefield that is infection. The old ones avoided overprescribing antibiotics, but the new ones were succumbing to the "client" culture, handing out pills because patients demanded them.</comment>


Web2.0 Graphic and CSS Generators (What do you use?) - <AUTHOR> http://raminasser.com/2007/05/31/web20-graphic-and-css-generators/ <comment><USER2> Rami, are you egyptian?

If so, let's chat!

<comment><AUTHOR> nope, sorry!</comment></comment>


Ask HN: What is your experience making a free service completely paid? - <AUTHOR>

Today we decided to make our 7 year old free photo site paid. We really didn't want to do that, but Google banned us from Adsense because some users kept uploading porn. Google has been very lenient over the years allowing us ample time to remove the illegal content (illegal for Google and also illegal for us).
Because of the amount of users, traffic and images, we run quite a cluster for this site and we can simply no longer pay for it now that we don't have ads. We tried different providers but they don't come even close.
Did anyone here take the same (drastic) step and what can we expect do you think? Did we make the right decision?
We wrote this to our users; http://picturepush.com/gopro
Hoping for some positive experiences! <comment><USER2> I had a free service with only a tiny little bit of Adsense and some donations for 5 years. It was used by about 30,000 people over the lifespan with 5,500 active accounts at the time I announced that the free service would cost 0.99€ per month, starting in 30 days.

The goal with that pricing was to convert as many users as possible to the paid service. 0.99€ provokes this idea of "it's so cheap I don't even have to think about it" and it worked. In order to reduce the substantial transaction costs of such a cheap service, I offered prepaid accounts of 6 or 12 months, so the minimum transaction was about 6 euros and the fixed part of each PayPal transaction didn't grow too big. People who donated money before got 6 months for free. New signups get a free period of 30 days with no restrictions in the service.

About 80% of the users switched from free to paid, which is pretty good I think. However, I have to point out that my SaaS business is somewhat the best in its niche and there were no good free alternatives.

I doubled prices to 1.99€ euro per month last year and introduced a 3-month- prepaid interval. The increase in price was relatively well accepted. A few people complained, but I also offered existing customers to extend their accounts for the old rate, but only if they bought within 2 months. There weren't too many people who stopped using the service.

I can say that charging money and turning my side project into a serious business was the best thing I did in my life. In the Adsense times, I made maybe 400 euros a month, now I make close to 8,000 euro a month – same amount of weekly time investment on my side.

A very crucial thing that is often overlooked is that once you charge money, you turn your side-project into a serious business, which leads to entirely new situations you never thought of before. I get approached by people who want to cooperate. I see new opportunities for apps in the same niche. And I have a budget that can be reinvested to try things. If your site is just a side project, you'll probably miss many of these opportunities.

The only thing I wished I did differently was to start with the 1.99€ per month rate, since increasing prices isn't the easiest thing to do. 0.99€ helped to convert many people from free to paid, but it also set some boundaries in the perceived value of the service. After I went to 1.99€, people would say:"You increased the price by 100%." which sounds a lot more than saying "you charge a lousy euro more every month". I guess it takes a few years until I can start charging a bit more. Otherwise people would have the feeling that I double prices every year or so.

One more thing: I often heard that having a low-priced product is a bad idea because of the need to give customer support to a huge user base. I can't confirm that. I still get maybe a handful of emails per day and that's it.

<comment><AUTHOR> Thanks for this. We have an issue that besides (amateur) photographers, we don't really cater much to a niche. We were in 2006 but we didn't work it hard enough. I certainly hope making it a serious business like you did will change this over time!

<comment><USER2> Well, just making it a business won't change anything. It makes no difference to the users. It does make a difference to potential cooperation partners. However, I've got my first requests for cooperation after a year or two. Don't count on it.

If amateur photographers are a big majority of your users, the next logical step would be to optimize the whole website for amateur photographers to get more of them. Start to target amateur photographers explicitly. Post your service in amateur photographer's forums, change the copy of your website to appeal to them. State all benefits of your service in terms of value that amateur photographers get out of your service.

For example, take the home page. It doesn't say anything about amateur photographers. Why not? If this group is 80% or so, you could put a headline like "Perfect photo storage for amateur photographers."

If your website appeals to a very specific niche right now and 80% of your customers are from that niche, it makes sense to optimize your business around that niche for now and expand into new customer segments/niches later.

By turning into a paid service, you also need to act and behave professionally. Some people have new expectations. For example, the service shouldn't be down often. You have to have backups, security etc.

And from here, it is all about business development. I learned so much from HN. For a start, read everything from patio11 and his blog. Sign up for his newsletter.

Read the book "Getting Everything You Can Get Out of All You've Got". The part about internet businesses is a bit dated but the rest is a gold mine for opportunities for business development.

Read stuff about copywriting. Read everything about lifecycle emails that are all the rage now. Introduce an email course for amateur photographers how they can get the best value out of your webservice, get some testimonials etc.

Ask amateur photographers what features they need from you and what kind of benefits they get from your service.

</comment></comment></comment><comment><USER3> > Did we make the right decision?

Maybe you can have procedures in place to let approved accounts stay on a free plan. If you have a user with a long track record of acceptable use, and they really want their free account, why not give it to them? You could limit this to a small user pool, say, accounts open for > 1 year and exclude all new users. It might be a fun way to reward your longtime users and develop some loyalty.

<comment><AUTHOR> That's a very nice idea! Maybe we'll just upgrade our longterm fans or something like that. Thanks for that; we'll go think what we can do in that direction.

<comment><USER4> Maybe automatically upgrade long term accounts and allow shorter term accounts to apply for approval until some deadline. After the deadline, allow access to content already uploaded on non-upgraded existing accounts, but not new uploads. That way, everybody gets treated fairly, but not equally.

The mistake would be to upset people who have trusted your brand.

Good luck.

<comment><USER3> That makes a lot of sense. This company should get their programmers on this so they can post a quick followup to respond to any backlash. It's clear from this Ask HN the founders really do care and want to make people happy, so they could issue a blog post to that effect if it's needed.

</comment></comment></comment></comment><comment><USER5> I don't have experience with ad-based to paid, but going from beta and free with 100k users to paid in a market with a lot of competitors has been interesting, in a good way.

I think though it depends who is going to be your customer. If they are businesses, many of them prefer to pay as it's normal to them and they can expect certain things when they pay for something.

Once the first bit of paid revenue came in I forgot about all my fears of alienating the customer base and driving them to competitors. Users that expect things to be free tend to be fickle anyways.

For consumers, I don't know, but more of them pay than you'd think.

<comment><AUTHOR> There are some businesses, but most are consumers. The businesses (photographers mostly) already all have premium accounts as they want to upload high res pictures to show to clients.

</comment></comment><comment><USER6> We had 6.5 million free uniques per year and ~200 paid customers on a freemium model and went to free trials / $279/yr.

Revenue almost tripled YoY.

I wrote about it here: [http://wensing.tumblr.com/post/26830276239/bootstrapping- sto...](http://wensing.tumblr.com/post/26830276239/bootstrapping-stormpulse- part-2)

And you can watch me talk about it here: [http://mixergy.com/matthew-wensing- stormpulse-interview/](http://mixergy.com/matthew-wensing-stormpulse- interview/)

</comment><comment><USER7> Off topic, but "Help us to keep your albums stay online" is awkwardly phrased in English. Try deleting the word "stay."

Somewhat on topic: do your users who won't upgrade have a simple tool they can use to download all their albums?

<comment><AUTHOR> Thanks for the off topic; fixed that typo.

And yes they have; you can download all your albums very easily. I'm writing some more text so it is clear. But that has always been possible anyway.

<comment><USER7> Good deal. That said, my opinion is that you're definitely doing right by your users. You're being open and honest about what's going on, and you're not holding their data hostage. I've never gone through this myself, but just remember that you can only do so much, and you can't please everyone.

If you've been running a good service this whole time (I'm betting you have), I'm sure that most of your happy customers will be willing to pay €0.99/mo.

</comment></comment></comment><comment><USER8> Is the letter you wrote to your users [0] the first time they are hearing this, or is your customer base broadly aware already of the issues you're facing.

I ask because if this letter is the first time you are telling your customers their free accounts are going away, it could feel very much like you're holding them hostage. The letter only gives 14 days for customers to pony up some money or their pictures get hidden, and 30 days until they're deleted.

I know it's not a huge amount of money that you're asking, but it is sudden and can rub customers the wrong way.

If you don't have it, it might be useful for you to offer a "download all your images & data" option, as a sign of good faith with your customers. Maybe after 30 days you can archive the photos into cold storage (something cheap, maybe Amazon Glacier), offer a way for users to get their data back, and then permanently delete it further into the future.

[0] [http://picturepush.com/gopro](http://picturepush.com/gopro)

<comment><AUTHOR> We spent quite a bit of time implementing the features needed to make this step possible. We wanted to do this before the 1st of july and this is the first time they hear about it, but they have 15 days to actually get everything off and we have a button for that. So they are not hostages; they just cannot upload new images. I will try to word this more clearly.

<comment><USER9> I have never heard of picturepush, but I will share my reaction. Your letter is straightforward and to the point, and I would appreciate that as a user. My only issue would be the timeframe.

Pictures are really important to people, and many people don't know what to do with all of their digital images. 15 and 30 days sounds like plenty of time to you, but that is no time at all to people who haven't been thinking about doing something different with their pictures. That is especially true when you think about the people who won't get this message right away.

I second the idea of putting your data in cheap storage for as long as you can. A respectful timeframe, if you can make it happen, seems like about 6 months. Getting some revenue initially might make that more feasible. I wonder if you might offer an incentive for people to pay up quickly? For example, anyone who pays for 1 year of service before the 15 days are up gets a discount of x%?

Anyways, I do appreciate the straightforward tone of your letter, and I hope the transition goes well for you and your users.

<comment><AUTHOR> Thanks!

We are not a big site, but we have loyal fans. Unfortunately the loyal fans are mostly not of the spontaneous paying kind which landed us in making losses for many months trying to find some other way to sustain the growth. Our marketing efforts were also focused on the EU mainly because that market is already large enough.

Thank you both for the long term storage advice; we will probably use Glacier. We'll try to see if we can use a combi between Glacier, S3 and our local caching to keep the images downloadable for a few months. But not for live showing as that + hotlinking is where the cost comes from.

<comment><USER10> Also, especially in the EU, do not forget it's summer, hence a vacation period so some user could only find out after their vacations that their pictures are gone !

</comment></comment></comment></comment></comment><comment><USER11> We were once in a similar situation too. Thousands of signups (site featured on techcrunch, mashable, et al) but the ad money wasn't enough. So I said fuck it and we switched to $5/mo with a 14 day free trial. Lot of people were pissed off, and some sites even put our site in their "hall of shame". But guess what? you have to bear the storm for a few days and then it starts to become okay.

What really paid off for us is that we didn't give up and started working on a totally new version of our software (which we wrote from scratch) and instead of $5 or something, we offered rather big premium packages ($49/mo, $99/mo with 40% discount if ordered yearly) and that is when we really started making some good money.

The users got 1/50th, which was good and bad. Good because the insane # of support tickets also dropped and we were running just fine with a single dedicated server. Bad because our traffic dropped badly, but it didn't die all the way. Being on big sites gave us some really good Google rankings that we still have around 100 new signups per day. We could have put a "So long and thanks for all the fish" blurb and killed our site but good thing we stuck around and kept innovating. It's definitely not our flagship product anymore but the site still makes 6 figures yearly. So what i'm saying is try to create something for your audience and try to sell it hard to them. When you have a ton of traffic, even a small segment of customers in your audience can still make you good money.

</comment><comment><USER12> I don't know what your goals for this product are, but at €0.99/month, you're going to need thousands of paying customers to make any noticeable amount of revenue (not even profit).

You might want to try selling sponsorships directly to relevant companies or raise the prices significantly and serve a smaller market. There is no dearth of free photo sharing apps, so maybe it's better to sell some premium services which the free apps don't.

</comment><comment><USER13> I made my web app side project (a text editor for Dropbox) into a paid product. Once traffic picked up on the original (free) app and I gathered feature requests from users, I rewrote the app from scratch and charged for that while keeping the old one online. I did this about 1 year after launching the original app.

It was a great decision for me and for my users because I was able to implement new features and cover their costs at a price that users were happy to pay.

In my case it helped that user data was all in Dropbox, so there wouldn't be any data migration to do in case they decided to move off of my app. I've also found paying customers to be really appreciative and grateful for the app.

</comment><comment><USER14> Going from completely free to completely paid is a bit of an "all or nothing" proposition. There are ways to mitigate risk in this type of transition:

\- Migrate all existing users into a special "free subscription". All new users pay.

\- Have a pro tier and a free tier. Extract value out of the free tier through any combination of ads, one-off payments (aka IAP), having them invite friends to retain access, or generate content in some way.

Would love to hear more techniques for de-risking the act of putting services through this type of transition. Anyone have some?

<comment><USER2> If you have a small business, the free tier doesn't add any value to your website. If everybody pays, the value proposition is very clear for everyone. Also, you need to consider that people, who use your service but don't think that the value of it can be expressed in terms of money, are not a good fit. They are a burden somehow. If they don't get enough value out of the service to pay a few euros a month, then you shouldn't do business with them. Of course, you've got a problem if nobody gets any value out of your service, but then you didn't have a good business idea in the first place.

However, I'd always add a trial period for new people.

<comment><USER15> I've heard things like Photoshop only having the amount of cachet it does in the professional world because of its ease of piracy for students. Sure the prosumers and teenagers who pirate are "not the customers you want" but it can be worthwhile long-term marketing. What's your thoughts on this?

<comment><USER16> Products like Photoshop are a relatively unique case in the sense that they are, in many ways, the only product. There are other other photo editing programs (gimp has actually gotten pretty good at this point), however there is a significant cost to re-learn how to use the new program. This cost to learn effectivly creates a lock-in effect, where the cost of Photoshop is cheaper than the cost of learning something different.

Additionally, Photoshop does not have ongoing costs with pirates. Whereas a web service needs to maintain the servers for the free users. And because Photoshop is pirated, the do not have an expectation of customer support.

</comment></comment></comment></comment><comment><USER17> Ok, I understand this is a difficult decision, but I think you handled it well, giving the chance of them taking their photos from the site is good and fair.

Some alternatives I would have considered:

\- Keeping a free plan with limited space / limited quality (and no hotlinking - not sure you allow this)

\- Separating albums between regular/+18 pictures (so if in +18 no google ads/outside of robots.txt permissions, etc)

<comment><AUTHOR> Thanks for the comments. To give some insight:

> \- Keeping a free plan with limited space / limited quality (and no > hotlinking - not sure you allow this)

We did this already; it pissed off the fans and the freeloaders came in any way. Double loss. This is already less than they had.

> \- Separating albums between regular/+18 pictures (so if in +18 no google > ads/outside of robots.txt permissions, etc)

Well we don't allow adult at all and we don't want to. People just upload them anyway and because of the thousands of pictures coming in all day and night, we cannot screen them. Well we can manually, but then it would be even less feasible to run this.

<comment><USER18> Accounts could be NOINDEX until they are a certain age or get to a certain # of images, and then they get reviewed by hand. You can review by hand using crowdflower or mechanical turk - it's pretty easy to show the first 20 pictures (or whatever) in small, and have a large button. You can optimize the interface to make it very fast, as well.

Flickr did this for a very long time, IIRC.

</comment></comment></comment><comment><USER19> Making a business (especially, its revenue model) that is based on somebody else's business is extremely risky and usually best avoided.

</comment><comment><USER20> Check out the below article to help your monetization efforts past Google: [http://www.monetizemore.com/google-adsense-isnt-the-only- ans...](http://www.monetizemore.com/google-adsense-isnt-the-only-answer/). If you have any questions you can email us at firstname.lastname@example.com.

Kean

</comment><comment><USER21> I do not have such experience, so you can skip my comment, if you wish.

But there is the Dropbox, Github, Bitbucket and many others' model: tolerate the mass of completely free users, have no ads, balancing it with paid accounts with extended functionality, more storage space, etc. From my humble perspective it is a tricky and unstable business model, but it obviously works for many.

<comment><AUTHOR> We tried this model and it was not sustainable. People did upgrade by not by far enough of them.</comment></comment>