On Languages, VMs, Optimization, and the Way of the World - <AUTHOR> http://blog.headius.com/2013/05/on-languages-vms-optimization-and-way.html

<comment><USER2> One thing that gets lost in these discussions is implementation complexity. The JVM is amazing, but it's also a phenomenally complex piece of code.

My recent interest has been in gradually typed languages: [http://ecee.colorado.edu/~siek/gradualtyping.html](http://ecee.colorado.edu/~siek/gradualtyping.html), [http://www.mypy-lang.org](http://www.mypy-lang.org).

Gradual typing is somewhat different from optional typing as found in Dylan or Common Lisp, because it offers a consistent type system wherein a program that is fully typed declared will be statically typed. Dylan and Common Lisp compilers use extensive type inference systems to try and eliminate as many dynamic type checks as possible, but type inference is fairly complicated and its hard for the programmer sitting at his keyboard to guess where typechecks will be generated unless he has a lot of familiarity with a particular implementation. With a gradually typed language, you can be pretty sure that if you annotate certain syntactic elements with types, the compiler will generate code that does not check types at runtime. Or, in code that only partially declares types, you can be sure that type errors will ultimately be traceable code that does not have declarations ([http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.142....](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.142.5873)).

The upside of gradual typing is two-fold: 1) you can generate pretty good code without a very sophisticated compiler; and 2) you can generate pretty good code without having a runtime optimization framework in place (as with the JVM, or the Dart VM or V8).

<comment><USER3> We did this in an ActionScript 3 compiler at my last job. The problem is that since code is dynamic by default, you still need the "fallback" operations mentioned in this post, because people can (and do) make use of dynamic operations and you need to preserve behaviour. Also, ActionScript's type system isn't expressive enough to actually get to full static typing—there is only one function type, for example, which says nothing about its parameter or return types. But in principle, and in a language that was designed to support it at the outset, it's a good way to do typing.

<comment><USER2> > ActionScript's type system isn't expressive enough to actually get to full > static typing—there is only one function type, for example, which says > nothing about its parameter or return types

Yeah, that's the problem in Dylan too. See: opendylan.org/~hannes/coll.pdf

</comment></comment></comment><comment><USER4> The points all sound reasonable. I wonder about the details though, for example

> Dart is dynamically typed (or at least, types are optional and the VM > doesn't care about them), but types are of a fixed shape. If programmers can > tolerate fixed-shape types, Dart provides a very nice dynamic language that > still can achieve the same optimizations as statically-typed Java or > statically-compiled C/++.

Again, the principle sounds reasonable - predictable types allow Java/C-like performance - but it would be nice to see this supported by empirical results. For example

[http://benchmarksgame.alioth.debian.org/u32/benchmark.php?te...](http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=dart&lang2=java&data=u32) , [http://benchmarksgame.alioth.debian.org/u32/benchmark.php?te...](http://benchmarksgame.alioth.debian.org/u32/benchmark.php?test=all&lang=dart&lang2=gpp&data=u32)

and

[http://j15r.com/blog/2013/07/05/Box2d_Addendum](http://j15r.com/blog/2013/07/05/Box2d_Addendum)

do not support the article's point. Dart's performance there is much like JavaScript's.

The one dynamic language that can in many cases compete with C and Java is Lua, in the LuaJIT implementation. But Lua is very dynamic, much like JavaScript, so again this is a result in the real world that does not seem to add up with the article's point.

</comment><comment><USER5> _The important thing is for language users to recognize that nothing is free, and to understand the implications of language features and design decisions they make in their own programs._

I can agree with this statement. Other than that, I have some qualms with the post. For a start, it doesn't consider that compilation takes time. The great thing about JIT compilation is you know everything about the code being run. The bad thing is you have no time to make use of this information.

Then there is this:

 _Traditionally, static typing was the best way to guarantee we produced good CPU instructions. It gave us a clear picture of the world we could ponder and meditate over, eventually boiling out the secrets of the universe and producing the fastest possible code._

Huh, what? Any compiler author knows that many compiler optimization problems are NP-Complete. For example, graph colouring register allocation is, as the name suggests, NP-complete. You have to do register allocation whether you JIT compile or AOT compile, and you have to do it approximately in both cases. (IIRC typical JIT compilers use a linear scan graph allocation algorithm which is almost as good as graph colouring but much faster.)

Furthermore, in the languages he considers there are loads of optimization opportunities that cannot be statically expressed in the language (e.g. stack allocation of memory, immutability, SIMD operations). You can infer many of these statically, but statically typed languages also benefit from JIT optimization using extra information available at runtime in the same way that dynamically typed languages do.

Finally, a type theorist would have a fit over how he uses the word "typed" (and they would object to this comment as well.) Types don't exist a runtime -- representations do.

 _Update_ AOT compilers also allow code to be targeted to specific machines. An obvious example is a Linux distro available in 32-bit and 64-bit versions. GCC allows much finer distinctions than this.

AOT compilers can also make use of runtime information -- so-called "profile guided optimisation."

<comment><USER6> I agree with you, although it comes out unnecessarily rude.

However, JIT does not necessarily mean fast compilation (e.g. Linear Scan). A JIT might identify hot spots in the code and the optimize the hell out of that part with the same optimizations that GCC -O3 uses. Plus, it might have additional runtime information. Advanced JIT engines usually have multiple stages of optimization.

<comment><USER7> Its a good point about jit time. It is however also true that even if you do it in the background (as for example Azul does, I think) you are not completly free of its problems. It is often hard to firgure out if it is worth the coordination of the background work. Im not complety sure but I think V8 does advanced optimisation on thread.

Also I am sure that Lua Jit does everything on a single thread. LuaJit is a special case most of the time since it works so fundamentally diffrent almost all other high performace jits in the wild. It only has one compiler and still works with a interpreter.

</comment></comment></comment><comment><USER8> > You could probably make the claim that static optimization is a halting > problem, and dynamic optimization eventually can beat it by definition since > it can optimize what the program is actually doing.

It's not as if static type systems and JIT compilation are mutually exclusive concepts, so this argument makes no sense.

If JITing were a panacea, dynamically typed languages would be just as fast as statically typed, and lower-level languages like C would be long dead. This is clearly not the case.

<comment><AUTHOR> I think his point there is that a JIT compiler can handle dynamism more effectively than an AOT compiler. A corollary is that the more static the language is, the less advantage JIT compilation has over AOT compilation.

<comment><USER9> Part of what I see m0th87 saying, though, is that practice has shown that these claims about JIT compilation handling certain cases more effectively than AOT compilation just don't really hold true.

JIT compilation may be better than some of the other approaches for implementing VMs or interpreters. It may also theoretically have the potential to be better than AOT compilation in some cases, too. But that potential doesn't really matter if we never see such benefits in real systems.

Real-world code written in C, C++, and Fortran and compiled ahead of time still basically always outperform Java bytecode executed by HotSpot, or JavaScript code executed by V8, or Lua code executed by LuaJIT, by a huge margin. This is even after a huge amount of effort has gone into systems like HotSpot and V8, for instance.

The theoretical benefits of JIT compilation do us no good if it's too costly or difficult to build effective implementations of such systems in a timely manner, for example. It does the wider community no good if such optimizations only really apply in a very small number of highly specific cases, as well.

A lot of us have heard these claims about JIT compilation for over a decade now, especially with respect to HotSpot, but we've yet to see these techniques consistently and reliably match AOT compilation in general, never mind outperform it. There is a lot of doubt out there due to this.

<comment><USER10> As much as I like C, it would be better if language choice does not depend on the performance it can deliver. It would be nice to see the JVM pull up closer to AOT compiled languages, but as this post painfully exposes, this seems implausible.

</comment></comment></comment></comment><comment><USER11> One thing that dynamic optimizations have a problem dealing with is eliminating the overhead of indirection in data representation, e.g. from arrays of objects or nested objects. If all of the objects involved have a limited local lifetime, then you can just inline all of the functions involved and apply standard optimization techniques. But if the objects have a more global scope, then a JIT really can't do that much. There is some research into this (see [http://ssw.jku.at/Research/Papers/Wimmer08PhD/](http://ssw.jku.at/Research/Papers/Wimmer08PhD/) for an example), but as far as I know nothing is production quality.

</comment><comment><USER12> > Given appropriate dynamic optimizations, there's no reason Java code can't > compete with or surpass statically-typed and statically-compiled C/++,

Garbage collection.

I'm not sure I understand completely what he's trying to say though I find it hard to believe an article about "languages, VMs and optimization" doesn't once mention GC. You can heavily optimize any language to JIT, vectorize instructions, use SSE, whatever... but then that pesky garbage collector stops the world and takes 100 milliseconds...

<comment><USER13> The primary cost of GC is in memory, not time. GC doesn't need to stop the world; but to be efficient, it needs to be free to generate a lot of garbage to amortize the cost of tracing the live set. This is why GC is asymptotically faster than malloc/free (though not necessarily other approaches, like arenas). GC is also easier, in principle, to parallelize.

<comment><USER7> > GC doesn't need to stop the world

As far as I know almost all GCs eventually have a full on stop the world case. The only expetion I know of is the azul C4 collecter but I think there the only ones.

<comment><USER13> Yes, you are agreeing with me, also mentioning an existence proof.

</comment></comment></comment></comment><comment><USER14> With a sufficiently advanced language (scala), fully static typing is exactly what I as a programmer want - it gives me a lightweight way to make assertions about my values everywhere in my program, which makes debugging a lot easier. The fact that values can change type in Javascript or Ruby I find to be a disadvantage.

<comment><USER15> I agree. For me, I really do enjoy _writing_ Ruby programs - but when something isn't working as expected and its time to do some serious debugging, I prefer C++ all day.

</comment></comment><comment><USER16> There is also an impact on memory use and startup latency imposed by JITs vs AOT. None of the JS VMs so far seem to do any kind of snapshotting. Since the types collected by runtime profiling are likely to be the same for most runs of a well-behaved app, it seems like you could send down the profile to the client JIT to allow it to converge quicker.

</comment><comment><USER17> I have been playing w/ cross compiling a language to Dart. There is no bytecode[1] which actually makes it a tad easier. Dart does give you method_missing semantics w/ noSuchMethod. Granted a runtime method lookup table, if you were building Ruby on Dart, would lose the compilation optimizations on dynamic methods, but you'd still get them w/ the explicitly defined ones (I guess the same way as JRuby). When Dart has more runtime compilation abilities (beyond just spawnUri) I think it will be a great target for dynamic languages.

1 - [http://www.dartlang.org/articles/why-not- bytecode/](http://www.dartlang.org/articles/why-not-bytecode/)

<comment><USER18> This is similar to the design of the dynamic language runtime under Microsoft's CLR, which is able to accomplish this with bytecode by objects that implement IDynamicMetaObjectProvider.

</comment></comment><comment><USER19> I also recommend "Why Python, Ruby, and Javascript are slow". [https://speakerdeck.com/alex/why-python-ruby-and- javascript-...](https://speakerdeck.com/alex/why-python-ruby-and-javascript- are-slow)

Summary: Things that take time are hash table lookups, allocations, copying.</comment>


Ask HN: What is the modern equivalent of Visual Basic? - <AUTHOR> I just got married, and am working on a little app to download our sundry financial data via .ofx and let us do some light categorization and reporting. Nothing too complicated.
In order to make this at all usable, I more or less need:
1. A running instance of a db (mongo, postgres)
2. A web server
3. My python application which knows how to read and parse and store our data
4. Some frontend code to display charts (vue.js, chart.js)
5. Design a light HTTP API layer to surface data to said frontend
It seems like a lot! Lots of layers in different systems, and lots of documentation across different libraries:
1. DB schema
2. HTTP restful schema
3. Figure out which pieces of Vuetify (or bootstrap) to use for my UX
4. vue controllers
In a previous life, I might have cracked open Visual Basic, written my logic, bound to a local MS Access database, and drag-and-drop form controls for a GUI. I'd be done by now.
Is there a modern equivalent of the sheer ease and speed of VB programming for small utilities that I'd want to write for myself? <comment><USER2> Comparing VB desktop app dev to web app dev is a little bit apples to oranges.

Regardless, Django gives you everything you need on a silver platter, with fantastic documentation. To make your life easier, you could probably just use SQLite for the DB, and just run your app locally w/ the dev server to avoid having to deal with deployments, security, and possibly exposing your financial data online.

Maybe avoid Vue/APIs to start, and just do old school backend rendered templates. Bootstrap + jQuery + Highcharts will get you very far.

Since you brought up VB though, maybe an Electron based desktop app is actually what you want?

</comment><comment><USER3> You could use Google Sheets. It supports scripts (via Google Apps Script, a JavaScript derivative), allows you to generate charts and from some quick Googling it seems like there are approaches for importing OFX data as well.

</comment><comment><USER4> Check out Anvil: [https://anvil.works/](https://anvil.works/)

There's a good recent interview about it at: [https://www.pythonpodcast.com/anvil-web-application- developm...](https://www.pythonpodcast.com/anvil-web-application-development- episode-215/)

</comment><comment><USER5> Does it need to be a web app? VB isn't web (afaik).

You could probably do it all in python using sqlite, matplotlib and tkinter. MPL provides tk widgets for displaying its graphs.

For drag and drop GUI dev, maybe this? [http://www.bitflipper.ca/rapyd/](http://www.bitflipper.ca/rapyd/)

<comment><USER6> VB6 active server pages!

</comment></comment><comment><USER7> I write small command line utilities with python and SQLite for this sort of thing. Add in some matplotlib to display the charts/graphs.

It gets the job done.

</comment><comment><USER8> If you still have the software why not just get it working in a compatible vm? Seems easier than learning all that.. Unless you just want something to learn, nothing wrong with that of course.

</comment><comment><USER9> Why not just use VB?

</comment><comment><USER10> C# WinForms? That's what I'd use for this.

</comment><comment><USER11> meteor makes a lot of decisions and joins a lot of the dots for you, but its not python.</comment>


HTC Vive Tracker Enables a Bevy of Tracked Accessories – Road to VR - <AUTHOR> http://www.roadtovr.com/htc-vive-tracker-enables-a-bevy-of-bats-guns-gloves-and-other-tracked-accessories/ <comment><USER2> If I had known this was coming (and I specifically asked), I would not have spent the thousands of dollars necessary to get out to Seattle and take the tracked device training course. They had to have known this was coming a mere month and a half ago.

I am not happy.</comment>


Armenian Genocide Recognition - <AUTHOR> https://en.wikipedia.org/wiki/Armenian_Genocide_recognition <comment><USER2> a just dont understand how can this topic be not recognised, when it actually happend.</comment>


The Latest News - Tech4000 Has something to Give - <AUTHOR> http://www.twitter.com/tech4000 Let us give you the gift of information!  Delivered to your twitter!!  Follow us on twitter and get the latest in Tech News Delivered right to you Absoutley FREE! <comment><USER2> Twitter feeds aren't news, especially when the content has already been submitted here by the owner. Flagged.</comment>


Young White America Is Haunted by a Crisis of Despair - <AUTHOR> https://www.bloomberg.com/news/features/2017-04-18/young-white-america-is-haunted-by-a-crisis-of-despair <comment><USER3> I worry about this for my oldest son. He has dyspraxia and apraxia. In practice that means he has difficulty with memory (at 15 he still doesn't know his multiplication tables) and putting things in order (such as speaking - <USER2> have to put phonemes, words, sentences together in order to speak). But, he doesn't look like he has a disability and he doesn't speak much so people don't readily realize he doesn't talk like other people. There are people who know him for years without realizing there is anything "wrong" with him. Unfortunately there is no way he will be able to go to college. He is basically flunking middle school despite putting forth his best effort because he simply can't remember anything and can't put things in order to respond to questions or write things down. However they will basically pass him since they have documentation that he has a disability. He will get a high school diploma because if you have a documented disability and attend public school they will basically just give you a diploma if you at least show up. College, obviously, doesn't work the same way. I'm not really sure what will become of him. I'm not sure he could hack a trade. He could do manual labor, but that doesn't really pay well enough to live on your own, at least where we live. I'm afraid he will end up with the problems outlined in this article.

<comment><USER4> I went to a school where a number of friends were not academic in the slightest. They left as soon as they could often with no qualifications but gradually learnt trades.

Many now have their own businesses (one is a plasterer, another a builder) and they earn good money, own their own homes, and have no student debt.

The reason? They had supportive parents. Many of the people who are falling into despair tragically come from very broken families.

<comment><USER5> I'm guessing the successful people you're describing do not have severe learning disabilities. And I find it at least questionable that parenting has gotten markedly less supportive in the past few decades.

<comment><USER6> >And I find it at least questionable that parenting has gotten markedly less supportive in the past few decades.

Look at the trends of the past few decades: divorce; single parent; and dual income households. There is in fact remarkedly less two parent, supported by single income households, meaning it's a rareity for a child to simply have a parent at home when they return from school to fix them a healthy snack, ask how their day was, or help with homework. Certainly it's not a single cause, but stability in the home is indisputably tied to mental well being of the child.

<comment><USER7> US divorce rate is lower than it's been for 40 years.

<comment><USER8> You're discussing the derivative (rate of change) of the actual issue. The issue isn't how fast divorced households are growing; the issue is that they exist at all. Even if the divorce rate was zero, there would still be existent divorced households. And broken households don't do any favors for children, even if the parents do their best to make it seem amicable.

<comment><USER9> > You're discussing the derivative (rate of change) of the actual issue.

The rate of change is the rate of new divorces minus the rate at which divorcee households are ending (if the concern is divorced parents with children, by death of the parent, child, or the child leaving the household.)

> Even if the divorce rate was zero, there would still be existent divorced > households.

A declining, eventually to zero, number of them.

<comment><USER8> Of course I'm not taking a stance that the rate of change is not important. And of course it would need to drop in order to reduce and eventually eliminate occurrence...

I was instead pointing out that simply bring up a reduced rate is not really a counterpoint. Especially when, as you accurately point out, the divorce rate is not even the entire picture for the rate-of-change of divorced households. See also Arizhel's sibling comment:

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

But hey, will_brown did a better job of making the same point and defending himself:

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

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> > The fates of the less-educated and those who graduate from universities > diverge in dire ways. Middle-aged white Americans without four-year degrees > are at increasing risk of dying, a well-documented trend driven not only by > drug use but also by alcoholism, suicide, and slowing progress against heart > disease and cancer.

While that's pretty damn horrible, the fate of people with newly-minted bachelor's degrees isn't much to write home about either, unless you happened to major in the few areas of study where gainful employment is possible. Crushing student debt, high cost of living cities, an unreachably inflated housing market, low (but non-zero for now) job prospects, the looming threat of automation and robotics, underemployment--and if they get a professional job--a workplace full of only entry-level opportunities, with senior and management opportunities sucked up by boomers who refuse to, or can't, retire.

Sure, it's not at the level of dying of a heroin addiction, but there's plenty of anxiety and lack of opportunity to go around.

<comment><USER11> Its the power of capital over labor, whereby capital is extremely stratified in the hands of very few people, and they have shifted political power so as to avoid investment in the laborers (aka everyone below themselves) and ensure they do not become a threat.

Additionally, they will usually influence monetary policy to ensure their status is never challenged, which is why rapidly rising housing prices aren't a major political issue at the state and federal level, despite our tax code & loan incentives encouraging ballooning housing prices.

Also, this is a decent piece: [https://www.oxfam.org/en/pressroom/pressreleases/2017-01-16/...](https://www.oxfam.org/en/pressroom/pressreleases/2017-01-16/just-8-men- own-same-wealth-half-world)

<comment><USER12> Within capitalism itself, some economists also argue that wealth concentration tends to suppress investment opportunities, because there aren't as many "moneyed eyes" on economic events worthy of capital and management; investment gets tunnel vision.

I don't have any links on-hand but there's plenty of material out there (from reputable sources, and not-so-reputable ones) with a quick Google search.

[https://www.google.com/search?q=wealth+concentration+suppres...](https://www.google.com/search?q=wealth+concentration+suppress+investment&rlz=1C5CHFA_enUS734US734&oq=wealth+concentration+suppress+investment&aqs=chrome..69i57.12408j0j7&sourceid=chrome&ie=UTF-8)

<comment><USER13> It seems like capitalism really needs something like a wealth tax -- ideally with the rate tied to the change in concentration of wealth over the whole society, so during periods of time when capital is concentrating, the wealth tax goes up vs epochs when it does not...

Interestingly, I was reading about the idea of a wealth tax and came across this depressing nugget ...:

> In 1999, Donald Trump proposed for the United States a one off 14.25% wealth > tax on the net worth of individuals and trusts worth $10 million or more. > Trump claimed that this would generate $5.7 trillion in new taxes, which > could be used to eliminate the national debt.[18] A net wealth tax may also > be designed to be revenue neutral as where it is used to broaden the tax > base, stabilize the economy and reduce individual income and other > taxes[citation needed].

<comment><USER14> Is that accurate? 15% could generate that much? That's mind boggling, I always assumed it would take a 50%+ tax on multimillionaires/billionaires...

<comment><USER13> I can't comment on accuracy but considering the source ... I wonder if there is even a way to find out -- I'm not sure if anything in existing tax code would serve as a good proxy for estimating "net worth".

</comment></comment></comment></comment></comment></comment><comment><USER15> We're at the point where the United State can either become utopia or dystopia.

Automation can either allow everyone to do whatever they want with almost unlimited leisure, or continue as it has destroying the middle class and consolidating wealth for the elite.

I used to be hardcore capitalism but if something isn't done to spread the wealth we are going to have our own French revolution with the plebes rising up against the elite. The anger that got trump elected is just the beginning if things don't change

Unfortunately, basic human nature probably won't allow this change to happen without violence.

<comment> temp-dude-87844 It's difficult to imagine a violent uprising in a state with such militarized police and widespread, distributed armed forces presence as the US.

When even outside of times of unrest, encounters with the police result in getting fatally shot or seriously injured much more frequently than in comparably high-HDI states [1][2], it would take the cooperation of police and the military to allow unrest to take its course instead of being quickly crushed; this is culturally unlikely in the US which holds public order and the continuity of government in high esteem.

[1] [https://www.pri.org/stories/2016-07-12/when-it-comes- police-...](https://www.pri.org/stories/2016-07-12/when-it-comes-police- shootings-us-doesnt-look-developed-nation) [2] [https://www.theguardian.com/us-news/2015/jun/09/the- counted-...](https://www.theguardian.com/us-news/2015/jun/09/the-counted- police-killings-us-vs-other-countries)

<comment><USER16> It's one thing to turn a foreign country into a police state, when you need to actually be a productive society that simply stops functioning with large scale unrest.

The problem is not direct force of arms, the problem is society needs a vast number of soft targets to continue to operate. If large numbers of people chose to simply take down power lines there is almost nothing the police or military could do. City's water supply pipes are similarly easy to destroy and difficult to replace. Roads are harder to destroy, but easy to prevent most civilian traffic.

<comment> temp-dude-87844 I'm not sure whether you're saying that sabotage of infrastructure performed by the populace is a good way to perpetuate unrest in a way that a militarized state can't squash, or whether you're saying that the state can quickly destroy key pieces of infrastructure to cause pain to people who refuse to fall in line. Because both are true, but the latter is far more likely _and_ effective: after all, who wants to destroy the last remaining enablers of their comfort, shelter, and livelihood just to prove a point... and then what?

One only need to look at the city of Flint, whose water pipes continue to deliver lead-laced water to households black and white, but society has largely routed around the damage: we carry on with our lives and ignore it's a problem. It's only a problem for those in Flint.

Meanwhile, the military and police can turn off utilities, blockade towns, enact curfews, and isolate even the flow of information, all without firing a single bullet. This way, pockets of unrest can be abated before they become a movement so pervasive that the military themselves defect.

<comment><USER16> Except nothing says it's your power line you destroy. The failure is when group A destroys B's infrastructure and group B destroys A's infrastructure but both groups A and B are in the same country.

The gap from tagging aka spray-paint to tossing bricks through windows is tiny. So, yes you can have independent enclaves that are protected, but it's easy to get into no mans land where the police don't come to some and then most areas without a lot of backup.

</comment></comment></comment></comment></comment><comment><USER17> From the article: _"America is not a great place for people with only a high school degree, and I don't think that's going to get better anytime soon. "_

That's it. It just doesn't take that many people to make all the stuff. Erie, PA isn't going to come back.

The mantra used to be that people would be employed in "services". But services are more automated, too. Services done at some fixed location are rapidly being automated. Mobile services, too. Some recent developments:

* Stock picking in an Amazon warehouse - robots taking over. [1]

* Doordash delivery - robots now deployed in Redwood City. I've seen one in the downtown area. People just ignore them as they roll along the sidewalks. Their active six-wheel suspension can climb a curb. [2] There's an experimental partnership with Mercedes where a self-driving van holds multiple robots and lets them out for deliveries.

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

[2] [http://www.dailymotion.com/video/x5g2a2g_a-robot-that- delive...](http://www.dailymotion.com/video/x5g2a2g_a-robot-that-delivers- food-to-your-door_tech)

<comment><USER18> > * Stock picking in an Amazon warehouse - robots taking over.

I just wanted to offer a data point here, my buddy worked at the Amazon warehouse in Breinigsville PA a few months back and said he never saw a robot. Reading Hacker News I would have thought that Amazon had their robots widely deployed but that doesn't seem to be the case.

<comment><USER17> Amazon has fulfillment center generations. They usually don't automate existing fulfillment centers; they build new ones and close the old ones. Kiva robots went in at Gen-8, in 2014.[1][2] Breinigsville PA was built in 2011, so it's not a Gen-8 center but is too new to replace.

[1] [http://www.scdigest.com/ontarget/15-03-03-1.php?cid=9051](http://www.scdigest.com/ontarget/15-03-03-1.php?cid=9051) [2] [https://vimeo.com/113374910](https://vimeo.com/113374910)

<comment> castle-bravo Is this an anti-union strategy?

</comment></comment></comment></comment><comment><USER19> The article doesn't support its conclusion that drug addiction is caused by people's dim prospects. The man in this article was already an addict before he was old enough to have any perspective on his future potential.

I think the deeper problem is that kids are not inspired to gain their own ambitions. So many people walk through life with no ambitions beyond what they plan on doing next weekend.

I think a huge issue is the way material is taught in school tends towards hero worship. Scientists, authors, are all looked at as mythical creatures who achieved things that mortal man cannot. It makes us all feel as though the best we can ever achieve is being a cog in a wheel. It took me many years after school to realize that something as simple as starting your own business was actually achievable (by me!) and not something relegated for those who had been born of a higher caste, or of some superior skills.

<comment><USER20> Chris Arnade has a lot of first-hand experience witnessing this modern despair. He writes, "What I saw was huge parts of US, more than reported, was filling with drugs. And where there was drug there was despair."

Source: [https://medium.com/@Chris_arnade/drugs-despair-and- trump-1c6...](https://medium.com/@Chris_arnade/drugs-despair-and- trump-1c6704d659b3)

<comment><USER19> Of course, economic hardship is at the heart of many of society's problems, drugs included. I don't argue with that. What I am skeptical of is the idea that people, once they reach adulthood and see dim prospects, turn to drugs to cope with that depression. The article you linked to pushes the same idea.

From my bubbled existence, most of the people who I went to school with who became drug addicts were always part of "the bad kids" cliques; those who always saw life through the prism of partying and never had ambitions to be much of anything. Maybe my perspective is totally wrong, and most drug addicts were B students who just decided not to go to college, but if that's the case I'd love hard data.

<comment><USER21> > What I am skeptical of is the idea that people, once they reach adulthood > and see dim prospects, turn to drugs to cope with that depression.

Do you really find the idea of people self-medicating depression hard to encompass? I'm having a hard time myself, encompassing the idea that there is anywhere in the world this might seem like a controversial question.

<comment><USER22> He almost certainly understands that. But he is saying that he wants data that demonstrates that the economic hardship causes the depression rather than drug use causing the depression. Obviously these causes are all intertwined but I think he's saying that it probably isn't particularly unidirectional.

"The man in this article was already an addict before he was old enough to have any perspective on his future potential."

<comment><USER21> FTA, my emphases:

> Johnson started using opioids in high school after breaking his collarbone, > first in football and again while wrestling, and he got hooked on his > prescription, _his mother thinks_. He was a functional addict at first, > caring and warm, but _things slipped out of control after he graduated and > found that his skills—art and cooking, but not academics—meant little in the > workforce_.

In Arnade's formulation, this is how a front-row kid who succeeded looks at a back-row kid who failed. "Where's the numbers?" and "Always looked to me like drugs are for people without ambition in the first place." Which, fine, if that's how you want to look at it. But, speaking as a back-row kid who's known a lot of front-row people and had a lot of front-row jobs, it doesn't aid understanding.

<comment><USER19> What I was trying to say is that it's more complex than the article paints it. Certainly despair, and economic despair in particular, is at the heart of many of societies problems, drugs included.

But it's not necessarily the one in despair that turned to drugs. It might be his/her kids, who grew up without a supportive family (or perhaps were abused) when then found friends who accepted them, who turned them on to drugs. I mean, drug stats are what they are, more than 50% start before their 18.

<comment><USER21> I mean, maybe? Where are you trying to go with this?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> [https://en.wikipedia.org/wiki/Dual_education_system](https://en.wikipedia.org/wiki/Dual_education_system)

The German dual education system addresses this. Normal jobs have a formal education system where young people learn practical things in companies and at the same time they learn more theoretical things in special schools. One gets some kind of degree and it also enables them a further path for education and career. You could have gotten education in jobs like plumber, aircraft mechanic, medical assistant - there are more than three hundred apprenticeship occupations.

This gives young persons with more practical skills a real education and career path. There is also a positive social status for those who went through this system.

The companies also pay them for taking this education. Around 850 Euro per month.

[https://www.bmbf.de/en/the-german-vocational-training- system...](https://www.bmbf.de/en/the-german-vocational-training- system-2129.html)

> In Germany, about 50 percent of all school-leavers undergo vocational > training provided by companies which consider the dual system the best way > to acquire skilled staff.

[http://www.npr.org/2012/04/04/149927290/the-secret-to- german...](http://www.npr.org/2012/04/04/149927290/the-secret-to-germanys-low- youth-unemployment)

> The Secret To Germany's Low Youth Unemployment

</comment><comment><USER24> _"America is not a great place for people with only a high school degree, and I don't think that's going to get better anytime soon," said Angus Deaton, a Nobel Prize-winning Princeton University economist._

Coming from a Princeton egghead that's not a surprising point of view. It seems very typical for those with education to look down upon the less- educated.

The truth is, US high schools miserably fail the non-college-bound student. I know people without college degrees who make six-figure incomes in the trades or as entrepreneurs. They did not get there with any help from high school guidance counselors or administrators (all college-educated), who basically write you off if you are not college-bound or come from an impoverished background.

The message from traditional education for anyone not going to college is "you have no future" rather than helping to explore the limitless expanse of possibilities that are open to anyone who has the motivation and encouragement to pursue them.

<comment><USER25> This. 1,000x. Some of the most successful folks I know went into trade, became "masters of their domains", and then bridge their skills with business to create their own businesses.

As an example: A friend from back home got into boring right out of high school. 20 years later, he runs one of the most successful directional boring companies in the region and is a multi-multi millionaire. He was told in high school that if he didn't go to college that he would fail.

I don't find this to be a unique story from my perspective but I do have some bias.

<comment><USER26> No offense, but isn't this just anecdata? I don't deny that people can do extremely well taking non-traditional paths, they certainly can. But pointing out the existence of exceptions isn't a substantive response to the observations about the larger trend. You can always find exceptions to any trend but generalizing from them is fallacious, as any casino owner will be glad to confirm.

<comment><USER27> I personally make close to 150k per year as a developer and a YouTube personality. I didn't go to college.

<comment><USER21> > But pointing out the existence of exceptions isn't a substantive response to > the observations about the larger trend.

I'm an exception, too. I'm not about to argue that, because I exist, the trend doesn't.

</comment></comment></comment></comment></comment><comment><USER28> > Johnson started using opioids in high school after breaking his collarbone, > first in football and again while wrestling [... T]hings slipped out of > control after he graduated and found that his skills — art and cooking, but > not academics — meant little in the workforce.

> At one point [... he] got a full-time job making wood pallets. [...] "It's a > stupid job. It doesn't matter if you're high to work it"

It's hard not to think the kid was let down by the system. It should be inconceivable that you can go through K-12 without being told very sternly that a) skills in sports, art and cooking are not very marketable, and will probably only get you "stupid jobs" b) in the current environment, even McD may require a college degree soon, so you'd better bite the bullet on those academic skills. Any adult in a position of responsibility should have known these facts. Yet for 12+ years they've failed to communicate them. The kids are allowed to drift aimlessly, and then it's somehow their fault if they end up in a very bad place at the end.

<comment><USER26> Skills in sports, arts and cooking are highly marketable and the evidence of this abundant, just switch on your TV. These are also highly competitive injuries in which a great deal of strategy is needed to succeed because the economics are brutal and the media is dedicated to presenting (almost) only the upsides in order to attract an ongoing supply of cheap labor that can be exploited for short-term profit.

I resent your suggestion that people engaged in these field are doing 'stupid jobs'. It's insulting to to large numbers of people who work diligently and develop significant skills in those domains whose product you have chosen to declare worthless.

<comment><USER28> Yes, and winning the lottery is highly marketable too, isn't it? I didn't say working in sports, arts or cooking was a stupid job. The stupid job is what you get if you can't make any money using the skills you've developed.

<comment><USER26> Apparently you think that anything other than being at the peak of one's profession is a 'stupid job.' There are large numbers of jobs that depend on people being diligent rather than innovative, and those jobs are certainly easier to automate, but that does not make them stupid jobs. Stop devaluing hard work just because some people choose predictability over risk.

<comment><USER28> > Apparently you think that anything other than being at the peak of one's > profession is a 'stupid job.' [...] Stop devaluing hard work just because > some people choose predictability over risk.

The "stupid job" was what the kid himself called his employment making wooden pallets. It wasn't a job in sports or cooking and I nowhere implied that I agreed with his assessment. If he had been hard at work and passionate about a line cook job that didn't pay well, then we'd be having a totally different discussion.

<comment><USER26> I still reject the idea that someone who is interested and good at cooking should be discouraged from it because they're likely to end up in a 'stupid job,' as you aver. I'd be more cautious about encouraging someone to pursue it now that kitchen automation is on the horizon, but aspiring to be a chef or run a diner or some other food-related employment used to be a _perfectly valid career choice._

Every job can theoretically be automated away. Yesterday I was thinking about someone I knew who specialized in detecting detecting cancer on biopsy slides (I forget the technical term for her job). Last time I saw that person was 15 years ago and I was musing on the fact that her job as she described it then may well have been taken over by machine learning since, or will be soon if not. Did her teachers and family do her a terrible disservice by not telling her to get into a line of work that would be harder to automate? Probably not.

I'm arguing that we need a different approach as a society to choosing jobs based on an assumption of remorselessly increasing technological efficiency and cutthroat competition. This hyper-Darwinian approach to employment, productivity, and economic decision-making is reducing the quality of life for an increasingly large number of people, and at some point they are going to get tired of holding up the pyramid from which more fortunate people self- righteously piss down upon them.

</comment></comment></comment></comment></comment></comment><comment><USER29> The tolerance for abject racism in the media these days is appalling. This article's contents have nothing to do with race, and more to do with economic status. This is the flip side of a media that has espoused the ideals of identity politics, they can't even see past someone's racial grouping to identify a problem facing all Americans ( and most likely other nations too in our globalized economy ). Bloomberg should be ashamed of their journalistic quality and integrity

<comment><USER30> They address why they're looking at whites a few paragraphs in, though

>While blacks and Hispanics without college degrees are also falling behind economically and socially, middle-age mortality has worsened for whites in particular over the past 20 years—a fact some attribute partly to social context.

Do you specifically disagree with this?

<comment> joatmon-snoo This comment misses the point - that by focusing specifically on white America, there's the subtle implication that now that white America is facing issues that minorities have faced for generations, this is a problem that we should care about.

</comment></comment></comment><comment><USER31> Many of the Beautiful Machines science fiction from the 60's promised now exist, but not for you or me. We never stopped to think who these things would actually belong to and who would benefit.

The 'liberation' of business that replaced the controls put in place before has brought us to a place where corporate feudalist rules supreme. Those that defend capitalism and democracy frequently confuse the one with the other. Hating on 'communism' while being oblivious to the fact that the capitalism they so feverently defend has died 20 years ago.

Mark Blyth has a lot to say on the topic [https://www.youtube.com/watch?v=KSYb6RbuOG0](https://www.youtube.com/watch?v=KSYb6RbuOG0)

<comment><USER32> Good stuff - Mark Blyth's lectures are consistently excellent.

</comment></comment><comment><USER33> A four year degree is no longer an advantage but rather a base which allows you to have even a hope of competing. Not having a degree is of course a disadvantage.

As automation and outsourcing continues, the issue will only worsen. On top of that we are constantly bombarded with images of the life we should be living via advertising and television. Not meeting these media driven standards leads to further depression and despair.

Doctors prescribe opioids because drug companies encourage them too, leading to an easy addiction and escape for the depressed.

We need to start treating people like they matter and help them understand that there can be joy and happiness in even the simplest of lives.

<comment><USER21> Joy and happiness are nice things to have. Making rent every month is nicer.

<comment><USER33> Of course rent is important. But we don't need a 3/2 when a 2/1 will meet all of our needs. I feel like we are driven to buy things beyond our needs and our inability to afford those things is one of the drivers of despair.

<comment><USER21> It's not nothing. But it's nothing next to the fear of ending up homeless.

</comment></comment></comment></comment><comment><USER34> I think you could strike 'Young' and 'White' from the title, and it'd still be accurate.

<comment><USER35> An interesting thing I noticed after moving to America, is that race is such a big deal here that many issues have to be labeled by race, even if they apply universally.

Canadian medias on the other hand, seem to be much less interested in playing the race card.

<comment><USER36> Canada has <5% minority groups... most are 2-3%. It's pretty much all white (86% or something)

US is 60% white roughly.

It's a bigger deal because it's a more noticeable issue.

<comment><USER37> Depends on the area. The coasts are very different.

<comment><USER38> I was astonished by the diversity in Toronto. A much more global feel than I get in the midwest US.

</comment></comment></comment></comment></comment><comment><USER39> The sad thing that I've observed is that any mention that this gets in the media or any earnest attempt to address this gets met with:

"Oh now that it's white people dealing with drugs, it's a crisis. America is so racist".

That's a load of crap on so many levels. I hope we figure out our next chapter here as a society.

<comment><USER40> Why is it a load of crap on so many levels?

To take one example, the media and politicians have put a huge spotlight on the plight of coal and manufacturing job losses, while only recently did we learn that in fact we're losing even more retail jobs. [https://www.theatlantic.com/business/archive/2017/04/the- sil...](https://www.theatlantic.com/business/archive/2017/04/the-silent- crisis-of-retail-employment/523428/)

Want to guess at the racial and gender makeup of those manufacturing jobs vs. retail?

<comment><USER41> I'm not making an argument here, since I don't know the answer to my question, but is it possible that a higher proportion of coal and manufacturing jobs were traditionally living wage, support-a-family type jobs, as compared to retail jobs? And if so, wouldn't it be reasonable to focus attention on the losses in the two categories somewhat differently?

<comment><USER40> That's an interesting point, but it leads me to a different conclusion. Given the higher numbers of people employed in retail, shouldn't we focus _more_ attention on the fact that those jobs can't support a family?

<comment><USER41> > those jobs can't support a family

Should they be able to? Absent some kind of deliberate regulatory or collective-bargaining action to prop up the price of labor in a given category, I assume the prevailing wages tend to reflect an implicit agreement between employers and potential employees on what that labor is worth. What is the argument for propping up the price of labor beyond what people are willing to do it for?

Or, put another way, what is the argument for why jobs should be seen as existing for the sake of giving workers enough money to live on, rather than as existing because some people want certain things done and are willing to pay a certain amount to have them done? In the second case, the value of having certain things done is not infinitely variable: some actions will create x value in the world, and can only be worth doing if they cost <x to do. Requiring that those actions be paid >=x will simply mean that those things will cease to exist. Is it a better world if we regulate out of existence those jobs whose performance is worth less than a family-supporting wage?

<comment><USER40> Thanks for the thoughtful response. The argument for propping up the price of labor is that 1) we don't want working people to starve on the streets, 2) politically we've decided it's not the government's job to keep able-bodied workers off the streets. #1 is clearly right, while #2 should be up for debate.

As for wage floors killing jobs, the effect would depend on the height of the floor. Modest increases in the minimum wage have had practically no effect on employment, but I'm sure massive hikes would cause problems.

<comment><USER41> Thank you, too.

I'm not convinced that propping up the price of labor directly follows from your point 1), which I do of course agree with. It seems better to me that the government do what it can to encourage the creation of jobs that are valuable enough to support living wages, rather than mandate that jobs which are not valuable enough to do so cannot legally exist. The former, I think, encourages creativity and the development of new possibilities, while the latter restricts freedom and limits the diversity of the economic ecology.

</comment></comment></comment></comment></comment></comment></comment><comment><USER42> > "He just saw his life as not what he wanted it to be, and he didn't know how > to get it there," said Sue Johnson, _who lay next to her son's corpse for an > hour._

It made my heart sink to read this sentence.

Edit: Highlighted the part that made me sad. You _never_ get over the death of a child.

<comment><USER43> It's heartbreaking.

> "He just saw his life as not what he wanted it to be, and he didn't know how > to get it there"

I think though, that this is a near universal aspect of the human condition.

<comment><USER10> Indeed. I don't know anyone whose life is where they want it to be. Certainly not me.

</comment></comment></comment><comment><USER44> We've been on a collision course with this since we left subsistence agriculture and started living in larger groups. Automation's rate has accelerated since the industrial revolution, but it's been happening for thousands of years, which is why I think more people don't see it as a problem. Society's increased consumerism and rising standards of living has allowed people to move into producing things other than food and eventually into service, but it's foolish to think this can continue indefinitely; automation will put more and more people out of work.

<comment><USER45> That is nonsense. Things got _horrible_ for average workers at the dawn of the industrial revolution. Then they improved markedly due to progressive reforms, and are now rolling back in the face of regressive policies and rising inequality.

It's not really that complicated. Progressive policies, regulation, and tax policy have better outcomes. There are just powerful and wealthy forces with vested interests working hard to argue otherwise.

<comment><USER44> I'm not talking about working conditions. I'm referring to employment. We need less people to do stuff. Thousands of years ago everyone was involved in subsistance. Pretty soon we developed technologies (the wheel, the plow) that meant we needed fewer people to do that. So people were able to move on to doing other things (like making pots or clothing). Pretty soon we automated those things as well (potters wheel, the loom, etc.) and people needed to start making other things. Over time not making anything at all, but doing service work became more common. But automation means we don't need service work as much either. We're running out of places to move people who's jobs were automated out of existence. I don't deny that life is much better for all this technology, but we need to acknowledge the other problem.

<comment><USER45> > We need less people to do stuff.

A thousand years ago there were 400 million people on earth. Today there are 764 million jobs in China alone. So, on a literal basis at least, that's not turning out to be true so far.

Your supposition is that _this time it 's different_ than all the other times people have claimed that automation and technology will make everyone idle.

But maybe it's not different this time. Maybe technological advancement proceeds relentlessly and has for awhile, and today only looks special because we're in it. Maybe the mechanisms by which economies achieve full employment don't work in the way you're describing.

<comment><USER46> GP's statement would have been better written as "we need fewer people to do stuff relative to the output they produce". Our workforces, globally, are far more productive than they've ever been thanks to various force multipliers. Better fertilizers and machinery and pesticides and GMO seeds mean we need far fewer people to produce the same amount of food as before. The same is true for most industries, or we are moving towards it being true for them.

There may be 764 million jobs in China, but it's almost certain that those workers are doing more than just double the work of the 400 million people from 1000 years ago (as measured by output).

</comment></comment></comment></comment></comment><comment><USER47> it's really getting annoying how US news outlets always separate the ethnicities in USA, let's stop focusing on who's white and who's not. I'm sure a lot of these same problems mentioned in the article affect other ethnicities.

<comment><USER26> If socioeconomic outcomes are heavily biased by group membership (which certainly appears to be the case) then it would irresponsible not to report on that fact. Racism is a major factor in US society whether you want to acknowledge that or not.

</comment></comment><comment><USER48> I lived a a suburban, white, middle to upper middle class town in Connecticut until four years ago. There was a massive opioid problem in my high school. There were several overdoses a year. We even had a kid OD in the bathroom.

I am still Facebook friends with many of these kids -- none of whom really finished high school. I see them go in and out of rehab on social media all the time. More and more of my friends who did end up going to college are dropping out for various mental health issues. A lot of them are not rebounding.

It's all very surprising coming from a middle class suburban town in CT but it is the new normal I guess -- many friends of mine from other suburban / rural areas tell me their towns are facing the same issues.

</comment><comment><USER49> I didn't really get it until I heard a radio piece where a guy being interviewed remembered factory jobs running a stamp press were paying $30-40/hr. Those wage levels aren't coming back.

</comment><comment><USER50> I don't understand this focus on "white".

Young people everywhere are haunted by crises and despair.

</comment><comment><USER51> "America is not a great place for people [....]"

It seems to be true in general, unless you have a boatload of money, but then I would argue you would be ok pretty much anywhere. HN has been bombarded with such grim news of the US that I honestly feel bad for Americans(maybe I shouldn't, I don't know), but at least on paper, the world's greatest country doesn't look that great to live in anymore(UK is looking worse and worse by the minute, so maybe it's a general trend).

<comment><USER52> You think this because you've bought in to media hyperbole. America and the UK are fine places to live, they may have some problems but they are fine. Our homeless are often better off than the lower classes of many countries and millions of people risk life, limb, and fortune to come here.

<comment><USER26> _You think this because you 've bought in to media hyperbole_

I love it when people make evidence-free assumptions about other people they know nothing about. That's what makes this society great.

</comment></comment></comment><comment><USER53> these problems get 100 fold worse with increasing automation, and probly needing a triple PHD to actually get a job, maybe.

The fantasy that millions of jobs are going to fall out of the sky is exactly that. We need to think of real solutions, and soon.

</comment><comment><USER54> As a parent, that mother's story is horrific. I couldn't imagine the pain of something like that. Not just because her son died, but there's no way she doesn't somehow blame herself for how he turned out (as I know I would).

Moving one, there's is something to be said for the effect of expectations. The data shows that you don't see the same levels of mortality rise in any other population. Simply put, us minorities don't have a false narrative of the American dream instilled in us and therefore don't expect to achieve it. We don't experience suicidal disappointment in ending up in a dead end job because our role models (parents grandparents) are statistically likely to have held those kind of jobs.

Personally I hate "white privilege" as a trope, but it does speak to something real: minorities, until very recently, were largely locked out of the American dream (as white people know it). The wealth of white households was 13 times the median wealth of black households and 10 times the wealth of hispanic households[1]. Numbers don't get like that over night. They are the result of generations of discrimination and institutional systems designed to exclude and screw with people that were not white. The point I'm making is that the average white person today probably doesn't even realize that, relative to other groups, their expectation of what a "nice" life is is basically seen as unattainable for others. Hence, we (POC) don't kill ourselves because we failed to reach the unattainable.

As the economy, and society, has diminished the ability for many whites (especially in rural areas) to take vantage of their "privilege" and they're forced to play the same game as the rest of us, they find themselves feeling like failures right out the gate and aren't quite sure why - hence the anxiety and subsequently despair.

The answer to this is not that white folks "check their privilege" \- although it would help to stop being in denial about it and the effects it has on them and their expectations. The answer is to realize that rugged individualism is just a myth. In no other culture is this myth so central, and now so damaging. Despite what their parents and grandparents, and TV shows and movies have taught them, their relative success is not due to how much tougher they are than other folks and America is not, and has never been a meritocracy.

At this point, white America can continue to believe this rubbish at their own peril. Support policies that acknowledge people need other people and we will, evidently, kill ourselves if we go at everything alone as "rugged indivduals" unless the game is rigged in our favor (even if we don't realize it).

1: [http://www.pewresearch.org/fact-tank/2014/12/12/racial- wealt...](http://www.pewresearch.org/fact-tank/2014/12/12/racial-wealth-gaps- great-recession/)

</comment><comment><USER55> The way that title is worded makes me think that the author thinks that "Young White America" believes they should despair more!</comment>


Bloom Energy blew through billions promising cheap, green tech that falls short - <AUTHOR> https://www.forbes.com/sites/christopherhelman/2020/02/13/the-forbes-investigation-how-bloom-energy-blew-through-billions-promising-cheap-green-tech-that-falls-short/#a3e33083e5fa <comment><USER2> The last couple paragraphs seem like a bit of non-sequitur compared to the rest of the article. The piece essentially is describing a company that has been operating with losses for years, with liabilities in the billions, that is being target by regulatory agencies for failure to clean up their hazardous tech at the end of its lifecycle, as its CEO makes false statements to investors and the press, while its core technology is being overtaken in many markets by renewables like wind and solar. Not many of those are typically considered positive or hopeful in quality.

Yet despite that (and even with the "if there's a silver lining [...]" caveat), ending the piece on what feels like a hopeful, positive note by the CEO founder talking about how he feels "like [he] has made a dent" just seems like a weird way to go. It seems like there's a reasonable chance that, well, he didn't. That the company hasn't built a sustainable model, and pulled otherwise productive capital, talent, and time into a venture that arguably has not in the last 12 years, and may not in the future, actually make any sort of a dent.

While based on this one article, I wouldn't be bullish on Bloom's future, I'm mostly just commenting on that decision in the writing of the piece. To my mind, it fits oddly with the rest of the structure.

<comment><USER3> I don't understand this either.

Another example pops into my mind an article about a man who raped a fellow student in university.

The article was ending with "X is continuing its education at Y, and he has Z gold medals and competes for university swimming team".

This is just adding insult to injury.

</comment></comment><comment><USER4> This really annoys me, for a number of reasons. (And yes, this is a rant.)

I first heard of Bloom Energy seven or so years ago, when I worked in Orange County (California). I was at a company where we had a small data center on- site, with a large UPS, but with no generator backup. A Bloom Box would have been perfect as a backup power source, but at the time I looked they were just getting started.

For reference, nearby John Wayne Airport had recently built a cogeneration plant, which provided the majority of the airport's power and air conditioning needs, while still giving them the option of drawing full power from the regional utility. (See [https://www.ocregister.com/2011/04/25/31-million- power-plant...](https://www.ocregister.com/2011/04/25/31-million-power-plant- built-at-john-wayne-airport/)) So I was very interested in exploring similar solutions for where I worked, but at a smaller scale: The building already had an emergency generator for essentials (security, emergency lighting, water, and elevators); the only thing missing coverage was the data center. But Bloom was too immature at the time.

And today, I'm lucky enough to be in an area that was not affected by PG&E's recent Public Safety Power Shutoffs (work also was not affected), but there's no guarantee that I'll be similarly lucky next time around. And my apartment is all-electric, with gas being used only to provide hot water. If heating is needed, and the power is out, them I'm stuck.

Until reading this article, I occasionally would think of Bloom Energy, and how a Bloom Box would be nice as a temporary or last-resort thing, where a generator might otherwise be installed. And I was getting annoyed at how some communities banning new natural gas installations would block that, even though PG&E is not really in a state to be trusted.

And now I read this article. And I am really annoyed. No, a Bloom Box is not the best or most efficient technology compared to, say, wind power. But when you have natural gas available, and an unstable electric grid, a Bloom Box always seemed to me to be a good backup power source. Except who knows what's going to happen to them now. Maybe someone will be able to iterate on the technology, and hopefully not become so loaded down with funding/debt that they feel the need to promise the stars.

<comment><USER5> [https://www.yanmar.com/global/energy/cogeneration_systems/](https://www.yanmar.com/global/energy/cogeneration_systems/)

Just an example; there are several small scale cogeneration manufacturers out there. You're going to be stuck with a combustion engine over fuel cells, but they're about as loud as a noisy dishwasher. Easily aired outside or in a utility closet.

If you can, rooftop solar and batteries are the way to go; you can use a heat pump water heater to efficiently and environmentally responsibly heat water (versus gas or resistive heat).

</comment></comment><comment><USER6> IIRC, the fuel cells wear out and better technologies are more expensive to produce.

My mom lives in Paradise and she would've bought a FC generator with an ATS if such a mythical creature were affordable and lasted at least as long as a natural gas generator.

It seems like more work needs to be done to produce FC cells that last far longer even if they're physically larger. (Holy Grail / Easier said than done.)

PS: Xfinity (Comcast) goes out within the first 24 hours while cell phone service remains powered in a PSPS. In a real outage, cell phone service lasts some number of hours or a few days. There hasn't been such an event because PG&E has a large basecamp with worker housing and equipment half-way between Paradise and Chico on Skyway.

</comment><comment><USER7> The most interesting bit seems to be that these boxes are claimed to be more efficient than gas fired power-plants. I find that very hard to believe, but it would be great. Perhaps they don't take into account using waste heat for district heating or something like that.

Making Methane is a promising storage technology for excess renewable energy. Bootstrapping R&D into a more efficient way of turning Methane back into electricity with a few billion dollars doesn't seem to be the worst use of money.

<comment><USER2> I'd definitely have to look into the actual chemistry of the process, but I don't find that claim terribly outlandish on principle. Most combustion plants end up having decent efficiency (as you mentioned) because of their access to heavy stationary insulation materials and co-generation/waste heat reclamation, but one way or another, they still end up running into the Carnot efficiency limit for heat engines.

Since fuel cells operate electrochemically, they don't have that same limit, which means their theoretical efficiencies are often higher (and the ability to get somewhat near those efficiencies track as well). I'm not sure if they're comparing to full-size plants or not, but the differences between the two tend to be more pronounced as size and weight of generator decrease, since heavy insulation and waste re-use are more difficult, but fuel cells stay (somewhat) the same.

I certainly agree with your observation about methane being an interesting path forward for storage technology for excess renewables, though.

</comment></comment><comment><USER8> I've been following Bloom Energy for several years. The promises still remain promises. Collin Powell was on the board when I took notice of them first.

<comment><USER9> What are the effects of having Collin Powell on the board?

</comment></comment><comment><USER10> Dude should be in prison.</comment>


Show HN: DataInStructures, interactive analysis of data structures - <AUTHOR> https://joshuablaine.github.io/DataInStructures/ <comment><AUTHOR> There's currently only info and animation on arrays, and I haven't even pursued the nuanced differences of Static/Dynamic arrays, ring buffers, etc. But I hope that, over time, I'll grow this into a comprehensive guide to the fundamentals of all the common data structures, from hash maps and linked lists to binary search trees and heaps. Let me know what I did and didn't do well, and what you'd want to see next.

</comment><comment><USER2> very cool stuff.. i can totally imagine sharing this with my sibling who's trying to learn what data structures are and what they really do. I really hope more data structures find their way into this interactive tutorial. Would love to contribute if you're open to that idea.

<comment><AUTHOR> If you want to contribute, fell free to throw a pull request my way on Github, or even suggestions and links to good data structure info/guides would be great. I'll likely populate the README with all the wiki pages and online sources I've been using at some point myself.

</comment></comment><comment><USER3> Very cool, I like the in-line buttons that animate. It really reinforces what the text is saying.</comment>


'Youth Magnet' Cities Hit Midlife Crisis - <AUTHOR> http://online.wsj.com/article/SB124242099361525009.html <comment><USER3> One year ago, I visited Portland with the intention of scouting it out for a relocation. I had fallen in love with the city before even stepping foot in it - from blogs, travel articles, Chuck Palahniuk's excellent quirky guide/book to his hometown, stories from friends.

Portland is one of the friendliest vibes cities I can recall. Walking through the Alberta arts district, you literally can walk into impromptu parties in strangers' backyards. I enjoy riding bicycles and Portland's bike culture isn't just bike culture - it's culture. There, it is disturbingly normal to not just ride a bike but a high-wheeled double bike contraption. The food scene is top-notch - I had one of my best Latin meals at Nuestra Cocina. There is live music playing every day of the week. The tech scene is crazy - lots of interesting people doing stuff (I even met the guy who does all of the BART web stuff - he doesn't live in SF, go figure)

I never made it to the Pearl District (the hip/trendy part of town and where I thought I'd rent). I did make it to the extraordinary Powells Book Store on the edge of the Pearl, but I felt more at home in Alberta and elsewhere.

The negatives I noticed. The job market (in May 2008) was such that I probably would only have a tech job if I could convince my current employer to let me work remote (which would have required an all-in type of negotiation - e.g. ask and if I didn't get it - go anyway otherwise credibility destroyed)

Agh the weather - it really does drizzle a lot there. And it's cold.

I can understand the draw of Portland. As an author once said, "everyone in Portland has three lives." They're a waitress, a mother, a watercolor artist. No matter how unique you feel you are, you'll feel at home in Portland - <USER2> allows people to live their multiple lives. Yes, you can do that anywhere but Portland is a catalyst.

I resisted it and am finding that you can make the best of where you currently are - from friends to being involved in your local tech community to volunteering to beyond.

high-wheeled double bike: <http://www.flickr.com/photos/ashleyblodgett/2442644672/>

<comment><USER4> About that high-wheeled double bike:

Why would someone use it? Seems uncomfortably large and clunky -- not to mention the tumble off of it must be epic.

</comment></comment><comment><USER5> I just finished talking to one of my best friends from home about how to cut her credit card debt. Being a graduate student has taught me valuable financial lessons that I'm incredibly grateful for.

My first diagnosis: Quit trying to live the life you were accustomed to at home (unless you plan on moving back home with your parents). Cut internet, cable, and car usage. Move to an apartment within walking distance of your job. Drink cheap beer. Go find a farmer's market. And God, please never go to Starbucks.

I think once young adults accept the fact that they are going to be poor for a length of time, everything else falls into place.

<comment><USER6> Oddly enough, I usually find that I end up spending considerably more at farmer's markets than I would have in a supermarket. Of course, the quality and freshness are much better at a Farmer's Market - but the prices aren't cheap.

<comment><USER5> Really? I always found a good combination between a farmer's market and Trader Joes worked out best...atleast when I was in California.

When I moved to Florida, we have a local joint called Wards which is incredible. It's pretty much a farmer's market but open all week. Dirt cheap too. Two weeks worth of groceries cost me about $40.00

</comment></comment></comment><comment><USER6> Definitely not a good time to move to Portland now. We generally always get harder by recessions than most other metropolitan areas for reasons that are many and varied, but probably including a somewhat hostile business environment - as in state and city government aren't very business friendly. It also took us longer to come out of the tech wreck recession - it took until 2004, 2005 for tech to kind'a sort'a recover.

</comment><comment><USER7> We, my long-time girlfriend and I, are moving to Portland, Oregon, from Lakeland, Florida, in 1 month. A friend sent me that article a few days ago and all I could think was, "informative article, but it doesn't matter." We're moving anyway. And we've never been. Like wallflower, everything we've read and heard points to Portland as a place we need to be, or at least live in for a while.

The company I work for has no problem with me working remotely. I pointed my boss to RandsInRepose's excellent article (The Pond) about remote workers, so we've started the discussion about things we'll have to work through. Needless to say, I'm incredibly thankful and lucky to HAVE a job, especially one that's willing to keep me around as I move.

My girlfriend is a painter (website; <http://daubery.com> etsy store: <http://hollypaints.etsy.com>), and has had little luck finding work in Lakeland. So if she doesn't find work out there it won't be much different.

Paul Graham's "Cities and Ambition" article really hit home when I read it a year ago. It made me think about how deeply where I live affects my quality of life, my future, my happiness, my creativity, my productivity, my resources. Lakeland is a "settle down, raise a family, go to church" type of place. It's not for us. I want to run a software company of my own, hire great people, and be involved in a community of artists, musicians, programmers, designers, and makers. My girlfriend needs to be around artists that don't bullshit, have creativity from within, and aren't in constant competition with each other.

Moving to a new place is going to be invigorating. We're hoping the people we find in Portland will continue to inspire us once the newness of a new city wears off. Wish us luck.

If you have advice, or live in Portland, don't hold back.

<comment><USER3> Congratulations!! On the impending mutual move with your S.O. to your current dream location _and_ your ability to begin working remote (maybe start an Ask YC on experiences with working remotely?).

I don't think you'll regret moving there - but you would regret not moving later in life. In my brief time there, I found Portland to be a community of communities.

Fat Tire beer on tap..

Calagator: Portland's Tech Calendar: <http://calagator.org/>

PDXTech: <http://www.pdxtech.org/>

Last Thursday's in Alberta: <http://www.artonalberta.org/>

upcoming.org (Founder Andy Baio lives there!): <http://upcoming.yahoo.com/place/RlEYPWubBZtlFXkb>

The 3rd best Farmer's Market in the U.S: <http://www.portlandfarmersmarket.org/>

(Usually free) live music every night of the week: <http://www.mcmenamins.com/index.php?type=music>

Amazing large Zen garden <http://www.japanesegarden.com/>

"Fugitives and Refugees: A Walk in Portland, Oregon" by C.P.

<http://www.powells.com/biblio?isbn=1400047838>

"Everyone in Portland is living a minimum of three lives," says Katherine Dunn, the author of _Geek Love_. She says, "Everyone has _at least_ three identities"..."They're a grocery store checker, an archeologist, and a biker guy," she says. "Or they're poet, a drag queen, and a bookstore clerk."

Read "Portland's Special Challenges" and "Portland's Special Strengths" (pp17-19). "The Young and the Restless: How Portland Competes for Talent"

<http://www.restlessyoung.com/public/pdf/Portland.pdf>

<comment><USER8> Just a note, fat tire is made by new belgium brewing out of colorado, and indeed it is on tap in many many places. However, it is a fair to middling beer compared with the hundreds of beers brewed in portland and oregon (IMO). Come for the fat tire on tap, stay for the really good oregon beers. Also as a tech interested individual, one should make it a point to go to Powell's Technical bookstore, it is 3 blocks from the original big Powells, but chock full of Math, Science, Engineering and computer books, my fave bookstore on the planet.

</comment></comment></comment><comment><USER9> Lots of young, energetic, educated, creative people, willing to work for cheap. This is an opportunity. Somewhere, a smart entrepreneur has already noticed and is planning to capitalize on this. Why isn't it you?

<comment><USER10> With any luck, come this August I'll be attempting just that. Two co-founders in the area with full-time gainful employment, which should mitigate the risk on my end just enough.

</comment></comment><comment> 8-bit_Blaster Wow, this is really really strange. What unusual timing with this article!

A friend of mine actually _just_ recently moved back to his hometown after being unable to find work in the Portland area.

I really hope this economic crisis ends because I graduate in six months and the job market back in the U.S. isn't looking too good.

P.S. ...And, just to make things even stranger, I just finished eating some tortillas like five minutes ago, and the poster's username is 'tortilla'! :P

</comment><comment><USER11> I thought Portland seemed like a nice area, too...

...but about 120 minutes of googling revealed what this article told me and in retrospect I am glad I didn't go. Although, it is a nice city.</comment>


Lua vs Ruby benchmarks (similarly "high-level" languages, insanely different performance) - <AUTHOR> http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=luajit&lang2=ruby <comment><USER2> LuaJIT is not the standard mainline Lua interpreter that most people think of as "Lua the language". It's still a fairly young, experimental project and you wouldn't want to write production code in it. However, the standard Lua distribution is still much faster than Ruby.

But even though both are dynamic interpreted languages, it's still apples to oranges - they have very different design goals.

Still, I think it's a copout to say performance doesn't matter in any general- purpose language the way the core Ruby team seems to. Micro-optimization is a waste of time, but efficiency and intelligent implementation choices are necessary.

<comment><USER3> It also only runs on i386.

In practice (not micro-benchmarks), I've found LuaJIT to be at least twice as fast as the standard version, and in some cases three or better.

</comment></comment><comment><USER4> Without some discussion of why Lua is faster, this isn't very interesting. Lua is known for being small and fast, so this benchmark shouldn't be news to most people here.

SBCL is faster still, averaging about half the speed of GCC and about the same as Java.

<comment><USER3> The first place to look is probably "The Implementation of Lua 5.0" (<http://www.tecgraf.puc-rio.br/~lhf/ftp/doc/sblp2005.pdf>).

Short paper, but very interesting.

The LPEG paper (<http://www.inf.puc-rio.br/~roberto/docs/peg.pdf>) is great, too.

<comment><USER5> The "History of Lua" paper written a few years ago for a presentation at HOPL is also great reading and gives good insight into why Lua is the way it is.

<http://www.tecgraf.puc-rio.br/~lhf/ftp/doc/hopl.pdf>

</comment></comment></comment><comment><USER6> I don't know Lua, but this is the first time I've heard Lua and Ruby equated in terms of expressibility/flexibility (i.e. "high-level"?). Is that a particularly relevant comparison?

<comment><USER7> Having done a lot of both, Lua feels more pythonic than rubyish in many small ways. Objects are just syntactic sugar where self is the first arg (though unlike python, lua _has_ the syntactic sugar to make it prettier to look at), etc. Interestingly, typical OO Lua is prototype based, not class based -- in that way it is more javascriptish.

Most lua codebases I have seen tend to be written in what I call an "imperative functional" style, where the language isn't purely functional, but functions are the most common means of abstraction.

It has proper anonymous functions, lexical scoping, etc so you can write very rubyish code (such as moonunit [http://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/lu...](http://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/lua/test/moonunit.lua) and using it [http://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/lu...](http://svn.apache.org/repos/asf/httpd/httpd/trunk/modules/lua/test/test.lua) ).

<comment><USER8> A unit testing framework in 37 lines of code, not too shabby.

<comment><USER7> with color coded output ;-)

</comment></comment></comment></comment><comment><USER7> Personally, I would hav just done Lua vs Ruby instead of LuaJIT vs Ruby.

Results look almost the same ;-)

[http://shootout.alioth.debian.org/u32/benchmark.php?test=all...](http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=lua&lang2=ruby)

Lua is generally the fastest scripty language, ruby is generally the slowest. Ruby is much more general purpose though -- Lua is very optimized for embedding.

<comment><USER9> LuaJIT makes the Lua _mandelbrot_ program run 95 times faster than Ruby's, whereas the stock Lua interpreter is only 17 times faster.

Better yet, LuaJIT is a drop-in replacement. There's no reason not to use it, as far as I know.

<comment><USER7> I love the "only 17 times faster" bit ;-)

<comment><USER10> Try comparing ruby to c++!

</comment></comment></comment></comment><comment><USER11> mod_lua will be in the next stable apache release. <http://lua- users.org/lists/lua-l/2008-12/msg00119.html>

</comment><comment><USER12> Who would care to implement Ruby in Lua?

<comment><USER3> While it would be an interesting project, the Ruby wouldn't necessarily be faster for it. I don't know Ruby well enough to say, but there are probably aspects in the language design itself that make it slower (as a trade-off for expressiveness). Lua is very fast, but that comes from aggressively simplifying the core of the language. Most things are ultimately built on only a few central constructs, and they have been very throughly optimized.

</comment></comment><comment><USER13> Which version of Ruby? 1.8 or 1.9? With my own projects Ruby 1.9 performs much better. Lua is well known for being small and fast, so I doubt Ruby 1.9 would beat it... Nevertheless, it'd be a lot more interesting comparison that Lua vs Ruby ???.

<comment><USER14> I had to reverse the dropdown values to get both the versions..

LuaJIT 1.1.4 Copyright (C) 2005-2008 Mike Pall

ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-linux]

</comment></comment><comment><USER15> Looks like perf comparison between both Python and Python 3 against Lua isn't far off from Ruby and Lua... not really surprised. Like everyone else said, Lua is smaller and leaner.

</comment><comment><USER16> This year my new year's resolution was to learn Lua. I think with some developer attention it has the potential to become a "better PHP" for web development because it beats PHP in performance, simplicty and elegance.

Although I doubt it's going to ever replace PHP I think it's poised to make some inroads now that the next version of Apache will include mod_lua out of the box.

<http://news.ycombinator.com/item?id=452396>

</comment><comment><USER17> Of course; Get a native JIT'ed version of ruby going, then you can make a fair comparison.

<comment><USER18> Unlike say...JRuby?

<comment> jim-greer JRuby is not a JIT for Ruby, and it doesn't compile Ruby to Java bytecode. It's a Ruby interpreter, written in Java.

<comment><USER19> Recent work in JRuby does exactly that. It'll JIT your code, and you an even pre-compile if you want.

(AFAIK, just seen references to all this).

<comment> jim-greer Cool! Looks like it's been around for over a year:

<http://wiki.jruby.org/wiki/JRuby_Compiler>

</comment></comment></comment></comment></comment><comment><USER20> Are both sets of code optimized?

</comment><comment><USER21> I wonder how it would compare with Ruby 1.9 (released today)?

<comment><USER4> You don't have to wonder - all the code is downloadable. You can run the benchmark on Ruby 1.9 yourself.

<comment><USER21> That's true, but I'll live with wondering a little longer. In the meantime, it seems that Lua is still quite a bit faster than ruby 1.9.0, even though ruby 1.9.0 is approaching Python 2 territory (tested 7 months ago):

[http://shootout.alioth.debian.org/gp4/benchmark.php?test=all...](http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=yarv&lang2=lua)

</comment></comment></comment><comment><USER22> LuaJIT is x86 only, so it's not quite apples to apples.

<comment><USER23> I don't know what's going on with Ruby's 'fasta' implementation, but I'm pretty sure it's not x86 assumptions that cause Ruby to use 231x the RAM.

<comment><USER22> I'm sure, but luajit wins handily over all the scripting interpreters. I'm not much concerned with ruby in particular. I'm suspicious that luajit is constrained in features. I doubt you can dynamically load in object code for modules, for example. This makes it not quite a straightforward comparison to the other interpreters.

<comment><USER5> Actually, this is incorrect. LuaJIT is explicitly compatible with the standard Lua ABI for modules.

<http://luajit.org/luajit_features.html>

Since it is able to use certain non-ANSI C features on the various platforms it supports it can do other neat things like enable coroutine calls across Lua/C stack boundaries.</comment></comment></comment></comment>