Soil Erosion: Why soil is disappearing from farms - <AUTHOR> http://www.bbc.com/future/bespoke/follow-the-food/why-soil-is-disappearing-from-farms/ <comment><USER2> Even if wind and water erosion were eliminated, modern agriculture is fundamentally a form of mining.

Farmers grow crops that remove nitrogen, phosphorous, potassium and a variety of other minerals from the soil. The crops are shipped to cities typically located on rivers or oceans. The crops are processed, eaten and the nitrogen, phosphorous, potassium and other minerals are flushed into the rivers and oceans.

The elements can be replaced as long as supplies of natural gas to fix atmospheric nitrogen and reserves of potash and phosphate rock last. But it is ultimately unsustainable.

<comment><USER3> Recently I learned how much we depend on phosphate mining to provide nutrients for farming, and I found it unsettling how uncommon phosphate deposits are. Here's an entertaining sub-4 minute watch on the topic of how a majority of phosphate deposits are located in Morocco -- [https://youtu.be/O0BooiAxQyY](https://youtu.be/O0BooiAxQyY).

I just looked up how much different countries produce, and had assumed most phosphates would be coming out of Morocco. My guess was incorrect. It appears that Morocco produces ~13% of the world supply, but has ~72% of deposits. For constrast, the USA produces ~12% annually with ~2% of world deposits, and China produces ~45% annually with ~5% of all deposits. If I were the leader of a country with lots o' people, I'd be cozing up to Morocco a whole bunch. [1]

Knowing nothing about mining anything darn thing, I now wonder how interesting the work is in finding & mining new sources sources of phosphates.

[1] [https://en.wikipedia.org/wiki/Phosphate#Occurrence_and_minin...](https://en.wikipedia.org/wiki/Phosphate#Occurrence_and_mining)

<comment><USER4> It's a bit worrying that they talk about burning human shit to get phosphate when you can just compost it.

<comment><USER5> The issue is probably all the contaminants in human poo, especially medical: anti-bacterials, hormones, radioactive tracers. Maybe it isn't so much purifying the phosphate that matters, but removing components that would be bad to recirculate into our food chain.

<comment><USER4> High temperature composting deal with the most common problems anyways, and you preserve the nutrients rather than burn them up. The biggest problem is how bad water waste management systems are at producing fertiziler, the wide spread idea that it's ok to pollute our waste water with what ever, making it unusable for composte is not healthy. I do not think burning it can solve more than a tiny part of that problem.

</comment></comment></comment></comment></comment><comment><USER6> As a former agronomist there are a couple of things in this article that concern me. It reads like a scare piece. Farmers for over fifty years have recognized the problem of soil erosion and are moving to reduce tillage.

Sadly no-till where farmers plant into last years crop is only mentioned once. No-till requires more management and adoption started slowly. But now better chemicals for weed control, better planting equipment and adoption of a best practices list has contributed to its successful adoption and it's popularity has exploded.

I am skeptical of the discussion of soil microbes which previously have been looked at as snake oil cures promising much but delivering little. There may be a genuine breakthrough this time, but show this skeptic the university replicated and peer reviewed research first. Far too often with these products all you see are farmer testimonials which unaccompanied by university research are a flashing red light indicating a scam.

<comment><USER7> Here is a recent overview from Washington State University "Soil biology and soil organic matter; What do recent discoveries mean for soil management?"[1] I copy one quarter of its provided references below here, just to illustrate the situation that there is really no paucity of peer reviewed work from this field.

About the potential for reversing the long term trend in soil degradation through microbially 'un-interested' and herbicide assisted no-till methods - wouldn't be appropriate to provide university replicated peer reviewed research which substantiates _they_ have the situation covered ?

[1] [http://csanr.wsu.edu/soil-biology-and-soil-organic- matter/](http://csanr.wsu.edu/soil-biology-and-soil-organic-matter/)

1/4 References:

Jackson, R.B., K. Lajtha, S.E. Crow, G. Hugelius, M.G. Kramer, et al. 2017. The Ecology of Soil Carbon: Pools, Vulnerabilities, and Biotic and Abiotic Controls. Annu. Rev. Ecol. Evol. Syst. 48(1): 419–445. doi: 10.1146/annurev- ecolsys-112414-054234.

Janzen, H.H. 2006. The soil carbon dilemma: Shall we hoard it or use it? Soil Biology and Biochemistry 38(3): 419–424. doi: 10.1016/j.soilbio.2005.10.008.

Kallenbach, C.M., S.D. Frey, and A.S. Grandy. 2016. Direct evidence for microbial-derived soil organic matter formation and its ecophysiological controls. Nature Communications 7: 13630. doi: 10.1038/ncomms13630.

Kästner, M., and A. Miltner. 2018. SOM and Microbes—What Is Left From Microbial Life. In: Garcia, C., Nannipieri, P., and Hernandez, T., editors, The Future of Soil Carbon. Academic Press. p. 125–163

Woolf, D., and J. Lehmann. 2019. Microbial models with minimal mineral protection can explain long-term soil organic carbon persistence. Scientific Reports 9(1): 6522. doi: 10.1038/s41598-019-43026-8.

<comment><USER6> Thanks for posting this research. It does a nice job of explaining stuff that has been observed for a long time but which there was no explanation. Another reason why it's worth my time to be involved with the HN community!

<comment><USER7> Me too, thanks for regarding. On second look, it's a better article than I deserved to hit on - just quickly plucked from WSU since i've been impressed there before :)

</comment></comment></comment></comment><comment><USER8> Soil erosion is a reversible process but it will require a little effort and planning. When it works it's an investment that actually pays off.

Here's a nice example of the Chinese restoring some soil: [https://rethink.earth/turning-desert-to-fertile-farmland- on-...](https://rethink.earth/turning-desert-to-fertile-farmland-on-the-loess- plateau/)

I've seen a documentary with some before and after video footage. Quite amazing difference: [https://www.youtube.com/watch?v=IDgDWbQtlKI](https://www.youtube.com/watch?v=IDgDWbQtlKI)

Planned grazing is another approach that has seen some success: [https://www.theguardian.com/sustainable- business/2014/aug/19...](https://www.theguardian.com/sustainable- business/2014/aug/19/grazing-livestock-climate-change-george-monbiot-allan- savory)

<comment><USER9> Is soil erosion ever naturally reversed ?

It seems to me to be a one way downhill process ?

<comment><USER10> Obviously there was no soil at first since it's dead organic matter.

<comment><USER11> Yes, but that's not "reversing" so much as completely rebuilding soil, which takes decades of no farming and no tillage.

A lot of loss can also be trivially reduces by planting rows of trees between fields, which I saw all over the place in NZ, but haven't seen elsewhere.

<comment><USER10> Pretty standard in Europe : [https://en.wikipedia.org/wiki/Bocage](https://en.wikipedia.org/wiki/Bocage)

</comment></comment></comment></comment></comment><comment><USER12> We produce food for humans, pets, livestock.

Most of the livestock is not necessary, and 30% of all food will be wasted.

Paper is also responsible for topsoil loss. Much of the paper is used in advertising campaigns that receive little to no attention from consumers, or to communicate information that could be sent electronically. Some more is used in redundant forms of packaging.

We all have known how inefficient our processes are for a long time. But our expectation is that the environment should adapt to our needs and not the opposite. This belief is wrong, and will be proven wrong in the next decades.

</comment><comment><USER13> I really enjoyed the book Third Plate by Dan Barber. ([https://www.amazon.com/Third-Plate-Field-Notes- Future/dp/014...](https://www.amazon.com/Third-Plate-Field-Notes- Future/dp/0143127152/ref=mp_s_a_1_1?keywords=the+third+plate+dan+barber&qid=1560270116&s=gateway&sprefix=Third+plate&sr=8-1))

While I don't know if the methods explored in the book will be able to sustain the entire world population. I really liked how he argues in this century we can focus on growing food for flavor and not just quantity and flavorful foods generally come from farms that have bio dynamic practices which support soil health and eliminate the need for nitrogen based fertilizers.

</comment><comment><USER14> One thing I'd love to see more studies about is adding charcoal to the soil. There is decent evidence that this greatly improves soil quality as the large surface area of the charcoal particles allows microbes to grow and stores water. It also has the added benefit of capturing carbon in a form that is stable for millennia.

<comment><USER15> Bio char. But it works in more tropical areas. Otherwise it has to be shipped. South America case studies plenty.

<comment><USER16> I'm curious, why it doesn't work in temperate climates? Also, I think it heavily depends on how "rich" / volcanic the soil is in the first place, perhaps?

<comment><USER15> [https://iopscience.iop.org/article/10.1088/1748-9326/aa67bd](https://iopscience.iop.org/article/10.1088/1748-9326/aa67bd) : here

[..]Here we use a global-scale meta-analysis to show that biochar has, on average, no effect on crop yield in temperate latitudes, yet elicits a 25% average increase in yield in the tropics. In the tropics, biochar increased yield through liming and fertilization, consistent with the low soil pH, low fertility, and low fertilizer inputs typical of arable tropical soils. We also found that, in tropical soils, high-nutrient biochar inputs stimulated yield substantially more than low-nutrient biochar, further supporting the role of nutrient fertilization in the observed yield stimulation. In contrast, arable soils in temperate regions are moderate in pH, higher in fertility, and generally receive higher fertilizer inputs, leaving little room for additional benefits from biochar. Our findings demonstrate that the yield-stimulating effects of biochar are not universal, but may especially benefit agriculture in low-nutrient, acidic soils in the tropics. Biochar management in temperate zones should focus on potential non-yield benefits such as lime and fertilizer cost savings, greenhouse gas emissions control, and other ecosystem services.[..]

<comment><USER17> That appears to be a limited meta-analysis that itself postulated the reason temperate yield didn't improve because temperate soils were more fertilized on average than the tropical soil studies.

We're talking in the context of soil depletion in this thread, so I don't think their limited conclusion applies.

<comment><USER18> One thing not mentioned often about rainforrests is that their soil is actually pretty damn terrible. Which is also why you see things like carnivorous plants there.

<comment><USER15> So what if rainforest soil is terrible...their main function is to sequester carbon and act as a carbon sink supporting habitat and balance terrestrial ecology.

<comment><USER18> That is more for "why it helps there in the first place" than any disparagement of the rainforests. That the soil is terrible is more reason to leave them there - especially when they provide steady rain.

It isn't like temperate climates where you can rotate between farms, fields, and forrests over time easier.

<comment><USER15> right. i hear you.

may i ask what you mean by 'terrible'...nutritionally deficient or acidic..etc etc?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> Tillage is killing organisms living in the soil, which are crucial for fertility and resistance to erosion. Permacultures have interesting techniques, like covering the soil to let weeds die and enrich the soil at the same time, not sure how those techniques can scale, even if they are highly productive. There are also the use of livestocks: [https://www.ted.com/talks/allan_savory_how_to_green_the_worl...](https://www.ted.com/talks/allan_savory_how_to_green_the_world_s_deserts_and_reverse_climate_change?language=en)

other links: [https://en.wikipedia.org/wiki/Topsoil#Erosion](https://en.wikipedia.org/wiki/Topsoil#Erosion) [http://www.fao.org/3/a0100e/a0100e07.htm](http://www.fao.org/3/a0100e/a0100e07.htm) [http://www.fao.org/3/t0389e/t0389e02.htm](http://www.fao.org/3/t0389e/t0389e02.htm)

</comment><comment><USER20> Agriculture is one of the biggest environmental catastrophes humans have perpetrated. Entire ecosystems have to be destroyed. I always find it disturbing when vegetarians think eating plants is a peaceful affair.

One could argue about organic agriculture in balance with the environment, unfortunately it produces on average 20% less than monoculture industrial agriculture[1] and the food demands of the planet are only growing.

[1] [https://news.berkeley.edu/2014/12/09/organic-conventional- fa...](https://news.berkeley.edu/2014/12/09/organic-conventional-farming- yield-gap/)

</comment><comment><USER21> What comes to mind is something called "zero budget farming" invented by in India by Subhash Palekar. This is basically an approach based on the premise that modern farming including Organic farming is killing the microbes and other beneficial organisms in the soil critical to sustainable agriculture. [http://www.palekarzerobudgetspiritualfarming.org/zbnf.aspx](http://www.palekarzerobudgetspiritualfarming.org/zbnf.aspx)

</comment><comment><USER22> One of the best books I've ever read on this subject is "Tree Crops", Smith, 1929. Soil erosion is his main focus and he quotes FDR who says that a nation that destroys its soil destroys itself.

The subtitle of the book, A Permanent Agriculture, inspired Permaculture — a niche but growing group of farmers who look towards perennial crops with their deep root systems, and less fickle needs for inputs and maintenance. Because these plants are permanent, tilling is all but eliminated.

The green revolution with its world-changing chemicals born out of the world wars led to a boom in yields, and has fed the world for the past century. But with our changing climate, and the obvious destructiveness of industrial farming (runoff, land use change and deforestation, emissions from tilling, emissions from chemical production and transportation), it's pretty clear we need a new model.

If you look at my post history, I recently linked to The Carbon Farming Solution — it's fascinating and phenomenally well sourced. There's an active push to develop perennials to replace many of our staple crops. This is, er, fertile ground for research.

</comment><comment><USER23> Guess it's time to check in with the hydroponics scene and see how things are coming along.

</comment><comment><USER24> Farmers in Austria (where glyphosate was recently banned) are worried that without glyphosate erosion will accelerate due to the lack of reasonable chemical alternatives. This will be interesting to see unfold.

<comment><USER15> No/minimal till regenerative Ag would work.

We have to change design of farm Mach aka tractors. Good opportunity for automation in Ag to step up to the plate and create a new paradigm shift

<comment><USER18> Glyphosate is no till farming already and keeps the soil in place with the dead weed while it decays.

Farmers aren't paying money to spray it for shits and giggles.

Although it would be interesting to see both a robotic mechanical weed killer's operation, performance, and economics in comparison.

<comment><USER15> Ok. Minimal or No till/non chemical farming then.

There is no need for chemical Ag if we have automation. Chemistry removed the need for hard labour. It is still possible to use mechanization to replace toxic chemicals because weeding is all about timing, but even with mechanization, labour costs add up. Automation is the solution. And we have the capability and tech to do it now.

I suspect that there will be some resistance and possibly nascent tech will be bought out to die in a dark vault after being acquired by the big players whose market share will be threatened. But it's only a matter of time when the transition from tractor to Ag bots happens seamlessly..I feel the big tractor companies are just trying to time and manage the transition. They certain have a massive market share. Chemical Ag is certainly out. Automation will be the new paradigm.

</comment></comment></comment></comment><comment><USER25> Isn't there something extremely wrong about the math in this blerg? Surely 12 million hectares produces a lot more than 20 tonnes of grain annually. Did they mean 20 tonnes _per hectare_? Otherwise it's low by a factor of ten million. Either way doesn't make sense.

<comment><USER26> [https://www.nrcs.usda.gov/Internet/FSE_DOCUMENTS/16/nrcs143_...](https://www.nrcs.usda.gov/Internet/FSE_DOCUMENTS/16/nrcs143_014887.pdf)

[https://en.wikipedia.org/wiki/Bushel#Weight](https://en.wikipedia.org/wiki/Bushel#Weight)

A hectare is ~2 ac.

Wheat looks like 2-5 tonnes/hectare

Looks like 20 tons per hectare is pretty high, but

<comment><USER27> It's 20 million tonnes per year according to the source [https://www.unccd.int/actions/united-nations-decade- deserts-...](https://www.unccd.int/actions/united-nations-decade- deserts-2010-2020-and-fight-against-desertification)

</comment></comment></comment><comment><USER28> Dirt-based farms are antiquated and inefficiently use resources compared to fogbox and airponics. Healthy soil is great, if it's for grassland vegetation browsed by managed mega-herds.. otherwise, the trend (climate change and lack of roaming mega-herds) is towards desertification.

</comment><comment><USER29> I presume they will, but will modern greenhousing and 3D farming (under artificial light in factories) help to reduce soil erosion, or not?

<comment><USER30> Scale is the problem.

Just constraining yourself to the US and using the arbitrary 2000 calories per day per person, the US needs to produce about 2.4 x 10^14 food calories per year. I'll leave it as an exercise to the reader to figure out how many greenhouses that is or how many 3d hydroponic farms, but the counter offer is a few thousand square miles of corn.

</comment></comment><comment><USER31> Sounds like a good use case for GMO.

</comment><comment><USER15> Tillage.

</comment><comment><USER32> I never make this kind of comment, but that was unreadable. It broke scroll speed, didn't have a reader view, and the text constantly shifted from left to right hand side of the screen.

<comment><USER33> Looking at it on an iPad it insisted I go from landscape to portrait, a tad impertinent.

<comment><USER34> Same for my Surface clone, I had to detach the keyboard and rotate to portrait. I ended up reading it in firefox reader view.

</comment></comment></comment><comment><USER35> With regard to fixing this, the article contains a link to:

[https://theconversation.com/to-restore-our-soils-feed-the- mi...](https://theconversation.com/to-restore-our-soils-feed-the- microbes-79616)

"To restore our soils, feed the microbes" (2017)

</comment><comment><USER36> Agriculture is pretty much the dumbest thing you can do to land (other than simply poisoning it.) It's a process of converting ecosystems into people (and, since the invention of artificial nitrogen fertilizer, converting _oil_ into people.)

Ecosystems are more productive, so if we imitate Nature with "applied ecology" (such as Permaculture), we can actually create a new kind of civilization. One that _generates_ more healthy soil than it loses.

Toby Hemenway (RIP) gave a talk, "Redesigning Civilization -- with Permaculture"

> Modern agriculture, industry and finance all extract more than they give > back, and the Earth is starting to show the strain. How did we get in this > mess and what can we do to help our culture get back on track? The > ecological design approach known as permaculture offers powerful tools for > the design of regenerative, fair ways to provide food, energy, livelihood, > and other needs while letting humans share the planet with the rest of > nature. This presentation will give you insight into why our culture has > become fundamentally unsustainable, and offers ecologically based solutions > that can help create a just and sustainable society. This is the sequel to > Toby's popular talk, "How Permaculture Can Save Humanity and The Planet, but > not Civilization."

[https://www.youtube.com/watch?v=H6b7zJ- hx_c](https://www.youtube.com/watch?v=H6b7zJ-hx_c)

<comment><USER18> That is nakedly not true at all for yields and shows a massive ignorance of history, trophic layers, ecology, and economics to declare it less productive. Less biodiversity by definition but that is essentially the whole point of agriculture - producing what you want.

Permaculture really seems to be the new Lysenkoism. They keep on making grand claims about their sustainability and output and how it is the only sustainable way yet their yields aren't even any better than conventional farming with crop rotation.

If you want to preserve nature your best bet is unsexy density - scales better than local and distributed. Even solar and wind which benefit from being spread around are still clustered.

<comment><USER36> You haven't had time to watch the video?

> Permaculture really seems to be the new Lysenkoism.

No need for insults.

> That is nakedly not true at all for yields and shows a massive ignorance of > history, trophic layers, ecology, and economics to declare it less > productive.

Yeah, I actually know a lot about this and you are just plain wrong.

Agriculture has always been destructive. The masses of people have historically been miserable and malnourished, suffered from regular famines, etc.

Applied ecology generates greater yields per acre, and per unit of labor input, than any other system we have tried. It's a new form of civilization.</comment></comment></comment>


Taking an indefinite sabbatical from my projects - <AUTHOR> https://arslan.io/2018/10/09/taking-an-indefinite-sabbatical-from-my-projects/ <comment><USER2> Not in the situation of the author but I can sympathise a lot with the desire to just be free of interruptions from the thing you want to concentrate on now. To be interrupted constantly stops you ever going deep on what you want to concentrate on.</comment>


Get $100 for every Windows 8 app you make - <AUTHOR> https://build.windowsstore.com/

<comment><USER2> This just promotes shouvelware and sadly it's only for U.S developers.

</comment><comment><USER3> Holy flat designs, Batman!</comment>


How to Set Password Policies in Linux – OSTechNix - <AUTHOR> https://www.ostechnix.com/how-to-set-password-policies-in-linux/ <comment><USER2> The OP contains one good recommendation regarding password (make that passphrase) length. The rest is rotten advice that should be rubbished. For superior guidance see for ex [https://pages.nist.gov/800-63-3/sp800-63b.html](https://pages.nist.gov/800-63-3/sp800-63b.html)</comment>


Making Rust Fly with MIR [video] - <AUTHOR> https://air.mozilla.org/making-mir-fly/ <comment><USER2> This is actually a rather light introduction to MIR, I'm not sure if we have an ideal summary document somewhere but for now the original RFC may be more instructive: [https://github.com/nikomatsakis/rfcs/blob/mir/text/0000-mir....](https://github.com/nikomatsakis/rfcs/blob/mir/text/0000-mir.md)

</comment><comment><USER3> I'm interested in things like how the intermediate representation allows easier optimisations, the control flow graph optimisation algorithms, and the general optimisation passes. Can anyone suggest a good resource where I can learn this stuff well enough to implement it? Where do the people working on this compiler tech get their background/base knowledge from?

<comment><USER4> Generally speaking, the Rust language is quite rich, so it's difficult to for the computer to reason about performance, but easy for it to reason about the high-level semantics. On the other end, the LLVM 'assembly' is very primitive, so it's easy to reason about performance, but not in a way that would preserve the desired semantics.

An intermediate language allows you to describe the high-level semantics in a more primitive form, so it is easier to both manipulate and reason about while preserving the high-level semantics. In this case (as far as I understand it,) MIR needs to be as primitive as possible while still modeling Rust's scoping, safety, and type rules. This is an optimization design pattern that occurs quite frequently in practice.

<comment><USER5> "but easy for it to reason about the high-level semantics."

Is it? Does it make it possible to argue about such things as that mappings can be fused, for example? I keep wondering about the possibility of very- high-level algebraic transformations of programs (although admittedly, this could be shifted into some kinds of CASE tools instead).

<comment><USER4> It makes it easy to verify that the high-level semantics are only those allowed by the language. It's fairly easy to look at an AST and tell if it is a legal construct in your language.

>Is it? Does it make it possible to argue about such things as that mappings can be fused, for example?

It makes it possible to know that you are "fusing mappings." In the assembly language, you would have a hard time knowing that this is what you were doing, since it communicates semantics with too much granularity.

</comment></comment></comment></comment><comment><USER6> Are all types resolved before the Mir stage?

<comment><USER7> Yes, though lifetimes are not.

<comment><USER6> Interesting. From what I understand, lifetime resolution is pretty deterministic...mallocs always happen at the beginning of a lifetime and frees always happen at the end of the lifetime. Would it be possible during the Mir stage to perform analysis and optimization to modify lifetimes? (ie. Array preallocations, chunked frees, etc.)

<comment><USER7> The short answer to your question is 'possibly.'

Ownership and borrowing are actually two complementary systems, not one. Because of the ownership/initialization rules Rust has we know that mallocs occur when the object is constructed and that the data is freed when it goes out of scope, but for the borrowchecker dynamic memory has really been abstracted away - and the borrowchecker is guaranteeing the validity of pointers into the stack just as much as pointers into the heap. In fact a language could have ownership without having borrowing (at one point, Rust did).

The main thing performing borrow checking on MIR allows for is actually a more expressive lifetime system, particularly what are called single entry, multiple exist (SEME) or non-lexical lifetimes - that is, knowing that in one branch a borrow lasts longer than in another branch. The classic example of how this is useful is that the naive way to write "get or insert" for a hashmap is a borrow checker error today. With non-lexical lifetimes it won't be an error, because it will know that you are only performing the "insert" when you didn't get a reference from the "get."

Its possible that because the MIR has stronger guarantees than LLVM IR can normally assume, there will be optimization passes that make sense on it to reorder codepaths to be more optimal, like what you were suggesting, but I don't know.</comment></comment></comment></comment>


Rant: Why no commas? - <AUTHOR>

I have been using computers for many years and I always assumed output would become easier to read.  But I still see numbers like 69882139 everywhere.  How am I supposed to know if it is approximately 7e6, 7e7, or 7e8?  What is wrong with showing 69,882,139 or 69.882.139?  And why don't all languages allow this syntax in constants?  It is just as hard to type it in correctly as it is to read it. <comment><USER2> Lately I noticed that Ruby and Java both permit underscore in numeric literals.

As to why it wasn't there before, or why it isn't available everywhere, I'm not sure, but I suspect the answer is basically lexing/parsing difficulties.

</comment><comment><USER3> I can tell you what's wrong with 35,798: it's less than fifty, even if you don't parse it that way.

But as b6 said, some languages support grouping of digits, but they use another symbol, usually _.

Ada would be an example.</comment>


The Real "No-Go Zone" of France: A Forbidden No Man's Land Poisoned by War - <AUTHOR> http://www.messynessychic.com/2015/05/26/the-real-no-go-zone-of-france-a-forbidden-no-mans-land-poisoned-by-war/ <comment><USER2> "...in the land of Mordor, where the Shadows lie"

Tolkien's War - [http://www.theimaginativeconservative.org/2015/11/tolkiens-w...](http://www.theimaginativeconservative.org/2015/11/tolkiens- war.html)

</comment><comment><USER3> from 2015...</comment>


Do the Math: Can Economic Growth Last? - <AUTHOR> http://physics.ucsd.edu/do-the-math/2011/07/can-economic-growth-last/

<comment><USER2> Sort of? It depends a lot on how you frame the question. To first-order, modern economics goes as the number of connections between nodes. There is quite a lot of potential growth between the current status quo and the maximized economic state for a population at planetary carrying capacity (whatever that is).

The things is, economies scale according to the sort of activities which are being conducted. Primitive agrarian economies are fairly linear. Modern economies are fairly exponential. There are many cases in between, and the degree of local self-sufficiency also varies greatly.

Can economic growth last? Well, there are ups and downs. Events can create setbacks. Geographic localities can experience recession while the global picture is one of growth, and the same is true in the time domain. The current types of economic activities can probably show a general global trend of growth for quite some time to come.

But in the long term, it is likely that a phase transition of some sort would occur, making the question rather moot.

tl;dr: The answer depends heavily on how you frame the question.

<comment><USER3> The article never claimed that status quo can't continue for some time.

It showed quite clearly that this time is bound to between half a century and a few hundred at most.

After that our economy ceases to function even though we would be enjoying incredible prosperity.

tl;dr The party is going to end but you might die before it does.

<comment><USER2> Resource scaling is likely to be a problem long before theoretical economic maximum anyway. The entire question is just an exercise to play with the math.</comment></comment></comment>


Imperial melting pot: how a new book reveals the remarkable history of Istanbul - <AUTHOR> http://www.newstatesman.com/culture/books/2017/02/imperial-melting-pot-how-new-book-reveals-remarkable-history-istanbul <comment><USER2> The author, Bettany Hughes, will be familiar to UK and USA TV viewers as having hosted numerous history programs on the ancient world and British history, such as "The Spartans", "The Minoans", and "Helen of Troy".</comment>


BEAM languages, Hindley–Milner type systems, and new technologies - <AUTHOR> https://medium.com/this-is-not-a-monad-tutorial/eric-merritt-erlang-and-distributed-systems-expert-gives-his-views-on-beam-languages-hindley-a09b15f53a2f <comment><USER2> Nice article, and for an Elixir fan, provides a nice little snippet on something I've been having issues with but hadn't really put my finger on until I saw it:

"[...] and I really dislike that Elixir tries to hide immutability. That does make it slightly easier for beginners, but it's a leaky abstraction. The immutability eventually bleeds through and then you have to think about it."

I don't think it necessarily tries to hide it (at all), but it does have some instances where something feels like a mutable structure. Those can be, at least for me, a bit confusing to reason about if you're expecting things both be and look immutable.

I suppose now that I know exactly what's weird, I should just go dig through the code and figure it out. Problem solved?

... One other thing, because I see this in the comments already, is that BEAM isn't the tool for every job-- but for some jobs, it is the only tool to do it well. Is the JVM faster at general tasks? Hell yes, but that's not the point, it's not even why BEAM is around.

It's about:

* Small concurrent workloads. Really long running CPU intensive tasks aren't going to be good.

* Low latency. Not just low, but with a very very small standard deviation. Your application's performance will be consistent.

* Fault tolerant.

The list goes on, and here's a nice summary of it (both bad and good):

[http://blog.troutwine.us/2013/07/10/choose_erlang.html](http://blog.troutwine.us/2013/07/10/choose_erlang.html)

There are times when I choose the JVM, there are times when I choose BEAM or MRI. I just try choose the right tool for the job, but some tools, make some jobs, very difficult.

 _cough_ ruby _cough_ concurrency _cough_

Edit: One thing for people not familiar with BEAM, a "process" is not a Unix process, from the Elixir documentation:

"Processes in Elixir are extremely lightweight in terms of memory and CPU (unlike threads in many other programming languages). Because of this, it is not uncommon to have tens or even hundreds of thousands of processes running simultaneously."

<comment><USER3> Then again, there's NIF libs with Threads for those tasks which are long running and require computational performance. Last I checked all the really fast math libraries were written in C/Fortran/C++ not Java

</comment></comment><comment><USER4> It's surprising that the BEAM support for operations and management is very rarely mentioned. To me this is the key selling point for using BEAM vs JVM or something else.

Being able to open a remote console and do system introspection/tracing/profiling/debugging is a huge advantage when running in production. And all languages running on top of BEAM ofc get this for free.

In my experience, running JVM in production with tools like JProfiler/VisualVM/jconsole, etc. does not come close to the BEAM when trying to understand what is happening in the system.

<comment><USER5> > In my experience, running JVM in production with tools like > JProfiler/VisualVM/jconsole, etc. does not come close to the BEAM when > trying to understand what is happening in the system.

Then you haven't tried Java Flight Recorder/Mission Control or the new javosize. BEAM doesn't come close... :)

<comment><USER4> I hadn't heard of javosize before, looks interesting, thanks. Being able to update code and data on a live system is very useful and I haven't seen that for the JVM before (BEAM of course handles that :) ).

<comment><USER5> Well, there are a lot of JVM tools to inject code into a running application. Take a look at Byteman (which is much more mature than javosize, but mostly targets injecting traces for live debugging purposes)

</comment></comment></comment></comment><comment><USER6> "It's not going to be too much longer before we declaratively describe out systems as well as our code. I am looking forward to that."

Amen! Been doing that to the extent possible for a while and it is terrific!

<comment><USER7> It's been done before to varying degrees. The original in automatic programming was one that took input from case tools and autogenerated a lot of COBOL. Sun's DASL language from ACE project was a domain-specific language for specifying a type of web application. Around 9-10kloc of it autogenerated 100+kloc XML, client code, server code, etc. Lots of them in the 4GL category for database manipulation with WINDEV/WEBDEV more general-purpose yet still requiring coding in BASIC-like language.

So, it's not far-fetched. It will likely be a series of DSL's like the above or iMatix's model-driven development approach. These would specify it at a high level with precise requirements and constraints. Then, planning software with heuristics would produce the code. Similar systems for integration. Several people's worth of work or 10-20 tools becomes one person with one set of tools. Doubt we'll replace the person or need for some programming tools.

<comment><USER6> I definitely agree that we'll always need people who think like programmers. We can develop tools in the vein of those you mention to significantly enhance the productivity of those people though. I haven't seen many tools like that that help in distributed systems or that allow one to easily visualize and understand an entire system.

<comment><USER7> That's hard. Good news for you is that there's plenty of ongoing work on toolkits and methods for doing that. All alpha quality for now. We'll just have to wait.

</comment></comment></comment></comment><comment><USER8> Here's a tool that you can play with to see how well Elixir scales with an embarrassingly parallel task (matrix multiplication) when throwing more CPU cores at it: [https://github.com/a115/exmatrix](https://github.com/a115/exmatrix)

<comment><USER9> Yes, Elixir does well here, but I still prefer Lisp syntax. I would like to see a comparison of LFE and Joxa. Joxa seems more like Clojure. This presentation is a good one, but I'd like to see a nut and bolts comparison with side-by-side code:

[http://www.slideshare.net/BrianTroutwine1/erlang-lfe- elixir-...](http://www.slideshare.net/BrianTroutwine1/erlang-lfe-elixir-and- joxa-oscon-2014)

</comment></comment><comment><USER5> BEAM is a very nice VM (albeit rather slow compared to HotSpot or V8), but I don't understand why every mention of BEAM has to spread misconceptions about the JVM:

> In many systems, Java included, the Garbage Collector (GC) must examine the > entire heap in order to collect all the garbage. There are optimizations to > this, like using Generations in a Generational GC, but those optimizations > are still just optimizations for walking the entire heap. BEAM takes a > different approach, leveraging the actor model on which it is based: If a > process hasn't been run, it doesn't need to be collected. If a process has > run, but ended before the next GC run, it doesn't need to be collected

Well, how does BEAM know which process ran (so that its garbage should be collected)? Bookkeeping, of course, and that is also "just an optimization". Similarly, if a JVM object hasn't been touched since the last collection -- it doesn't need to be examined.

> If, in the end, the process does need to be collected, only that single > process needs to be stopped while collection occurs

And new HotSpot GCs rarely stops threads at all for more than a few milliseconds (well, depending on the generation; it's complicated), collecting garbage _concurrently_ with the running application, and other JVMs have GCs that never ever stop any thread for more than 20us (that's microseconds or so).

While BEAM's design helps it achieve good(ish) results while staying simple, the fact is that the effort that's gone into HotSpot gets it better results for even more general programs (collecting concurrent, shared data structures -- like ETS -- too).

I've said it before and I'll say it again: Erlang is a brilliant, top notch language, which deserves a top-notch VM, and the resources Erlang/BEAM currently have behind them are far too few for such a great language. Erlang's place is on the JVM. JVMs are used for many, many more soft-realtime (and hard-realtime) systems than BEAM, and yield much better performance.

An implementation of Erlang on the JVM (Erjang) done mostly by one person, was able to beat Erlang on BEAM in quite a few benchmarks, and that was without the new GCs, the new (or much improved) work-stealing scheduler and the new groundbreaking JIT (which works extremely well for dynamically-typed languages[1]).

OpenJDK could free Erlang programs from having to write performance-sensitive code in C (so many Erlang projects are actually mixed Erlang-C projects). While Erlang can be very proud of how much it's been able to achieve with so little, instead of fighting the JVM (or, rather, JVMs), it should embrace it. Everyone would benefit.

[1]: [https://twitter.com/chrisgseaton/status/586527623163023362](https://twitter.com/chrisgseaton/status/586527623163023362) , [https://twitter.com/chrisgseaton/status/619885182104043520](https://twitter.com/chrisgseaton/status/619885182104043520)

<comment><USER10> The thing I don't get about Erlang and BEAM is the idea that having lots of little processes means that your program will scale brilliantly to run in parallel.

Programming Erlang (authored by the creator of Erlang) says without any qualification at all that "Concurrent programs are made from small independent processes. Because of this, we can easily scale the system by increasing the number of processes and adding more CPUs."

When I read that I was expecting it to be followed by "ha ha... not really because of algorithmic sequential dependencies and Amdah's Law of course!" but it isn't!

You can have an infinite number of processes but if the dataflow graph they form doesn't have any parallelism then Erlang and BEAM aren't likely to be able to work any magic to make them so. Even if it did have parallelism it is only going to have so much and you certainly won't be able to arbitrarily scale it beyond that by increasing the number of processes.

What's more the typical advice about mutable shared state in Erlang is to encapsulate it safely in an process - which seems to be a recipe for further serialisation to me and so a crazy thing to promote!

<comment><USER11> Everything you are saying is technically correct. The issue is that Erlang is trying to solve a different problem than you are describing. It sounds like you are hoping to perform some large but single task and are disappointed that Erlang can't defeat the Amdahl limitations inherent in your task. That's not Erlang's goal.

Erlang's goal is to take problems that are embarrassingly parallel in theory and make them embarrassingly parallel in practice. Serving a billion independent http requests in a distributed, parallel manner can technically be done in Java or C or assembly. But, it's very hard to do well and very easy to screw up in painful, confusing, life-wasting ways. Erlang makes it much easier to do well and much harder to screw up.

<comment><USER5> > Erlang makes it much easier to do well and much harder to screw up.

That's a feature of the language, not the VM (compare with Clojure, that does a similar thing on the JVM). You could still do all that on a higher-quality VM (simply because the effort put into it is orders-of-magnitude more than into BEAN; not because OpenJDK's people are smarter or anything).

<comment><USER11> If I could get the JVM's JIT & serial GC performance combined with the BEAM's trivial-cost threads & thread-segregated GC, it would be sweet indeed.

<comment><USER5> > serial GC performance

HotSpot hardly ever uses a serial GC anymore. It's now parallel or parallel _and_ concurrent.

> thread-segregated GC

You don't really want that if a shared-heap GC can buy you better performance because it's more mature and saves you all the copying.

> BEAM's trivial-cost threads

You can have that on the JVM.</comment></comment></comment></comment></comment></comment>


Feedback on Startup: Hashdoc – Marketplace for Documents - <AUTHOR> https://www.hashdoc.com <comment><AUTHOR> We've reached this far by listening to our users. Would love to take this further and get any feedback from HN's detailed community.

<comment><USER2> Documents is extremely broad.

What sorts of users have you been listening to? How does it make them more awesome?

<comment><AUTHOR> Right. It's professional documents we're after, work/profession related.

In terms of document types: \- Templates \- White-papers \- Samples \- Reports \- Policies and procedures \- Articles \- Forms \- Checklists \- Research \- Project deliverables...

In terms of formats: \- PDF, OpenOffice, Excel, Word, Powerpoint, etc..

The users we've tested with were on the sell side of things: individuals/organizations that had documents to share/sell/distribute.</comment></comment></comment>


Ukraine killer drone analysis: A flying bomb running on Ardupilot Open Source - <AUTHOR> https://captain-jack-box-blog.netlify.com/sokol-drone-analysis.html <comment><USER2> Congratulations Ukraine, you invented the guided missile!</comment>


New Mac Pro Hardware Details Will Delight Apple Faithful - <AUTHOR> https://www.forbes.com/sites/ewanspence/2017/06/01/new-mac-macbook-pro-wwdc-2017/#36e0c2741ae3 <comment><USER2> Ad-blocker detector denies access. Blah.

<comment><USER3> Click "web" above.

Click downward arrowhead on right, and select "Cached".

Enjoy :)</comment></comment>


Show HN: Pearltrees – organize + manipulate your files and bookmarks w drag and drop - <AUTHOR> https://www.youtube.com/watch?v=9rs5yf5EU3o

<comment><USER2> Why people build so much apps for "organizing your content"?

<comment><USER3> I can't talk for everyone but at Pearltrees, we do it because that we think there is a need :)

</comment></comment><comment><USER4> impressive

</comment><comment><USER5> nice video

</comment><comment><USER6> awesome</comment>


An old OS idea is new again: non-installation - <AUTHOR> http://www.rebol.com/article/0375.html

<comment><USER2> With the exception of some software, like behemoth Adobe installations, OS X already works this way.

It is common practice in OS X to unpack a zip or DMG file and then simply double click to run the application.

<comment><USER3> Unfortunately, OS X can make it a bit _too_ easy. Until I gave her instruction otherwise, my wife downloaded apps like MSN Messenger, opened the DMG and then ran the app direct from there! So she had all these installation DMGs open so she could run her apps.

My father (who tried OS X after being a Linux user for some time) did the same. It's really not obvious what you're meant to do unless the DMG has the instructions in clear sight (which some developers do). I had a similar confusion when I first switched to the Mac five years ago.

<comment><USER4> What they were doing may seem weird, but it's not really technically wrong to do. The only real downside is the resources wasted on keeping the disk mounted.

</comment></comment></comment><comment><USER5> Seeing as how many novice computer users can't bring themselves to organize their pictures/files/music, I can't see this non-install movement as a good thing.

Just think of your average Windows/OSX desktop, it's usually cluttered with shortcuts, downloaded files, music, photos etc.

Now imagine that with 10-20 application folders (which by the way if you mess with will cause your app to stop working)

We need to help users logically organize their content first, before we can attempt to allow them to pick where their applications reside.

Most don't even have a concept of file structure.

<comment><USER6> Putting files in folders is a metaphor left over from the way we had to organize physical documents, because we couldn't do any better. The key is to provide easy search and flexible views on top of the data/files users have so they can easily find what they need, not to force users into organizing their files into neat little folders.

OS X gets most of this right because it doesn't care where you put your apps (although /Applications is recommended), applications aren't folder you can mess around with, they are wrapped in a logical package you can move or doubleclick on to open. Spotlight makes it easy to find anything on your computer and most applications are optimized around searching or looking at your data from different views (iTunes, iPhoto, Mail, etc).

</comment></comment><comment><USER7> ummm, when it comes to operating systems, I never found /usr/bin particularly difficult, and dumbing things down to /Programs, /Users, /Files etc doesn't seem to really be anything other than a trivial and superficial aspect of an operating system. How they multitask, manage memory, keep the file system running etc - these are the tasks of the operating system. How apps get installed is largely up to the app developer. I can statically link and provide one simple big binary, or choose to componentize so that upgrades are less network intensive, but this is just the minutia. OSX already bundles everything into one place (for the most part) and most Unix systems are really easy to understand the structure, /etc for the configuration files, /var/log for the log files and /usr/[local]/bin for the app. libs to /usr/[local]/lib etc etc. Nothing particularly difficult about that. And there are some very good reasons for breaking things up and scattering them around. /var/log would, for example, often be a managed part of the file system, for log rotations and often on a different physical media to prevent disk head movement associated with the logging requirements from interfering with the main purpose of the app. /tmp would often be mounted as a very fast ram drive or some other high speed r/w filesystem type that an app can use for its temporary storage. /usr/bin would be backed up, /var/log, /tmp possibly not so...

There are very good reasons for how many operating systems have ended up the way they are, and simplicity isn't always a lofty goal. Take for example, the implementations of malloc/free. Its very important for these to be very efficient, very fast, very reliable and not at all simple. Simple is good in UI's (sometimes), good in many things, but please, keep simple out of the operating system design...

<comment><USER8> To a large extent, OS X gives the best of both worlds.

From the command line, things look very much like you describe (but not exactly, Apple often has different conventions and names for things than Linux, say). That application you just downloaded is just a directory with a ".app" extension. You can browse its directory structure and find all of the resources for the application, all residing in their conventional locations.

But using the Finder, you just see the application's icon. If you double click it, it launches.

This is just one of the ways that Apple manages to have Unix underneath, but not expose it to users who don't want to care that it's there.

</comment></comment><comment><USER9> Side note: The inventor of rebol was also the engineer behind the original AmigaOS.

</comment><comment><USER10> My opinion is that the real reason of the existence of the actual model of installation was to prevent people from making a copy of an installed software. Maybe it was even more important before the internet to prevent people from copying the most expensive software at their work, library and school. Now it doesn't really matter when the original install CD is easier to get from a torrent site.

<comment><USER5> Casual piracy is easily stopped, you could argue that it's already been 'solved' with online activation.

For hardcore pirates, it doesn't matter really as they'll find a way to get their booty with or without the 'install' procedure.

You can still have an application that doesn't install, but uses activation to ensure it's the only copy running.

</comment></comment><comment><USER5> I'm always pleasantly surprised when an application I download doesn't 'install'. When I click the downloaded file and it just ..runs, my typical reaction is "oh, well isn't that nice".

But then my next question is always, "where should I store this unicorn of an application" My first instinct is to create a Program Files folder, and then make a shortcut, but I know that's just wrong. So typically it ends up stored with other random program/iso files but rarely used because there is no Start Menu shortcut to remind me that I have it. The one exception being Thunderbird Portable which I use all day.

</comment><comment><USER11> > As an OS designer who prefers well-thought-out simplicity over ever-deeper- > layers of complexity,

He could always use Colorforth:-)

Joking aside, you can do something kind of like that with "starkits". You don't even have to unzip them.

<http://www.equi4.com/starkit/>

</comment><comment><USER12> I like this approach also because of security reasons. It could make application sand boxing easier if it can only read/write in its local directory and the users directory.

Getting rid of the dll nightmare is a very good point. I'm also very impressed by the method used by Apple to support multiple machine codes into a single app.

On the other side, application scanning at boot time is not a very exciting strategy. Why not binding this with the file index like tracker that a good OS should have ? The index would be updated in background when files are created or deleted and so will be the application locator and document type binding.

I am more am more convinced that this is a new direction to go in addition to make the OS the most lightweight possible and eventually generalize virtual machines. It is hopeless to secure current windows PC against becoming zombies.

</comment><comment><USER13> The flexibility and ease of use offered by not-installed software is what makes projects like <http://portableapps.com/> so popular.

The possibility that installing an application may splat arbitrary files across my system has always been unnerving to me.

</comment><comment><USER14> Also check out the way QNX merged the traditional Unix /usr/bin directories with app packages, with a Plan 9-like virtual filesystem: <http://www.qnx.com/developers/articles/article_920_1.html></comment>


How I attacked myself using Google and I ramped up a $1000 bandwidth bill - <AUTHOR> http://www.behind-the-enemy-lines.com/2012/04/google-attack-how-i-self-attacked.html <comment><USER2> +1 For Amazon for kindly reimbursing the overage charge.

-1 For Google for creating what is the biggest threat to content providers by enabling easy-to-use DDOS attacks across the entire interwebs.

</hyperbole>

Seriously, is this what we have to look forward to when Google Spreadsheets, and God knows what else, become ever-more popular?

Think about all the additional onerus costs that would be incurred by content providers as more and more Google Spreadsheet users _hotlink_ images, mp3s, videos...

This has to be a bad design decision by Google, there's no need to redownload assets by-the-hour, on-the-hour, regardless of whether the user's spreadsheet is open or not.

Is it time to go back to the days of putting your web assets behind $HTTP_REFERER?

<comment><USER3> Like the author notes, I don't think the problem was with Google. It was no fault of theirs. The reason: It's a fine line between maintaining privacy policies and managing such events. If google were storing/caching these links, there would have been an outcry from those worried about user privacy and stuff.

About the by-the-hour downloads, well there again is a trade-off between providing data quickly and doing a lazy evaluation.

I think, as the author notes, it was just an unfortunate event that was a consequence of good design decisions gone bad circumstantially and wreaking havoc for the author.

It was certainly nice of Amazon to have made that refund. The resources (read bandwidth) were used after all.

<comment><USER4> I don't understand the privacy concern - a publicly accessible URL doesn't offer any privacy. It's the same as a transparent proxy.

<comment><USER5> A password works by there is a piece of text that only you know, and thus, when you give that password to a server, that server knows who you are.

can't you also view a url as a password? (If only I know the url, then only I can download the file).

I am able to give out a url to someone else, so they can access the file, likewise, I can give out my file server's username and password, and whoever has it can also access my files.

<comment><USER6> You have a point, but the difference is that url's are not usually considered secret and are therefore not treated the same way a password would be. For example in the browser..

</comment></comment></comment></comment></comment><comment><USER7> Reminds me of the email cannon we built on Gmail, not exactly on purpose. We needed a full Gmail account to do some testing on our company's email backup system. At the time that meant 8GB of email. And you couldn't just send a bunch of huge attachments, as it had to be like regular email. So we took a gmail account and signed it up for dozens of active linux related email lists (because they were easy to find).

The result was an email account that got an email message every second or so in a variety of languages.

We quickly realized that you could have some fun by forwarding that address to _someone else's email account_.

Fast forward a few months, and Gmail smartly requires a confirmation before allowing you to forward.

<comment><USER8> Once in middle school in the late '90s I created an email loop between two free email accounts that forwarded an extra copy of the email every iteration. It was an experiment out of curiosity and mischief. I don't think the server actually went down when I started the loop (at least, I can't remember if it did) - since the mailbox would have failed up and messages fail to be delivered.

I think I was hoping to produce an "email cannon" similar to yours - an email spammer to be directed at whoever I liked.

</comment></comment><comment><USER9> It's really awesome that Amazon was reasonable and refunded the charges because they were accidental. I mean, technically it was still your fault, so it would have been easy for them to be jerks about it.

<comment><USER10> They wouldn't be jerks if they asked for the charges; you still generated the traffic and they had to pay for it.

<comment><USER11> Just as "legal" does not mean "ethical", "contractually permitted" does not mean "not a jerk move".

<comment><USER12> just like asking you to pay for the services you used is not a jerk move.

Amazon did a nice thing, but the services were used. Asking to user to pay for those services (even if it was a mistake), would not have been a "jerk move"

<comment><USER13> Bandwidth pricing is a funny thing, in that it's only metered because it's convenient to do so. You haven't consumed any kind of finite resource by moving 1GB or 1000GB. There isn't any "use".

And it makes good business sense besides. They can let the guy off and eat the probably less than a hundred or so bandwidth this guy actually cost them due to their upstream providers, get a good writeup and look better as a result,

..or kill his account, take him to collections, etc, etc, etc, (which would probably cost them more than $1K anyways), and lose a customer and get a PR black eye while they're at it.

So yeah, it would be a jerk move, and a pretty dumb one at that.

<comment><USER14> In the end, we _are_ talking about a finite resource, because the Internet can only handle so much data transfer at one time. One way or another, your packets have to travel over physical infrastructure which, just like your home network, has a maximum capacity. Use of this infrastructure costs money; charging by bandwidth should help prevent users from "clogging the tubes" willy-nilly because there is a cost associated with excessive use.

<comment><USER13> Except most providers don't charge by time and demand (which would actually make sense), but by a fixed cap or fixed cost per byte. If the problem is congestion as you suggest, surely it would make more sense to charge different amounts based on time of day, length of session, etc?

Which would give Amazon more trouble? 1,000 TB spread out over a month, or 1,000 TB spread out over a day? Their current pricing model assumes both of these are equal, which they are plainly not.

Aside: Caps make the same mistake. If you have a 250GB cap, the _ahem_ ISP charges the same whether you burn through that cap in a month or in a day.

<comment><USER15> It is more complicated than that. Customer convenience must be considered. For instance, I and many others like me will not buy data transfer from someone when figuring the cost requires me to account for the time of day and phase of the moon.

<comment><USER13> Customers already deal with such billing from other companies and it's not difficult.

Ever had a cell phone? During the day counts against an allotment, after a certain time at night, calls are free. For a home internet connection it would probably be reversed, as peak usage is right after work lets out.

Some power companies also do the same thing.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> But, why re-downloading every hour?

Does merely having the spreadsheet passively open in a browser trigger that, or was some other process re-loading the spreadsheet every hour? (If the former, I wouldn't be as forgiving of Google. I understand the desire not to cache possibly-private data, but proper URL design and conditional GETs should be able to prevent the entire download on an automatic hourly schedule. And even if the latter – the author had chosen to reload the spreadsheet each hour – I'd want Google's design to allow browser-side caching to work for such embedded and/or generated images.)

<comment><USER17> About an hour is the standard time for external data in Google Spreadsheet to be refreshed. I've come across this with JSON data.

<comment><USER16> Even if noone has it open in a browser? Or they do have it open, but haven't interacted with it?

In either case, this seems odd, unless the URL is especially noted as 'volatile', and/or there are other parts of the spreadsheet that might trigger conditional calculations/notifications based on that URL's contents. (And don't S3 resources have last-modified-dates or etags for conditional GETs?)

<comment><USER17> I don't remember, but it wouldn't surprise me, that way it updates correctly for offline mode and if you have conditional logic it can work on changed data. It also improves page load time, which is very important for Google in general but doubly so for an online office suite (Excel opens quickly, so should a Google spreadsheet).

</comment></comment></comment></comment><comment><USER18> This really underscores Amazon's glaring omission of a billing cutoff on Amazon web services. How hard would it be for them to let me say, cut off my services at $100/month?

This is the main reason I'd never use AWS to host anything public.

<comment><USER19> It's not that simple.

First, the problem isn't inherent to virtual hosting services, you could just as easily get hit by this on a bare-metal site, though the interplay of S3 and Google Docs is an added dimension.

Cutting off all services opens the door for a class of DoS attacks. Simply direct enough traffic at a single account's assets, and you'll knock them offline for a given billing cycle. If the attack is cheap to launch (botnet, URL referral network, etc.) it's a cheap attack. Different entities would have different cut-off and degradation policies.

Better would be to identify the parameters of a specific anomalous traffic pattern, but this can be hard.

A more general solution is to set asset (server side) and client (remote side) caps in tiers. You'd want generous (but not unlimited) rates for legitimate crawlers, your own infrastructure, and major clients. The rest of the Net generally gets a lower service level. Such rules are not trivial to set up, and assistance through AWS or other cloud hosting providers would be very useful.

<comment><USER20> > _you'll knock them offline for a given billing cycle_

Er... Because caps can never be raised mid-cycle?

<comment><USER19> Sure, they could be, but it's still a pretty blunt alerting system.

Depending on the organization, though, you'd have to get purchase approval on the overage, etc. That will depend on specifics. Makes for sticky questions to answer there as well, which is another argument for putting better management tools at the cloud level.

<comment><USER20> You're making this _way_ more complicated than it needs to be. It's not an alerting system, it's a knob, like a thermostat. I turn the knob where I want it, the system follows the "run until this limit is hit" instruction. If I want to change my mind later, even after the limit is hit and the system shuts down, I can make that decision at that time. I don't want the system or anybody else to make it for me.

As for the "purchase approval" nonsense -- if the knob isn't right for _your company_ , then don't use it, but there are a _huge_ number of companies where the guy turning the knob is the one and only person with _any say_ over money being spent at all.

</comment></comment></comment></comment></comment><comment><USER21> I cannot help notice that Hetzner offers 5000 GB/month AND a full dedicated server, for 39 EUR (51 USD) [1], so his traffic would have cost him at that rate a total of 100 USD if he were to use a dedicated server instead of Amazon.

(before mentioning Amazon's scalability, consider that Hacker News is ran on a single dedicated server, and the moral of the story seems to be how not to scale especially when you don't want to)

[1] - <http://www.hetzner.de/en/hosting/produkte_rootserver/x3>

<comment><USER22> Of course if you want to do away with any kind of built in redundancy and take over the sysadmin duties involved you can get the raw space and transfer cheaper.

<comment><USER23> I have a VPS on buyvm which includes 2TB/month for $6. Each extra TB is another $2.50. This is not a special case, you can other providers with very good pricing for data transfer. I don't understand how the difference in bandwidth pricing can be so large. I'm also certain that Amazon doesn't pay as much for bandwidth as the guy from buyvm.

<comment><USER24> buyvm is overselling their bandwidth to you. Real uplink pricing is not 2 dollars per terabyte. If you actually tried to use say 13 terabytes from a single vm, it would work eithe because of rate limmiting on your uplink or they would cut you off.

<comment><USER25> well, real uplinks are charged on the 95th percentile, mostly. (sometimes capped, and Cogent does 90th percentile)

I'm signing a deal (if all goes well) tomorrow for $0.65 per MB/sec. 5 gigabit commit on a 10GB port, ($1.15/megabit overage charge, billed on the 90th percentile.) From Cogent, probably the cheapest provider that claims 'tier 1' status (there's a lot of argument about Cogent's "tier 1" status... which is kind of funny; If you only have one provider, a good tier 2 is going to be more reliable than a tier 1 anyhow.) but it is a real uplink and I really can use 5 gigabits of that.

If you ran one megabit full out for a month, assuming 2,629,743 seconds in a month and assuming seagate gigabytes, divide by 8 and you get 328717 megabytes. so, uh, yeah, two dollars a terabyte? assuming they are larger than I am, and their BGP mix is the low-end stuff (Cogent and HE.net or the like) they aren't losing money.

<comment> X-Istence Prices have gone down since the last time I had to deal with all of that. I remember the company I was working with paying $1.67 per Mb/sec, I've seen offers for 1 Gigabit/sec for $1000 so roughly $1.00 per Mb/sec (using 1000, not 1024), but I didn't know they would go down to $0.65 per Mb/sec!

Guess the more you commit to, the better pricing you get!

<comment><USER25> Bandwidth pricing falls dramatically with bulk. Cogent offered me $0.75/meg for a 3g commit, $0.65 for a 5g commit, and $0.50 for a 10G commit. I know a guy that is getting $4.00/meg on a 100M commit on a 1000M pipe, also from Cogent. (and he chose that over going through me for $650/month for a capped full 1000M pipe) Bandwidth is also a "negotiated good" without a standard price, so what I pay may be rather different from what you pay.

On top of that, bandwidth costs fall... dramatically[1] in competitive markets, and I'm in silicon valley, probably one of the most competitive transit markets. According to the graphs I've seen[1] I'm paying below average, but it won't be very long before what I'm paying is average. I was explaining this to the real-estate guy that owns my data center that was wanting to get in on the bandwidth business (he wanted to get people in for cheap and crank up the price on renewal, like you do with real-estate and data-center space) His response? "but then why would anyone want to be in the bandwidth business?"

I mean, the fiber in the ground? that's like real-estate. the prices go up, the prices go down, eh, whatever. But, the amount of traffic you can push over two strands of fiber? that goes up all the time; I have some old cisco 15540 ESPx DWDM units that can do 16 10GB/sec waves over one pair of fiber. They were awesome back in the day. Modern DWDM equipment? you can get 80 100GB/sec waves on one pair of fiber.

It's irritating, though, as like everything in this industry, you have to negotiate for months to get the "real price" - I asked Cogent for a single, capped 1 gigabit port for $1000/month north of 6 months ago. "Call me back when you can get me a buck a meg" They kept calling me back "how about $3 a meg? how about $1.75 a meg?" I mean, even now, they beat the buck a meg price point, but I had to buy a lot more than I needed (I'm splitting it half and half with another company, at cost, so while the transaction cost was huge, once you factor in the discounted setup fees, well, I am still paying more than a grand a month, but it's still a pretty comfortable fee for me.) I imagine Cogent has spent several thousand dollars of salesperson time, and I /know/ I have spend several thousand dollars of my time on this, and they are charging me rather less than if I had wasted almost none of their time. They even dropped the setup charge down to almost nothing.

And now I've gotta do the same thing all over again with a second provider (most likely he.net) What a waste of time and effort all around. I mean, a little bit? it's kinda fun, I mean, sales people are always ridiculously overdressed extroverts, and in this industry, most of them can pick up on my personality and act in a way that is tolerable or even fun for short periods of time, but I really am an introvert. I mean, it can be fun for a while? but man, I have had like 5 meetings the last two days, between dealing with Cogent and dealing with the people that are buying half the pipe from me. It's exhausting, and I guess I have a hard time seeing how this is the most efficient way to sell bandwidth. I mean, I guess some people throw up their hands and pay the $3/meg asking price, and if they can break even on me, god damn, you wouldn't need many of the $3/meg customers to get really rich.

But then that leads the question: why bother with me? I mean, I'm going to turn around and sell transit very near this cost in a very public way, which will mean that more of those $3/meg customers are going to turn around and ask Cogent for a discount.

I guess they can rely on the fact that, well, I'm a scruffy introvert, and no large corporation will do business with me. Still, I mean, Cogent will let me drop 1G (capped, sadly) ports into datacenters where I don't have equipment for $650/month, and I've been running ads saying I would be willing to sell those at cost (and make my profit off of the difference between the list setup fee, $2500, and what they are actually charging me.) - This was mostly a way to get the higher commit pricing without actually paying for it all.

[1][http://drpeering.net/white-papers/Internet-Transit- Pricing-H...](http://drpeering.net/white-papers/Internet-Transit-Pricing- Historical-And-Projected.php)

<comment> X-Istence At the time we were looking at a 2 gb commit...

$4 a meg sounds really expensive, at that point it is almost worth it going up, have room for future expansion and pay less for it, or do you do, and split the BW and cost.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> That such a simple thing on your part could result in such an extreme and expensive result implies something is wrong with the design of the system you're using.

<comment><USER27> I was going to post exactly the same thing. It's very lenient of him to blame himself instead of Google for this.

</comment></comment><comment><USER28> Feedfetcher strikes again, huh? I never did find out why they were so interested in one of my images.

<http://rachelbythebay.com/w/2011/10/27/wtfgoog/>

</comment><comment><USER29> I loved your reference to the huge Russion bomb Tsar Bomba. I for one had never heard of it, and it made a great metaphor.

[1] <http://en.wikipedia.org/wiki/Tsar_Bomba>

<comment><USER30> Check out the Nuclear Effects Calculator; You can see what effect various historical bombs would have. (They include Tsar Bomba.)

([http://nuclearsecrecy.com/blog/2012/02/03/presenting- nukemap...](http://nuclearsecrecy.com/blog/2012/02/03/presenting-nukemap/))

(<http://news.ycombinator.com/item?id=3624714>)

</comment></comment><comment><USER31> This was an extremely interesting article. I hope Google rectifies this type of behavior. This is actually pretty scary.

<comment><USER32> This isn't Google's fault. I could get a couple machines and do the same thing if I had a list of 250 gigs of files. And I wouldn't be limited to once every hour.

<comment><USER33> But those machines wouldn't be Google's, and you would probably either be committing a crime (building an exploited botnet) or using someone's money (be it your employer, university, or yourself) to run them.

This is pretty clearly a different league of attack: rather than attacking systems or spending money, you'd be exploiting a Google feature to use Google's resource for free to incur a giant amount of data transfer.

<comment><USER34> It would almost certainly be criminal regardless of the method (Google, EC2, botnet).

</comment></comment></comment></comment><comment><USER35> If I wanted to launch an attack on something like Instagram all I would need to do is put a bunch of images (hosted on instagram) into a Google Spreadsheet? Then the google crawler will come through and download them all once an hour?

<comment><USER36> That's what I'm wondering too, I don't see how this would work on a normal website since a normal website probably wouldn't be whitelisted by Google like AWS is... What am I missing here?

<comment><USER35> I don't think you'd be able to take down a website with this strategy. The OPs site never went down, it just cost him a lot of money. Even pretty small webservers should be able to serve up static image files pretty easily.

But you could do a denial of service by making the service too expensive and all of your work would be hidden behind the anonymity of the google bot.

</comment></comment></comment><comment><USER37> Try <http://cloudability.com> to keep track of your cloud costs. Note: I am not affiliated with them.

<comment><USER31> Thanks for the link!!

</comment></comment><comment><USER38> kudos to Amazon for running time backward and letting you pull your foot out of the way.

I can't help but think that if benign decisions lead to disasters like this in the cloud, how much destruction could robots wreak in the future due to similar benign choices?

<comment><AUTHOR> That was exactly what I was thinking after reflecting on this issue...

</comment></comment><comment><USER39> I'm pretty surprised Google didn't have the client download the images instead. Wouldn't that be a better solution or am I missing something here?

Pretty interesting though and if this becomes a big enough story you can bet Google will be changing something; the last thing they need is someone using Google Docs to DOS websites.

<comment><USER40> Google Docs is in HTTPS so they need to proxy the assets like Github does : [https://github.com/blog/743-sidejack-prevention- phase-3-ssl-...](https://github.com/blog/743-sidejack-prevention-phase-3-ssl- proxied-assets)

<comment><USER39> Interesting. I never thought of that. It seems almost silly that you're bringing insecure content over a secure channel like that but then again it is only images.

<comment><USER11> _"only images"_

As long as they don't do WMFs, with their code-injection-by-design functionality...

<http://en.wikipedia.org/wiki/Windows_Metafile_vulnerability>

</comment></comment></comment></comment><comment><USER41> Can you limit bandwidth with AWS?

Also, why would the spreadsheet be calling these images every hour. Did you have the spreadsheet open? Does google do this call even when no one is viewing the spreadsheet?

<comment><USER42> You can put a robots.txt in the bucket.

<comment><AUTHOR> Which will be ignored by Feedfetcher :-)

Plus you _cannot_ put a robots.txt at s3.amazonaws.com so if the url is accessed through the <https://s3.amazonaws.com/...>. url, the robots.txt will not work.

<comment><USER43> You could put robots.txt in the bucket if you address it using the <http://mybucket.s3.amazonaws.com/> alternative URL scheme - a robots.txt in the root of the bucket would then be available at <http://mybucket.s3.amazonaws.com/robots.txt>

<comment><AUTHOR> Yes, that would solve the issue of not being able to have your own robots.txt file and I did not know about that. On the other hand, Feedfetcher would still ignore the robots.txt

<comment><USER42> Google's justification for ignoring this is very weak.

<comment><USER44> I disagree. Feedfetcher is no different than a browser: it fetches the URL the user inserted, nothing more (unlike a spider, which discovers URLs by itself).

<comment><USER45> Not true. It fetches the URL every single hour, not just when the user requests it. So Google is claiming they can ignore robots.txt because it was an action performed by a user (true) but they're unleashing a huge problem with this background refreshing. Google is wasting gobs of their own money, too. What if I made a bot that generated 1000s of Google accounts with 1000s of spreadsheets hotlinking 1000s of big files stored on S3? This one guy's one file did TERABYTES of transfers over a week. The underlying problem is that Google is relying on the domain name to indicate the company size, and thus the bandwidth allocation for this service.

<comment><USER44> Background refreshing is a common feature in client applications, like RSS readers. I think their reasoning makes sense.

I do think they should change their process (making it lazy-load instead), but that's a different issue to robots.txt.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER46> Amusing thing about that page - it's full of '\$100', and uses Javascript to strip the \'s out, replacing them with empty <span> elements. Not sure I really want to know why...

<comment><AUTHOR> Mathjax :-)

<comment><USER46> Ah, that's a good excuse. Thanks :)

</comment></comment></comment><comment><USER45> Here's the big money question, since I haven't used S3 - do you have any throttling control? Can you simply block the feedfetcher bot, or block repeated hits like this at all? It seems like S3 is a nightmare $$$ hole if there aren't some really robust tools to manage this sort of problem.

</comment><comment><USER47> Sometimes a 509 Bandwidth limit exceeded helps!

AWS can actually do a setting for max bandwidth per hour or so & alert early if there is suspicious activity.

</comment><comment><USER48> Scary indeed. Many thanks for the warning. I was contemplating starting to use Amazon Cloud and some Google tools but definitely will not touch any of it now. Who knows how many other traps like this are laying in wait for the unweary?

All this automation is very well but this illustrates the dangers of running stuff on other's machines of unknown complexity and out of your own control, while having to pay for whatever may happen. Not for me, thanks.

<comment><USER49> I don't think the OA would want you to take this as FUD. These are incredibly powerful tools that give you more control than the alternatives (AWS anyway), and yes unintended consequences are possible, but this really is a freak occurrence.

</comment></comment><comment><USER50> Seeing how popular the story is, amazon could not have made a better $1000 PR campaign than being classy and reimbursing him!

</comment><comment><USER51> "What I find fascinating in this setting is that Google becomes such a powerful weapon due to a series of perfectly legitimate design decisions."

I call in to question that these are "perfectly legitimate design decisions", basically, if google thinks that the data is private or too sensitive to cache, then it shouldn't be this easy to have it automatically keep hitting a site like this. Google should have realized the potential for abuse here. I'm guessing it truly is an oversight on their part as I can't imagine they would want to waste all this bandwidth either, however its something they should figure out a solution for.

</comment><comment><USER52> This is the same kind of attack. I've demonstrated here. But for users of a popular analytic service. <http://news.ycombinator.com/item?id=3873774>

</comment><comment><USER53> I'm curious to know whether the objects were stored with Cache-Control: or Expires: headers. Does having such headers make a difference?

Clearly the client's not presenting If-Modified-Since: pragmas as I believe S3 honors those.

</comment><comment><USER54> Quite an interesting article. I didn't even think of it as a potential DDoS tool until he mentioned it. It makes sense but it seems like Google should have a built a fail-safe for something like that situation.

</comment><comment><USER55> You can use <http://cloudcost.teevity.com> to protect yourself from such situations (disclaimer : I'm the founder and CEO)

</comment><comment><USER56> I have a VPS. When i read stories like this, I think there isn't any point in going over to GAE or AWS. But lots of people do use these services, so what am I missing?

</comment><comment><USER57> He's getting 100+ requests per second.

You could rate limit the IPs. The question is how many IPs is Feedfetcher using ?

</comment><comment><USER58> Kudos to Amazon for refunding the guy. I don't think any other hosting company would just take the bullet for the customer.

</comment><comment><USER59> >"But how come did Google download the images again and again?"

"But how come did" indeed.

<comment><USER59> Communication skills matter, sorry.

<comment><USER52> But you get the idea what he trying to say no? We all here are not speaking English as the mother language. Please excuse :)

</comment></comment></comment><comment><USER60> very interesting findings, good read.</comment>


Huawei Unveils High-Performance ARM-Based CPU - <AUTHOR> https://www.huawei.com/en/press-events/news/2019/1/huawei-unveils-highest-performance-arm-based-cpu <comment><USER2> Huawei is also a Gold member of the RISC-V Foundation:

[https://riscv.org/membership/1745/huawei/](https://riscv.org/membership/1745/huawei/)

As another potential threat to ARM, here is an ARM licensee that designs their own chips and is interested in RISC-V. It's not a problem today, but if interest in the ISA continues to grow it should be relatively easy for them to switch.

<comment><USER3> Switch???

There seems to be some widespread confusion what RISC-V is, currently. It is not remotely competitive with any ARM processors, and for those used in smartphones, there is no indication it will be for at least another 10 years. It is solely used in applications where the choice of processor is mostly meaningless and cutting out ARM is 20 cents saved on the BoM. Remember Huawei makes a long long list of products besides smartphones such as networking gear where you need the occasional small to medium sized processor.

<comment><USER4> I've heard hardware guys complain about saving pennies. When you're manufacturing millions of units then saving 20 cents on each of them absolutely does matter. Obviously saving 20 cents now doesn't offset all the other issues with RISC-V but saying it's meaningless to cut out 20 cents is not correct.

<comment><USER5> I don't think that's what stefan_ wanted to say. I think it's rather that RISC-V isn't effective enough (yet) to be suitable for scenarios where the main thing you optimize for is something other than cost (like heat dissipation, power use, performance, etc). For scenarios where these things don't matter, but cost is very important, RISC-V is the ideal choice.

</comment></comment></comment></comment><comment><USER6> Huawei is in the game, for sure. Also, comments that dismiss Chinese achievements appear uninformed of the level of effort at technology supremacy under way in China.

BUT there are a few "buts:"

As the article says "the new CPU is designed to boost the development of computing in big data, distributed storage, and ARM-native application scenarios."

This isn't anything like an Apple A12, which has world-beating compute power per watt.

The Huawei chip should be compared to Intel server CPUs and ARM and other chips with other ISAs designed to use in data centers.

This is an important step technologically for Huawei, which will probably use enough of these chips to learn for a next generation. This is probably not a chip that will disrupt anyone else's chip business.

<comment><USER7> One of the best comments on this. Its natural for Huawei to do this to make them, and China market in general, less dependent on foreign chips. Its also natural considering the areas in which Huawei does business - they effectively are a end-to-end supplier of telco platforms from server, beacons, mobiles.

I think is very good for the world to have additional heavyweight competitors in the CPU space - especially given that its ARM based so no reasons(other than political) that other brands would not want to consider as a supplier.

</comment></comment><comment><USER8> From the only number I see, the specint score, it is 40% faster than Qualcomm Centriq socket vs socket, and even 6% core vs core. Which is a really great if true. Wonder what the power draw on that thing though.

</comment><comment><USER9> To clarify, this is not for mobile devices, for those who want to compare it to the A12x Bionic.

<comment><USER10> Furthermore it's a 64 core design, so aimed at massively parallelized workloads and high bandwidth applications, which is why they bang on about it's impressive set of interfaces. Not surprising for a company that is mainly a telecoms operation and only incidentally makes phones.

<comment><USER11> I love to the TDP # when 64 cores are running 2.6G.

Also like to know the L1, L2, L3 #.

It is hard for any system company to sell CPU. Apple is only for their own use. I believe the Samsung's AP is for their own use also.

</comment></comment></comment><comment><USER12> How are Huawei, Apple and Samsung beating Qualcomm so easily?

Did Qualcomm just beat Intel in the mobile market and then just become complacent with patents?

<comment><USER13> One reason may be that they are better sponsored by the gov. Some kind of tech dumping.

<comment><USER14> For Huawei, that's pretty much a given. Doesn't explain Apple and Samsung though. For Qualcomm, I would be surprised if their bread and butter ARM CPUs weren't mobile CPUs. Why stick with reference designs if they could tweak them or come up with higher performing ones? The Apple iPhone CPUs from two years ago are still trading blows with the latest Snapdragons. That's crazy.

<comment><USER15> IIRC, Apple just spends more; they have more transistors. This is a luxury that is harder for Qualcomm to afford, as their customers wouldn't put up with it.

<comment><USER16> > IIRC, Apple just spends more; they have more transistors.

Also, Apple has a full ARM license and full control over the OS and the software that runs on it. Which means it is very well possible that they have extended the instruction set to accelerate real-world JS performance.

<comment><USER17> That was a rumor floating around - that WebKit took advantage of new A12 instructions. It wasn't true at the time. They may have released the patch since then.

[https://twitter.com/saambarati/status/1049202132522479616](https://twitter.com/saambarati/status/1049202132522479616)

<comment><USER16> It's not just about WebKit. The remainder of the OS, including the graphic stack, is most likely to be optimized as hell for the A12 CPU.

<comment><USER18> There is a _LOT_ to be said for gaining a few %5 here and there improvements. Apple can both optimize their software for a very limited set of micro- architectures (a luxury that doesn't exist on android which runs on everything from tiny in order cores to larger more general purpose OoO cores) as well as optimize the cores themselves for an exact instruction sequences they determine to be critical for _their_ OS/applications/power envelope. This means their cache sizes/latency/TLBs/ROB buffers/frequency/power profiles/etc are decided not based on what generates a good specCPU score but what generates a good iOS/safari experience.

Its a complete vertical integration and no one should be surprised that a general purpose kernel (linux) running a AOT/JIT'ed environment on top of an os abstraction layer (android) on top of processors frequently designed to exist in applications that aren't phones gets beaten on a phone centric benchmark. Call me when someone gets a big hadoop benchmark or dpdk results on an apple core.

<comment><USER19> The new A12 processor comes very close in the same benchmarks to the best desktop processors, not mobile specific or phone centric benchmarks. I don't know why you persist in your non factual and biased comments.

"What is quite astonishing, is just how close Apple's A11 and A12 are to current desktop CPUs. I haven't had the opportunity to run things in a more comparable manner, but taking our server editor, Johan De Gelas' recent figures from earlier this summer, we see that the A12 outperforms a moderately-clocked Skylake CPU in single-threaded performance. Of course there's compiler considerations and various frequency concerns to take into account, but still we're now talking about very small margins until Apple's mobile SoCs outperform the fastest desktop CPUs in terms of ST performance. It will be interesting to get more accurate figures on this topic later on in the coming months."

[https://www.anandtech.com/show/13392/the-iphone-xs-xs-max- re...](https://www.anandtech.com/show/13392/the-iphone-xs-xs-max-review- unveiling-the-silicon-secrets/4)

<comment><USER18> "we see that the A12 outperforms a moderately-clocked Skylake CPU in single- threaded performance"

moderately clocked skylake != "best desktop processors"

There is a good 2x perf difference between a 2 something Ghz skylake and a 4.5Ghz skylake, particularly on L2 cache bound single thread benchmarks (which is what specint2006 is these days, its more a cache benchmark except for libquantum which is "broken" and more accurately reflects clockrate*cores). A moderately clocked skylake is a laptop.

But you say, IPC matters!!! Sure it does, but a microarch with the same IPC and the ability to clock 2x faster is generally a 2x faster CPU.

Nor is apple shipping a phone with 16+ cores...

People have been saying their phones were as fast as their desktops for years, and its not anymore true today than it was 5 years ago. Its questionable whether it will really ever happen as there is this heat/power dissipation problem in phones that desktops don't have. Not to mention desktops don't have nearly the physical constraints on RAM/storage/IO capacity you find in a phone/laptop.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Huawei also has their own Cloud solution in China, even though it is not anywhere near as big a Tencent and Alibaba's cloud. So I guess they could use those as testbed. Along with 5G Infrastructure, directly competing against Intel. And this is only the first Gen, I am sure they have more to come.

Intel should never have wasted billions into McAfee. May be its next acquisition target would be Nokia or Ericsson, both at around ~30B, likely need 40B.

Competition is good.

</comment><comment><USER21> The announcement is available on [https://www.youtube.com/watch?v=lNY4J3yCzgI](https://www.youtube.com/watch?v=lNY4J3yCzgI)

</comment><comment><USER22> was this fabbed at global foundries?

<comment><USER23> _" Using the cutting-edge 7nm process, the CPU was independently designed by Huawei based on ARMv8 architecture license"_

I assume it's the same 7nm TSMC process as for the Kirin 980.

</comment></comment><comment><USER24> Is it better than apple A12?

<comment><USER10> It's like comparing a BMW truck to an Audi sports car. Better at what?

<comment><USER25> What sorts of lap times can you expect from a Mercedes panel van at the nurburgring? How much can an Aventador tow? These are the sorts of questions answered by benchmarks.

</comment></comment></comment><comment><USER26> This title is misleading, should be "Huawei claims to unveil Industry's Highest-Performance ARM-Based CPU"

<comment><USER27> Does it really need pointing out that a headline on huawai.com is a claim by Huawai?

<comment><USER28> It's less that it's a claim by Huawei and more that the claims haven't been verified independently. Competitive benchmarking has a long history of results which are hard to reproduce and comparisons which "accidentally" left the competing product in an unusual state, so it's prudent to distrust them until they can be verified independently.

<comment><USER29> .

<comment><USER30> It's a press release. They're always worded like that.

<comment><USER29> .

<comment><USER31> I am not sure what industry you are in but if you go read press releases from the likes of most of the networking companies you see all the time "bob networking unveils the biggest flubar..." or the like as standard practice. Heck I have had to edit some of these for technical correctness before the marketing team puts their foot in it..

<comment><USER29> .

<comment><USER30> Where are you looking?

For Cisco, their press releases seem to be here: [https://newsroom.cisco.com/pressreleases](https://newsroom.cisco.com/pressreleases)

I haven't looked through all of them because I'm lazy, but scrolling through them I haven't yet found one that isn't in the 3rd person.

<comment><USER32> And in case anyone is wondering why they do that: press releases are intended to be used in an article verbatim. Headline and all. Press releases are written from third person perspective because that's how a reporter would write it.

And if you go on Google and search some text from a press release, you'll find tons of articles using the headline and body completely verbatim like it's their own article. This is intentional.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER33> > Based on the TaiShan servers, Huawei Butt also provides elastic butt > services

Looking at huaweicloud.com, the "elastic cloud" servers seem to be all Intel :(

<comment><USER34> Looks like someone uses "cloud to butt" extension...

<comment><USER33> Of course. What, some people still don't use it?

</comment></comment></comment><comment><USER35> Hmm, I feel like I've read this before. Oh right, the HiSilicon K3V2, which at the time was touted as the fastest ARM CPU for mobile devices. Except in real usage it was downclocked ~40% (including the memory) to keep temperatures low (still overheated) and the GPU performance was underwhelming. Really nice chip for tinkering with, no limits on any clocks or voltages, you could do anything you wanted with it.

<comment><USER36> No you haven't. HiSilicon K3V2 is a 6 years old mobile chipset built on ancient 40nm technology with DDR2 RAM, so like every other mobile chipset in existence, it has massive thermal issues due to non-existent cooling—even more so due to the terrible manufacturing process.

This is a server CPU built with modern processes, so thermal problems are out of the way.

<comment><USER35> [https://www.engadget.com/2012/02/26/huawei-adds-home- grown-k...](https://www.engadget.com/2012/02/26/huawei-adds-home- grown-k3v2-quad-core-mobile-cpu-to-its-arsenal/)

I'm not dissing on the new chip, it's just that everyone claims their brand new silicon has the highest performance to date in their press releases.

<comment><USER36> And, well, they're usually right at the time of release. You can't blame them for wanting to market that they have the best specs at the time.</comment></comment></comment></comment>


Ask HN: Which web source you guys follow to be up to date with startup world - <AUTHOR> I read stuff mostly on hacker news only, are there more new source like this, where we get startup news, interesting articles etc. <comment><USER2> HN as you mentioned ProductHunt BetaList Techcrunch

Waiting for others to expand the list:)</comment>


Hide W3 Schools Results in Chrome - <AUTHOR> https://chrome.google.com/webstore/detail/w3schools-hider/cbifdjebjnindebojlhccdccmgfgccdo <comment><AUTHOR> Source here: [https://github.com/Spetnik/W3Schools- Hider](https://github.com/Spetnik/W3Schools-Hider)

</comment><comment><USER2> Is w3 Schools that bad? I use it as a quick hit to remind me about syntax or whatever. It's not my only source but it's useful.

<comment><AUTHOR> As someone learning javascript, it drives me crazy — it's frequently out of date or just plain wrong. I'd always rather look at MDN Web Docs ([https://developer.mozilla.org/en-US/](https://developer.mozilla.org/en-US/)) or Stack Overflow, but they never seem to end up at the top of the results.</comment></comment>