Prepack helps make JavaScript code more efficient - <AUTHOR> https://prepack.io <comment><USER2> I just ran this on a huge JS project that has a quite intensive "initialization" stage (modules being registered, importing each other, etc.), and prepack basically pre-computed 90% of that, saving some 3k LOC. I had to replace all references to "window" with a fake global object that only existed within the outer (function() {..})() though (and move some other early stuff with side effects to the end of the initialization), to get it to make any optimizations at all.

Very impressive overall.

<comment><USER3> Do you happen to know if this is similar to what Google's Closure Compiler for javascriptw ould do?

<comment><USER4> It says on the bottom of the page that prepack optimizes for performance/less computation while closure optimizes for file size.

</comment></comment></comment><comment><USER5> I hate to bring this up whenever I see a Facebook project, but it still warrants saying: the patents clause in this project, like in others including React, is too broad. I really wish they made a "version 3" that limited the scope of the revocation to patents pertaining to the software in question, e.g. Prepack, React, rather than a blanket statement that covers any patent assertion against Facebook. While I suppose the likelihood of this occurring is small, I can imagine a company holding some valid patents, such as something related to VR, that aren't related to Prepack that Facebook infringes upon, as well as using a software that Facebook produces like Prepack, sue Facebook for infringement, and then losing the right to use Prepack as a result. From my understanding these kinds of clauses are beneficial overall, but the specific one that Facebook uses is too broad.

Tangentially related: what would happen if you did sue Facebook for patent infringement, and continued to use this software?

<comment><USER6> This gets brought up every time, even after many times it's been clarified (even by lawyers) that it gives you _more_ rights overall (as the downsides to it _are true either way_ ).

Remember - without that patent grant _you have no rights to any of Facebook 's patents anyhow_. With it, you do.

So the worst case is that you'd be in the same situation if _you didn 't_ have the grant.

<comment><USER7> False: an implicit patent grant means that by open sourcing a piece of software you imply that people can, you know, use it.

<comment><USER8> Some people think so. Others aren't so sure. US courts have not yet ruled on it.

However, even the people who DO think an implicit grant exists would mostly agree that the implicit grant is not sublicensable, which makes it a horrible mess and probably unusable.

An explicit grant is strongly preferable, IF people can agree on the terms. Facebook's terms are on the harsh side, but there's clear advantages to it existing.

<comment><USER6> > US courts have not yet ruled on it.

They sort of have. A patent has to be a major and "dominant" part of the implicitly licensed tech for it to be granted.

Basically - all existing case law says that you get _some_ rights from implicit grants but it's also _far less_ than explicit ones like FB's

<comment><USER8> Thanks for the info.

<comment><USER7> Careful. I don't know what his motivations are, but the info is misrepresenting both the context and the meaning of the language he references: [http://en.swpat.org/wiki/Implicit_patent_licence#USA](http://en.swpat.org/wiki/Implicit_patent_licence#USA)

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is cool–it's worth mentioning that you might be trading runtime performance for bundle size though, here's a contrived example to demonstrate: [http://i.imgur.com/38CR3Ws.jpg](http://i.imgur.com/38CR3Ws.jpg)

<comment><USER10> Keep in mind that everything is gzipped nowadays, so it may not make a big difference in network usage. Although it is still likely to cause some memory overhead

<comment><USER11> No, I have done and pubpished an article about how gzip works with JS and the result will compress pretty well. Not better than the code, but I would guess within the same order of magnitude.

<comment><USER12> JavaScript parsing is still a huge bottleneck. 1mb of it will still take 1 whole second to parse in V8 (note: just to parse it, not actually evaluate or run it!).

<comment><USER11> I think this is (so far) for snippets. I agree otherwise though

</comment></comment></comment></comment></comment><comment><USER13> This has promise but still needs more work. I added one line to their 9 line demo ( [https://prepack.io/repl.html](https://prepack.io/repl.html) ) and it ballooned to 1400+ lines of junk:

        (function() {
          function fib(x) {
            y = Date.now(); // the useless line I added
            return x <= 1 ? x : fib(x - 1) + fib(x - 2);
          }

          let x = Date.now();
          if (x * 2 > 42) x = fib(10);
          global.result = x;
        })();

I understand Date might not be acceptable for inner loops but a lot of my code that deals with scheduling would benefit significantly if I could precompute some of the core values/arrays using a tool like prepack.

<comment><USER14> It's not a useless line, because prepack has no idea what Date.now() does (there are no guarantees in javascript that it hasn't been replaced with another function). It might mutate some global state somewhere, so the resulting code needs to call Date.now() as often as it would've if fib(10) was called. Basically the output is the unrolled version of the recursion, which cuts down on function invocation (comparatively expensive in dynamic languages).

If you replaced the line with say: `var y = 4;` you'll notice that it has been optimized out.

<comment><USER15> > _Basically the output is the unrolled version of the recursion, which cuts > down on function invocation (comparatively expensive in dynamic languages)._

You're right about why it's included, but this is a bug, not a feature. If this is a hot function it'll be optimized. The recursive call is a known, non- dynamic invocation so the function location will be inlined leaving just the fairly low function call overhead itself. There's a reason nobody does arbitrary-length loop unrolls.

I would definitely bet that this is a bug to be fixed :) Right now you can see this if you call fib(20) in that example...the compiler times out while trying to unroll that far. Clearly that behavior won't stick around.

</comment></comment></comment><comment><USER16> Hi, I am Nikolai Tillmann, a developer on the Prepack project. I am happy to answer any questions!

<comment><USER17> Can you prove that any of the optimizations in your docs aren't already done by V8? I agree with the other commenters in this thread-- V8 likely does these already. You have an extraordinary claim, which requires extraordinary proof.

<comment><USER18> The whole point is to not let V8 do any job at all.

V8 == user impacted.

Compile time V8 == compiler impacted, users happy.

It's like interpreting what you can during compile time, with caching capabilities.

To speed up boot time and init time, not runtime per say.

<comment><USER19> This. By transforming and evaluating things that really could be constants beforehand, V8 has less to do when it goes to run the javascript.

</comment></comment></comment></comment><comment><USER20> The examples are very far from the JS I see and read, but this is definitely a very useful tool. It seems like gcc -Olevel. It would be interesting to incorporate some sort of tailoring for JS engines into this, like how a compiler might try to make x86-specific optimizations. For example, if you know your target audience mostly runs Chrome (or if the code is to be run by node), you might apply optimizations to change the code to be more performant on V8 (see [https://github.com/petkaantonov/bluebird/wiki/Optimization-k...](https://github.com/petkaantonov/bluebird/wiki/Optimization- killers) for example).

I love it and can't wait to use it on some projects!

<comment><USER21> The examples seem more typical of Coffeescript output.

<comment><USER22> You've mentioned that a couple times, but I'm really not seeing it. What to you looks like coffeescript there?

<comment><USER23> "Coffeescript output" is javascript so it doesn't look much like coffeescript. Presumably GP doesn't like the specific javascript idioms to which coffeescript transpiles.

</comment></comment></comment></comment><comment><USER24> A long time ago there was a theory about using Guile (the GNU Scheme) as a general interpreter for languages using partial evaluation: you write an interpreter for a language in Scheme, use a given program as input, and run an optimizer over the program. This turns your interpreter into a compiler. I played around with the concept (making a Tcl interpreter), and it even kind of worked, often creating reasonably readable output.

Prepack looks like the same kind of optimizer – it could be a fun task to write an interpreter and see if this can turn it into a compiler/transpiler.

<comment><USER25> What you're talking about -- writing an interpreter that's optimized into a compiler -- is actually coming in the soon-to-be-released Java 9. Check out Graal and Truffle. I'm pretty excited to play with it at some point.

Prepack reminds me more of a "supercompiler," because it focuses on partial evaluation rather than optimization.

<comment><USER24> Your "supercompiler" phrase made me think about what happens if you start applying the partial evaluation over and over. Of course nothing happens... unless you know something more than what you knew before. Which you might! That in turn made me think of the Wolfram Language, which feels like this to me – you declare things, and as the set of declarations continues the language starts to "know" more things, and your statements become more concrete. This is interesting because it's all automated, you can undo things, change them, implicitly loop them by considering multiple possibilities.

I'm not sure you could take Prepack and do this. But it sure seems interesting. A kind of partial evaluation coding notebook... not so unlike a symbolic spreadsheet I suppose.

</comment></comment></comment><comment><USER26> This should have a big impact on the "cost of small modules", as outlined here:

[https://nolanlawson.com/2016/08/15/the-cost-of-small- modules...](https://nolanlawson.com/2016/08/15/the-cost-of-small-modules/)

Which is to say, one of its most effective use cases will be making up for deficiencies in Webpack, Browserify and RequireJS. Which I'm a little ambivalent about - I wish we could have seen improvements to those tools (it's possible, as shown by Rollup and Closure Compiler) rather than adding another stage to filter our JavaScript through. But progress is progess.

<comment><USER27> I saw a Webpack example and it looked smaller & faster. So it seems like a good thing.

</comment></comment><comment><USER28>
      function define() {...}
      function require() {...}
      define("one", function() { return 1; });
      define("two", function() { return require("one") + require("one"); });
      define("three", function() { return require("two") + require("one"); });
      three = require("three");

\--->

      three = 3;

There is a certain irony that now it's possible to do optimisations like that in javascript - a dynamically typed language with almost no compile time guarantees.

Meanwhile java used to have easy static analysis as a design goal (and I think a lot of boilerplate is due to that goal) but the community relies so much on reflection, unsafe access, dynamic bytecode generation, bytecode _parsing_ etc that such an optimisation would be almost impossible to get right.

<comment><USER29> it's possible to do such optimizations for a (safe) subset of javascript, such as these pure functions.

Arguably java has a larger subset even today.

<comment><USER28> I think the remarkable point in the above optimisation was that the non-pure functions define() and require() were also subject of optimisation even though the optimizer had no special knowledge about them. Using symbolic execution, the optimizer nevertheless was able to reason about them.

</comment></comment></comment><comment><USER30> A webpack plugin for prepack. [https://github.com/gajus/prepack-webpack- plugin](https://github.com/gajus/prepack-webpack-plugin)

</comment><comment><USER31> How "safe" is it? I'm thinking, for example, of Google's closure compiler and the advanced optimizations, which can break some things.

Or roughly, if it compiles without errors, is it safe to assume it won't introduce new bugs?

<comment><USER16> It's not yet ready for production, so there are some bugs and cases where we should reject a program but don't do that yet.

Having said that, it's quite safe, but won't be undetectable. Code using eval could detect injected identifiers, we don't currently aim at preserving function names, and the method bodies you get with toString() are altered. That should be roughly it.

<comment><USER32> The real litmus test: Does FB use it in production yet?

</comment></comment></comment><comment><USER33> I was under the impression that V8 and the like are so optimized that this would give marginal gains. Would love to be wrong though. Do you have any performance benchmarks?

<comment><USER34> The benefit of this would be at runtime when implementing interpreters:

> experiment with JavaScript features by tweaking a JavaScript engine written > in JavaScript, all hosted just in a browser; think of it as a "Babel VM", > realizing new JavaScript features that cannot just be compiled away

I've been playing with making toy languages inside of Javascript, and I believe there's lots of untapped power there. The paradigm battles don't have to be: we can run all sorts of paradigms in the same VM, with data executing as code. This means that you can _decompose_ expressions to see where they came from (e.g. the steps in a state machine that yielded an evaluation result). If you believe (as I do) that invisibility-by-default is one of the greatest pain points in the history of computing, then these sorts of approaches are essential.

The problem with doing that is that some things will be slower than they would in "native" JS. I've been proceeding anyway and thinking that could be dealt with later. So I'm bookmarking this, because it attacks that exact problem: runtime-compilation of generated AST's.

The name is a little unfortunate, in that respect, though, especially since it will make people think it's a build tool like Webpack. Webpack is for dead fish. This is incomparably more powerful.

 _edit_ so to answer your original question, this would piggyback on the optimizations of the VM (V8 or SpiderMonkey, or whatever), taking for granted that JS which is not needlessly verbose (as generated code must sometimes be), can be run nearly optimally.

<comment><USER20> > Webpack is for dead fish.

I haven't used webpack but I have used many similar tools, and I've heard a lot of praise for webpack. Can you elaborate on why you dislike webpack so much?

<comment><USER34> I'm using "dead fish" in the Bret Victor sense.[0] It's a static tool by nature. By the time you're in a live environment, webpack is gone.

[0] [https://vimeo.com/64895205](https://vimeo.com/64895205)

<comment><USER20> Oh. Isn't prepack also a "dead fish" then? Like you said, "It's a static tool by nature. By the time you're in a live environment, [prepack] is gone." There isn't any sort of prepack runtime

<comment><USER34> I was assuming that the intention was to eventually provide runtime support. If that's correct, then I think we'd be in agreement about what "static" means?

Babel and all sorts of other compilers can run in the browser. Whereas webpack is mainly concerned with the text that you transmit and could not "by nature" be made to do its job in the browser (because then it would be too late). That's the difference I had in mind.

</comment></comment></comment></comment></comment></comment><comment><USER35> Awesome project, the performance gains seem real, but why wouldn't these optimizations be happening at the javascript JIT level in the vm? (serious question)

React / javascript programming, is the most complex environment I've ever dug into, and it's only getting more complex.

create-react-app is great for hiding that complexity until you need to do something it doesn't support and then it's like gasping for air in a giant sea of javascript compilers.

<comment><USER36> download js -> run through JIT compiler -> execute

vs.

run through JIT compiler -> download js -> execute

Whatever overhead the JIT compiler adds will be latency for the user.

<comment><USER37> In the second case it's AOT (ahead of time) not JIT (just in time) compiler.

</comment></comment></comment><comment><USER38> Very interesting, nobody mentioned how formal and quite technical this README is, it goes really into details about what it does, and even future plans laid in three sections across 30 bullet points. One bullet point in the really far future sections said "instrument JavaScript code [in a non observable way]" emphasis mine, that part was noted in several other bullet points. It seems to me every compiler/transpiler/babel-plguin changes JavaScript code in a non observable way, no? Just a theory, but that undertone sounds to me like the ability to change/inject into JavaScript code undetectably on the fly in some super easy way.

Just another day at Facebook's office...

<comment><USER39> Your tin foil hat can go away when you consider that you're instrumenting code that will permanently run in an observable sandbox. You control the server (for node) and can watch what external requests it's making; and while you don't directly control the client, you do have access (via the web inspector) to all external requests it's making.

</comment></comment><comment><USER40> This is exciting, and has a lot of potential to significantly improve JS library initialization time.

I wonder if this is the same project[0] Sebastian McKenzie previewed at React Europe 2016?

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

<comment><USER41> Yep it is! [https://twitter.com/dan_abramov/status/859817680857165824](https://twitter.com/dan_abramov/status/859817680857165824)

</comment></comment><comment><USER42> What is the business model for a tool like this? Who has the resource to spend man/years of work while also create such a fantastic, simple yet comprehensive landing page?

<comment><USER43> It's by Facebook. They have 1.x billion users across their web and mobile products all of which run JavaScript. Tiny improvements in product performance equals big $$$. Easily justifies efforts like this. And the rest of us get to free-ride :-)

</comment></comment><comment><USER44> Coming from a non-CS background, I've always wondered why you can't "convert" code from one framework or paradigm to another. For instance, converting a project from jQuery to React. If you can define the outputs, why can't you redefine the inputs? That's what it seems like this project does... I suppose converting frameworks would be a few orders of magnitudes harder though.

<comment><USER18> Can you turn lead in gold? Maybe using nuclear transmutation. But the potential cost of the process seems higher than the benefits.

Can you convert a code base to React from Angular? Maybe, but the effort to write this converter is higher than rewriting the code base.

</comment></comment><comment><USER45> Facebook's javascript / PL game doesn't disappoint. This is awesome!

</comment><comment><USER46> I'm happy to see there's an option to use this with an AST as input, more tools like this should follow suit. Hopefully it can then push us to a place where there's a standard JS AST such that we don't reinvent that wheel over and over. Babel seems to be winning here, but I don't think it matters so much which one wins so long as any _one_ does.

This tool looks interesting, particularly the future direction of it, but I'm weary about efficiency claims without a _single_ runtime metric posted. The claims may be true, initializing is costly, but so is parsing huge unrolled loops. For an optimization tool, I'd hope to see pretty strong metrics to go along with the strong claims, but maybe that is coming?

Interesting work, nonetheless!

</comment><comment><USER47> Pretty cool, it did not make much difference in my application size, as it has very little static data in it. It seems pretty rare to do something like:

        fib(2);

and more common to do:

        getInputOrHttpOrSomethingAsync().then(function(a){fib(a)});

</comment><comment><USER48> Not a comment about the tool, which looks cool and well done.

It's sad that there are developers and projects who write the type of code that causes these sorts of performance trade offs. I stopped writing this kind of fancy code a long time ago when I realized it wasn't worth it. You're just shooting yourself in the foot in the long run.

I think static analysis performance optimization tools are great but a certain part of me thinks it just raises the waterline for more shitty code and awful heavy frameworks that sacrifice the user experience for the developer experience.

"Just run it through the optimizer" so we don't actually have to think about what a good design looks like...

<comment><USER34> There is some confusion in this thread about the purpose of this tool, which is targeted at _generated_ code—specifically, code generated by other compilers. In order to get language features that don't exist in javascript, code has to be generated in a more or less context-agnostic way. This (as I understand it) brings more context to bear, to reduce the cost of the new abstractions _for your specific usage_.

<comment><USER49> Why improve the compilers when we can have yet another tool to layer on top of our ever growing tool stack.

<comment><USER6> I take it you've never looked at a modern C++ or similar build and execution chain under the hood then?

There's a LOT of parts that do different things. They may be aliased under one command (with tons of flags) but a modern system does a lot of stuff.

For modern JS we appear to have:

\- Linters (ESLint, etc)

\- Transcompilation to Object Code (Babel, etc, transpile to JS)

\- AoT Compilation (this & Closure Compiler, etc, do optimizations on the code ahead of running it)

\- Recompilation (AST based compression - like Uglify)

\- Compiling (the actual JS VM, V8, etc)

\- JIT (in the actual browser)

None of these steps are alien to other build chains.

</comment></comment></comment></comment><comment><USER50> What percentage of typical code is packable like this? What I really need is a way to easily determine, "is it worth bothering with a tool like this?"

</comment><comment><USER51> This looks very good indeed but the lack of initial data model very severely limits the production usability of this tool. You can't use "document" and "window" ...

It's the same problem TypeScript have/had that for external libs you need definition files for it to work. Now if we had TypeScript-to- assumeDataProperty generator that would be VERY interesting!

<comment><USER43> This is a very early release. I'm sure there'll be a "build for the web" mode soon enough.

</comment></comment><comment><USER52> I think that just in time compilers are better at doing thier things. Sure it is nice project that can interpret and print preprocessed js, but I think it might in fact not bring speed in most cases.

And the current state doesn't even know how to constant fold this loop.

function foo() { const bar = 42; for (let i = 0; i <= bar; i++) { if (i === bar) { return bar; } } };

<comment><USER53> As long as the ahead of time optimizations that dont have a large enough negative drawback in another criteria (speed vs size) are welcomed by me, even if the JIT can do the same optimizations too. Regarding your code example, maybe prepack was changed in the past week and a half, but it is folded quite fine when i tried it:

      (function() {
        function foo() { const bar = 42; for (let i = 0; i <= bar; i++) { if (i  === bar) { return bar; } } };
        console.log(foo());
      })();

</comment></comment><comment><USER54> > helps make javascript code more efficient

[https://github.com/facebook/prepack/issues/543](https://github.com/facebook/prepack/issues/543)

Are you sure?

</comment><comment><USER55> This reminds me of Morte, an experimental mid-level functional language created by Gabriel Gonzalez. They both seem to be super-optimizing, that is partially executing the program in question. Of course it is a great deal easier to do in a functional language than JavaScript.

[http://www.haskellforall.com/2014/09/morte-intermediate- lang...](http://www.haskellforall.com/2014/09/morte-intermediate-language-for- super.html)

</comment><comment><USER56> I wonder what this would do to Purescript code?

</comment><comment> web-guy I did an experiment to look for synergy from combining Prepack with the Closure compiler: [http://www.syntaxsuccess.com/viewarticle/combining- prepack-a...](http://www.syntaxsuccess.com/viewarticle/combining-prepack-and- closure-compiler)

The result was pretty good.

</comment><comment><USER57> I want something that can separate my code into what can be precompiled into wasm and what has to stay in JS. maybe just insert comments so i can see what needs to be done.

</comment><comment><USER58> I can't get anything to work in it. Just for fun I put the not minifed vue.js source inside and I get:

null or undefined TypeError at repl:537:23 at repl:5:16 at repl:2:2

</comment><comment><USER59> Has anyone used this with webpack + reactjs ?

</comment><comment><USER60> Errors on all my code:

* [http://prettydiff.com/lib/](http://prettydiff.com/lib/)

* [https://raw.githubusercontent.com/prettydiff/biddle/master/b...](https://raw.githubusercontent.com/prettydiff/biddle/master/biddle.js)

</comment><comment><USER61> How does one measures performance improvement for a web page gained from such tools?

</comment><comment><USER27> Just throw your webpack bundles in and be amazed.

</comment><comment><USER62> How does it compare to Google's closure compiler? It is considered by many best in class. It understands the code (uses Java based Rhino Javascript engine), while most alternatives (UglifyJS & co) just monkey patch things. You can trust the Google's closure compiler output.

Edit: @jagthebeetle: have you tried "advanced mode"? (One should read the documentation before using it, it's really a game changer but requires one to read the docu first)

<comment><USER63> Closure compiler optimizes code size, while this optimises code execution.

<comment><USER64> I see that it claims that, but that's not entirely true. The closure compiler does a variety of perf optimizations as well (e.g. inlining).

Closure is really a great compiler, it's just a shame it doesn't interact well (that is, at all) with the modern JS ecosystem.

<comment><USER65> As someone who works on Closure Compiler, this is one of my biggest gripes with the project. Things are getting better though! CC now supports node's module resolution algorithm. It works pretty well with Es6 imports but not so well with CommonJS (mostly because the exports are impossible to statically analyze).

Within Google, CC is heading towards being a an optimizing backend for other less painful languages such as Typescript (tsickle) and the yet-to-be-released J2CL compiler.

CC does pretty well with these examples (our debugger is not quite as flashy): [https://closure-compiler- debugger.appspot.com/#input0%3D%252...](https://closure-compiler- debugger.appspot.com/#input0%3D%252F%252F%2520From%2520Prepack.io%2520%2522Hello%2520World%2522%250Avar%2520s%253B%250A\(function%2520\(\)%2520%257B%250A%2520%2520function%2520hello\(\)%2520%257B%2520return%2520'hello'%253B%2520%257D%250A%2520%2520function%2520world\(\)%2520%257B%2520return%2520'world'%253B%2520%257D%250A%2520%2520s%2520%253D%2520hello\(\)%2520%252B%2520'%2520'%2520%252B%2520world\(\)%253B%250A%257D\)\(\)%253B%250A%250Aconsole.log\(s\)%253B%26input1%26conformanceConfig%26externs%26refasterjs- template%26includeDefaultExterns%3D1%26CHECK_SYMBOLS%3D1%26MISSING_PROPERTIES%3D1%26TRANSPILE%3D1%26CHECK_TYPES%3D1%26COMPUTE_FUNCTION_SIDE_EFFECTS%3D1%26FOLD_CONSTANTS%3D1%26DEAD_ASSIGNMENT_ELIMINATION%3D1%26INLINE_CONSTANTS%3D1%26INLINE_FUNCTIONS%3D1%26INLINE_VARIABLES%3D1%26FLOW_SENSITIVE_INLINE_VARIABLES%3D1%26INLINE_PROPERTIES%3D1%26REMOVE_DEAD_CODE%3D1%26EXTRACT_PROTOTYPE_MEMBER_DECLARATIONS%3D1%26REMOVE_UNUSED_PROTOTYPE_PROPERTIES%3D1%26REMOVE_UNUSED_VARIABLES%3D1%26COLLAPSE_VARIABLE_DECLARATIONS%3D1%26COLLAPSE_ANONYMOUS_FUNCTIONS%3D1%26COLLAPSE_PROPERTIES%3D1%26DEVIRTUALIZE_PROTOTYPE_METHODS%3D1%26REWRITE_FUNCTION_EXPRESSIONS%3D1%26DISAMBIGUATE_PROPERTIES%3D1%26AMBIGUATE_PROPERTIES%3D1%26PROPERTY_RENAMING%3D1%26OPTIMIZE_CALLS%3D1%26OPTIMIZE_PARAMETERS%3D1%26OPTIMIZE_RETURNS%3D1%26MOVE_FUNCTION_DECLARATIONS%3D1%26MARK_NO_SIDE_EFFECT_CALLS%3D1%26CROSS_MODULE_CODE_MOTION%3D1%26CROSS_MODULE_METHOD_MOTION%3D1%26CLOSURE_PASS%3D1%26PRETTY_PRINT%3D1)

<comment><USER64> > CC is heading towards being a an optimizing backend for other less painful > languages such as Typescript

I actually considered musing about something like this in my post. Typescript support would be very interesting.

Fwiw, the tooling support around the CC has been a problem historically. We relied on Plovr for a long time, but eventually it fell unmaintained, and there wasn't an alternative for a lot of the relevant parts (e.g. gathering source files you care about). Some important dev features also just didn't quite work as intended (sourcemaps) for a long time.

</comment></comment></comment></comment></comment><comment><USER66> The destination page looks uncomfortably like Webpack's.

Not the best idea, imho.</comment>


How Wasps Use Viruses to Genetically Engineer Caterpillars - <AUTHOR> http://www.theatlantic.com/science/archive/2015/09/parasitic-wasps-genetically-engineer-caterpillars-domesticated-viruses/405874/?single_page=true <comment><USER2> It seems that every little living thing on earth has an interesting story around it. One that, in the long run, might increase our quality of life substantially. Maybe one day we will have crops that infest with viruses their predators?

It pains me to imagine all the stories that we have already lost. What impressive feats happened inside the Dodo's digestive system? Or its visual sensors? Or its virus spreading abilities? But then again, there are already way more stories that we could ever read, so who knows?

<comment> anti-shill and in the human ecosystem we also have organic (or pseudo-organic) entities that exploit and parasitize the human population, not using biological viruses, but propaganda viruses.

The voter bases of the liberal and conservative political tribes of the USA are infected with propaganda memes created by large corporations/the media in order to further the financial interests of the large corporations. But if you say that, a lot of people will call you a conspiracy theorists.

But it is no more a conspiracy than the wasps using biological viruses to exploit caterpillars. Just nature in action. And man and his society are also part of nature.

<comment><USER3> It's more like it's obvious, we all know it, and we all are pretty damned tired of the content-free repetition because it doesn't advance any conversation at all.

<comment> anti-shill you forgot to call me 'edgy'

</comment></comment></comment></comment><comment><USER4> How _Viruses_ use _Wasps and Caterpillars_ to _Survive_.

</comment><comment><USER5> Discussion from a couple of days ago (different source): [https://news.ycombinator.com/item?id=10237793](https://news.ycombinator.com/item?id=10237793)

</comment><comment><USER6> One fun implication of this is that most of our phylogenies derived from genetics assume little to no lateral gene transfer. In this case we have been able to trace a subset of genes back to a virus that mediates the transfer. However this suggests that LGT may be more common than our models suggest.

<comment><USER7> [http://genome.cshlp.org/content/24/5/831.full](http://genome.cshlp.org/content/24/5/831.full)

"Widespread and frequent horizontal transfers of transposable elements in plants"

Observation for example, of horizontal gene transfer between palm tree and grapevine.</comment></comment>


Throw a pebll, start a ripple, make wave - <AUTHOR> http://pebll.com

<comment><USER2> This actually looks very interesting, but I'd recommend some changes to the website.

First of all that beautiful full screen image, sadly, it's useless. Not a single word there of what you're about, or even a symbolic photo suggesting what pebll is.

Then, it seems to me, most of the wording on your site assumes the reader knows something about your product. I'm getting a vague idea, but it certainly isn't clear.

Do pebll's have actual value? You suggest they might when you say it gets passed on "instead of receiving payment".

So, I pass a pebll, then they pass it on to somebody else, and they pass it on, etc. etc. But today, when people 'pay it forward', aren't they actually paying for something? So if I 'pay it forward' at the coffee shop and buy somebody a coffee, the they get the coffee and a pebll? Then they do something for somebody else, and that person gets their groceries carried and the pebll? Is that right?

I like some of the idea, but I dislike the action of "I'm passing this thing on to you", it makes the whole process feel a bit ingenious (though I think most peoples idea of pay it forward is less than geniune).

I do think you are on to something with the idea of tracking the good you do, and how that can be passed on to others and multiplied, but I don't know that you've nailed the messaging, and because of that, I don't know if you've got the right solution or not.

Also, for your layout of your site, try Simon Sinek's version of start with why. I think your why is currently your strongest point.

</comment><comment><AUTHOR> Looking for some friendly feedback on my side-project idea! I am being too optimistic?</comment>


Colorado town has received pre-orders for 983 drone-hunting licenses - <AUTHOR> http://www.slate.com/blogs/future_tense/2013/09/06/deer_trail_co_sees_applications_for_nonexistent_drone_hunting_license.html

<comment><USER2> _this line of reasoning seems like the least of our concerns in a discussion centered around firing ammunition into the clouds_

Well you'd use birdshot, obviously. How does the author think people hunt ducks?

<comment><USER3> Well, everyone has seen a movie where someone shoots around up into the air and it comes down just as fast as it went up, typically wounding someone. Obviously physics doesn't allow that but the myth remains.

It's a lot like the shoot into the water and the bullet streaks through and wounds people. There was a great Mythbusters that debunked that - the water tears apart the bullet within about a foot of the surface. Yet, once again, the myth remains.

<comment><USER4> Mythbusters have also done "bullet fired into the sky" as well, and while the results were not terribly simple, the gist of it is that it should not be considered safe (and there are confirmed incidents of people being killed that way).

There are a few things going on, but most of it, IIRC, stems from the fact that a bullet fired into the air is almost certainly not fired _straight_ into the air, so it retains it's ballistic trajectory and spin. The spin keeps its air resistance relatively low and gravity does not work against the horizontal component of the bullets velocity. The bullet, fired slightly not straight up, will therefore hit you with whatever velocity it got from falling nose first from apogee, combined with whatever velocity sideways it started with (minus some from air resistance).

Bullets fired from a rifled barrel straight up will turn over and tumble at appogee, and their velocity on return will be only terminal velocity of the bullet tumbling through the air. Presumably this case is safe, though potentially painful.

Birdshot is safe I assume because the mass of the individual pellets are low enough so that air resistance _is_ enough to arrest its velocity to something safe. (also the pellets aren't nearly as streamlined as bullets are anyway, though I wouldn't want to be downrange of buckshot fired into the air at an angle...)

<comment><USER3> Yes, any horizontal distance is the danger, but that's not generally what movies show. An example is the movie 'The Mexican'.

Birdshot is somewhat powerless anyways, at even minimal distances, although I wouldn't particularily volunteer to be on the receiving end.

Ask Dick Cheney's hunting partner how this feels. I believe the doctors were more concerned about a pellet traveling to his heart/brain via an artery (possibly causing a heart attack or stroke) then the damage to his body.

</comment></comment></comment></comment><comment><USER5> People can no longer claim that the BMG cartridge has no legitimate hunting use. [http://en.wikipedia.org/wiki/.50_BMG](http://en.wikipedia.org/wiki/.50_BMG)

<comment><USER6> "What goes up must come down", and while that's often not such a big deal if the bullet goes at a high enough angle due to relatively low terminal velocities, a bullet that heavy (1.4 oz/29 g and on up) would do considerable damage if it hits someone.

That said, some crazy big game hunters use it for long range shots. WAY too much tissue damage for my family's tastes (as it were, what we hunt, we eat), but it is used.

<comment><USER4> I don't really know much about hunting, but I imagine such a large round might legitimately be necessary for things like bears or moose. You have a good point though, you shouldn't be firing stuff other than birdshot into the sky.

<comment><USER6> Anti-material rounds like .50 BMG are way overkill for anything you'll find in North America, calibers in the .338/.375 range, with around 1/3 the weight and energy are probably good enough (would have to check for bear, my family's never hunted them and none are to be found in my home town). For "thick skinned" dangerous game in Africa, heavier stuff is legally _required_ , but the energies are still quite a bit lower than .50 BGM.

Hmmm, while it gets into "destructive device" territory ($200 Federal "tax" per round and of course paperwork, which they aren't exactly required to accept), something that explodes with a fuze that sets it off way before it nears the ground is called for. You want proximity fuzing anyway ... send a microprocessor after a bundle of them wrapped in an airframe ^_^.

<comment><USER7> Anything in the "military .30-calibre" (.308, .30-06, .303) range is good enough for bear (and moose) _hunting_ ; there's no need for exotics of any sort when you can choose the presentation, and any of that class of round will perform a humane kill (by any hunting standards) without unnecessary waste.

That said, one might want something heavier for _stopping_ bear, but the ranges involved would suggest something more along the lines of a good 10- or 12-gauge slug than something with enough ballistic efficiency to have a kill potential more than a mile away.

</comment></comment></comment></comment></comment><comment><USER8> I'm ok with this as long as they don't waste this as a trophy and properly clean and eat the drone.

Otherwise imagine all the wasted money they could cause.

<comment><USER6> Heh.

Semi-seriously, the two are not mutually exclusive, what's on display, bone, antlers, tusks, fur, etc. is not fit to eat.

Not that I understand the trophy hunting mentality, although the best of them make sure the tasty meat goes to a good home.

</comment></comment><comment><USER9> Okay, now I kind of want them to make it an annual event where we go fly some cheap throw-away styrofoam drones[1] and everybody gets together and shoots them out of the sky like skeet. You, know, safely, with minimal drunkenness. Anyway, it would be great if it became so popular that the FAA had no choice but to issue a TFR over the town for the event.

[1] like the kind you make for RC dogfighting

<comment><AUTHOR> For some reason, I can't see your username

<comment><USER9> Lucky for you!

</comment></comment></comment><comment><USER10> When I saw the headline I thought people wanted to hunt _using_ drones. I guess that will be next year.

<comment><USER11> I was really disappointed when I realized it wasn't that. Maybe you don't need a license for that.

</comment></comment><comment><USER12> Let's hope this becomes a felony when the drone laws are updated in 2015.

<comment><USER12> No, wait. HN is ok with shooting down our technological advances.</comment></comment>


$1T is leaving Britain because of Brexit - <AUTHOR> https://www.cnn.com/2019/01/07/investing/brexit-banks-moving-assets/index.html <comment><USER2> No surprise. Passporting (allow banks to operate in all members of the EU if they are licensed in one member) is a key to all of the banks operations. Every bank based in London for that purpose now has to open a regulated branch in an EU member. The next thing to kill the market in London will be the movement of Euro clearing to an EU member. Brexit is a self inflicted shot to the head. The number of people that supported leave and lacked understanding of all the ties of the businesses that operate in the UK but sell in the EU was amazing. All the car manufacturing will be the next to move. There goes all the good jobs that the leave camp said were being stolen by immigration.

Edit: typo and to clarify I am not an UK or EU citizen, only outside observer of the train wreck.

<comment><USER3> > Every bank based in London for that purpose now has to open a regulated > branch in an EU member.

How many of them don't have one yet?

Also, every bank based in the EU will have to open a regulated branch in UK in order to operate in this large market.

> The number of people that supported leave and lacked understanding of all > the ties of the businesses that operate in the UK but sell in the EU was > amazing.

Perhaps they're just not trying to see only the drawbacks and ignore successful non-members in Europe like Switzerland and Norway.

<comment><USER4> The UK is the 5th biggest economy in the world. Switzerland is 20th and Norway 30th. The UK has traditionally punched well above its weight economically, it will be interesting to see if we become just another Switzerland or Norway after Brexit rather than the world economic power that we are today.

Being the banking capital of the EU is a _huge_ contributing factor to that position, btw.

<comment><USER5> \+ Norway and Switzerland both have partly artificial economies, buoyed by Oil for the former and dirty money for the latter.

<comment><USER6> Britain has both oil in Scotland, and dirty money flowing through London

<comment><USER5> Indeed, but not enough unfortunately

</comment></comment></comment></comment></comment></comment><comment><USER7> > have shifted at least £800 billion ($1 trillion) worth of assets out of the > country

And what's the significance of that? Suppose I had $100 in a bank in UK and I moved it to a bank in Germany. Neither country is better or worse because of that. The article doesn't bother to explain the ramifications.

Deals are made in UK because English law is really, really good. Having to maintain offices in EU will surely increase the capital requirements of the banks but it's not a straightforward "Britain is XYZ poorer because banks shuffled some stuff around" situation.

<comment><AUTHOR> Your seriously misunderstand the banking sector's very real impacts on everyday lives.

Having more assets under management is very impactful because money doesn't just sit in a bank -- it is used again for other things. Thus, there would be less money for loans and other investments.

If you're trying to get a mortgage or start a business, that's very impactful.

If you are a construction worker and financing for new commercial real estate is down, that's impactful.

If you're a factory worker and the factory can't get access to capital to launch a new product line.

All very real impacts.

<comment><USER8> This is just such complete and utter nonsense it's hard to know where to start. Are you honestly suggesting that good opportunities to make money by lending to British businesses/consumers are not going to be taken advantage of due to this money going to the EU?! Last time I checked banking was global.

</comment></comment></comment><comment><USER9> The article doesn't mention how much of these assets will be backed to back to an entity in the UK, effectively making the shift of the assets a mere operational step. And working in the industry, I expect the number to be substantial.

</comment><comment><USER10> The article implies through its journalistic voice that this is objectively bad for GB. The fact that capital has left the country does not have any implication towards the rationality of that move. Various questions to ponder:

1) If this is just capital moving around within their own respective due to legal jurisdictional changes, this may be rational and may not even matter at all. Sometimes you change your behavior due to a change in rules but it affects you neither positively nor negatively.

2) If capital is leaving due to economic fears of leaving the EU, it may be entirely irrational. It has yet to be seen the long term impacts of leaving the EU. It isn't even a settled matter as to whether being a part of the EU is a good thing. Switzerland has done just fine without the EU, Greece has made off like bandits by being a member of the EU, and Germany has likely slowed their potential economic growth by being tied to countries like Greece via the EU.

3) Capital system geographies are surprisingly robust to change. It took centuries for capital systems to move away from Venice and later the low countries. Those capital systems survived massive recessions, multiple unprecedented geopolitical shifts, and numerous invasions and wars. They didn't die because of political turmoil or economic turmoil, they died because other regions learned from them and incrementally improved on their innovations. Compared to the level of turmoil seen in Europe throughout the 16th-19th century, Brexit looks like a walk in the park.

I hold zero opinions on whether Brexit is good for Britain. But economically speaking, I don't see much to fear. I haven't seen much indication that they are trying to destroy their trade regime that was established by default through their membership in the EU, which means that it is still effectively a single market. They already have their own currency and it was already free floating. The banking industry may be prominent in the UK, but all the banks were already multinational and headquartered in various countries to begin with; HSBC isn't losing out on EU business any more than Citibank is. Why is everybody running around like the sky is falling?

<comment> 2-chainz Agreed, economics is very finicky and hard to predict with such a high degree of confidence at this scale of complexity. There is a lot of sensationalism and overreacting but until this actually happens and there is time for the market to stabilize it is impossible to know for sure whether this is a net good or net bad.

</comment></comment><comment><USER11> Even if the end result of Brexit would be neutral in any circumstance, it is entirely possible that prolonged uncertainty would be bad, considering the aphorism that "markets hate uncertainty."

Although, uncertainty doesn't seem to be a big deal in bull markets, so it could be contextual.

</comment><comment><USER12> I was reminded of this quote from The Big Short at the weekend:

 _"I have a feeling, in a few years people are going to be doing what they always do when the economy tanks. They will be blaming immigrants and poor people"._ (Mark Baum).

Many people feel that austerity policies post the 2008 crash distilled feelings which led to Brexit.

If Brexit leads to another crunch, one scenario is a lot more right-wing politics, not less.

This is obviously not necessarily true, but the possibility made me very sad - and makes one wonder whether Brexit will trigger a spiraling political and economic crisis in the UK, not resolve one.

</comment><comment><USER13> It really is regrettable that my country has decided to blow its own head off. Finance was pretty much all we had after Thatcher "strategically" destroyed manufacturing and placed the entire country outside of London into a state of "managed decline".

C'est la vie. Maybe I'll move to Ireland.

</comment><comment><USER14> > _Banks and other financial companies have shifted at least £800 million ($1 > trillion) worth of assets_

Hang on, that's not right. Do they mean "£800 _billion_ ($1 trillion)", or "£800 million ($1 _billion_ )"?

<comment><USER15> Seems to have been fixed: "£800 billion ($1 trillion)"

<comment><USER16> Perhaps related to [https://en.wikipedia.org/wiki/Long_and_short_scales](https://en.wikipedia.org/wiki/Long_and_short_scales)?

<comment><USER17> Unlikely, the long scale form has been obsolete in Britain for decades.

I've heard people say things like "thousand million", but I've never heard "milliard", and never heard "billion" to mean 10¹².

</comment></comment></comment></comment><comment><USER18> It is a meaningful coda to the history of the British empire that they now choose willingly to descend into underdevelopment and poverty.

<comment><USER19> The fact that the British empire existed is certainly a reason why they were willing to vote for Brexit. With a bit lesser ego they might have stayed in the EU.

</comment></comment><comment><USER20> This is 21st c. social media-based warfare. Damaging the West with brexit and right wing nationalists is as strategically effective as a victory in a shooting war.

<comment><USER21> > Damaging the West with [...] right wing nationalists

Ya if only we were as open minded as China and Russia we would win this war.

<comment><USER22> are Muslim bans open minded?

<comment><USER21> I don't think the Muslim bans in China are open minded. Of course not.

</comment></comment></comment></comment><comment><USER23> It really looks like they are going through with it. Up to a couple months ago I almost expected the Brexit to be cancelled.

I wonder when Britain will try to get back into the EU. It would take the swallowing of a lot of pride on the British side, but basically there is already a majority against the current Brexit conditions, pretty soon there will be a majority for remaining in the EU, period.

</comment><comment><USER24> Lots of things are going to change. Things worked before the EU. I am sure things will continue to work after the exit.

<comment><USER25> Britain isn't going to turn into some Mad Max wasteland like some claim, but it will be worse off. The big thing is that on average the larger more open market will have more growth than the smaller more closed one. That growth will be compounded over the years. In several decades people in Britain will be asking why people in Poland have a better standard of living than them.

<comment><USER3> > _In several decades people in Britain will be asking why people in Poland > have a better standard of living than them._

In case this ever happens - it won't - this will be attributed to the EU pumping billions into Poland's budget every year. Net benefit to Poland is higher than the UK's yearly contribution to the EU budget nowadays.

</comment></comment></comment><comment><USER26> IMO it's pretty dumb of the British. You can't join and leave just like that, everything is integrated with EU.

Now, go ahead and undo it because a few % more voted to leave at a certain point. These decisions to join/leave should be like adding a new Constitutional Amendment in USA, very hard to do, either way and require super-majorities.

</comment><comment><USER3> Is that good or bad news for Britons? Most tangible assets won't be leaving any time soon and nobody but banks will miss this amount in the banks' accounts. It's very likely that real assets, like real estate will become a little more affordable.

Car registrations fell here in Austria as well, despite good economic indicators, it's not a big deal.

<comment><USER15> "real estate will become a little more affordable"

For many people in the UK any decrease in house prices is regarded as a _very_ bad thing indeed.

<comment><USER27> Only for people using real estate as an investment or their primary store of wealth.

<comment><USER28> In 2015-16, 62.9% of UK households were owner-occupied. A drop in house prices (which would be incredibly welcome for me, as a prospective purchaser!) would lead to negative equity for a significant number of voters in the south east and especially the south west - no political party wants to own that, though both major parties in the UK bear responsibility for it.

<comment><USER3> > would lead to negative equity for a significant number of voters in the > south east and especially the south west

This argument requires some hard numbers to make.

A significant number of owners bought their homes a long time ago and won't be affected.

A significant number of owners live in areas where prices were not affected by EU investment.

A significant number of NEW prospective owners will have access to lower prices in currently extremely crowded markets.

So, less alarmism, more facts and numbers please.

<comment><USER28> > A significant number of owners live in areas where prices were not affected > by EU investment

[Citation Needed]

EU membership has improved the _entire_ economy, and thus house prices nationwide.

\--

I can't quite tell if you are from the UK or not, but fixed rate mortgages are not normal. Even purchasers who purchased 20 years ago commonly have to refinance their property every two years or so in order to get a fixed rate.

</comment></comment></comment></comment></comment></comment><comment><USER29> There is a massive 'fear campaign' drip dripping dire news in the UK every day if the people don't reconsider leaving a federated europe. The EU is well past its sell-buy date, won't reform and globalization has taken full advantage of its undemocratic structure for offshore commercial gain.

The divide and rule aspects of the UK EU referendum results are being exploited to the full. Like the last US election there is no good result for the English people - remaining or leaving are both going to have an ugly side. The City of London rules the financial world and enables incredible sums to float offshore via trusts and opaque corporate setups. What we are seeing is a further divide between the haves and have nots.

[https://youtu.be/np_ylvc8Zj8](https://youtu.be/np_ylvc8Zj8) < spiders web documentary

'At the demise of empire, City of London financial interests created a web of secrecy jurisdictions that captured wealth from across the globe and hid it in a web of offshore islands. Today, up to half of global offshore wealth is hidden in British jurisdictions and Britain and its dependencies are the largest global players in the world of international finance.'

This makes the consumer banks and FS firms shuffling fiat currencies around europe a tiny drop in the ocean

<comment><USER29> The Cayman Islands are the 5th largest financial centre worldwide, via City of London

[http://blogs.lse.ac.uk/usappblog/2017/11/11/the-cayman- conun...](http://blogs.lse.ac.uk/usappblog/2017/11/11/the-cayman-conundrum- why-is-one-tiny-archipelago-the-largest-financial-centre-in-latin-america-and- the-caribbean/)</comment></comment>


Hacking Education (follow-up) - <AUTHOR> http://www.avc.com/a_vc/2009/05/hacking-education.html

<comment><USER2> I loved this first comment on the linked post...

"It seems to me that Fred and others are nuts and totally out of touch with reality. This is a great example of what happens when you live in an isolated bubble of the rich and crazy. Luckily I don't see much chance of these ideas surviving for long if/when they escape this echo chamber."

I think that's a bit harsh but I have to agree with the sentiment. I used to go to a lot of conferences that had discussions like this and then I realized the whole point of brainstorming is to solve a problem. So if you don't start out with the problem at hand and address it specifically you don't get anyhwere.

These folks started out with a vague "hacking education" and came up with a bunch of ideas that are either (a) impractical or (b) impossible to implement without blowing up the whole education system as we know it.

Bottom line (for me anyway) is that ideas don't mean anything if the person put no realistic thought into how they'll be implemented and that's exactly the category these ideas fit in to.

<comment><USER3> My other post in this thread was a little harsh on Fred, and I'll agree that he and others are in a bubble, but brainstorming without regard to implementation is not necessarily pointless. In some cases, it's the step that comes right before thinking about implementation. Maybe only a tiny percentage of ideas reach that implementation step, but that doesn't mean the whole process was pointless. Isn't brainstorming about throwing everything at the wall, and _then_ seeing what sticks?

</comment></comment><comment><USER3> Here is how posts like these sound to me:

"I know lots of smart people. We are awesome. We talk all the time and have awesome, awesome conversations. You're not a part of them. We nail it. We're important, thoughtful, disruptive, and fantastic."

I'm not saying this is intentional. And for the record, I agree with many of his conclusions, but the buzzwords are so distracting.

Dilbert made Buzzword Bingo famous: <http://dilbert.com/fast/1994-02-22/>

It would not be difficult to update this for VCs or even Web 2.0 in general.</comment>


Offline reading with the NewsBlur iOS app - <AUTHOR> http://blog.newsblur.com/post/61520013611/offline-reading-with-the-newsblur-ios-app

<comment><AUTHOR> Newsblur is really excellent, it has replaced Google Reader for me without a single regret and the premium account is completely worth it.

The iOS app is very good too and now with offline reading it will allow me to get my news fix while commuting :)</comment>


Coalesce – Communication framework for distributed JavaScript - <AUTHOR> https://github.com/amark/coalesce

<comment><USER2> The first example is a little hacky in using one function as both keyup event handler _and_ message receiver.

This and some other quirks together make things harder to understand. The idea seems really cool, but a clearer (even if not as fun to read) README would help. :)

If I were the maintainer, I'd reduce the amount of text (by moving extensive API docs somewhere else? cutting some of the stuff that is just-for-lulz?), and think of adding an overview—how coalesce fits among existing solutions. Yeah, dry and boring, but practical.

</comment><comment><USER3>
            m && m.what? document.hello.to.value = m.what :
            a.com.send({what: document.hello.to.value, where: 'magic' });

Urgh.

</comment><comment><USER4> is it just me? or is the source written in such a horrible way that it is very difficult to understand how it works. i don't like it.

<comment><USER5> I didn't look at the source yet, but from watching the video, I understand your view, completely.

</comment></comment><comment><USER6> Kudos for great instructions in the readme.

However, bummer that despite the clear instructions, they never state what this does or why it might be helpful, for what problem.

So many developers take the attitude of "if you don't know why you need it, you shouldn't be learning about it" but I don't see why they do that. You should always assume that some outsiders will come along, and some of them will have use cases that could benefit from your solution, if only you would explain what the hell it is.

<comment><USER7> I think it's not fair to assume that the author is elitist about his tool. It's actually hard to remove enough context from one-selves to write documentation for new-comers. The author already wrote the tool and knows what it's about so it's easy for him to forget that not everyone does. That's my experience as a project writer at least.

</comment></comment><comment><USER8> "When Is a hyper precise millisecond timestamp of when the message was created.

It is 17 digits long, which is 4 digits longer than the normal new Date().getTime()"

Is this serious? I can't find any assignment of "when" in the code. And why would you expect hyper precise timing from js? And if it has four more digits wouldn't it no longer be milliseconds?

<comment><USER9> HAHAHAHAHA he appends a 4-character string of random numbers to "new Date().getTime()", hides it behind several terribly-named and terribly- namespaced function calls and tries to call it hyper precise:

[https://github.com/amark/theory/blob/master/theory.js#L449](https://github.com/amark/theory/blob/master/theory.js#L449)

look at 'time.now()', called by when, and 'time.is()'.

<comment><USER10> I think that the comment about it being "hyper precise" is a joke.

The likely reason for the extra 4 digits is to prevent collisions in timing.

The probability of messages having the same timestamp is already pretty low, this just divides that probability by ten thousand.

<comment><USER11> Isn't this the reason UUIDs were invented?

<comment><USER12> Not exactly.

UUIDs are for uniqueness, but don't imply order.

Timestamps imply order, but not necessarily uniqueness.

Sometimes you want both. Some languages give you mechanisms to guarantee an increasing timestamp (Erlang's erlang:now(), for instance) for that purpose.

Now, if this is actually appending just random data, rather than an incrementing counter, you still are guaranteeing uniqueness (well, a reasonable guarantee of probably uniqueness), and have order to a specific coarseness, but beyond that all bets are off. My guess is that it's to imply an absolute ordering, but once you're sub-millisecond assume that it doesn't really matter if the order is accurate.

</comment></comment></comment></comment></comment><comment><USER13> I've been writing node apps since before it was popular ( =) ) and still had hard time getting the examples. Some clearer examples maybe?

</comment><comment><USER14> Excellent, congratulations to the creator. This looks like a good js communication foundation for practically anything.

</comment><comment><USER10> This is scary. Not in a bad way.</comment>


Show HN: We created a tool for easy Facebook tab design - <AUTHOR>

We're a team of four Swedes developing a facebook app called Decor Tab Creator. We launched the first beta version in april and we were selected for SeedCamp Paris (A startup competition) in November. We're currently working on a PRO version of the app, but for now it's still totally free and will be for our early adopters.
You can try the product out on http://www.decor-tab-creator.com/ which also features a short video demonstrating the product.
What do you guys think? We are trying to make this tool as easy as possible to use and feedback regarding the UX experience would be really beneficial! <comment><AUTHOR> Link here <http://www.decor-tab-creator.com/> :)</comment>


People reject info on existence of a prob if they object to possible solutions - <AUTHOR> http://arstechnica.com/science/news/2011/04/politics-self-confidence-trump-education-for-climate-change.ars <comment><USER2> Yale's Six America's study is a great companion read to this article.

<http://environment.yale.edu/climate/>

It demonstrates six different types of attitudes towards Global Warming and helps to explain the social dynamics associated with each opinion with a bit more nuance than the Republican/Democrat divide in the decidedly fascinating polling research in the arstechnica link.

<comment><AUTHOR> link to the report pdf: [http://environment.yale.edu/climate/files/Knowledge_Across_S...](http://environment.yale.edu/climate/files/Knowledge_Across_Six_Americas.pdf)

</comment></comment><comment><USER3> Alternatively, people are more likely to believe information on the existence of a problem if they like the possible solutions?

e.g. "You have a severe dietary deficiency. It can only be resolved by eating more chocolate"

</comment><comment><USER4> I'll bet it would have gained a lot more traction if Al Gore hadn't popularized it. You lose 50% of the country right there.

<comment><USER3> I don't think it's really fair to say that Al Gore popularized it. People were certainly widely talking about global warming (though usually under the name "the greenhouse effect") as long ago as I can remember, which is about 1990. Gore didn't hitch onto the bandwagon until sixteen years later.

The real reason for the left-right divide is that the most widely proposed solutions always seem to involve more taxes and more government intervention. They are also, in my opinion, _not_ the most effective way to spend that money on CO2 emissions reduction.

Ultimately it's a technological problem and demands technological solutions -- we need to find ways to cheaply and efficiently produce the same amount of energy without burning fossil fuels. The solution is therefore throwing more money at R&D, not attempting to coerce people into using less energy.

The "cash for clunkers" program, for instance, cost $3 billion. The budget of the National Renewable Energy Laboratory in Golden, Colorado, which is doing some really good work, is about $130 million a year.

<comment><USER5> While there is a right-left divide, I think it is actually a different divide than what you suggest, because even R&D solutions propopsed by the left are shunned by the right.

The issue that doesn't come up nearly as much, but you'll hear if you talk to hardcore social conservatives is that this planet is for humans to do as we please. And I've been in discussions where they will quote specific bible verses. Their view is that the secular left doesn't believe in God and therefore thinks they need to fix a problem that doesn't exist.

</comment></comment></comment><comment><USER6> I think that's true of many people (responding to the headline).

Many people also accept existence of a problem more easily if they relish the possible solutions.

For example, our currently developing budget disaster. I find it easy to talk about because it finally means some finite end to dumb government spending. But we don't exactly know how far the dumbness could continue or if sanity will kick in soon or if the die is cast.

And, on the other side, there are people who love government spending who claim its not a problem at all.

<comment><USER7> _Many people also accept existence of a problem more easily if they relish the possible solutions._

Indeed. Testable prediction: as solar and wind power become more economically viable, harder-core environmentalists will discover many reasons why they're unacceptable.

<comment><USER8> You can test that prediction now. There are rumblings about the damage wind power does to local wildlife, and deeper questions about how large arrays of wind turbines change weather patterns by drawing too much energy / increasing airflow resistance.

Some (random, via quick Google search) sources:

[http://www.livescience.com/7626-wind-farms-change- weather.ht...](http://www.livescience.com/7626-wind-farms-change-weather.html)

[http://www.gardenridge.net/wind-turbines-changing- weather.ht...](http://www.gardenridge.net/wind-turbines-changing-weather.htm)

<comment><USER5> They note climate change, but to quote:

""The message here is climate change, but that doesn't equal global warming," Keith said. "It's possible this would have benefits," by working against the atmospheric effects of fossil fuel consumption on global climate, he said. "

</comment></comment></comment></comment><comment><USER9> Faced with the choice between changing one's mind and proving that there is no need to do so, almost everyone gets busy on the proof. -- John Kenneth Galbraith</comment>


Pirates Taunt Amazon Over New "Turd Sandwich" Prime Video Quality - <AUTHOR> https://torrentfreak.com/pirates-taunt-amazon-over-new-turd-sandwich-prime-video-quality-180419/ <comment><USER2> The net neutrality rules expire on Monday. I wonder if that has anything to do with it. ISPs already putting the squeeze on the large streaming video providers?</comment>


California has the highest poverty rate in the USA - <AUTHOR> http://www.latimes.com/opinion/op-ed/la-oe-jackson-california-poverty-20180114-story.html <comment> temp-dude-87844 This essay is an op-ed that lays the blame for most of California's poverty woes at the feet of a variety of liberal, leftist, progressive, and/or Democrat-initiated policies. From a conservative point-of-view, I can do better.

I propose that California's poverty woes are disproportionately due to a permanent and ever-growing underclass, whose existence and continued plight isn't caused by policies like rent control, welfare reform, and targeted eco- taxes that end up being regressive; but rather, is a simple consequence of individuals desperate for more prosperity and financial security making tough choices for the good of their families.

They are attracted to the cores and fringes of urban areas that play host to islands of productivity and wealth, where they work long hours and multiple jobs in an effort to provide. Some are later-generation Americans born to immigrant ancestors, some are youth from elsewhere in the US trying to flee metros with no growth, some are recent arrivals from regions of the world plagued by poverty and strife, and some are undocumented, working under the table and living in the shadows of mainstream society, more avoidant of law enforcement than groups who suffer the most violence at the hands of the law, and always at the mercy of their employer, handlers, and pure luck.

These groups are there because in California they can capture a larger portion of the effects of trickle-down than in North Carolina, Texas, or New York; and because the state-provided safety net, average people's compassion, and availability of human connections and capital allows them a small, but more meaningful chance of breaking out of the poverty trap.

In other words, the prosperity, concentration of wealth, human capital, and laxer attitude of California allows these marginalized groups a better shot than elsewhere -- especially places like Mississippi and West Virginia, whose poverty is primarily indigenous, and isn't among recent arrivals. California is somewhere where trickle-down does display elements of it working, at the very least in the hearts and minds of those attracted to the state. We can argue about its magnitude all day long, but to flagellate all manner unrelated policies after a myopic reading of statistics is absurd.

<comment><USER2> This is a fantastic point. I count myself among those desperate youth fleeing the stagnation that exists in the rest of our country. I've been able to, as a high school dropout, move here to California and teach myself enough skills to make more money than I could have remotely even imagined 5 years ago. I am homeless now though, drifting between motels because even though I have the money to pay for it, I simply cannot get someone to rent me a studio apartment within reasonable commuting distance to my east bay tech job. It's miserable being unable to put down any roots here, to spend your days begging a landlord just to look at your application. But the thought of leaving and taking my shot at getting by anywhere else is terrifying. The rest of this country is slowly becoming either a racist red state hell hole, or a dead end pit of poverty and despair for anyone with ambition.

<comment><USER3> Let me get this straight, if you're not in California you're either in a racist, red state hell hole or a dead end pit of poverty and despair? Dropping out of high-school clearly did you wonders.

<comment><USER4> They said becoming, not is.

<comment><USER5> So this person is not yet a total elitist jerk, but almost is. Got it.

</comment></comment></comment></comment></comment><comment><USER6> Some economists have started to suggest that exclusionary zoning policy is the main driver of wealth inequality. And California is pretty much the world leader in exclusionary zoning policy.

[https://www.economist.com/blogs/freeexchange/2015/03/wealth-...](https://www.economist.com/blogs/freeexchange/2015/03/wealth- inequality)

[https://medium.com/the-ferenstein-wire/a-26-year-old-mit- gra...](https://medium.com/the-ferenstein-wire/a-26-year-old-mit-graduate-is- turning-heads-over-his-theory-that-income-inequality-is-actually-2a3b423e0c)

[https://www.washingtonpost.com/news/wonk/wp/2015/03/19/meet-...](https://www.washingtonpost.com/news/wonk/wp/2015/03/19/meet- the-26-year-old-whos-taking-on-thomas-pikettys-ominous-warnings-about- inequality/)

[https://www.mercatus.org/publication/how-land-use- regulation...](https://www.mercatus.org/publication/how-land-use-regulation- undermines-affordable-housing)

<comment><USER7> You make a great point, so I would like to add some facts.

* A snapshot of more recent U.S. Census migration numbers shows that nearly three-quarters of those who have left California for other states since 2007 earn less than $50k a year.

* San Francisco's African American population has declined from 13.4% of the population in 1970 to 6.1%

* 41 percent of San Franciscans spend 30 to 50 percent on rent, despite a lot of rent control for longer-tenure residents and a population average income being $104k as well as median $77k

* low skilled entry level jobs are moved elsewhere [https://www.google.com.tw/amp/s/www.wired.com/2016/03/those-...](https://www.google.com.tw/amp/s/www.wired.com/2016/03/those-...).

I understand that this might not be the intended consequence for all people fighting for the current zoning rules, but due to its effects on African Americans and latinos as well as the poor I find the effects immoral.

The current situation makes it almost impossible to grow up with lower middle class parents or work in a low-pay low-skilled position, and mingling with the tech crowd to work your way up.

Anyone supporting these policies knowing this has the right to do so, but not while at the same time claiming they fight for diversity and the dispossessed.

<comment><USER8> Hold on there. Dropping that 2nd fact seems to be more race baiting than not. The indication of AA population shrinking could be explained by the increase of the AA population in neighboring counties.

According to [http://www.bayareacensus.ca.gov](http://www.bayareacensus.ca.gov), the AA population was increasing throughout the 80s - 2000s in all 8 other bay area counties. They could very well left SF to get better opportunities elsewhere.

<comment><USER7> You make an interesting point, According to this link [https://steinhardt.nyu.edu/scmsAdmin/uploads/005/841/RTT_RPI...](https://steinhardt.nyu.edu/scmsAdmin/uploads/005/841/RTT_RPIC.pdf):

* Large urban school districts are experiencing the greatest numerical decrease in Black enrollment. These districts include Oakland, Los Angeles, San Francisco, Inglewood, Lynwood, and Compton.

* The largest percentage increase in the Black population occurred in smaller, rural communities (Susanville, Tehachapi, Calipatria, and Elk Grove). Before 1980, these communities had a very small number of African Americans.

According to the cal budget center [http://calbudgetcenter.org/resources/californians-parts- stat...](http://calbudgetcenter.org/resources/californians-parts-state-pay- can-afford-housing/)

* More than 2 our of 3 Californias with unaffordable housing costs are people of color

And there are a few more interesting facts in both links, so you are correct that it is a complex problem. That said I don't think you can access the best opportunities in California from where the largest percentage increase in the black population is, but it might be that they also moved to neighborhood populous counties in which case percentage increase is not interesting.

</comment></comment></comment></comment><comment><USER9> The author has a pretty radical and completely unsubstantiated anti- environmental outlook. He claims that California energy prices are so high because of "liberal" policies including extremely important (but honestly still fairly modest) regulations to help stem carbon emissions - however, California energy prices have been far above the US average for decades [0] and the impact of carbon regulations on the consumer have been minimal, and certainly have nothing to do with California's poverty rate. (Note that most of the east coast lives in states with similar regulations [1], and there too costs have not been pushed onto the consumer).

As to the argument that a ban on plastic bags is causing California's poverty because it hurts the workers in the factories that make them... I think the ridiculousness of that idea stands on its own. California has a poverty problem. It's driven by things like the housing crisis and high consumer prices. Not because we provide any kind of support the poor or the environment.

[0] [http://www.latimes.com/projects/la-fi-electricity- capacity/s...](http://www.latimes.com/projects/la-fi-electricity- capacity/static/img/la-fi-g-electricity-capacity-web.jpg)

[1] [https://en.wikipedia.org/wiki/Regional_Greenhouse_Gas_Initia...](https://en.wikipedia.org/wiki/Regional_Greenhouse_Gas_Initiative)

<comment><USER10> "The Pacific Research Institute for Public Policy (PRI) is a California-based free-market think tank which promotes "the principles of individual freedom and personal responsibility" through policies that emphasize a free economy, private initiative, and limited government."

\-- first paragraph of the wikipedia article.

Always ask "Who benefits?".

</comment></comment><comment><USER11> And yet, it doesn't need to be this way.

Cafeteria workers at facebook earn 40k per year and are stuck living in people's garages. Anywhere else in the country, and they'd be thoroughly midclass with 40k per year. It mostly comes down to egregiously awful housing policies that make it 5-10 times more expensive to live here. This hurts everyone.

Other cities manage to do it. Look at red cities like Houston, that are growing every bit as fast and still manage to keep housing costs low. And the population density in TX is roughly same as CA, at least overall. Ultimately, it comes down to the ratio of jobs to housing. The penninsula has 4 jobs to every 1 person place to live. You have to build more housing or get rid of jobs, to make two back into balance. and, for christ sake, get rid of those CEQA laws and anything else that gets in the way of housing costs. We need to start working with developers, not against them.

<comment><USER12> Is Houston really red? Most of its political representation seems firmly in the urban liberal left. That the city sprawls like crazy is more of a red Texas artifact.

The population densities of Texas and California are about the same overall because they both have vast amounts of unpopulated land. If you look at the density of cities, however, California is much more dense than Texas in general.

<comment><USER13> >That the city sprawls like crazy is more of a red Texas artifact.

It's actually an artifact of Houston's original charter which allowed nearly unlimited growth via annexation and Houston's use of that annexation power to reclaim its tax and voter base each time they moved outward from the city center. Houston grew from 9 square miles in 1900 to ~600 square miles today. See [http://www.chron.com/local/history/major-stories- events/arti...](http://www.chron.com/local/history/major-stories- events/article/Aggresive-annexation-generates-growing-pains-8338701.php) for more details.

As to our voting patterns, see [https://www.texastribune.org/2016/11/11/analysis-blue- dots-t...](https://www.texastribune.org/2016/11/11/analysis-blue-dots-texas- red-political-sea/) for analysis. We're generally a blue dot surrounded by red but that's on average.

<comment><USER12> Blue dots surrounded by red also happens in California (and indeed, in any state with cities). It's just that the blue dots are much more dense in California.

I don't think there is such a thing as a red big city.

</comment></comment></comment></comment><comment><USER14> When I read this article I was surprised and looked for some data, and while the fact that California is the leader in this poverty metric is true, the claims of why I'm not entirely sold on.

1) The state with the 2nd highest adjusted poverty rate, Florida, has had republican governors since 1999, republicans in both chambers of the legislature and is not a "welfare state".

2) California "welfare" spending per-capita has been dropping for the past 5 years, not rising at some out of control rate [1]

3) The adjustment in poverty rate causing CA to shoot to the top is almost certainly due to high housing costs, which is serious problem but not tied to the welfare state [2]

So while I think it is a useful wake up call that California isn't a perfect place where everybody is doing well, blaming the welfare state is probably not very accurate, and more sane housing policies would probably do far more to help the poverty rates than curtailing support programs. And another thing to note, the rate has been dropping. In 2013 it was 23.4, and now it is 20.4, which I'm sure is mostly due to the economy being much stronger, but at the same time shows this isn't a problem spiraling out of control.

1: [https://www.usgovernmentspending.com/spending_chart_2006_202...](https://www.usgovernmentspending.com/spending_chart_2006_2022CAb_19c1li211mcn_40c)

2: [http://www.politifact.com/california/statements/2017/jan/20/...](http://www.politifact.com/california/statements/2017/jan/20/chad- mayes/true-california-has-nations-highest-poverty-rate-w/)

<comment><USER15> One could maybe speculate that climate might be a correlation worth looking at.

<comment><USER16> If I was homeless I would either go to Florida or California. At least you won't die in the winter.

</comment></comment></comment><comment><USER17> This Op-Ed is picking and choosing facts and associating them together as if there is causation.

Instead of "CA didn't adopt welfare reform ==> higher poverty rates", it could be there are more poor immigrants who move here from Mexico and Central America (along with a myriad of other factors).

Further: >"Apparently content with futile poverty policies, Sacramento lawmakers can turn their attention to what historian Victor Davis Hanson aptly describes as a fixation on 'remaking the world.'"

The article then goes on to list policies that are more about ideology than making real impacts, including:

>"The political class wants to build a costly and needless high-speed rail system."

Public transportation is obviously valuable and furthers the public interest. Has it been done poorly in California, yes, but if we had trains like Europe it would dramatically increase quality of life for our citizens.

>"enacted the first state-level cap-and-trade regime"

This isn't about "remaking the world" or winning political points. Climate change is real and having real impacts on people's lives.

>"Established California as a "sanctuary state" for illegal immigrants"

Again, this has very real impacts for a significant percentage of our residents. Not just an ideological fluff policy.

>"Banned plastic bags, threatening the jobs of thousands of workers involved in their manufacture"

Plastic is destroying our oceans and causing significant, irreparable farm to our ecosystems. In the cost-benefit analysis, the externality costs outweigh the value of those jobs. When Florida just got an exemption to prevent offshore drilling off their coasts, conservatives reacted positively, recognizing the trade-offs between one economic activity (drilling) and another (coastal tourism) when externalities are involved.

It's so infuriating how conservatives, who used to be a group that understood economics, now willfully ignore sound economic theory when it doesn't fit their talking points.

<comment><USER7> I agree that it is a shame everything has to be so politicized, both of the left and right, even when a good point is made. We clearly have a problem in California, but it is unlikely that this is because of a welfare system that support people in need.

As pointed out elsewhere a more likely culprit is exclusionary zoning that has increased living costs to unsustainable levels even for high paid employees. A lot of problems solve themselves when having a roof over your head doesn't costs $3600 for a very low-standard one-bedroom.

</comment></comment><comment><USER18> So, the entire premise of this op-ed seems to be based on this report: [https://www.census.gov/content/dam/Census/library/publicatio...](https://www.census.gov/content/dam/Census/library/publications/2017/demo/p60-261.pdf)

It should be said that CA does not have the highest SPM. DC does (20.4 vs 21). But that's not really the point of the article.

I don't fully understand yet why SPM is better than the "official" poverty metric, or why the calculations involved in SPM create such a dramatic difference between CA's official rate and their "SPM" rate. However, I'm willing to venture a guess that it's a fairly complicated interaction of policies and demographics which don't tell you much about the "success" of more conservative policies on eradicating poverty.

Plenty of conservative states have a higher SPM than plenty of other "liberal" states, so it seems to me that using it as an indictment/evidence for policy approaches on either side is fairly flimsy.

<comment><USER19> > I don't fully understand why SPM is better than the "official" poverty > metric

I'm no statistician but here's what it says in the introduction section: Beginning in 2011, the Census Bureau began publishing the Supplemental Poverty Measure (SPM), which extends the official poverty measure by taking account of many of the government programs designed to assist low-income families and individuals that are not included in the official poverty measure.

I'm not a US citizen so my understanding may be quite off but I assume that since (presumably) the states themselves do the official measure, then that's why they don't account for federal programs?

EDIT: I just realised that while the District of Columbia has the highest SPM, they're probably playing semantics. The article starts with "Guess which state" which excludes DC, a federal district. It's just weasel wording to get at Cali though :)

<comment><USER18> The whole op-ed piece is weasel wording, really.

</comment></comment></comment><comment><USER20> I hope this gets more visibility on HN, so people can see others do live outside the reality distortion bubble. It was only last week people were arguing whether $150,000 was an average salary for programmers in the bay area.

<comment><USER21> Pish-posh, everyone knows that poor people are a red state problem. California is a net contributor to the federal budget, along with all the other coastal states, after all.

</comment></comment><comment><USER22> An oped isn't a great place to learn about this problem. The author has massive incentives to distort or mislead in pursuit of their argument.

For example, I have heard from state senate staffers that although the state is blue, the notion that progressive forces are in control of the government isn't true. If you think about it, this makes sense. California is diverse so why wouldn't the politicians be?

<comment><USER23> You appear to be correct on your suspicion.

[https://news.ycombinator.com/item?id=16154010](https://news.ycombinator.com/item?id=16154010) California does not have the highest poverty rate in the USA ...

</comment></comment><comment><USER24> Some Italian friends of mine mentioned some sort of political joke about whatever political party claims to be for the poor, that "they [championing political party] like them [the poor] so much they want more of them". Something to that effect.

Reading this bit of the article below made me think of their laughing together at however you say the above in Italian.

"Self-interest in the social-services community may be at fault. As economist William A. Niskanen explained back in 1971, public agencies seek to maximize their budgets, through which they acquire increased power, status, comfort and security. To keep growing its budget, and hence its power, a welfare bureaucracy has an incentive to expand its "customer" base.

</comment><comment><USER25> [https://www.theguardian.com/society/2017/dec/15/america- extr...](https://www.theguardian.com/society/2017/dec/15/america-extreme- poverty-un-special-rapporteur)

>41 million people who officially live in poverty.

Of those, nine million have zero cash income

</comment><comment><USER26> The homelessness problem is one the most straight forward social problems that can be solved, unlike nebulous goals like decreasing crime, improving health, creating jobs, etc. Literally all it takes is building more places to live. The resources and land exist, the only thing standing in the way is political will.

</comment><comment><USER27> There are at least two Californias. 1. LA and Bay areas. 2.The Central Valley. One is rich. The other is poor.

I grew up in the central valley. The central valley is agriculture, and is disproportionately populated by generally hard working migrants (or 2nd/3rd generations thereof) of Mexico. They pick our fruit and our vegetables, but they are dirt poor. I grew up along side them, land of dirt and chicken coops. They were my neighbors and my friends.

</comment><comment><USER28> Progress and Poverty: An Inquiry in the Cause of Industrial Depressions and of Increase of Want with Increase of Wealth... The Remedy by Henry George.

[https://www.amazon.com/Progress-Poverty-Industrial- Depressio...](https://www.amazon.com/Progress-Poverty-Industrial-Depressions- Increase/dp/0911312587)

Yet vanishingly few on hacker news wants to tax land, not labour.

</comment><comment><USER29> By all other poverty metrics California is doing okay, I think it's the high housing prices that skew this particular measurement.

<comment><USER30> I think you should take a look at their looming pension crisis... California is already taxed to hell, and their balance sheet is not something to be optimistic about.

</comment></comment><comment><USER31> Ummm... LA has more homeless people than any other city because of the weather. NYC winters kill. LA's outdoors are basically like the indoors most other places. No mosquitoes. Only rare rain. 70 degrees most of the time.

Much of California's poor are created elsewhere and they move to California. It's easier to be homeless in California than most other places.

<comment><USER32> Indeed that may be a big factor. A better study of who, where, and why is needed to understand the bigger picture. It's premature to fill in details with the typical partisan angles.

</comment></comment><comment><USER33> There's videos of the long line of tents in orange county making the rounds on social media today. With 1/3rd of the welfare recipients live in California, seems to be a pretty big issue thats not being addressed.

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

</comment><comment><USER34> Factual counter arguments here: [http://www.motherjones.com/kevin- drum/2018/01/california-is-...](http://www.motherjones.com/kevin- drum/2018/01/california-is-doing-fine-thank-you-very-much/)

<comment><USER35> Drum does rebut the causal argument in the LA Times Op-Ed (which is pure ideological dogma detached from facts; the claim that "Democrats have long been free to indulge blue-state ideology while paying little or no political price" is particularly amusing, given that ignores that until recently California has (whoever held the majority, with or without also holding the governor's mansion) had an effective minority-party veto via the 2/3 requirement to pass a budget (and still has a 2/3 requirement to pass new taxes through the legislature) which has prevented anyone from being free to impose any ideology other than one of government inaction-responsiveness.

OTOH, California is not doing okay; Drum provides no reason to disregard the SPM, but even if you do, being just a bit worse than middle of the road by the federal poverty line while being 8th in per capita GDP is, by itself, an alarming number that shows that the _aggregate_ wealth in California is a rising tide they is absolutely _not_ lifting all boats. But to Drum it's somehow "just fine".

</comment></comment><comment><USER23> Appears that this article is not true according to another article titled

[https://news.ycombinator.com/item?id=16154010](https://news.ycombinator.com/item?id=16154010) California does not have the highest poverty rate in the USA ...

</comment><comment><USER36> Interesting to see how differently this does today, with an editorialized title, vs the actual title that was submitted a day or two ago and insta- flagged.

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

<comment><USER37> Yeah, this is some serious political opinion masquerading as journalism:

Original Title: _Why is liberal California the poverty capital of America?_

 _With a permanent majority in the state Senate and the Assembly, a prolonged dominance in the executive branch and a weak opposition, California Democrats have long been free to indulge blue-state ideology while paying little or no political price. The state's poverty problem is unlikely to improve while policymakers remain unwilling to unleash the engines of economic prosperity that drove California to its golden years._

<comment><USER38> The article is an op-ed.

</comment></comment></comment><comment><USER39> Good points in this article. Prop 13 and land use regulation here is out of control. It's at the point where the government should be buying neighborhoods at market rate and selling to developers who will build at a high density.

</comment><comment><USER40> Interesting, saw this article yesterday and it was flagged and gone within minutes. I understand there are some silly and wrong assumptions in it, but is it really that offending and off-topic to be flagged?

Could easily just make a comment saying "This is wrong and here is why..."

<comment><USER23> Well looking at this it appears it was a very misleading op ed piece.

[https://news.ycombinator.com/item?id=16154010](https://news.ycombinator.com/item?id=16154010) California does not have the highest poverty rate in the USA ...</comment></comment>