The DNC data breach - <AUTHOR> http://blog.ngpvan.com/news/data-security-and-privacy <comment><USER2> For those that are not familiar with the space, campaigns typically use voter contact software to record the results of the conversations they have with potential voters on the phones, at the doors, and over the Internet. In this case, the voter contact software that both the Hillary and Sanders campaigns were using, NGP VAN, had a bug which allowed both campaigns to access each other's private, proprietary data (in this case, I believe, modeling data).

The Data Director on the Sanders campaign discovered the error and (he claims) was verifying and documenting the bug, which was then reported to the Democratic National Committee (DNC) and NGP VAN. The DNC claims these actions were not in good faith, and as a reaction cut the Sanders campaign off from the system.

This is a BIG deal for a campaign, so close to the first elections. Campaigns rely on that data to inform nearly everything they do, and rely on access to such tools to conduct their voter outreach program. Being cut off from the system is crippling for a campaign, likely why the Sanders campaign so quickly sued to get its access reinstated [1].

[1] - [http://www.politico.com/story/2015/12/sanders-campaign- threa...](http://www.politico.com/story/2015/12/sanders-campaign-threatens-to- sue-dnc-216942)

edit: typos

<comment><USER3> Difficulty level in replicating this dataset from secretary of state rolls?

<comment><USER4> I've been working on a project like this for some time now - and wresting with whether I want to go the community-based vs. closed source model.

The problems listed below are pretty exact: huge data sets, lots of cleaning and normalizing, and the snail mail/cd problem is real. Additionally, I'd note that ~40% of the states [somehow] charge for the data...it takes six digits to get a snapshot of all 50 states - and certain states (looking at you FL) say that they do not store the historical, meaning you have to connect with the local BoE's to aggregate the data.

A part of me [now] wants to open source this because of the DNC's actions.

<comment><USER2> Would love to hear more and see if we can't collaborate on this. My email is seth AT amicushq DOT com.

<comment><USER4> i'll fire an email your way shortly. but yea, a conversation would be great.

<comment><USER5> Not to pollute the thread, but I'm also really interested in this, I've worked at both the Clinton campaign and NGP VAN and it seems like a very worthwhile pursuit. If you're adding people, my email is in my profile.

</comment></comment></comment></comment></comment></comment><comment><USER6> If you believe the Sanders camp, this sounds a lot like the Instagram bug bounty issue [1] that appeared on HN recently. Someone from the Sanders campaign identified a bug and to prove their was an issue grabbed private data that they should have never had the ability to access. That is questionable ethically whether they looked at the data or not. The DNC also can't immediately tell if it is the truth or if the data was taken maliciously. Given that, I don't think it is unreasonable to temporarily shut out the Sander campaign until it was fixed. _Although if I was in charge, I would shut out all campaigns until the matter is fully investigated. It isn 't fair to disable one campaign if there was nothing malicious happening. (Never mind, see edit)_

EDIT: Actually on seconding reading the Sander's lockout was not for security reasons and was only done by the DNC in awaiting full details from the campaign. In that instance it wouldn't make sense to suspend any other campaign's access. They are punishing the Sanders campaign in hopes that it causes a quick confession of the exact details of what data the campaign accessed and retained. I still don't think that response is as unreasonable as some Sander supporters are alleging.

[1] - [https://news.ycombinator.com/item?id=10754194](https://news.ycombinator.com/item?id=10754194)

<comment><USER7> I think it is pretty unreasonable. As you note, there is no technical reason to deny the Bernie campaign access to their data. The Bernie campaign has fully indicated they want and are willing to cooperate with a third party investigation into the data breach, which would require investigating both campaigns, the DNC, and NPG VAN. Given they are already willing to share everything they know about the incident, there is absolute no legitimate reason for the DNC to intentionally sabotage the campaign.

<comment><USER6> There is no technical reason, but that doesn't mean there is no reason. Sanders campaign may have violated rules. The DNC has thrown them in jail without bail in hopes that it gets things resolved quickly. I have no problem with that. If the DNC drags this process out that would be a very different story.

<comment><USER8> There is a reason we don't normally throw people into jail without bail...

<comment><USER9> Actually we (in the U.S.) do, if the charges are serious enough or if the suspect is a flight risk. It varies by jurisdiction, but in general misdemeanor charges have pre-set bonds, and usually felony warrants will have a bond set by the judge at the time the warrant is issued, though for serious charges the warrant may be issued with no bond set.

<comment><USER8> Thats why I said "normally"

</comment></comment></comment></comment></comment></comment><comment><USER10> I'm sure Sanders was just polling well, and this is the perfect opportunity for the DNC to pull the rug out under his campaign.

NGP-VAN is crap hack software anyways.

<comment><USER11> Right? Bernie just got some endorsements (which he has been sorely lacking), and all of a sudden this company (the CEO of which is a public Clinton supporter) has a problem that affects the Sanders campaign but not the Clinton campaign, on word from the company that there was a bad actor in the Sanders campaign but not the Clinton campaign.

Sure it's possible that the Sanders campaign did exploit this and the Clinton campaign did not. But I'm skeptical as hell given the political allegiances of the company's leadership.

<comment><USER12> Having actually used NGP-VAN, I think it's far more likely that this was a bug, not a conspiracy. The VAN is a real clunker in many ways, so it's not surprising that a bug like this would appear; and public exposure of a conspiracy to sabotage Sanders would be so catastrophic to the Clinton campaign that I think it's highly unlikely that NGP-VAN would do it.

<comment><USER13> As someone who has had... shall we say, intimate interactions with NGP-VAN's code base, the idea being floated by some Sanders supporters that this is a DNC conspiracy and not a bug is hilarious.

<comment><USER3> So its Sanders' campaign's fault NGP-VAN's code is shit and released information it shouldn't?

EDIT: Why isn't the DNC taking punitive actions against NGP-VAN? Ahh! Of course. Because they're a tight knit "provider" which is essentially the political tech vendor of the DNC.

</comment></comment></comment></comment></comment><comment><USER14> A significant problem with 'dynasties' is that you start to get perceived, if not real conflicts of interest above and beyond governance itself.

As was pointed out in this reddit thread [1],The CEO of NPG VAN (Stu Trevelyan) is a strong supporter of Hillary Clinton and worked on the 1992 Clinton-Gore "War Room," and then in the Clinton White House [2].

[1] [https://www.reddit.com/r/technology/comments/3xbt3w/bernie_s...](https://www.reddit.com/r/technology/comments/3xbt3w/bernie_sanders_campaign_is_disciplined_for/)

[2] [https://personaldemocracy.com/stu- trevelyan](https://personaldemocracy.com/stu-trevelyan)

<comment><USER15> It's irrelevant who the NPGVAN CEO supports: The decision to cut off the Sanders campaign was made by the DNC, not him.

</comment></comment><comment><USER16> A bug of that nature, completely bypassing all permissions, made it past testing (I presume they test). Whatever happened afterward is noise to me. How the hell do you let that happen?

Hardly getting any blame is a neat trick. I wish I had that luxury.

<comment><USER17> Close enough for government work.

See also: "goto fail;"

</comment></comment><comment><USER7> Josh Uretsky and Russell Drapkin copied voter lists [1]. Did they intend to keep and misuse the lists that they copied? If they knew they were being audited, it's unlikely they intended to misused the data and get away with it. Uretsky has experience as a programmer [2]. He might be telling the truth and was only documenting and determining the severity of the issue. On the other hand 20 voter lists is a bit extensive for a proof of concept.

[1] - [http://www.bloomberg.com/politics/articles/2015-12-18/sander...](http://www.bloomberg.com/politics/articles/2015-12-18/sanders- campaign-fires-data-director-after-breach-of-clinton-files)

[2] - [http://heavy.com/news/2015/12/josh-uretsky-bernie-sanders- ca...](http://heavy.com/news/2015/12/josh-uretsky-bernie-sanders-campaign- national-data-director-fired-photos-bio-age-who-improperly-accessed-clinton- data-democratic-dnc-system-access/)

edit: added source

</comment><comment><USER18> That bug seems to be setting back Bernie Sanders, which sucks.

The media going to have a field day with this.

<comment><USER19> Well, at least the media blackout is over.

<comment><USER20> Right? I thought I was still asleep when I opened the news to see a Sanders headline, until I read the story

</comment></comment></comment><comment><USER21> Are there any grey-hat things that can be done keep campaign-parity in the mean time? Strictly hypothetically, I'd throw all of my technical skills at this problem if there was a clear path to a solution.

</comment><comment><USER22> Interesting that Hillary would protest unauthorized access of data when she was running that email server that was not authorized, and arguably was holding much more important information than a voter database.</comment>


America just had its lowest number of births in 32 years, report finds - <AUTHOR> https://www.cnn.com/2019/05/15/health/us-birth-rate-record-low-cdc-study/index.html <comment><USER2> As a counterpoint to most of the other "isn't this good?" comments of this thread, let me say that humanity is, at its best, amazingly capable of invention and creating a wonderful culture.

To have more people is to have more opportunities for those who can contribute to the progress of the world.

We have shown an amazing ability to increase crop yield and, technologically, can feed the world population. That's a feat carried out by generations of growing societies who were driven to innovate because they needed to. As long as there's opportunities for people's creativity there's no such thing as the "carrying capacity" of the planet.

Yes we need to take better care of each other and the earth. But "less people = good" is not the solution to that.

We need to raise up our future with a commitment to people being able to address the problems around them, and not tell each other "it'd be better if you weren't born".

<comment><USER3> I don't think we need a higher population to "contribute to the progress of the world." The World Bank says that 10% of the world's population lives on less than $1.90 per day. Very few people are given high levels of education and career opportunities. The competition for those opportunities is getting more intense all the time. Many people are dropping out of the workforce due to lack of opportunity and hopelessness.

Having an additional billion people in extreme poverty is not going to make the world a more innovative, wonderful and cultural place. If we instead focus on providing more opportunity for the people who are here, that seems much better than creating more people who will only ever have extremely limited opportunity.

Most people have the innate capability to contribute at a high level, but lack the opportunity. A very small number of people, given the right resources and incentives can create massive innovations. It does not take billions.

<comment><USER4> also from the World Bank: in 1990, the percentage of world population in extreme poverty was 37%. Now it is 10%.

It looks like as the population is growing, we are becoming less poor, not more, which dismantles the rest of your argument.

<comment><USER3> I think you are actually helping to prove my point. The global fertility rate has been dropping rapidly since 1970[1]. The poverty rate has also been dropping rapidly for just about as long[2]. Isn't is possible that the increase in living standards is being driven by the decrease in birth rate? That seems more likely than more people=less poverty.

[1] [https://data.worldbank.org/indicator/sp.dyn.tfrt.in](https://data.worldbank.org/indicator/sp.dyn.tfrt.in)

[2] [https://data.worldbank.org/indicator/SI.POV.GAPS](https://data.worldbank.org/indicator/SI.POV.GAPS)

<comment><USER5> > The reflex of many economists when thinking about the fertility rate is to > point to income as the likely determinant. And sure enough, between > countries and over time we see that higher incomes are associated with lower > fertility. But good things come together – richer countries are also > healthier and better educated – and so this correlation between high incomes > and low fertility alone is surely not evidence that it is increasing income > that is responsible for the decrease in fertility.

[https://ourworldindata.org/fertility-rate#what-explains- the-...](https://ourworldindata.org/fertility-rate#what-explains-the-change- in-the-number-of-children-women-have) (Our World In Data: What explains the change in the number of children women have?)

TLDR Major contributing factors are a woman's education (educated woman have fewer children, and delay having children until later in life), access to contraceptives, a reduction in infant mortality, with social norms and increases in income and quality of life to a lesser extent.

Sidenote: Thanks to Our World In Data (YC 19 NP) for performing and hosting top notch datasets and the analysis of such.

</comment></comment></comment></comment></comment><comment><AUTHOR> On a historical level fertility rates appear, with the exception primarily of Africa, to be dropping across the board [0]. There's a concise summary by country on present fertility rates on the World Population Review website [1]. Quite a few surprises as well.

[0] [https://ourworldindata.org/fertility- rate](https://ourworldindata.org/fertility-rate)

[1] [http://worldpopulationreview.com/countries/total- fertility-r...](http://worldpopulationreview.com/countries/total-fertility- rate/)

</comment><comment><USER6> They should focus more on the fact that income hasn't risen to account for a number of expenses that makes it very impractical to have children (debt, schooling, housing, loans, etc.). This is what I feel is contributing more to the fact of lower births.

<comment><USER7> Even in European countries with generous support systems, subsidized day care, free university and paid parental leave the birthrate has plummeted (below the US in most instances).

So I am not sure that it is the cost, just rather a re-orientation of values that has been slowly taking place with the advent of birth control, plentiful food, etc. Human beings were all about the next generation for survival reasons by genetic design even if they didn't want to be.

<comment><USER8> Subsidized day care and paid parental leave doesn't make up for just how much work it is to raise a child in modern times (unlike the old days where you just hoped they survived the first few years, and pretty quickly didn't bother investing much more work into them and left them to fend for themselves).

Before the "nuclear family" became a thing, people lived with their extended relatives, and raising children wasn't as much work.

<comment><USER9> Raising kids is a ton of work, but that doesn't change the fact that only 30% of US households can afford daycare:

[https://www.care.com/c/stories/2423/how-much-does-child- care...](https://www.care.com/c/stories/2423/how-much-does-child-care-cost/)

</comment></comment></comment></comment><comment><USER10> My personal view is that the birthrate in America has dropped because the amount of resources necessary to raise a kid continues to increase. The expectations of what it means to "raise a kid" continue to increase.

Financially, this means providing for them into their mid-20s, often at least through (and including) college. The costs of everything along the way -- housing, clothing, food, education -- continues to grow and outpace income growth.

The other big resource is time. You're expected now to enroll your children in a variety of activities and shuttle them around, rather than give them unstructured time to roam. Families now are more disconnected from their extended families and their communities, so it's harder to get help here. It's up to the two parents (if they're still together) who only have so much time to give.

Basically, the marginal cost of each kid continues to increase, so people have fewer children.

I think another effect is the extension of many of life's milestones. Establishing a career, getting married, etc continue to fall later and later, leaving people less time to build and raise a family.

</comment><comment><USER11> Why are we acting like this is a bad thing? Not having a child is the single greatest thing an individual can do to reduce their carbon footprint. World economy based off of infinite growth is unsustainable. America can keep this economic model for the time being by being accepting of immigrants, but eventually, the birth rate of the entire world will be in decline and will have to base an economy of a static world population, and one that will be quite older than we are used to. Progress comes with its own challenges, doing things to raise the birthrate are not the correct answer.

<comment><USER12> Climate change is bad, because it could reduce the number of human lives.

Therefore, we will reduce the number of human lives to combat climate change.

<comment><USER13> Climate change is bad because it could _catastrophically_ reduce the number of human lives by killing a bunch of people through famine and disease.

That's not at all the same thing as reducing birth rates - which is voluntary and does not cause death and suffering.

<comment><USER14> Yes, but going from positive birth rates to negative could also have a catastrophic effect on human civilization and send us back to a darkage just when we were supposed to tackle global warming.

Maybe it won't be that bad, I've never ran the numbers, but intuition tells me population reduction has never been good for human civilisation.

</comment></comment></comment></comment><comment><USER15> I am in constant fear of losing my job not being able to pay my mortgage and becoming homeless. Why would anyone have babies under these circumstances?

<comment> saiya-jin Why would you take a mortgage, probably the biggest investment in your life, if you don't plan to have kids? Even in places where its actually cheaper to pay mortgage compared to renting there are _so_ many negative aspects to committing to strict payment regime for next 20+ years to a single place, that it doesn't make any logical sense.

In no kids scenario is much better to rent, adapt your place of live to your current situation/market/plans, when retiring just move someplace dirt cheap and awesome.

If you have kids, its a huge value that you can pass to them, if done smartly (if not, it will probably destroy offspring's relationships between them for life).

<comment><USER5> If you have a mortgage, your rent payment is locked in. If you rent, you're subject to annual increases in rent (which can be steep, and higher than inflation).

There are many factors that determine if buying or renting is better for your scenario. Below is a calculator the NY Times publishes which lets you adjust variables to provide an answer based on inputs.

[http://www.nytimes.com/interactive/2014/upshot/buy-rent- calc...](http://www.nytimes.com/interactive/2014/upshot/buy-rent- calculator.html?_r=1) (NY Times: Is It Better to Rent or Buy?)

</comment></comment></comment><comment><USER16> I can't help but feel that general decadence in the last ~40-50 years influenced this.

Other reasons, as far as I can see are:

The destruction of the concept of (nuclear) family. The abject sexual promiscuity and the normalization of it.

The decadence of the Western civilization and the disregard of the values congruent with Christianity resulted in the state that we are in now.

We see the moral values (or worse, the 10 commandments) as something that's archaic, that has no place in a "modern" society and we absolutely tolerate everything and we are afraid of shaming things that _should_ be shamed (based on the effects they produce).

I ask myself, is there some behavior or value that we are allowed to judge people on?

Who do we think we are that we normalize every single demented thing, and additionally we think we have progressed our civilization because of it?

Don't we study history?

(edited - removed a quote that I mistakenly attributed to Aristotle)

<comment><USER17> I don't believe that quote is anything Aristotle said.

<comment><USER16> Oh, that's interesting! I've read it somewhere attributed to Aristotle for sure!

Anyways, the point stands - should we tolerate everything, at all cases, always? Doesn't sound right to me

</comment></comment></comment><comment><USER18> I wonder if and how much modern dating(apps) in the US has contributed to this?

</comment><comment><USER19> This subject always confused me. On one hand, we're told to work to continue this trend in the interest of reducing pollution and carbon footprint and quell the dangers of overpopulation. On the other hand, we're told that shrinking birthrates are a problem, and that we must import workers from overseas to make up what we're losing. And, by crazy coincidence, doing so would be great for massive corporations.

</comment><comment><USER20> Because personality is somewhat heritable and because some personality traits, such as Agreeableness, tend to cause people to want more kids we should expect that this trend will reverse itself given enough time.

[http://hopefullyintersting.blogspot.com/2018/05/falling- fert...](http://hopefullyintersting.blogspot.com/2018/05/falling-fertility- rates-shouldnt-be.html)

</comment><comment><USER21> But is that a bad thing? and I'm not just speaking about America, the entire world I believe there's a decline in Japan's & China's birth rate as well.

<comment><USER7> From an ecological perspective not a bad thing. From a national economy perspective, it is a very bad thing for two reasons.

Capitalism requires an expansion of consumption to grow. Even in a recession/depression the old natural birth rate guaranteed that there would be a larger body of workers and consumers to grow the economy when you came out of it.

Secondly, the elderly require more care (Social Security, Medicare) while also paying lower taxes mostly because of lower earnings. Our social support systems are funded primarily on the assumption that there will always be more young people than old paying into the system to support it.

Once countries stop growing in population the weight of the old really takes its toll on growth.

Export oriented countries can get away with it for a little longer because the populations growing in other countries will support their economies for a while. Japan would otherwise have collapsed by now under the weight of a shrinking population.

Aside from a small core of anti-immigration extremists in the US, most people on the right and left, including our very Orange President, are for legal immigration, which is the best way to stave off population decline.

<comment><USER22> You're assuming that lowering human population would coincide with a lowering of growth.

The labor market is increasingly becoming machine-based, rather than human- based. As the number of humans drops, the number of machines grows.

We need fewer humans to maintain growth, so dropping birth rates could be a good thing, since machines require less maintenance than humans.

<comment><USER7> Interesting theory, but in order for economic growth to occur someone has to be there to buy the goods that these machines will be producing. Fewer humans alive to buy goods with fewer jobs equals a shrinking economy, regardless of how the goods are produced.

At that point we would probably start looking at other economic systems anyway.

<comment><USER22> That assumes machines will not consume goods.</comment></comment></comment></comment></comment>


One Stupid Tweet Blew Up Justine Sacco's Life (2015) - <AUTHOR> https://www.nytimes.com/2015/02/15/magazine/how-one-stupid-tweet-ruined-justine-saccos-life.html <comment><USER2> How did it turn out? Not too bad for her: she still had work and eventually returned to IAG, the employer that fired her for the tweet. [https://www.vox.com/2018/1/19/16911074/justine-sacco-iac- mat...](https://www.vox.com/2018/1/19/16911074/justine-sacco-iac-match-group- return-tweet)</comment>


A Critique of OpenStreetMap - <AUTHOR> http://www.41latitude.com/post/1310985699/openstreetmap-critique

<comment><USER2> I think the problem is that the leading people care more about the data than the official rendering. I am a long time contributor and think the map should be OSM's "figurehead". Only then normal people will like it. The high number of different colours and weird rendering of footpaths really irks me.

I'd say if suffers from too much focus on the code/data and could use some dedicated good designers. They might face a stubborn community though.

It is about freedom and open-source, you can help, I do (one step at a time).

edit: You have to be aware that some of the issues ARE data issues. At least some of the state highway labels are.

</comment><comment><USER3> This is a great critique! I am using OSM for storing thumbs and printable maps for users, but they are pretty poor quality compared to the equivalent zoom google maps. The data is there, it's just the default rendering that isn't. Obviously this can be mostly solved with custom styling, but getting a well functioning tile server is a decent task.

</comment><comment><USER4> About the coloring of maps, I found out about <http://cloudmade.com/> recently and you can make open street map look googly with this, among other color sets.</comment>


Salamander Has Algae Living Inside Its Cells - <AUTHOR> http://www.wired.com/wiredscience/2011/04/symbiotic-salamander/ <comment><USER2> See the endosymbiotic theory[0] for info on a similar phenomenon. In this case, however, the "inner" organism is eukaryotic as well. Not sure what kind of effect that has on the dynamics of intracellular transport processes, but it should be interesting to find out.

0: [https://secure.wikimedia.org/wikipedia/en/wiki/Endosymbiotic...](https://secure.wikimedia.org/wikipedia/en/wiki/Endosymbiotic_theory)

</comment><comment><USER3> The most important thing isn't the fact that these Salamanders have photosynthesis capabilities, it's that they don't have to eat any algae to get those cells. They're passed down, generation to generation. There's a sea slug that robs algae of chloroplasts, then uses those chloroplasts for photosynthesis, and may go the rest of its life without eating. The slug, however, has to eat some algae at the beginning of its life.

If the linked article makes mention of salamander photosynthesis, I do not see it. Therefore, it will be valuable to coordinate these two lanes of research, to end up with a genetically photosynthetic animal.

Sea slug link: [http://www.newscientist.com/article/dn16124-solarpowered- sea...](http://www.newscientist.com/article/dn16124-solarpowered-sea-slug- harnesses-stolen-plant-genes-.html)

<comment><USER4> "Kerney stresses that, contrary to some media reports on the symbiosis, spotted salamanders are not photosynthetic."

This appears to be different than the sea slugs photosynthetic capabilities.

</comment></comment><comment><USER5> Very cool, but what is with that video? It's worthless, 30 seconds of the same thing as the second image at the start of the post.

<comment><USER6> If you watch carefully you can see the salamander embryo changing shape - becoming a bit more egg-shaped intead of round. And you can also notice, near the end, the deposit of algae on the side, before they enter the egg. I'm pretty sure that's what it is meant to demonstrate.</comment></comment>


Google now blocks GApps on uncertified devices,but custom ROM can be whitelisted - <AUTHOR> https://www.xda-developers.com/google-blocks-gapps-uncertified-devices-custom-rom-whitelist/ <comment><USER2> "or if they are a custom ROM user (such as with LineageOS 15.1) then they will need to enter their Android ID at this page in order to be white-listed." How about no?

Thank God I left the Google Ecosystem completely on my now years old and trusty OnePlus One, awesome battery life and all with no google play service alive.

I understand and share the wish to combat fragmentation in the Android experience, it can indeed be daunting for newcomers. Treble was a great step in the right direction, but this is not. Where is the spirit of free customization? Android is not Google, their grasp on OEMs seems disproportionately dangerous. This news comes in the wake of Nvidia using their monopolistic position and screwing Graphics card OEMs into a one-sided agreement to serve only them and not to align their Gamerbrands with "competitors". So an OEM that does not bend over to Google's rules will get a user experience, where Users have to jump through white listing hoops.

I scramble to see the good intentions here.

</comment><comment><USER3> This is the crux:

"this move by Google is to ensure that device makers can't simply bypass Google's CTS and ship devices with the promise that users can simply side-load Google Play apps and services. Doing so will now bring up these warnings which will shame device makers and force them to go through the proper certification channel."

</comment><comment><USER4> I'm interested what the response will be to this. I personally don't use GAPPS on my phone, so the optimist in me hopes this leads to more community effort on FOSS replacements for GAPPS. Realistically, everyone will probably just go through the registration process.</comment>


Inside the store that only accepts personal data as currency - <AUTHOR> https://www.engadget.com/2017/09/07/data-dollar-store-london-ben-eine/ <comment><USER2> I think this is a neat little way to show people their privacy has value. "Free" isn't always free, and the only currency you have isn't necessarily legal tender.</comment>


Announcing Microsoft DirectX Raytracing - <AUTHOR> https://blogs.msdn.microsoft.com/directx/2018/03/19/announcing-microsoft-directx-raytracing/ <comment><USER2> The only issue is that a lot of this is already possible in the current renderers at a reduced cost.

\- Soft shadows work in WebGL fairly well using PCSS: [https://clara.io/player/v2/8f49e7c3-7c5e-43f0-a09c-33a55bb1b...](https://clara.io/player/v2/8f49e7c3-7c5e-43f0-a09c-33a55bb1baf6?wait=true&configurator.show=true)

\- Translucency can be faked effectively using a few different methods. [https://clara.io/view/5c7d28c0-91d7-4432-a131-3e6fd657a042](https://clara.io/view/5c7d28c0-91d7-4432-a131-3e6fd657a042)

\- Screen space ambient occlusion, if using SAO, is amazing. SAO test: [https://clara.io/view/2e1637a7-a41d-4832-923a-e6227d1ebaaa](https://clara.io/view/2e1637a7-a41d-4832-923a-e6227d1ebaaa)

\- Screen space reflections also work. Our reflections are this: [https://clara.io/player/v2/b55f695a-8f4a-4ab0-b575-88e3df8cd...](https://clara.io/player/v2/b55f695a-8f4a-4ab0-b575-88e3df8cd89c?wait=true)

\- Fast high quality depth of field: [https://clara.io/player/v2/ce7d91ed-1163-4cbc-b842-929adc4ef...](https://clara.io/player/v2/ce7d91ed-1163-4cbc-b842-929adc4efbf6?wait=true)

\- Real-time global illumination: [https://www.siliconstudio.co.jp/middleware/enlighten/en/](https://www.siliconstudio.co.jp/middleware/enlighten/en/)

So while I think that Raytracing is awesome, it generally will not increase existing real-time render quality that much. My experience with the game industry, even if you have a better way of doing things, if it takes more CPU/GPU cycles that a hack that achieves basically the same quality, it will not be adopted. It is that simple.

<comment><USER3> While the above is accurrate I think it's a bit one sided.

Physically Based Rendering has become the dominant approach in VFX because it's a huge simplification and productivity boost. Integrating tons of special purpose hacks into one renderer isn't just hard for the renderer devs, the control parameters exposed to artists become an absolute nightmare. Combing the PBR perspective with raytracing greatly simplifies both sides of this.

Not every game is trying to be the next Far Cry. Ray tracing _will_ be adopted by teams that value that unification and simplification over getting the very last bit of performance possible by a pile of hacks. As the hardware improves, which still seems likely, we'll see the balance point of who makes that call shift in favor of tracing IMO.

<comment><USER4> I don't think pure raytracing and ray traced global illumination are going to be adopted by many games if there is still such a giant problem with noise. That is far from a solved problem, even in multi-hour per from visual effects renders.

<comment><USER5> This paper shows pretty good results from essentially throwing a RNN at it:

[1] [http://research.nvidia.com/sites/default/files/publications/...](http://research.nvidia.com/sites/default/files/publications/dnn_denoise_author.pdf)

<comment><USER4> Where will the 1000 frame fly through and the 10 noisy frames that they use come from? I find that paper very disingenuous when they don't count these things in their filtering time.

Not only that, but they compare everything with "1 sample per pixel" knowing that the SURE filter uses per pixel statistics of variance that require more than one sample per to start working.

</comment></comment></comment></comment></comment><comment><USER6> [https://www.youtube.com/watch?v=LXo0WdlELJk](https://www.youtube.com/watch?v=LXo0WdlELJk)

I'm pleased to see that the tech video includes spherical mirrors. As I understand it, all raytracing demos are obliged by _universal law_ to include at least three reflective balls in any promotion of the technology.

One day, someone will figure out a game where these super-shiny ball bearings are a critical part of the gameplay, and at that point, raytracing will finally take off...

<comment><USER7> Even in AAA games of today with amazing graphics, I still see polygons in cylindrical, conical and round objects (I'm not talking about raytracing but regular rendering). Everything looks so realistic, but a well or bucket [1] or some other cylindrical object you encounter looks not round but faceted, breaking the suspension of disbelief.

Raytracing may bring more roundness, but why not quadratic surfaces or some other fast enough to render method of real roundness in rasterizers? It may be expensive (although one surface would replace many polygons...), but it'd solve one of the last remaining uglinesses :)

[1] [https://imgur.com/gallery/AdDyT8B](https://imgur.com/gallery/AdDyT8B)

<comment><USER8> That's just because the industry is stuck using triangles in the art pipeline (and don't put in as much effort into the low-polys as they used to). If they were willing to use some variation of patch-based pipeline so that they could utilize the tessellation hardware that has existed for years, it wouldn't be a problem. I've heard artists are scared of it due to how amazingly awful some editors managed to make the NURBS editing experience, but with a decent editor it really wouldn't be a problem.

Sadly tessellation largely just gets used to screw over AMD performance (for those sweet Nvidia kickbacks; if you're wondering why some games like Crysis 2 tessellate flat surfaces into an insane number of polygons, this is why).

<comment><USER9> > I've heard artists are scared of it due to how amazingly awful some editors > managed to make the NURBS editing experience, but with a decent editor it > really wouldn't be a problem.

That's simply not true. I started getting into (high end) 3D in the early 90's. I've probably used every NURB or higher order surface modeling tool under the sun since then.

In fact, there are many amazing modeling tools for working with NURBs or other higher order surfaces.

They just all don't even come remotely close to polygon modeling when precision is secondary and workflow/ease of use is paramount.

So the answer in the VFX world, for years, has been subdivision surfaces. They have almost all of the good of bi-cubic patch modeling and almost all of the good of polygon modeling. What's more, existing polygon modeling tools can easily be upgraded to subdivision surface modelers by merely enforcing 2-manifold topology and adding the ability to display an [approximation to] the limit surface in real time.

Some of the schemes have nice properties. For example, after one step of Catmull-Clark, the entire surface consists of quads. And when treating each local grid of quads as the control polyhedron of a cubic b-spline patch (not a NURB but an UNRB, a uniform, non rational b-spline patch), the surface of the patch is equal to the limit surface that would be obtained by the subdivision scheme.

<comment><USER10> >> the surface of the patch is equal to the limit surface that would be obtained by the subdivision scheme.

That's not true if any of the vertices is extraordinary. In other words a vertex shared by more or less than 4 quads. The good news is that subdividing those quads each into 4 smaller ones will result in 3/4 of the surface area meeting the right criteria. Or the area hard to deal with becomes 1/4 the size.

The ultimate coolness of subdivision surfaces is that every vertex on a subdivided mesh is a leaner combination of the original vertices. The weights do not change during animation. The weights only change if the topology does. Another nice thing is that meshes at different LOD contain the vertices of the lower LOD mesh.

They really do everything with one exception - they can't exactly represent quadric surfaces which are so important in CAD tools.

</comment></comment></comment></comment></comment><comment><USER11> AMD has a free ray tracing renderer called Radeon ProRender [https://pro.radeon.com/en/software/prorender](https://pro.radeon.com/en/software/prorender). Supported by Maya and Blender among others ...

<comment><USER12> It's too slow to be relevant.

<comment><USER13> Not anymore:

[https://www.anandtech.com/show/12552/amd-announces-real- time...](https://www.anandtech.com/show/12552/amd-announces-real-time-ray- tracing-for-prorender-and-radeon-gpu-profiler-12)

</comment></comment></comment><comment><USER14> > From each light source within a scene, rays of light are projected, bouncing > around until they strike the camera.

Which is definitely not how raytracing is done if you want to get an image before the end of the world occurs. Rays are traced from the camera, and then back to the light sources. Some amount of pre-lighting can be done by tracing photons forwards from lights, but not the main image generation.

<comment><USER2> In path tracing ([https://en.wikipedia.org/wiki/Path_tracing](https://en.wikipedia.org/wiki/Path_tracing)), which is what the VFX industry uses primarily, both directions happen.

<comment><USER15> Does anyone use path tracing for live renderings? I think that is the question.

<comment><USER16> Demosceners are starting to, for sure.

[https://www.pouet.net/prod.php?which=69642](https://www.pouet.net/prod.php?which=69642)

<comment><USER17> Video version: [https://youtu.be/9r8pxIogxZ0](https://youtu.be/9r8pxIogxZ0)

<comment><USER18> epilepsy warning

The demo is amazing on its own as a piece of art, let alone it's done programatically, let alone it's rendered in real time, let alone it's just 4k.

</comment></comment></comment></comment></comment></comment><comment><USER19> That's great.. if you are on Windows. I get that Microsoft works on Microsoft- technology, but it really doesn't help adoption or global development as a whole. DirectX doesn't work anywhere except Windows PC's and the Xbox. That's no biggie for Microsoft, but it's bad for everyone else.

<comment><USER20> > DirectX doesn't work anywhere except Windows PC's and the Xbox.

And most new phone chipsets. And a lot of old phone chipsets. And a lot of ARM-based single board computers. And a lot of non-Xbox consoles like the Switch have hardware support for DirectX...

DirectX is in a lot of places you would not expect.

<comment><USER21> What? All of those places have hardware support for DirectX, but none of them (barring Windows phones) actually have DirectX running on them.

</comment></comment></comment><comment><USER22> Cute video:

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

<comment><USER23> This doesn't even look like it runs at a full 60 frames per second unless they are speeding it up in the editing.

<comment><USER22> I haven't seen evidence one way or the other, but it's specifically labeled "real-time GPU raytracing."

Do you have evidence it doesn't run at 60 fps?

<comment><USER24> Well, the video is clearly dropping frames so obviously not maintaining 60fps...

<comment><USER25> "Real-time" has never meant 60fps. It typically just means interactive framerates - fast enough to drag a camera around or move an actor. You can get away with calling 20fps realtime, and lots of stuff runs at 24 or 30fps. (Obviously nobody wants a game like Doom or Battlefield to run at 20 fps, though.)

</comment></comment></comment></comment></comment><comment><USER26> Friendly reminder DirectX is a proprietary windows-specific API, with its associated lock-in. Don't fall for such simple trap.

<comment><USER27> Have fun shipping a real product on OpenGL without a proprietary binary driver blob.

<comment><USER28> Both nouveau and amdgpu are good enough for every linux game in my steam library.

<comment><USER29> Same here, except all the newer games I probably would like to add to my library but can't because Win/DX only...

Nouveau is still problematic because of the lack of access to the NVIDIA proprietary code, i.e. the extra bits like fan management, monitors, etc. That and it's performance still just isn't there against the proprietary drivers. AMD drivers are pretty good and Wine performance has increased significantly over the last year or so.

Hopefully Vulkan encourages more widely supported game dev, it's a terrible thing that gamers are practically locked into the Windows OS by way of proprietary graphics stack and the old catch-22 of 'no market for Linux games/no games on Linux.'

<comment><USER30> Just like they are locked into every games console ever built and are completely fine with that.

The gamer culture is not the same as FOSS one, cool games, getting hold of IP and belonging to a specific tribe (e.g. PS owners) is more relevant than freedom of games.

Currently Vulkan only matters on Linux and flagship Android devices.

It remains to be seen if Microsoft will ever allow ICD drivers on the Store or what is the actual use of Vulkan vs NVN on the Switch.

</comment></comment></comment></comment></comment><comment><USER31> Anyone remembers Intel's Larrabee project? It featured HW accelerated raytracing. They had Quake Wars running on it: [https://en.wikipedia.org/wiki/Quake_Wars:_Ray_Traced](https://en.wikipedia.org/wiki/Quake_Wars:_Ray_Traced) or video: [https://www.youtube.com/watch?v=mtHDSG2wNho](https://www.youtube.com/watch?v=mtHDSG2wNho)

<comment> orbital-decay Imagination and OTOY also experimented with hardware raytracing on mobile: [https://www.imgtec.com/legacy-gpu-cores/ray- tracing/](https://www.imgtec.com/legacy-gpu-cores/ray-tracing/)

</comment></comment><comment><USER32> Graphics programmers have been predicting this revolution for almost as long as I can remember. It's quite exciting that so many of the big players seem to believe it is almost time.

<comment><USER33> > Graphics programmers have been predicting this revolution...

Mostly it has seemed like it's been everyone except the actual graphics programmers.

<comment><USER8> Yep. There's a billion and a half reasons you wouldn't use full-blown path tracing for games. It'll always perform worse regardless of what you do, the frame budgeting is likely going to be a total nightmare, the tree search you need to trace rays requires too much branching to map well to GPUs (it's perfectly possible, just another absolute nightmare as your complexity goes up), console GPUs are (and have always been) extremely underpowered in terms of compute (but good with textures), etc.

Limited uses? Sure. Otherwise hell no. It's never been more than a gimmick GPU vendors use to show off (in real-time, offline rendering is something else entirely).

<comment><USER2> Maybe GPU vendors will offer specialized spatial look up trees or something .

<comment><USER8> To clarify: that's more of a problem in programming the GPU in a portable manner, and that _may_ or may not turn into a problem depending on the implementation. GPUs can do loops that run a different number of times per thread just fine, at the cost of having to wait for the slowest to finish. Things start to turn sideways if you want diverging branches though (at least AMD _kind of_ has support for this, but it's limited). If you want animations to work there's a good chance your search would become pretty complicated and you run the risk of smacking into that.

Also, I doubt GPU vendors would add special-purpose hardware like that. They'd much rather just add some new shader instructions to help doing it.

<comment><USER34> > Also, I doubt GPU vendors would add special-purpose hardware like that. > They'd much rather just add some new shader instructions to help doing it.

The PowerVR guys added special purpose hardware for doing spatial lookups for raytracing.

<comment><USER35> And it's _awesome._ [1] Getting shadows right for the specifics of a game is a nightmare; balancing shadow acne and performance. Just being able to do one- size-fits-all shadows on desktops would be a major step forward.

[1]: [https://www.imgtec.com/blog/ray-traced-shadows-vs- cascaded-s...](https://www.imgtec.com/blog/ray-traced-shadows-vs-cascaded- shadow-maps/)

<comment><USER8> For reference, VSM/4MSM are a set of shadow mapping techniques that don't suffer from acne, at the cost of suffering from bleeding problems that also need biasing.

Shadows are probably one of the places where raytracing makes a lot of sense though. It's one of few shadow rendering techniques that don't blow a ton of precious fillrate, and it shouldn't take too many rays.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER36> It reminds me the ray-traced game I made a few years ago :) [http://powerstones.ivank.net/](http://powerstones.ivank.net/)

If you don't move, the image "improves" over time. You can change the resolution in the top left corner. Play it in fullscreen. It works on phones, too.

</comment><comment><USER37> Raytracing is sort of like nuclear fusion: a few years away for my entire life. Not clear what changed yet.

<comment><USER38> Well I imagine today's GPU would be more than capable of doing an amazing looking game at 320x240 or maybe 640x480 at a reasonable frame rate.

The problem is at this point people want it at 1080, 4k or 8k.

<comment><USER39> The goalposts have also moved in terms of quality. Raytracing these days no longer just means point light sources and mirrors, but full global illumination with bidirectional path tracing.

Rasterization has improved a lot over the years, so the meaning of "raytracing" has to improve to be competitive.

</comment></comment></comment><comment><USER40> And here's a nice demo from Remedy [https://youtu.be/70W2aFr5-Xk](https://youtu.be/70W2aFr5-Xk)

<comment><USER23> This has a lot of artifacts and does not look better to me than full fledged games that have already been released.

<comment><USER25> It's a tech demo. It's not supposed to look better than retail games, it just shows off some new experimental technology. If you check out the slide deck for the demo they compare each technique with existing solutions (i.e. SSAO vs traced AO, SS reflections vs traced reflections) and the advantages are very obvious.

If you want to see how much existing techniques suffer compared to tracing, just check out the absolutely miserable, incredibly ugly, just disgusting screen space reflections in the brand-new Crytek game Hunt: Showdown. The water is a nightmare.

</comment></comment></comment><comment><USER41> The article says that MS (like everyone else) expects there to be fewer and fewer "fixed-function" features in a GPU with more shifting over to software- defined shader code. But isn't this just an introduction of more fixed- functionality to the pipeline? So what's the advantage of doing it this way versus writing a ray tracer in the current compute shaders?

<comment><USER25> APIs like a ray tracing API can be implemented in driver software (on-CPU) or in device firmware (on-GPU, but programmatic, not in silicon). Technically this also applies for the old fixed-function pipeline, of course, but it's worth considering the difference.

A raytracing API also isn't forced into the pipeline for every rasterized polygon like old features - hardware T&L, geometry shaders, etc - were. It's something you use on-demand in a compute or fragment shader.

</comment></comment><comment><USER42> I can't help but feel this is aimed at making future Augmented Reality (ie. Hololens) applications integrate into their host environments better.. or perhaps I'm just giddily over-extrapolating possibilities!

<comment><USER10> Good point. Ray tracing makes compensating for lens distortion trivial.

</comment></comment><comment><USER43> I'm not sure what's the big deal here; the demoscene has been doing realtime raytracing for many many years:

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

<comment><USER44> Large scene graphs full of dynamically allocated objects with arbitrary motion and animation are a very different problem than a flyover of a static landscape or a Mandelbulb that you're tweaking parameters on.

</comment></comment><comment><USER45> In my experience with blender, though you can create very detailed photo realistic images without raytracing, but using raytracing makes it much easier to make the same photos. It takes longer, but it's probably the direction we're going generally with 3d rendering given Moore's law.

Anyway this seems a little overhyped

</comment><comment><USER46> Unreal Engine 4's post on this [https://www.unrealengine.com/en- US/blog/unreal-engine-4-supp...](https://www.unrealengine.com/en- US/blog/unreal-engine-4-supports-microsoft-s-directx-raytracing-and-nvidia- rtx)

</comment><comment><USER47> So I guess this is to mesh with the new HW support from nvidia and AMD? Because ray tracing wasn't usually the providence of GPUs.

[https://www.anandtech.com/show/12546/nvidia-unveils-rtx- tech...](https://www.anandtech.com/show/12546/nvidia-unveils-rtx-technology- real-time-ray-tracing-acceleration-for-volta-gpus-and-later)

[https://www.anandtech.com/show/12552/amd-announces-real- time...](https://www.anandtech.com/show/12552/amd-announces-real-time-ray- tracing-for-prorender-and-radeon-gpu-profiler-12)

I haven't touched a PC game in ages, would be fun to come back and see some epic like HL3 done up in this.

</comment><comment><USER48> This is quite exciting for augmented reality applications - I think it's a reasonable assumption that the next iteration of Hololens will have some sort of hardware acceleration for this (like Nvidia's RTX w/ Volta announced today).

Relevant:

[https://arstechnica.com/gadgets/2013/01/shedding-some- realis...](https://arstechnica.com/gadgets/2013/01/shedding-some-realistic- light-on-imaginations-real-time-ray-tracing-card/?comments=1&post=23723213)

"I am 90% sure that the eventual path to integration of ray tracing hardware into consumer devices will be as minor tweaks to the existing GPU microarchitectures." \- John Carmack

</comment><comment><USER49> The article's title says raytracing, but the actual text describes path tracing, no?

</comment><comment><USER50> Can this be applied to Path tracing? If so, would this be able to accelerate something like OctaneRender?

I stumbled across this a year or so ago and was amazed at how the realistic image is built up after rotating. [https://home.otoy.com/render/octane- render/](https://home.otoy.com/render/octane-render/)

</comment><comment><USER51> I can't help but imagine the massively power-hungry machines hosting the GPUs necessary for real-time rendering of Pixar-level movie graphics.

Won't this resemble power demands of crytpocurrency mining rigs except actually used for gaming? As if it weren't already bad enough the amount of energy we use per capita...

</comment><comment><USER52> So where are we realistically with ray tracing? What kind of performance can be expected with modern GPUs?

</comment><comment><USER53> Also dont forget to link the SDK: [http://forums.directxtech.com/index.php?topic=5860.0](http://forums.directxtech.com/index.php?topic=5860.0)

<comment><USER53> [https://1drv.ms/u/s!AmttvHQpGvyVbOmqJ4vut9zN3Ss](https://1drv.ms/u/s!AmttvHQpGvyVbOmqJ4vut9zN3Ss)

</comment></comment><comment><USER54> The Seed tech demo advertises depth of field - so does this renderer simulate a lens? Is this common in raytracing?

<comment><USER55> Yes, simulating lenses is standard for physically-based rendering.

</comment></comment><comment><USER53> Awesome. Cant wait to test this out.

</comment><comment><USER56> Ray Tracing is also a lie! Are they giving us an unbiased renderer?

Looks interesting anyway.

</comment><comment><USER57> can this somehow work with autocad, etc so that construction fragments could be previewed in real time with Raytracing and global illumination turned on?

<comment><USER49> "CAD"-like programs from the animation and VFX worlds (Houdini, Modo, etc) already do this, so if Autodesk really wanted to they could almost certainly add real-time path tracing to AutoCAD.

</comment></comment><comment><USER58> Is this open source?

<comment><USER59> No, DirectX is proprietary closed-source technology from Microsoft.

</comment></comment><comment><USER60> Why not path tracing?

</comment><comment><USER61> More discussion at [https://news.ycombinator.com/item?id=16620515](https://news.ycombinator.com/item?id=16620515)

<comment><USER62> We merged that discussion here.

</comment></comment><comment><USER63> how much of this is due to crypto? do they have a raytracing chip that's much less general purpose and specific to raytracing (and incompatible with mining)?

</comment><comment><USER64> So why DX12 and not Vulkan? It's time for MS to start helping the industry instead of proliferating lock-in and complicating things for engine developers.

<comment><USER65> I don't know why you're getting downvotes. DirectX is harmful for consumers and only serves to lock in games and users to Microsoft Windows.

<comment><USER66> Microsoft is the dominant platform for games. What financial gain would they derive from pursuing a non lock in strategy?

<comment><USER29> Sometimes I just wish Valve* would pop up and announce: 'oh so HL3 is coming out soon, and it will be a Steam Linux exclusive for the first 6 months.' While not likely, something like that would be a really interesting gauge of how likely genuine Linux adoption could be...

* I use Valve due to their apparent Linux push with SteamOS (what's the go with that btw!?)

<comment><USER59> Most people are not Linux fanatics like you. 99.9% of people do not care to use Windows as long as it works.

<comment><USER65> According to the Stack Overflow developer survey, the percent of developers using Windows dropped below 50%. Nobody actually likes using Windows (except for a few Stockholm syndrome sufferers and zealots who drink the MSDN kool- aid), it's just that people are forced to use it due to third-party application support like video games. It seems like every week there's a new article on how Windows 10 is shit for users, whether it's spying on them with telemetry, serving unwanted ads, or reseting user settings after forced updates.

Windows is such an anti-brand that they couldn't even get customers to buy a Windows phone after a $500 million advertising campaign.

[https://insights.stackoverflow.com/survey/2018#technology- de...](https://insights.stackoverflow.com/survey/2018#technology-developers- primary-operating-systems)

<comment><USER30> Sorry to disappoint you, but as developer with Stockholm syndrome that left Linux back for Visual Studio, C++ and .NET.

Also former IGDA member and attendee of a few GDC conferences, game developers only care about shipping games and their IP.

AAA studios don't care 1 second about APIs to make a better world.

Adding a new rendering backend to a games engine is a trivial task, when compared to the pile of features a game engine needs to support.

Also most Windows developers don't care about Stack Overflow surveys.

<comment><USER64> _> Adding a new rendering backend to a games engine is a trivial task_

You keep saying this, but it remains false. If it would have been so trivial, studios wouldn't have hard time adding such backends and wouldn't need to hire third party porting experts when they decide to do it. You can see how long it takes major engines like Unreal to make a fully functional backend (since features added to such engines are publicly communicated). It's very clear it's not trivial at all.

And MS and Co. obviously do all they can to keep this difficult, that's the main idea of their lock-in which they designed to tax developers with.

What's bad though, is your justification of this practice.

<comment><USER67> It's trivial in the sense that it's low technical risk. I've not worked in the games for a while. At one company with an inhouse engine the rendering backend was initially DirectX9 written mostly by one person. He then implemented the Xbox360 backend. Another person did the backend for PS3 (OpenGL based). Don't have the exact timings it was ten years ago, but after the initial material, geometry lighting pipeline was done (and that's independent from the backend), the engine guy was never on the critical path.

They added Wii, DirectX10, iOS and Android backends while I was there. None of these were ever considered risky and none had more than one person working on it. Each console/platform has it's own quirks in how to optimise the scene for rendering but the having something rendering on screen is pretty much trivial once you have the machinery in place.

I can't speak for Epic, they are making an engine for every possible game and every possible rendering scene which is a harder problem than what we were doing. But the rendering backend isn't the hard part.

<comment><USER64> _> It's trivial in the sense that it's low technical risk._

The problem is not in the risk, but simply in the cost itself. It's an extra tax to pay. However quality can also suffer, see below.

 _> I can't speak for Epic, they are making an engine for every possible game and every possible rendering scene which is a harder problem than what we were doing. But the rendering backend isn't the hard part._

The story of Everspace illustrates my point. They were bitten by multiple issues in OpenGL backend of UE4, and it took Epic a long time to fix some of them. Their resources are limited, and they are more focused on more widespread backends obviously. Which is exactly the result lock-in proponents are trying to achieve.

<comment><USER67> Sure, there is effort involved, but from my point of view it's a small one (a couple of man months on a project with 50+ coders). I'm going to have to make adjustments between the platforms because the hardware is different. Even on a DirectX PC, you can often have a lot of differences between the rendering scene for Nvidia, AMD and Integrated Intel gpus.

Don't know exactly what issues Everspace had with the UE4, but you want to have a fun night go out with some Epic licensees and get them to tell you war stories of issues they have had when they tried to do something which Epic hadn't done in their games. You're paying Epic for the "battle testing" and often they didn't fight those battles.

Part of the reason I left the games industry is that once you work at studio with an internal engine it is extremely frustrating to work on AAA games without the freedom to walk over to the engine programmer and get them to move the engine closer to what you need.

<comment><USER64> _> Part of the reason I left the games industry is that once you work at studio with an internal engine it is extremely frustrating to work on AAA games without the freedom to walk over to the engine programmer and get them to move the engine closer to what you need._

Internal engines also on average are less cross platform. Simply because big publishers and shareholders don't want these very expenses that creep into development because of lock-in. That's why many Linux releases for such games use source or binary wrappers, rather than proper native rendering to begin with. This highlights my point above.

<comment><USER67> I disagree with the characterisation that internal engines are less cross platform because of lock-in, the big publishers don't care about lock-in. It's not part of the calculus in deciding whether to support a platform or not.

A port of a game is more than changing the low-level APIs used to control the hardware. It's the hardware of the platfrom the decides the complexity of producing the port.

Linux is a special case because it's the same hardware as a the Windows. Your market is people who want to play the game but aren't dual booting. Most of the issues with producing your port are going to come down to driver incompatibilities and the fact that every Linux system is set up a little bit differently (the reason Blizzard never released their native Linux WoW client[1]). It's not a big market and there are loads of edge cases.

For big publishers and AAA development, they're not looking to break even or make a small profit. They need to see multiples of return on their money or they aren't going to do it. Using a shim is cheap and doesn't hurt sales enough to matter to them.

[1] [https://www.phoronix.com/scan.php?page=news_item&px=OTA0NQ](https://www.phoronix.com/scan.php?page=news_item&px=OTA0NQ)

<comment><USER64> I'm looking at publishers who do release Linux games using internal engines. Most of them use binary or source wrapping. Only a minority are implementing proper native rendering in those engines. And I bet it's based on cost considerations like I said above. How would you explain it otherwise?

And I'm sure that cost plays a role when small market is evaluated. The higher is the cost, the less likely such publisher is to care, because prospects of profits are also reduced. So it goes back to my point. Lock-in proponents like MS and Co. benefit from lock-in in slowing down competition growth.

<comment><USER67> I agree that cost is a consideration of doing the port. From my experience what renderering API is used at the bottom is a very small factor in that cost calculation.

I think where we disagree is that I don't think of the lower level API as being much of a lock in. The better graphic programmers I know have pretty extensive experience of the various flavors of DirectX and OpenGL. The general principles are the same and good programmers move between them easily.

<comment><USER64> _> I think where we disagree is that I don't think of the lower level API as being much of a lock in._

Lock-in here doesn't mean they have no technical means of implementing other graphics backends, it means that implementation is hard.

A lot of common middleware supports Linux just fine. It's graphics that's usually the biggest hurdle. People have expertise to address it, but it's still a tax to pay. And different distros support is a very minor thing in comparison.

If graphics is not the biggest issue, what is then in your opinion?

<comment><USER67> > If graphics is not the biggest issue, what is then in your opinion?

Graphics is the biggest issue, but the issue isn't at the API level. It's in the driver and hardware differences below that layer.

The "tax" as you call it, comes mostly from the hardware drivers leaking through the abstraction. Part of this is AAA game developers fault since they are attempting to use all the GPU with edge-case tricks to eke out more performance.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Show HN: Multigrid Dreams with Hints of Recursion - <AUTHOR> https://rosshaker.com/alice.html <comment><AUTHOR> These are music portraits that unfold as you tap on the grid elements. This show contains 9 digital art pieces - with a general theme of recursion. Previously, I released a show focusing on the "uncanny valley" [0]. You can find a discussion of that show on Hacker News here [1].

[0] [https://rosshaker.com/shows.html](https://rosshaker.com/shows.html) [1] [https://news.ycombinator.com/item?id=17941815](https://news.ycombinator.com/item?id=17941815)</comment>


Nebraska's first execution since 1997 will proceed - <AUTHOR> http://www.foxnews.com/us/2018/08/10/nebraskas-first-execution-since-1997-will-proceed-after-judge-rules-in-favor-inmates-wishes-to-continue.html <comment><AUTHOR> The interesting part is the supplier of the drugs trying to stop it. But... "U.S. District Judge Richard Kopf ruled against the company, arguing that temporarily blocking the execution would 'frustrate the will of the people.""

Of course. Who cares about legality and contractual obligations, when the WILL OF THE PEOPLE is concerned?

It used to be that laws are there, among other things, to restrict the people from doing bad, but popular things.</comment>


Don't Call it a Fast Lane - <AUTHOR> http://dontcallitafastlane.com/ <comment><USER2> For those who don't click through, can you explain the essence of the issue?

Something like, "Your cable company already charges you the world's highest price[1] to deliver data. Now they want to get paid twice for the same data, or they'll put you in the slow lane. Stop the monopoly toll collectors."

[1] [http://www.bbc.com/news/magazine-24528383](http://www.bbc.com/news/magazine-24528383)

<comment><USER3> Yes, as I alluded to in my comment, tolls and extortion are the talking points/buzzwords the pro-net neutrality side needs to be getting out there. The best part is that they are accurate (toll more so than extortion, possibly, but my point stands).

<comment><USER4> _tolls and extortion are the talking points /buzzwords the pro-net neutrality side needs to be getting out there_

It might seem that way at first, but the most effective way of winning people to your side is usually _not_ to come up with the most inflammatory language you can possibly justify.

<comment><USER5> Been working pretty well for the republican party so far

</comment></comment></comment></comment><comment><USER3> I think "Fast Lanes" is terrible, "Slow Lanes" is better, and "Toll Roads" is most accurate. The end of any pretense of net neutrality opens the doors for all manner of censorship, or more likely, extortion.

"Sure is a mighty nice website you got there, be a shame if our 50 million subscribers couldn't access it...."

<comment><USER6> > "Sure is a mighty nice website you got there, be a shame if our 50 million > subscribers couldn't access it...."

The FCC explicitly said that kind of thing would not be allowed under their proposed regulatory plans. Do you have a reason to believe otherwise?

<comment><USER3> Netflix is essentially unwatchable for many comcast subscribers due to high congestion during peak hours. If the peering connections are sufficiently overloaded/congested, there isn't too much appreciable difference.

On the other hand, give an inch, give a mile. The ISPs want toll roads, and if they get the ability to charge other peering services and content providers to carry their traffic over non-congested pipes, I don't see why they won't get toll roads from some other patsy they buy off later.

</comment></comment></comment><comment><USER4> I don't think saying "nuh uh, it's a _slow_ lane" is going to be a real winning argument. Simply accusing the other side of doing the complete opposite of what they claim to do needs a lot more political savvy.

Maybe try pointing out how manufacturers sell the same printer to homes and businesses at different price points, except that the home version is _deliberately slowed down_ instead of the business version being any more advanced. I think that's the (legitimate) fear you are trying to express.

<comment><USER7> can you source a reference to the printer reference? I'm interested in reading more about such phenomena.

<comment><USER8> I can't speak to the printer case but silicon manufacturers do this to an absurd degree with their SKUs. See the GTX 690 to Quadro conversion hack [1].

[1] [http://www.tomshardware.com/news/Nvidia- GTX-690-Quadro-K5000...](http://www.tomshardware.com/news/Nvidia- GTX-690-Quadro-K5000,21656.html)

<comment><USER9> There are a few cases of this, but mostly this is done as a way to deal with variations in manufacturing as explained above. Furthermore, from that article:

> We do know if the system sees the card as a Quadro K5000 card, but we cannot > be sure about whether it actually performs like one or if it is entirely > bug-free.

You change the Device ID and the OS thinks it's something else, sure, but you could do that with anything with comparable specification.

</comment></comment></comment></comment><comment><USER10> I've just talked about this in another thread so I'll summarise it here.

Cloudflare should implement this for their clients to opt in to protest.

They identify IP ranges that are related to people who can threaten or influence net neutrality. E.g. Comcast, congress, any backers of this new bill, even Comcast customers, etc

When a user from one of these blacklisted IP ranges visits your site they get presented with the 'protest page'. It explains why they are about to be throttled and how they can join the protest (contact congress rep, etc). It also shows participating protest sites as a leaderboard - total throttled users (featuring Cloudflares biggest customers).

I don't even mind if they inject a banner onto the top if my website that announces me as a proud supporter of net neutrality.

</comment><comment><AUTHOR> I threw this up real quick. Was inspired by a comment on reddit: "Are we really still fucking calling these "Fast lanes?" Fast lanes sound good! We should be talking about "Slow lanes" since that is what you will be on if you don't pay up."

Also inspired by Brad Feld's suggestion (I think it was) that we all just throttle our servers so we can give people a taste of what the slow lane feels like.

<comment><USER11> I think this is a great tactic to raise awareness, but what you're presenting right now doesn't really make the case.

You're not giving the viewer any sort of meaningful reference point. Indeed, what you're showing them _shouldn 't_ feel like a fast lane, since you're not one of the established players paying for one!

A more effective narrative should throw into relief the gradual transformation of a non-neutral net. Visualize how when the big players can pay to get to you faster, everyone else gets (relatively) slower.

</comment></comment><comment><USER12> It's Extortion.

I see no reason why Comcast should need more money to deliver a 5mb HD video stream over my 50mb connection. Now if Comcast wants to charge extra to stream 5mb video over a 1mb subscriber line (increasing the BW for that video), then go for it.

</comment><comment><USER13> I think a better tactic/branding would be to call it "double billing" or "double charging". Fast/slow lanes do sound like something you should have to pay for.

</comment><comment><USER14> What does "open internet" even mean? Like, what is the actual _law_ proposed and what does it _say_.

"Net neutrality" and "open internet" sound as meaningless and confusing as "healthcare reform."

</comment><comment><USER15> Has anyone A/B tested the different language choices around Net Neutrality? Or focus groups?

For example, Frank Luntz did lots of focus group studies to figure out how to persuade people, simply by choosing the right words. "Estate Tax" became "Death Tax" for example.

Rather than just "be creative", we should put those different creatives through the data-driven approaches (A/B tests & focus groups) to find what will resonate & persuade the audiences outside of the HN-insider / reddit- insider cohorts.

</comment><comment><USER16> Perhaps it's been on HN already, but this video [1] uses a books-from- different-vendors, one-shipping-company analogy.

Plain-speaking and clear IMO.

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

</comment><comment><USER17> While we are at it, dont make websites like dontcallitafastlane.com

I opened it in a new tab, and when I got to it it showed the text which made no sense at all. The subject is worth discussion, but this doesnt start discussion.

</comment><comment><AUTHOR> I've updated the copy on the site. It's better than it was before, but still not great. Open to any suggestions.

</comment><comment><USER18> What is the loading time based on? I have a hard time making anything of this without a reference.

<comment><USER19> The time is intentionally long to simulate a throttled connection loading content.

<comment><USER18> I'm quite aware. But was it just a random time meant to be annoying? Or is based on a predicted loading time for some particular type of site based on estimated bandwidth?

</comment></comment></comment><comment><USER20> Was really hoping this was commentary on freeway lane choices and people instinctively moving left into the "fast lane" even when they have no one to pass. It's a passing lane, not a fast lane.

</comment><comment><USER21> This just kept loading, so I killed it without looking.

What is wrong with text????</comment>


Designed a Prototype of COVID-19 Community Response App - <AUTHOR> Designed a prototype of #COVID19 Community Response app, which is a community contributed informational app. Published as open source
Prototype https://bit.ly/38NnS17
info Document https://bit.ly/2w8hDrx
I've designed it & will continue to polish it further, requesting Engineers to code & publish this for human benefit. Unfortunately I don't know how to code :( <comment><USER2> Can you share it in our open challenge? We have created a challenge to serve as a showcase to all covid open source applications. Here we have the initiave: [https://taikai.network/taikai/challenges/covid-19](https://taikai.network/taikai/challenges/covid-19)

<comment><AUTHOR> Sure and many things for inviting</comment></comment>


Washington Post's 'Bandito' Tool Optimizes Content for Clicks - <AUTHOR> http://www.wsj.com/articles/washington-posts-bandit-tool-optimizes-content-for-clicks-1454960088 <comment><USER2> The WaPo-owned slate.com has been doing frequent renaming of articles for a while now. I suspect they've been a testbed for Bandito or a similar system. One very frustrating side-effect is that I am often drawn to click on the same article multiple times. That's because it shows markedly different headlines for the same article, sometimes even on the same page simultaneously.

Case in point, as of right now, slate shows a headline: "What Bernie Sanders' Victory Means"

and lower on the page: "It's Official: Bernie Sanders Just Won New Hampshire"

both of which link to the same article, which sports the quotidian title "Bernie Sanders Wins New Hampshire".

The two front-page headlines are not just tweaked variants of each other, they sound like substantially different articles, one a reporting-the-news article and the other an analysis piece.

This is super-frustrating to me, because I keep feeling like the site is wasting my time and attention. It's starting to drive me away from slate overall. I wouldn't be surprised if something similar happens to the WaPo.

<comment><USER3> Not disagreeing with the headline behavior, but just FYI, WaPo doesn't own Slate. They were both once owned by the Washington Post Company, but the Company sold only the paper to Bezos, and renamed itself to Graham Holdings shortly thereafter. It still owns Slate.

</comment></comment><comment><USER4> Is Your Newspaper Iterating Down To Buzzfeed? One Weird Trick To Get More Readers.

</comment><comment><USER5> So this tool picks the title that gets more often clicked on. If they'd only use it for one article or section of their site, this section probably get an advantage compared to the rest. But they want to use it on all articles to get an advantage over the competitors.

I wonder if this actually improves absolute engagement, or whether it just improves engagement with each post relative to the others.

I fear they are optimizing the wrong variable. If they don't take into account click counts for competitor's web sites, then they will have a lot of "optimized" click-baity headlines. Those will always win in A-B tests against non-optimized WP headlines, but not necessarily against competitor's articles, and especially it is not said that they will increase the total traffic to the WP.

In the worst case, every link will say "Click here to receive your free prize!"...

</comment><comment><USER6> 'bandito' likely comes from multi-armed bandit, a technique for implementing a/b tests ([https://support.google.com/analytics/answer/2844870?hl=en](https://support.google.com/analytics/answer/2844870?hl=en))

<comment><USER7> Also used for game AI, like the MCTS that dominated computer go for ten years.

</comment></comment><comment><USER8> I imagine that the only reason that the title is not "How Washington Post's 'Bandito' Tool Optimizes Content For Clicks" is that the editor of the WSJ rejected it.

</comment><comment><USER9> I was expecting the headline to be something in the line of "Find out the shocking way this Amazon-bankrolled newspaper is getting more clicks!"

</comment><comment><USER10> Well we didn't want to pay for journalism. This is how we pay now.

<comment><USER11> Speak for yourself. I was bombarded with free content for two decades, they didn't ask me for money.

</comment></comment><comment><USER12> Testing titles isn't that innovative on the whole but coupled with different teasers on the homepage and automating that test seems to be something you don't often see.

For example, on the homepage now the primary headline is "Trump, Sanders roll to victory." It actually goes to the same story as "Jumbled finish could keep GOP field from thinning." I suspect bandito would test headlines but also integrate into which story to put in the headline to increase engagement.

</comment><comment><USER13> I find this unsurprising. I'd always assumed that some of the more clickbait- ey 'news' sites were doing this already.

<comment><USER12> I've always thought that between clicks and SEO, this is why the URLs of articles sometimes can vary so widely from the title.

</comment></comment><comment><USER14> More details are in a blog post [https://developer.washingtonpost.com/pb/blog/post/2016/02/08...](https://developer.washingtonpost.com/pb/blog/post/2016/02/08/bandito- a-multi-armed-bandit-tool-for-content-testing/)

</comment><comment><USER15> The first person the article gives credit to is Bezos, asserting his presence influenced the tool. Is it safe to doubt he had anything to do with this? I would expect this type of tooling from any web publication with in house engineering staff.

</comment><comment><USER16> There have been wordpress plugins that do this for years. What is surprising is that one of the largest media companies in the world just figured this out, when internet marketing shmoes have been doing this with $20 php scripts for years.

<comment><USER17> People were aware of it, but considered it the domain of internet marketing shmoes. Sadly, the media keeps losing money, so one by one those principles get compromised.

</comment></comment><comment><USER18> So... this is just A/B testing? What's so newsworthy about this? Would've been really something if it could optimize content that's not going to be seen by 100,000 people. Kinda hard to A/B test something that will only have 1000 pageviews in its lifetime.

<comment><USER19> You seem to be lacking perspective. The deterioration of both journalism and basic respect for the reader isn't "just" anything.

<comment><USER18> Actually, my comment was from a different perspective. The article seemed to talk about the technology as it was complex, and ground-breaking. I'm saying.. it's not so special - it's just A/B testing, not some rocket science thought up from Mr. Bezos. I actually agree with you - I hate this too.</comment></comment></comment>


A Browser Is a Search Engine - <AUTHOR> http://googlesystem.blogspot.com/2009/06/browser-is-search-engine.html <comment><USER2> This video is a great reality check. The people in this video are probably quite adept at getting around online, but have no idea how it actually works.

Many people refer to the address bar as their "google bar." I've heard seen this in several customer service e-mails.

They may well be predicting the future. Google has combined web address and search into one box, and with Wave they're bringing IM and e-mail under the same roof.

</comment><comment><USER3> Goes to prove Google has a very strong position on the market.

My guess is, a lot of people would choose Google as a provider of any internet- or computer-related service or goods from among of several vendors. And would trust Google with their data, be it private or related to their business.

Google OS anybody?

<comment><USER4> Surely you kid:

[http://googleblog.blogspot.com/2009/07/introducing-google- ch...](http://googleblog.blogspot.com/2009/07/introducing-google-chrome- os.html)

<comment><USER3> Thanks, saw it long ago; it's pretty hard to miss the hottest topic on HN.

The comment was only to point out Google Chrome OS comes at really fitting time. Five year ago, perhaps only a bunch of geeks would install it.Today, every other casual user will be interested.

<comment><USER5> * Five year ago, perhaps only a bunch of geeks would install it. Today, every other casual user will be interested.*

I would like to think this, but Android isn't really enjoying the success of the iPhone. People like Google, but are still happy with alternatives.</comment></comment></comment></comment>


Stay up late - <AUTHOR> http://alexsblog.org/2014/05/06/stay-up-late/

<comment><USER2> This is terrible advice. While I understand the author's desire to encourage people to not give up, if you've been working on a problem for several hours without a solution, it's time to do something else and let your subconscious churn on it.

</comment><comment><USER3> Dont stay up late. You will feel worse the next day. Get up early instead.</comment>


Show HN: My startup sim game for iPhone - Hipster CEO - <AUTHOR> https://itunes.apple.com/us/app/hipster-ceo/id731368826?mt=8&ign-mpt=uo%3D2

<comment><USER2> This actually looks fun and solid. Nice work, love the work you did on the interface especially. Nice and tidy.

<comment><AUTHOR> Thanks buddy!

<comment><USER3> Had a play around last night. Not bad (even though I don't seem to be CEO material :P).

Seems leaky after a while though, and the UI bug where the back button disappears until you switch tabs is pretty annoying. Look forward to an update so I can continue to crash and burn.</comment></comment></comment>


Stevey's Google Platforms Rant (2011) - <AUTHOR> https://plus.google.com/+RipRowan/posts/eVeouesvaVX <comment><USER2> This post, and posts about this post, have been reshared plenty since 2011. [https://hn.algolia.com/?query=yegge&sort=byPopularity&prefix...](https://hn.algolia.com/?query=yegge&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

<comment><USER3> Title should probably have a [2011] at the end too.

</comment></comment><comment><USER4> This is from 2011. 7 years ago.

It would be nice to see if there was a change at Google since then to orientate itself towards more of a SOA thing like Amazon? I don't know what state Google Cloud Platform was back in 2011 - I am guessing it is significantly more now than it was then, so would be curious to know if that has stemmed from a "transformation" internally, or if they just started from scratch for GCP?

<comment><USER5> I'm a newer employee, so I can't add color to the past several years of work, but my immediate reaction is Yes. Given the "We <3 APIs" slogan you can see around the MP campus (from public view of course) it's pretty apparent that there was a top down push towards improving the state of SOA and building platforms.

Whether that applies to non-Cloud Google I don't know. But I don't even think GCE existed in 2011. A lot has changed.

<comment><USER6> "I/We love APIs" has actually been Apigee's slogan since before the acquisition into Google Cloud

Example: [https://apigee.com/about/blog/digital-business/tweet-your-- i...](https://apigee.com/about/blog/digital-business/tweet-your--i--apis- sticker-contest)

Apparently hackernews tampers with unicode in urls, so additional link:

[https://www.accenture.com/us-en/blogs/blogs-i-love- apis](https://www.accenture.com/us-en/blogs/blogs-i-love-apis)

</comment></comment></comment><comment><USER7> >>You know how people are always saying Google is arrogant? I'm a Googler, so I get as irritated as you do when people say that. We're not arrogant, by and large. We're, like, 99% Arrogance-Free. I did start this post -- if you'll reach back into distant memory -- by describing Google as "doing everything right". We do mean well, and for the most part when people say we're arrogant it's because we didn't hire them, or they're unhappy with our policies, or something along those lines. They're inferring arrogance because it makes them feel better.

Given how Steve moved to Grab it's funny how his "they hate us cuz they ain't us" bit in itself comes off as arrogant.

<comment><USER8> > I'm a Googler, so I get as irritated as you do when people say that. We're > not arrogant, by and large. We're, like, 99% Arrogance-Free.

And the post starts with "Amazon does everything wrong, and Google does everything right".

<comment><USER7> Yeah, this irked me when I first read this a few years ago, but reading this as a current Amazonian it really riles me up.

</comment></comment></comment><comment><USER9> The thing about API and platforms is, stability matters, and it matters a lot. Google can't stop fiddling with things, their products and their APIs and legal terms; they just keep changing things constantly. It makes it incredibly annoying to build anything on Google tech.

Things built on Microsoft tech still work decades later without any change. I have things built on AWS that's still running on 6 year old APIs and they still work. With Google, I'm lucky if it lasts 6 months.

<comment><USER10> My google app engine website is still running after nearly 10 years. I only had to update a .yaml file once.

</comment></comment><comment><USER11> > head over to developers.google.com and browse a little. ... It's like what > your fifth-grade nephew might mock up if he were doing an assignment to > demonstrate what a big powerful platform company might be building if all > they had, resource-wise, was one fifth grader.

Amazingly, this is now _more_ true than when it was written.

Look at the top categories under the 'products' menu, compared with the same menu on aws.

</comment><comment><USER12> I recently interviewed with Google and their recruiter's, presumably copy-and- pasted, spiel included the following footnote:

"Steve Yegge (former Googler) talks about his interview experience and "How to Get that Job at Google" in his blog post here[0]."

Which I found strange given that (A) Steve wrote it 10 years ago and (B) he's more recently written[1] that "The main reason [for leaving] Google is that they can no longer innovate."

[0] [http://steve-yegge.blogspot.com/2008/03/get-that-job-at- goog...](http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html)

[1] [https://email@example.com/why-i-left-google-to-join- gr...](https://email@example.com/why-i-left-google-to-join- grab-86dfffc0be84)

<comment><USER13> I was sent that same post when I interviewed 5 years ago. I wonder if they have data indicating success of interviewees who were sent that link.

If nothing else, the recommended book "Steven Skiena's The Algorithm Design Manual" is very good to prepare for the Google interview.

<comment><USER12> Right, I was commenting less on its utility as a prep. resource than how it seems, to me, either stale or incongruent on Google's marketing front.

</comment></comment></comment><comment><USER14> It's funny how much he talked up Facebook's "platform", but all of their platform work has contributed very little to Facebook's bottom line, and has even caused them issues in the case of Cambridge Analytica.

</comment><comment><USER15> My admiration for Steve Yegge plummeted after his article on why he moved from Google to Grab.

He was talking about how Grab had some sort of moral highground above Uber, but if he spent even 10 mins researching he would see that objectively they are worse in Southeast Asia. And their behavior after Grab bought Uber in Southeast Asia was nothing short of ruthless. I have family in the area so I have first hand accounts as to what happened, so him talking about how proud he is working at Grab because they are somehow moral really made my lose my respect for him.

<comment><USER16> I haven't heard anything about what Grab is doing beyond Yegge's post about it; what's going on there?

</comment></comment><comment><USER17> Wow I remember when this was published and such a good rant. Had to read again for laughs. SOA is sort of the older term... a subset which is a better description of where platforms should be heading is microservices. Issues like rate limiting still exist but need to get away from things like api gateways as well as they are becoming a sort of antipattern for scaling massively. They're useful for certain problems but not necessarily as useful as lower level message queuing engines that need to handle high volumes of transactional throughput.

<comment><USER18> The biggest difference I've seen between SOA and microservives is that people have been able to explain to me what SOA means.

Aside from that, the term "microservices" implies a bunch of anti patterns in itself, and brings to mind horror stories of startups with three times as many microservices as engineers that invested multiple man-years in setting up Kubernetes to do something that could have been accomplished with a fraction of the cost in 2005 with ASP.NET and Microsoft SQL Server.

Service boundaries are significantly more expensive than people assume. A monolithic web application, or even a "macroservice", can still be scaled horizontally with network dependencies on a shared database and can call any code or access any local data with the same basic guarantees of any other computer program. Your procedure calls are normal procedure calls, whose contracts and interfaces are as efficient and safe as your language's type system allows. You can have unit and functional test coverage that exercises virtually all of your feature or application without needing to deploy and integrate multiple services. You can achieve better focus and deeper investments in infrastructure when there are fewer services to deploy and support. The only issues with concurrency and distribution you have to worry about are whether you are writing threadsafe code in the first place, your connection to your database, and perhaps cache invalidation.

The minute you introduce a service boundary, you throw all of that away. API calls have to be documented, versioned, and validated on both sides. Tooling exists for this (Swagger, gRPC, GraphQL), but the complexity is much higher. Testing requires deploying interdependent services in a shared test environment. Your service interfaces have to be built with some well- considered strategy around resiliency and consistency because you might (and, with enough services, statistically _will_ ) have to keep running with some unavailable dependencies. Even dependency management, which is already a hell in itself, becomes combinatorially harder when you have to design around the requirement that your service dependencies (and the services that depend on yours) can change at runtime with you being none the wiser.

Now, at times, you don't have to incur all these costs. Some services are inherently independent. Some behaviors can and should happen e.g. on a message queue or on a schedule rather than in response to live traffic. And, at a certain scale, you need to separate your data stores, decouple your feature deployments from each other, or reap many of the other benefits of SOA. But those benefits aren't free; they're extremely expensive, and companies on the scale of Amazon or Google reap those benefits not because they are inherently wonderful, but because despite the costs, they are the only way certain things are possible in the first place.

If monoliths are the communist planned economy of web applications, SOA are the market economies. They can scale a lot, lot more, but at the added overhead of everyone having to squint at each other suspiciously and distrustfully.

</comment></comment><comment><USER19> I remember reading something like this, not sure if the same piece, but I missed this bit:

 _monitoring and QA are the same thing_

Makes me want to read more from this guy.

</comment><comment><USER20> I actually wrote an email similar to this recently (re: interfaces) to folks on a project I'm working on, though of course I didn't nor could I threaten to fire anyone :)

</comment><comment><USER21> is this being reposted in relation to some recent event that i missed, or is it just that time again?

<comment> brian-armstrong Might be because g+ is being turned off soon. Enjoy the spoils while you still can.

</comment></comment><comment><USER22> > accidentally made public.

Sure

</comment><comment><USER23> What's funny is I checked out [https://developers.google.com/](https://developers.google.com/) and compared it to the others.....and 7 years later it is still accurate to describe it has "having been designed by a 5 year old". I'm a big fan of Google, it's too bad no one listened to this. Google Wave was amazing, I still to this day do not understand why it was shuttered before it even had a chance to get off the ground.

Speaking of eating their own dog food, still not sure why they are writing their own OS for Pixel. They have now shoved linux on top of it to make it useful to devs and I think that is akin to sprinkling people food around the bowl of dog food. The dog food was so bad your devs & community literally built around it.

And again, I'm a fan of Google. There are just some things they could do so much better.

<comment><USER24> [https://developers.google.com/products/](https://developers.google.com/products/)

Would be the equivalent to the links this person blogged. And they offer a ton now, including Turing GPU cloud computing for AI, which I have seen host chess AI and destroy the world's best chess engine (Stockfish).

<comment><USER23> fair enough! thanks for the reply/info/link.

</comment></comment></comment><comment><USER25> The thing about dogfooding is so accurate in Google. They don't like dogfooding here.

I work in Google cloud. And I want to host my personal website on the platform I'm working on.

People look at me funny when I bring up about free gcloud credit. My teammates don't seem enthusiastic about this idea. My manager don't seem to agree that it's important. So, I've never got the credit, and my personal site is still hosted on heroku for free.

And nobody on my team uses our own platform.

The culture is strange. Dogfooding our own product should be one of the top priorities.

<comment><USER26> Well there is the Free Usage tier just like AWS's. Though Google's egress limit is 1GB compared to AWS's 15GB.</comment></comment>


Show HN: ParisHilton.js - <AUTHOR> https://github.com/knowbody/ParisHilton.js

<comment><USER2> So how many people are going to clone this repo and then submit it here?

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

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

<comment><USER3> This looks like a very different implementation. Plus: pink! :-D

</comment></comment><comment><USER4> Making fun of Paris Hilton is still a thing? Come on...</comment>


Ask HN: Google Adsense Alternatives? - <AUTHOR> I'm running a relatively small website that provides a free service, and I keep it running through ads on Google Adsense. I chose Adsense because it's one of the few ones I knew about when I first launched the site, it's easy to use, and able to be trusted with my payment info.
However, Google has recently added a horrible detection method for invalid traffic, and I've now had a restriction placed on my account for the _second_ time (if you're curious about how I solved it the first time, I made a video: https://youtu.be/_pCoBoK1hEM). I do not have invalid traffic, but Google's algorithms have flagged me twice with no real reason.
Anyway, I'm now looking to move away from Adsense because it's such a headache to deal with the invalid traffic accusations. What are some good alternatives? Here's what I'm looking for: 1. A trustworthy website with my payment info 2. Customization options for ads (size, placement) 3. Easy payouts with a low payout threshold <comment><USER2> Some discussions may be old but point out alternatives [https://hn.algolia.com/?q=Adsense+Alternatives](https://hn.algolia.com/?q=Adsense+Alternatives)

</comment><comment><USER3> Not sure what you mean by 2, but is there a reason you don't want Media.net (run by Bing as the AdSense competitor) ?

<comment><AUTHOR> Just wanted to see if HN had any recommendations. Is it known to be good?</comment></comment>