The Node.js Ecosystem Is Chaotic and Insecure - <AUTHOR> https://medium.com/p/73fac4bc5068 <comment><USER2> Almost all programming languages now have similar standard package managers. I still remember back in the day when everybody would joke about how Maven downloads the whole internet on the first build. This is still true today for Maven, NPM, pip, composer, you name it. You are downloading hundreds of packages for which you implicitly trust their maintainer to not do anything shady. In case of Maven - and likely most others - packages are not even digitally signed by the publisher and on top of it are binaries, that you cannot easily inspect. I'd argue NPM is slightly better than that, at least it (often) includes the source code, though you still have illegible instructions in form of minified/uglified code.

I think NodeJS already has a decent stdlib and there will always be the need to pull dependencies in for basic functionality (apache commons, guava etc. in the Java world). That's just how OSS works. There should be a simple way to display and verify the chain of trust though.

<comment><USER3> NodeJS has a feature-rich standard library, but it's let down by poor ergonomics. Compare, for example, the built-in http library[0] with request- promise[1]. I think the difficulty of using the standard library makes NodeJS devs feel better about downloading lots of little helper libraries.

[0] [https://nodejs.org/api/http.html#http_http_request_options_c...](https://nodejs.org/api/http.html#http_http_request_options_callback)

[1] [https://github.com/request/request-promise#cheat- sheet](https://github.com/request/request-promise#cheat-sheet)

<comment><USER4> I think a lot of it is NodeJS settling on its standard library a bit ahead of the larger language ecosystem itself. Promises were standardized shortly after Node bumbled into a callback-heavy design. The efforts on the ES2015 Module syntax occurred after Node settled for "CommonJS" which wasn't all that common at the time.

Node's HTTP library as a specific example, particularly suffers from callbacks instead of promises. It also suffers here in that it also predates the Fetch standard making its way into browsers now.

Hopefully the Node standard library will continue to converge with the overall JS ecosystem and catch up to the work that the Browsers have been leading here.

</comment></comment></comment><comment><USER5> In my view the core problem is the complete lack of standards and interfaces around what constitutes a "package", "module", "library" or even "framework". (It's an industry-wide problem, not just JavaScript.)

In npm's single global namespace, "is-even" is a package. So is the Firebase SDK, even though the former is a single line of code and the latter is around 70 MB. But a package can also be something that's not even JavaScript code: maybe a CSS "framework", or that infamous dictionary text that gets replicated a dozen times in any large npm-dependent project because some popular package uses the text in its tests.

If hardware parts were distributed like this, there would be no standard fittings, nothing would be categorized. A hardware store would just be an enormous pile of jumbled parts and tools. "Oh, you need a bolt? No problem, John will jump into the pile with scuba gear and bring you some packages that look suitable. It's going to take a few days, hopefully we'll find something that fits."

<comment><USER6> What are you looking for exactly? A category system? The argument seems kind of weird. A bit similar to how a .zip file might contain just a few things, but also a lot of things. I think it's kind of a good thing that the same delivery mechanism can be used for various things, but I'm guessing you have a problem with discoverability?

<comment><USER5> The problem affects not just discoverability of new dependencies, but also development and maintenance of settled dependencies.

When you see a line like this in package.json...

      "dependencies": {
        "foobarfrobblizer": "^0.9.31",

There's no simple way to determine what foobarfrobblizer does, where it's actually used in the app, what side effects it may perform when called, what dependencies it pulls, why it was included, and whether it could be replaced with something else that offers a similar API.

For a single package, I can figure all this out manually. But projects these days are seriously dependency-binged. If I use "create-react-app" to make a Hello World web app, it gives me 150 MB of stuff in node_modules. I'm never going to look at even 1% of those packages to see what's actually in there.

I got started in programming when a dependency meant either a DLL file provided by someone else, or a static library that you manually link into your executable. Taking on a new dependency was a big decision: do I really want to rely on this DLL file being there for me, or having to carry this separately built binary blob in my project? I still get that same dread when I have to add an npm package to a project, but it doesn't seem like most people feel that way.

On top of those DLL files 25 years ago, there were systems like Microsoft COM that let you use them interchangeably through standard interfaces. You could make a plugin UI component that works seamlessly in Visual Basic by simply conforming to a COM interface. It even worked from multiple languages: that UI component could be written in C, C++ or Object Pascal if you wanted.

The web development ecosystem has a long way to go before it matches the usability of 1995 desktop development — and that's a painfully low bar.

<comment><USER7> > Taking on a new dependency was a big decision: do I really want to rely on > this DLL file being there for me, or having to carry this separately built > binary blob in my project?

I'd argue that the NPM ecosystem (although not perfect, hence OP) is a lot more evolved specifically because of how easy it is to include a wide range of dependencies.

The speed with which you can write software is an awful lot higher, and (if done properly) you can rely on safe dependencies that are tested and used by everyone else. Why reinvent the wheel in every project?

<comment><USER8> > you can rely on

This is exactly the problem.

Given the current ecosystem, you can't and shouldn't. You are just proving GP's point.

</comment></comment></comment></comment></comment><comment><USER9> Comparing is-odd with left-pad is a bit disingenuous.

Left-pad had a fairly trivial implementation but that implementation is easy to get wrong, so it's something you want to make sure you have covered by tests and you want to define the edge cases. It's something that should be (and as of ES2017 is) part of the language and not something you want to keep reinventing (alongside all the edge cases and potential for annoying bugs).

The is-odd and is-even packages OTOH are blatantly ridiculous. I had a look in my dependency tree and it seems is-odd made its way into it via a package called "nanomatch" which used is-odd because the maintainer apparently was of the opinion that (to paraphrase) "if it's difficult enough to get wrong on the first attempt it's difficult enough to warrant delegating to a dependency" \-- which he seems to have taken to the logical extreme.

That said, the package in question removed the dependency on is-odd after what seems to have been a lot of negativity about his decision not to inline the logic previously: [https://github.com/micromatch/nanomatch/pull/11](https://github.com/micromatch/nanomatch/pull/11) so once that change propagates through the dependency tree, it should at least no longer show up for some people.

<comment><USER10> > Left-pad had a fairly trivial implementation but that implementation is easy > to get wrong, so it's something you want to make sure you have covered by > tests

...What? That makes no sense. `left-pad` is trivial to implement and test. There may be edge cases but for most people, writing tests to cover the edge cases they care about rather than pulling in a dependency just to handle something as simple as padding a string.

Not to mention, Node's near-complete lack of a standard library is at fault here, not developers, nor the ECMA technical committee.

<comment><USER9> > `left-pad` is trivial to implement and test

There's a tangible difference between `value % 2 === 1` and this: [https://github.com/stevemao/left- pad/blob/master/index.js](https://github.com/stevemao/left- pad/blob/master/index.js)

You're not even contradicting me. I said it has a fairly trivial implementation and you concede that it has edge cases. You're just disagreeing on whether that warrants using an external dependency rather than writing it yourself (and writing all those tests yourself too).

> Node's near-complete lack of a standard library is at fault here, not > developers, nor the ECMA technical committee.

So you think String.prototype.padStart should have been a Node built-in module rather than a language feature? Are we talking about the same language that also has String.prototype.italics and String.prototype.bold?

There's nothing Node could or should have done about the lack of string padding. Node's "standard library" is first and foremost concerned with enabling network and filesystem IO. JS on the other hand even lacks a built-in way to handle dates properly (the Date class is largely an afterthought based on Java).

String.prototype.padStart deserves to be a language feature and it should have been a language feature from the start. Most other languages provide this out of the box. The reason these things end up on NPM is not that JS developers are idiots but that they don't want to reimplement the same basic utility functions every other language would offer as a standard library or copy folders of code around.

Yes, this is absurd when it comes to things the language actually DOES offer (or basic maths like `value % 2 === 1`) but for the most part NPM is fulfilling JS developers' need for a standard library -- and that's entirely on not just Node but also the language itself (and by extension TC39).

EDIT: It's worth pointing out that left-pad has zero dependencies, as it should. Compare this to is-even (i.e. `value % 2 === 0` as a function) which depends on is-odd which depends on is-number -- all written by the same author and 100% serious.

<comment><USER11> > _There 's a tangible difference between `value % 2 === 1` and this_

No, there isn't. Both are trivial to write and avoid an external dependency.

Besides, the implementation leftpad doesn't have to be this crappy -- one can do it in 3 lines.

</comment></comment></comment></comment><comment><USER12> What disgusts me the most about the JS ecosystem these days is that even the most basic developer tools have tons of depencies.

Let's say you want to use webpack and TypeScript on a project: Boom. 425 packages installed. And that's before you have written a single line of code. (It's probably worth noting that the offender is webpack. TypeScript seems to be dependency-free.) [1]

Every single one of those 425 packages could have a malicious postinstall script that deletes your entire home directory or sends your private ssh keys to a remote server.

npm makes it too easy to add dependencies to a library.

[1]: If you also want webpack-cli that's another cool 441 packages for you.

<comment><USER13> This. Even with minimal applications your node_modules is so full of stuff that you need external tools for reviewing your dependency graph.

But TypeScript is a positive exception to this trend. It has no (npm) dependencies at all.

<comment><USER14> I remember trying to play a little with node and vue.js a few months ago (I'm a devops/backend developper by trade). Having seen the size of my node_modules directory, nearly 1GB, I was kind of horrified (to be fair, I checked most of the testing options, so a lot of the libraries were coming from that).

</comment></comment></comment><comment><USER15> This is a large part of why, in my opinion, language-specific package managers are generally bunk (though language-specific packaging tooling is not necessarily so). I install all of my Python packages system-wide through my distribution's package manager, and if no package is available I make one. Distribution packages are cryptographically signed and reviewed by a dispassionate human being before being published, and are available on mirrors around the world to mitigate the single source of failure language repositories tend to suffer from.

Of course, this is difficult for something like Node, whose package ecosystem is out of control.

<comment><USER16> Assuming we could avoid the legacy leverage, would it be possible to build or use an already existing package manager to perform this, wrapping all specific logic for each language?

<comment><USER15> The human element is important imo. I don't think automating it away is wise. However, many distros have tools for speeding the work for particular languages.

</comment></comment></comment><comment><USER17> What I'm interested in — most open source licenses such as MIT require that a copyright notice is preserved for each dependency, direct or transitive. Many licenses even require that such copyright notices for all dependencies are shown in an about menu in the software.

How do you do that with node.js projects? Do you just have an about screen with 15'000 licenses and copyright attributions in your software? Do you just violate the license?

<comment><USER18> For Node.js projects, the MIT clause should be covered by simply having the entire package installed, provided the author actually put the license file in the package.

However when using a bundler; you are potentially violating the licenses of a bunch of packages.

<comment><USER17> It also becomes an issue once you're building a web application, as you'll have to present it in the UI.

</comment></comment></comment><comment><USER19> yet-another-article-talking-about-the-left-pad-incident-and-fragile- dependency-chains-in-general-with-a-sensationalized-clickbait-title

<comment><USER20> Are you are JavaScript developer, out of interest?

</comment></comment><comment><USER21> I am absolutely flabbergasted that the `is-odd` package on NPM [1] was downloaded 3 million times last week. In any project, a check for an odd number would half the time not even have its own _function_.

Even an aggressive build server that redownloads and builds 50 times a day would require 60.000 separate installs...

Does anyone have any reasonable explanation for this?

[1] [https://www.npmjs.com/package/is-odd](https://www.npmjs.com/package/is- odd)

<comment><USER22> Correctly checking if a variable is odd is not quite as simple in a dynamic, type-coercing library like ECMAScript as you might think. You have to consider things like: is the variable null or undefined? Does it have the Number type? Is the number an integer? Is the integer odd? In a statically typed language, the compiler would guarantee many of these things for you, but in ES you need to do it yourself.

It's not rocket science, but it's tricky enough that you could perhaps make a mistake or overlook something. To be safe in these situations, when writing a small amount of "nearly trivial" code, programmers have generally resorted to a package manager called "Google / Stack Overflow".

This package manager works as follows: You Google for "safely check if odd in JavaScript", open the top Stack Overflow link, then copy and paste the answer (usually a single function) into your codebase. Then you add a comment saying "taken from [https://stackoverflow.com..."](https://stackoverflow.com..."). Whenever you have another piece of "nearly trivial" code to write, you install it the same way.

ES developers thought that this workflow could be optimised a bit. To that end, they invented a package manager called "npm". Unlike the Google / Stack Overflow manager above, this lets you install functions like "is-odd" _without_ having to manually copy and paste them from your browser. It also keeps track of where they came from, who authored them, and even lets them be updated, if necessary.

<comment><USER23> > You have to consider things like: is the variable null or undefined? Does it > have the Number type? Is the number an integer?

This is a non-problem. If you really have to consider all these edge cases before testing if a number is odd or even that's a sign you need to seriously rethink your domain model, not reach for a library that has already thought about these edge cases for you.

Well written dynamic code should be mostly statically typed.

</comment></comment></comment><comment><USER24> What is the alternative?

Have the large projects maintain their own dependencies? i.e. React, Webpack, Typescript, Express...

Create and maintain your own packages?

Review each package and save a copy in your own repo for re-use? Upgrading would be a pain.

<comment><USER25> >Have the large projects maintain their own dependencies? i.e. React, Webpack, Typescript, Express... >Create and maintain your own packages? >Review each package and save a copy in your own repo for re-use?

Yes? It is possible for things to be _too_ convenient, IMHO.

>Upgrading would be a pain.

Upgrading should be at least a bit painful. Upgrading without pain means you don't really know what changes you're making to your codebase, and you don't care to know, you just want the magic black box to work and not bother you with the details. There should be at least more effort put into upgrades than the least amount possible.

</comment></comment><comment><USER26> I think Node.js ecosystem is like a big desert.

There are true gems and treasures you can find but it's mostly useless.

</comment><comment><USER27> Yes, so let's all keep reinventing the wheel, over and over again.

I know the author uses pretty extreme examples, but I still don't see what's inherently wrong with the mentioned packages.

\- it does what you think it does:

`isOdd(2)` is a lot easier to understand than `value % 2`

\- even though most of these are one liners, it's one line of code less that you have to maintain

\- if the package is at least somewhat popular, it's highly likely it has measures for edge cases; stuff I wouldn't have thought of when writing it myself.

On top of that, mentioning left-pad is really cliche and weak at this point (bear in mind this happend 2 years ago), npm has taken measures and nothing similar has happend since then, and even then, it was still a fairly isolated event - the whole thing actually took 10 minutes.

I'd much rather take a rare, yet-to-happen-again chance that a package goes down, over having to rewrite simple utility functions over and over again, every month.

<comment><USER28> > isOdd(2)` is a lot easier to understand than `value % 2`

Isn't modulo something basic every programmer should know about?

<comment><USER29> is-odd package doesn't use modulus. And I don't think thats really the issue either. is-odd has three dependencies of its own, one being is-number...

<comment><USER18> Splitting hairs, yes that uses bitwise operators, you can get away with either a modulus operator or a bitwise AND operator.

</comment></comment></comment></comment><comment><USER30> >because no one locks down a dependency like is-string to a patch version.

Is this actually true? Is this not what "package-lock.json" is intended to solve?

(Not primarily a javascript developer)

</comment><comment><USER31> This is utopia, with software virgins, all collaborating, sharing and reusing. Please don't destroy this paradise.

</comment><comment><USER32> Literal LOL (LLOL? It'll catch on yet) at the existence of both is-odd and is- even!

</comment><comment><USER33> npm might even install a dependency without you realizing it (typo).

[https://github.com/npm/npm/issues/20072](https://github.com/npm/npm/issues/20072)

</comment><comment><USER34> Shouldn't the main concern highlighted here already be taken care of with package-lock.json and yarn.lock? They record the dependency trees, so a rogue package update should not really affect you.

<comment><USER35> Assuming you audit what was locked, and audit whenever you update, then yes. I'd be worried a coworker would go on an update spree just because they can, and wouldn't audit the new code.

<comment><USER36> Yes but then you're no longer grappling with the limitations of the ecosystem. Introducing a rogue developer who updates dependencies irresponsibly is a danger in any language.

<comment><USER18> Who _really_ audits every single dependency in their dependency tree? not so much a rogue developer, but most.

<comment><USER37> If you are hobby programming, then not really, but in most workplaces, dependencies are usually pinned and not updated until necessary(bug fixes mostly).

<comment><USER18> From what I've seen as a contractor usually there is no package-lock at all.

</comment></comment></comment></comment></comment></comment><comment><USER38> I say unto you: one must still have chaos in oneself to be able to give birth to a dancing star. I say unto you: you still have chaos in yourselves. FN

</comment><comment><USER39> The "modern" JS ecosystem:

1\. Over-reliance on tooling. JS was made as a scripting language, if you can't use it as such, its purpose is lost. And that tooling works against betterment of the ecosystem - lib authors rely on tooling to fix issues of the platform, rather than seeking a definite solution.

2\. Any serious JS project is a long term maintenance burden. The prevalence of "single line libraries" makes future-proofing of the code impossible. You don't only have to version-freeze your immediate dependencies, but dependencies of your dependencies. You will have to manage their version manually, it all becomes your own problem.

3\. Authors of JS VMs swear on their firstborns that JS performance has been greatly improved, yet, it sucks. For practical purposes, JS code is barely as quick as perl or python.

4\. Too much evals in 3rd party code everywhere. The only way you can secure your front-end is to ensure no third party code policy on your page. When it comes to the back-end, things become more grave. On the back-end, you can say that there is no universal solution.

5\. Zoo of standards on the front-end, browser APIs changing on a whim.

6\. Zoo of sublanguages: Coffeescript, LiveScript ClojureScript, MoonScript, AtScript, TypeScript. Having to mix anymuch of them in a single project is, you can guess, a supernightmare.

Yet, I don't completely hate people who want to move JS forward. TC39 may well be too heavy on being staffed by theoreticians, but they have right priorities: standardization, having whatever going into the standard being highly dry before even approaching the pre-standard status, enforcing a semblance of synchronicity to the ecosystem.

What JS needs in my opinion:

1\. HARD VERSIONING

2\. Compliance certification through testing with a hard version

3\. An even harder enforced decoupling of the paper standard and implementation. While the majority of modern JS implementations are VM based, this should not make the standard to accommodate design decisions dictated by a VM implementation.

4\. Readiness to do breaking changes in between major hard versions, and no reservations for backward compatibility.

5\. Many browser APIs are de-facto parts of the standard library as such. They need to be managed as a part of the standard.

<comment><USER40> There's some truth there in your comment but also a lot of wrong things.

> 1\. Over-reliance on tooling

Everything has tooling, I defy you to find a single language you can use in a medium-size project without any tooling, good luck, I don't know any.

> 2\. Any serious JS project is a long term maintenance burden. The prevalence > of "single line libraries" makes future-proofing of the code impossible. You > don't only have to version-freeze your immediate dependencies, but > dependencies of your dependencies

It's the same for any language. Yarn has a yarn.lock for this exact purpose, for other languages you will have [your language package manager].lock, it's the same.

> For practical purposes, JS code is barely as quick as Perl or python.

It's currently 3 times faster than Python and the gap is only widening every year. You picked the wrong languages to compare the speed, at least you could pick Rust, Go or C++.

> 5\. Zoo of standards on the front-end, browser APIs changing on a whim.

It's getting better with vendoring nowadays and the core features are there everywhere. You only need vendor-specific APIs if you build something specific.

> 6\. Zoo of sublanguages: Coffeescript, LiveScript ClojureScript, MoonScript, > AtScript, TypeScript

Only TypeScript is alive nowadays, all the others are kind of dead so this isn't true. Also MoonScript is for Lua so it's not even related to Javascript.

> 4\. Readiness to do breaking changes in between major hard versions, and no > reservations for backward compatibility.

Most features are not backward compatible, that's why you need to use some tooling. You cannot have no tooling and no breaking changes at the same time.

<comment><USER39> >Everything has tooling, I defy you to find a single language you can use in a medium-size project without any tooling, good luck, I don't know any.

On my memory, large projects on PHP and Python falling into that category are all around the place

>It's the same for any language. Yarn has a yarn.lock for this exact purpose, for other languages you will have [your language package manager].lock, it's the same.

No it isn't. Heck, the prime example of a "fragile language" \- C, doesn't have these issues take to such extremes even on the most complex and projects thanks to good developer culture omnipresent emphasis on API compatibility, and good API design. Gtk+ for examples has huge list of dependencies, yet, not as single time my code failed to run properly because Gtk's own dependencies somehow influenced my code. This is not due to lack of data structures, objectized data is being used all around modern C.

>It's currently 3 times faster than Python and the gap is only widening every year.

No, the figure that you are giving is for synthetic benchmarks that do nothing more than arithmetics with primitive data types. I would like to see performance figures a tree sort or merge with complex data structures. The performance will suck equally.

>You cannot have no tooling and no breaking changes at the same time.

When you forego backward compatibility for the benefit of this approach, you do not resort to perversions with tooling to bring it back, resulting in a worse result.

<comment><USER9> > No it isn't.

It isn't because most other dependency managers don't allow dependencies to bring their own versions of other dependencies, instead you're stuck with version conflicts preventing you from upgrading to a recent version of library X because you're also using library Y and both libraries have a dependency on library Z (but the new release of library X uses an incompatible version of it).

I was a Python developer in a previous life and in any Django project this would eventually happen and require you to either replace these unmaintained dependencies or ignore their version requirements and pray for the best (which was usually a gamble because semver wasn't a thing).

</comment></comment></comment></comment><comment><USER41> Why would WebPack require to use a package like "is-odd" or "is-even"??

<comment><USER18> Indirectly through it's vast dependency tree.

</comment></comment><comment><USER42> So if I'm releasing an is-odd pip package, does that mean the python ecosystem sucks?

<comment><USER3> No, but if flask or pip or some other widely-used piece of the python ecosystem pulled in unmaintained packages, trivial packages, or very large package trees, it might make the python ecosystem chaotic and insecure.

</comment></comment><comment><USER43> Click bait, move along

<comment><USER20> Are you are JavaScript developer, out of interest?

<comment><USER43> yes

<comment><USER20> I'm not the author of the article, but could you expand on why it's click bait?

Personally, I think NPM is a crazy, mental concept. As a Go developer (so mostly server-side work) I can't fathom the amount of deps that are pulled from NPM when I'm working with or watching a JS code base being used. I assume server-side NodeJS code bases are the same their front end cousins in terms of deps pulled(?)

<comment><USER43> Hi, appreciate the followup, apologies for the previous short comment.

I feel like it's clickbait, not worth reading, for these points:

1\. Even if the argument is valid, the points made in this article have been expressed, shared, (whined about?) probably 9+ times in my own reading. It's really time to move on.

2\. There is nothing inherently wrong with using small/simple modules. Once you start to reuse code in many projects, the value becomes clear. Some are juicy and complex, some are eye-bleeding simple. It's better than copying and pasting code around folders. Use org modules/private modules and the problem is solved.

I absolutely believe that npm is ripe for *potential abuse, although I have yet to have any issues.

No one has time for Breitbart-esque fearmongering, or the regurgitation of stale points while an ample selection of real world problems exist to be solved.

Jeez that reads harsh. Apologies, it's late.

<comment><USER20> > apologies for the previous short comment. > Jeez that reads harsh. > Apologies, it's late.

All good, friend.

> ... It's really time to move on.

But is it? I fear that if this is a genuine issue, why would I want to move on from it? Essentially npm is enabling people to build bridges in the same way steel is helping people to build actual bridges. If there was a flaw in some steel production process, I wouldn't ignore it. People could suffer.

Extreme(?) examples a side, if it's an issue, why not aim to solve it? This seems to pop up a lot, so perhaps it's time for a (long-term) solution?

> Use org modules/private modules and the problem is solved.

Yes! This is where I personally see the long-term solution: pick your top- level deps, (permanently) cache them locally and validate them, then implement/use them. Only update the cache when you're confident the remote, official copy has been changed in a manner that's safe for you and or your users.

> I absolutely believe that npm is ripe for *potential abuse, although I have > yet to have any issues.

How do you know you've not had any issues? If I was attacking you via some sort of "side channel" attack, like breaching and injecting bad code into an NPM module I know you're using, how would you know it's happened?

Are you using a CI/CD process? The changes are high that you are and therefore unless you've version/commit pinning, it's likely you're blind to those deps being updated during your build process, enabling me to perform said "side channel" attack.

> No one has time for Breitbart-esque fearmongering, or the regurgitation of > stale points while an ample selection of real world problems exist to be > solved.

If it's being regurgitated so much, perhaps it is a "real world" problem to be solved.

<comment><USER44> > If it's being regurgitated so much, perhaps it is a "real world" problem to > be solved.

I don't think most people deny that it's a problem or that it needs to be fixed. But completely blown out of proportion with Breitbart-esque fear- mongering is something that needs to stop. People still talk about "leftpad" as if it wasn't fixed the same day, sometimes as if it were never fixed, sometimes even as if it isn't even possible to write software in NodeJS. I haven't seen a fair and factual comparison chart of npm vs pip vs crate vs composer, and I'm calling BS that the majority of this "concern" is anything more than trendy JavaScript-Hate until I see one.</comment></comment></comment></comment></comment></comment></comment>


What the Internet Looked Like in 1995 [video] - <AUTHOR> http://mentalfloss.com/article/49676/what-internet-looked-1995

<comment><USER2> Technology has a way of feeling incremental. Think about this past year, what really happened? We got a slightly faster iPhone, Facebook did some interface tweaks, Microsoft released a new version of Windows. These seem like really small improvements. But if you look back to the original iPhone, what Facebook looked like in Zuck's dorm room, or what Windows 3.1 looked like, the change is staggering.

The linked video shows this phenomenon full effect. The internet in the video is slow, clunky, and ugly. How could a page take 30 seconds to load? Why does everything have a murky gray background? The difference between the web of then and now is staggering. But as someone who grew up through the early 90s watching the internet expand, it sure didn't feel like things were changing fast. It happened gradually - companies starting coming online slowly (and often with a very limited presence): nytimes, barnes+noble, moviefone. Then the internet started getting organized better, first with Yahoo's directories, then with search engines like AltaVista, Excite, Lycos. Then, Google came along, gradually improving their algorithm to the point where we can now access almost any piece of the world's information in seconds. In retrospect, there was so much going on during that time period, but living through it didn't feel that way.

More than anything else, I think this is a testament that having a real impact on technology in the long-term is a marathon, not a sprint. You have to have a vision, and incrementally improve on it constantly, even if it feels like you're not accomplishing much in the short term.

<comment><USER3> Your point is well taken but there have also been a number of things that did not feel incremental to me when introduced to them. Google, DSL/Cable providers, Napster, iPhone, YouTube, and Bitcoin all felt like big jumps.

<comment><USER4> Also wikipedia, stack overflow, multicore processors (no more having your system lock up on most heavy tasks), git versus svn/cvs. Lots of technological advances that improved things greatly. Just takes some additional thinking to recall what those things are.

I still recall going from a single core AMD to an Intel q6600 quad core CPU and thinking how amazing it was that I did not have to worry about my entire CPU locking up on one bad app going bonkers and eating 100% of the CPU. It became possible to have an app crash and max out a core and not even notice it immediately. Even when OSs and apps did not do mult-core processing overly well, I still manually set the affinity to most heavy apps so they were isolated to their own cores.

</comment></comment></comment><comment><USER5> I'm not one to usually watch videos online, but this one is well worth watching.

Check out around 5:00 when they start describing the first live band to stream a concert online--a group of geeks from Xerox PARC in Palo Alto! And one of them, in the interview, says "If 100 bands tried to do [live streaming] at the same time, disaster would ensue. It may not be possible to do what we did in another couple years."

But perhaps my favorite part was right at the beginning, when they're talking about "electronic mail." John Markoff from the NY Times casually shows his email inbox..."Here's a message I got from Steve Jobs, for example." (!)

Markoff admits even then that email was hard to keep up with: "When you're in my position, you get hundreds or even thousands of messages each day..." And he shows off his fancy new Eudora "filters" that he's using to make his inbox usable.

Great piece of history...and it really shows how far we've come in under 20 years. I doubt any one of them would have predicted that the #1 Billboard hit in 2013 would come from a Korean band that no one had heard of...until they put a music video online that got over 1.4 _billion_ views. Breathtaking, and it makes me excited for the next 20 years and whatever we're going to come up with next.

<comment><USER6> It's interesting how the problem of getting too many emails is still a problem 18 years later and the solution of 'filtering things into different folders' is still the best we can do.

<comment><USER7> I think we have better solutions. Most of my social contacts are on Facebook with an optimized ranking system so I see what's important. Much of my work is handled on wikis instead of people emailing me documents. Links people might have emailed are now posted on twitter or other websites. Quick questions and answers are now in IM. Job inquiries are left on LinkedIn or HR management software.

If your inbox is jammed with work email, then you have a bad job. If your personal email is jammed, then you need to click 'Unsubscribe' more. Or you're a public figure, in which case they always have gotten mail, postal or electronic. The internet just let a lot more people become public figures, so be careful what you wish for.

<comment><USER6> Im curious to know what kind of job you have in which you don't get lots of emails? Maybe its because I've always had jobs working with customers but from my experience customers love sending emails.

<comment><USER7> Yeah, perhaps my comment on work email only applies to people in my line of work, engineering and not working directly with customers. For people on the customer side maybe it's unavoidable (although there are apps attempting to address this). But as far as non-customer-facing engineers go, I've found that if you're constantly flooded with email you're probably in an organization with lots of bureaucracy where few people feel empowered to make decisions. For instance, when I want to hire someone (I manage), I do it by sending an email to the HR person saying essentially 'hire them'. My boss has empowered me to make this decision and no other departments get in the way, except if they limit the budget.

</comment></comment></comment></comment></comment><comment><USER8> How it looked some years later: <http://divshot.github.io/geo-bootstrap/>

<comment><USER9> Man I miss those under construction signs :'(

<comment><USER10> I miss the playful/innocent nature of the internet back then. These days it's all about being "sexy" and cool.

</comment></comment></comment><comment><USER11> I lived for Computer Chronicles in the 80's, but lost track of it in the 90's (when I didn't have a TV).

This episode on UNIX from 1985 (with a bearded Bill Joy) is great: <http://www.youtube.com/watch?v=g7P16mYDIJw>

<comment><USER9> Unix, mainframes, and people with beards. What more does a TV show need?

</comment></comment><comment><USER10> I will always treasure the fact that I grew up with the internet during these times. Yes, even the old geocities pages. It truly was a "new frontier," and not everyone gets to experience something like that. It was all so exciting. People would come over and we'd just sit around and "play on the internet," trying out different things. Or we'd get some "warez" and think we were "hackers" because we could "punt" people off of AOL...

</comment><comment><USER12> I know it's slightly off topic, but with the risk of being downvoted:

you want to see some really old-looking pages and feel some nostalgia? Just go to DMOZ - <http://www.dmoz.org/> \- and click through the categories. They have hundreds of pages that felt right out of 90s. (If they work at all.)

</comment><comment><USER13> You can find more episodes of Computer Chronicles and Net Cafe (the spin-off) on the Internet Archive:

<https://archive.org/details/computerchronicles>

<https://archive.org/details/netcafe>

</comment><comment><USER14> "Who says online users are a bunch of anti-social geeks?"

<comment><USER15> People online, in my experience.

</comment></comment><comment><USER16> First time I ever saw a video in 144p on Youtube. Was this ever the main video format on Youtube?

</comment><comment><USER17> Then there was my era of "modern computing", the 80's. My favourite show back then was Bits and Bytes:

<https://www.youtube.com/watch?v=7VaBYw3swyg>

</comment><comment><USER18> Did anybody notice that the average internet user today is pretty similar to the one presented in the video? Users still need a lot of hand holding and guidance to use the web. Back then they used only a handful of sites which is still the case today with Facebook, Twitter and maybe a couple of other sites (news sites, craigslist, Youtube).

On another note I somewhat wish we could go back to a (slightly) less interactive web. Everywhere you go you are overwhelmed with social media plugins and calls to various actions (WE WANT YOUR ANSWERS! [taken from mentalfloss]).

<comment><USER19> Adblock. Problem solved.

</comment></comment><comment><USER20> For those wondering, the cafe in the youtube video is now Azucar Lounge, at the corner of 9th and Folsom. It's becoming a somewhat popular place for the people who work at the startups that are crammed in down here:

<http://www.netline.be/presse/cybertaire/news/ccafe.htm#icon>

<http://goo.gl/maps/LEKrD>

The more things things change...

</comment><comment><USER21> 1995: "How concerned should I be about information I put online?"

2013: "very concerned... In about 6 years."

1995: "...and this is usenet which is a collection of computer 'conferences'"

2013: "what? When I first logged on at Purdue, 1993, I thought of usenet as a public email inbox. Oh and hey 1995! Sell SUNW and buy AAPL.

</comment><comment><USER22> One thing I remember from those days is how _fast_ the web changed. Every new browser version brought new features that people immediately started using.

Nowadays, a 5 year old site can still look and feel like it was made today. Back then, a 5 month old site was already outdated.

</comment><comment><USER23> Wow that brings me back. I remember my first ping when I had my ppp connection to the internet after using BBS for years.

I actually had dealings with SoftQuad (the last interview) back then.

It's amazing how things change and how we just accept new stuff and take it for granted!

</comment><comment><USER24> Tiny espresso cup? At least Americans had _taste_ back then!

</comment><comment><USER25> Am I the only one disturbed by the AT&T Unix PC being mirrored on the intro?

</comment><comment><USER26> Usenet looks a lot like Reddit.

<comment><USER22> I was an avid Usenet user back in the 90's and an active redditor today, and only now I realize how right you are...

<comment><USER19> Does reddit have killfiles?</comment></comment></comment>


Ask HN: Bought manufacturing biz – how to bring into modern age? - <AUTHOR> I'm in process of completing an acquisition of a 30 year old manufacturing business. 9 employees.  Machine tools, some of which are CNC, some aren't.  A bit over $1M in revenue.  (Single product type, but each product is customized for the end user.  Sorry for anonymity but not done with purchase yet.)
This business has not been brought into modern age.  Manual hand drawn designs for the products (which again, are done differently for each customer).  Old school hand recording of timesheets.  No HR system.  Accounting on quickbooks.  CRM is a paper file system.  No sales staff to speak of (just answer phones.)  7 step manufacturing process is done by moving hand written order forms along the production line for each step.
What would your priorities be as you took this over to apply all the best of breed productivity tools, SAAS tools, hacks, etc to bring this business into the modern age? <comment><USER2> I used to work for sub-contract electronic engineers. I was working there when almost everything was done on paper; I was working there when they transitioned to computer based systems. It was a fucking nightmare because nobody buying the new software bothered to speak to people doing the work; and then when the software was bought the people in charge of changing stuff didn't bother to understand how the data would be used.

Here's just one example: The software had an internal part number field, and 2 description fields. The guy in charge of part numbers and descriptions wanted 5 digit numbers and wanted the description to start at the top level and drill down.

Here's one description:

        RESISTOR MRS25 100K

That looks okay until you realise that people need to search on the descriptions, and the software only allowed searched on the first 16 characters.

        RESISTOR MRS25 1

That's a lot of components, and so people have to search through a bunch of stuff to find the item they want.

The first thing you must do is learn and understand the system. It works for them, and anything you replace it with is likely to break things and to make life worse.

Most places will have payroll software. And so a bunch of manufacturing software is an add on or extension to that software - maybe some accounts stuff for handling invoicing, and then for handling buying materials and stock, and then for handling stock internally. But accountants (who create this software) don't understand how shop floors run, and so you end up with frustrating weirdness.

</comment><comment><USER3> First, congrats! Buying a business is not an easy task.

Before anything else, I would sit down with all the employees (together and separately) and hear from them what are the problems in the business and what they think should be the priority.

This will have 2 affects.

1\. They will respect you for giving them a voice. 2\. You will get smarter by the minute on what the business needs.

After that, before anything else I would just set up systems in place, processes and systems are super important when you run a time and materials business.

Understanding the cost and getting the cost of goods and labor down would be my first priority. Processes will help with that since less time will be lost.

Systems I would put (in order of priority)

1\. Orders and production 2\. CRM *customer service, customer relations, sales and more should be included to make sure you maximize your business.

Without more details it's hard to give more tips, but depending on the business type a website with online orders and online quotes can go a long way, for other types it's not that important.

Above all, good luck with your journey and your business. Take care of your employees, they will take care of you a lot more in return.

If there's a single tip I can give you is to treat your employees as equals, as you want yourself to be treated, they are your single most valuable asset.

<comment><AUTHOR> Awesome. Any tips on order and production systems?

And totally with you on the employees - they know way more than I do and are the ones who built this business!

<comment><USER3> I don't have any system in mind but really anything that will streamline production and manufacturing.

One of the biggest problems usually in this sort of business is inventory management and getting from the inventory to final product to the client, this is where you money is.

I realize this is a bit generic, but you are missing a lot of details here (and that's fine, in your place I would do the same until the deal is final).

From the sound of it though, this is a business ripe for improvement, almost anything you'll touch with good spirit and intentions will likely benefit.

</comment></comment></comment><comment><USER4> Congratulations for your impending purchase. Looks like there's lots of opportunity to modernize things but I would begin by having a chat with the employees, get deep into the trenches and understand the entire process (or as much as possible).

Collaborate with your employees and map out the entire process from start to finish. This will give you a good overview of what the current state is.

Avoid solutioning at all costs at this point. Everything may be done manual at this point but will it make things faster? If your employees aren't willing to change to new tools, it could well affect your productivity. Let them guide you to the solutions.

The best hack is to listen to your employees, show them what's possible with new technology and get their buy-in.

</comment><comment><USER5> People are usually the most limiting factor. What is the machine utilization? Just one shift? How long do the workers take to setup each piece (zero each block, etc)?

You may find this semi interesting:

[http://mmstopshopsexecsummary.epubxp.com/i/552707-2015](http://mmstopshopsexecsummary.epubxp.com/i/552707-2015)

<comment><AUTHOR> Just one shift. Haven't done the benchmarking so far. Has to be improvement opportunity just given the walk through from my eyes.

</comment></comment><comment><USER6> I would start with customers and the end product.

Then think how would you build business from scratch to deliver products that customers need.

Then come back and make adjustments into the existing operation that fits your vision.

SAAS, hacks, shmacks may (or may not) be part of the process to optimize the business. Nothing wrong in paper, excels, quickbooks and order forms per se. If business is a smooth machine in operation - be careful in making drastic changes.

</comment><comment><USER7> I once heard of a woodworking shop that would sticker parts & components with RFID tags. Each product as it went step to step along the production line could be physically tracked along the shop floor with a hand-held RFID scanner, and there was a sales/production backend system that tracked all components and progress as they moved along production.</comment>


An Apple TV reboot could be a game-changer - <AUTHOR> http://www.cnn.com/2012/06/07/tech/gaming-gadgets/apple-tv-wwdc-2012/index.html?c=tech <comment><USER2> The issue with any of these devices has nothing to do with tech and everything to do with the entertainment industry. The sad reality of where we are at with content producers leaves the consumer hunting around between any number of sources to find the show / film they are looking for, only to find that often it isn't available in their region. Using a purpose-built media device only compounds the issue because the manufacturer may or may not have struck the necessary deals to provide access to the particular service that is offering the particular show that the consumer wants to watch.

For a consumer who wants to 'cut the cord' on cable, the best option is still a PC-based solution because you don't have to even worry about compatibility with Netflix, Amazon, Hulu, itunes, youtube or the dozens of networks who stream from their own video portals. Worst case, you have to pull something up in a web browser if the source isn't supported directly from your media center software of choice. With a closed box solution like Apple TV you are beholden to the contracts and relationship that Apple has with those services, which are subject to change.</comment>


Building a Working Game of Tetris in Conway's Game of Life - <AUTHOR> https://codegolf.stackexchange.com/questions/11880/build-a-working-game-of-tetris-in-conways-game-of-life <comment><USER2> A really incredible achievement. The team created an entire clockless (no central timing) RISC CPU; there's some fascinating implementation details. They created an assembler to convert machine language into ROM macro cells, a C-like higher level language, are working on a more-powerful language, and are creating a GCC backend. Highly recommended for anyone interested in computer architecture.

<comment><USER3> I don't understand why this isn't more upvoted; the fact that they managed to build this thing at all is astonishing, let alone the high quality of the writeup and tooling built around it.</comment></comment>


Ask HN: Couldn't HN Submit say a link was already submitted even if title gt 80? - chris-at Could HN Submit tell me if a link was already submitted before asking me to shorten the title to 80 chars? <comment><AUTHOR> 1) do you _read_ HN, and if so, did you see it posted in the last couple of days? Or if not, did you use the search box at the bottom of every page (other than Submit itself) to see?

Title-matching is not useful dupe detection, since submitters can (and are encouraged to) change titles if the original title is not suitable.

URL matching as dupe detection only works if it is an unadorned URL without added parameters or phony fragment identifiers (like medium or signalvnoise).

</comment><comment><USER2> For this kind of questions, it's better to email dang ( email@example.com ) directly to get a faster answer, sometimes the thread like this are unnoticed.

I think it's possible. I guess it's just exchanging the order of two `if`, but in similar cases I prefer to put the faster condition first, because the other involves searching the "db"[0].

[0] Note: If they didn't change the architecture, the "db" is actually a bunch of text files.

<comment> chris-at thanks!</comment></comment>


Health Insurers Pay Facebook Gamers Virtual Currency To Oppose Reform Bill - <AUTHOR> http://www.businessinsider.com/health-insures-caught-paying-facebook-users-virtual-currency-to-send-letters-to-congress-opposing-reform-bill-2009-12

<comment><USER2> In related news, Health Insurers Pay Congress Members Actual Currency To Oppose Reform Bill.

</comment><comment><USER3> there's something particularly barf-worthy about not only renting a mob to advance your political agenda, but paying them with play money into the bargain.

</comment><comment><USER4> Wow, and so the circle of evil is now complete.

</comment><comment><USER5> When the article says:

> Zynga has since removed all offers from its games

Does that mean that _other_ games are still participating?

<comment><USER6> Yes. They probably don't know it though as the ads are run through a third party, such as Gambit, OfferPal or SuperRewards.

</comment></comment><comment><USER7> How do they know that the players are actually writing letters? How do they know they don't just click "Yeah, sure, I wrote it. Now, where's my [virtual currency]?"

I suspect the number of people doing this would rather dwarf the number of people who actually bother to write letters.

<comment><USER8> From the article:

> Instead of asking the gamers to try a product the way Netflix would, "Get > Health Reform Right" requires gamers to take a survey, which, upon > completion, automatically sends the following email to their Congressional > Rep:

> "I am concerned a new government plan could cause me to lose the employer > coverage I have today. More government bureaucracy will only create more > problems, not solve the ones we have."

<comment><USER9> Ugh. I don't support the proposed plan, but protecting "employer coverage" is just about the worst possible reason to oppose it. Why should my employer have anything to do with my health insurance, any more than they do with my housing or auto expenses? In fact, much of my opposition to Obama's plan is that it strengthens that foolish and harmful dependency.

<comment><USER10> If health benefits didn't have tax breaks, employers would probably stop giving them and would be able to pay a bit more in salary (benefit cost - increased taxes). I personally would prefer to be paid more and use that to select my own health plan, that way it would be portable.

<comment><USER11> Except non-employer health plans rarely cover pre-existing conditions, which ultimately is what ails most people and contributes most to prolonged suffering in quality of life.

I'm of the opposite opinion, having grown up in Canada (now in the US). I'd much rather have a public plan, even if it means worse care for a moderately well-to-do individual like myself.

The whole American health care debate appears to me as a matter of the haves vs. the have-nots, with the added complexity that a lot of have-nots seem to incorrectly identify themselves as haves.

<comment><USER10> The game would be significantly changed if employers stopped offering it as part of a benefit package. I'm sure the housing hazard insurance industry would look much different if it was a standard employment benefit.

Ultimately, insurance of any kind is a financial risk mitigation pool. The financial risks are spread over those in the pool instead of just one. Everyone in the pool shares the cost of everyone else. I don't want the government creating a super large public pool that I am required to pay for, even if I'm allowed to choose not to be a member of it.

<comment><USER11> > I don't want the government creating a super large public pool that I am > required to pay for, even if I'm allowed to choose not to be a member of it.

This may seem innocuous to Americans, but for us Canadians this sentence epitomizes why American health care is in the mess it is today. The lack of concern for your fellow man is disconcerting at best - and based on people I've talked to here in the US people generally don't feel that _other_ people being sick and dying will negatively affect them.

IMHO this is the big difference: in socialized medicine countries we acknowledge that when a large swathe of the population goes without basic medical care, we all lose - lost productivity, general misery, etc. There's at least the general notion of paying up "for the greater good".

In America I get the feeling it's more treated as "meh, maybe you should work harder". The level of apathy demonstrated for people less fortunate is frankly the one thing that has shocked me ever since moving here, and nowadays is part of my "definition" of the American consciousness. It's always someone else's problem, not _our_ collective problem.

<comment><USER10> I would like to add a comment about your, "meh, maybe you should work harder," observation.

Perhaps you haven't noticed, but we have a serious problem with a lack of frugality here. In regards to the lower working class your comment is referring to, all too often, they'll have no problem spending $2,000 for a awesome TV. Dropping $110 a month for 200 cable channels? Well, that's a necessity. Oh, gotta get a new cell phone every 10 months because it's the latest trend. Get a new (or newer) car for virtually no reason but to look cool? No problem. Eat out every day? You bet! Pay for a dental checkup? HELL NO!

That is where I take issue. Many of these people have no problem buying the fun stuff, but when it comes to the "grown up" things, they balk, and simply don't put up with it. So, I ask, why should I pay for their "necessities," enabling them to go buy fun stuff, while I have to forgo fun stuff for myself to pay for their said "necessities"?

<comment><USER11> It's fun to assume other people are irresponsible, that their ignorance and stupidity is the only (or primary) reason they suffer.

In my experience that assumption is generally incorrect - and IMHO is really a very simplified, polarized view of the world, where people are dumb or smart, good or evil.

This seems to be especially popular on the internet, maybe nerds _are_ a little bit disconnected from reality, or maybe we just lack empathy.

For what it's worth, I used to have the same opinion of poor people - and then I (accidentally) spent 4 months living on the wrong side of the tracks. Suffice it to say, I now refuse to subscribe to such arrogant notions about the poor. Perhaps you should do the same - spend Christmas with someone living in a bad neighbourhood, befriend some of them, treat them like nuanced human beings instead of caricatured archetypes. You will learn a lot - I know I did.

<comment><USER12> Indeed. It's easy to criticize from a distance, easy to be disgusted by egregious fraud by a rare few when it's trumpeted left and right by the media, deliberately harming the interests of the great majority. I too have been on 'both sides of the track' at times, and noticed that people who've never known real misfortune are most likely to criticize situations beyond their experience. Many people live with situations that the fortunate can hardly imagine.

What many people can't afford is preventive medicine. As a result, they arrive at the clinic or hospital with advanced disease that costs far more to treat. Anyone can understand this, and it makes perfect humane and fiduciary sense to make preventive visits as affordable as possible. That's the meaning of basic health care - and to deny it to anyone is illogical and mean-spirited.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Fake money for fake outrage ... has a certain insane consistency.

</comment><comment><USER14> Paying for outrage is not new. I used to work in D.C. and almost every week there were ads in the paper for protesters. As I remember, it was relatively good pay if you were of college age.

But virtual money for emails? I have to say I like it. Now everybody can be fake outraged.

Or maybe I should say I'm outraged?</comment>


Ask HN: Need immediate medical help and uninsured, please advise! - <AUTHOR> I've been unemployed for the last 3 years (was a software engineer before that).  Am pretty close to broke now and over the past couple of weeks have come to believe that I have a very serious medical condition that needs immediate treatment, what should I do?  This may or may not be an ER thing, but I just don't know what to do -- I don't have the $ for an ER or doctor visit.  I live in California and have been on HN for like 6-7 years, but just created this profile to hide my identity. <comment><USER2> Apply for Medi-Cal. Call a free nurse hotline and describe your symptoms and they can tell you what it might be. Consider a low cost clinic or college

</comment><comment><USER3> Call a clinic and ask for slinding scale, schedule an appointment. On the phone speak with a nurse and ask her for medical advice, and if you need to go to the er. Clinics can help you for very cheap or free depending on your income. I would avoid the er as much as posdible

</comment><comment><USER4> I currently work in a hospital in the US. If you walk into an ER they have to treat you. If you are nervous just forget your ID.

However what can happen is they can treat you for something different that what you might have. I'm not sure how often this actually happens but I have read articles in the past about it

</comment><comment><USER5> I'm surprised nobody has mentioned it already, but, in California, find your county's health center (usually a hospital, often more than one facility).

Contact them, possibly by just going to their primary care (ideally walk-in) clinic, and asking for advice or just to be seen by a physician. Even their full price for services, for uninsured low-income individuals, will be low, and, because that's often their target demographic, they'll tend to have a high concencentration of experts familiar with things like Medi-Cal.

</comment><comment><USER6> I would try another country. There are many countries where medical assistance is much more affordable than in the US (while the quality is still very reasonable) and where you can easily buy comprehensive medical insurance that would cover a lot (and without any co-funding) without being employed. If you actually have almost no money so you can't even afford an airline ticket - then I don't know how to help you (I would buy you a ticket if I weren't broke too).

<comment><AUTHOR> What country would you suggest? I could probably swing a round trip ticket on a budget airline.

<comment><USER7> You can afford short-notice world travel, but you can't afford $1/month for a Covered CA policy?

<comment><AUTHOR> I applied for Covered CA during open enrollment and was rejected and was told to apply for Medi-cal. This was before my issue occurred. So more recently I applied to Medi-cal and haven't heard back (30 or so days ago), but my issue is now worsening and can't wait.

</comment></comment></comment></comment><comment><USER8> goto a non-emergency hospital, tell them no insurance. Get the help you need now, worry about bill later. They can't deny you because of no money or no insurance.

<comment><USER9> They can stabilize and then hold back.

I would ask around as to which hospital has a good record. Did that once, and it mattered. May have lost the person in need at the time had I not.

</comment></comment><comment><USER10> Anecdotal: I just went to urgent care last week in SoCal (uninsured) and it was $145 out the door at one of the nicest clinics I've ever stepped foot in.

Best of luck to you.

</comment><comment><USER11> [https://www.freeclinics.com/sta/california](https://www.freeclinics.com/sta/california)

</comment><comment><USER12> Call 211 and find out what your options are. If you're truly broke, you'll be able to get enough insurance to get treated.

If you're not, get broke or pile on as much debt as possible and go bankrupt.

</comment><comment><USER13> You can go to the ER with no ID and give a fake name. If it's a condition that can be disgnosed in an ER, they will help you anyway.

</comment><comment><USER14> This isn't an immediate fix, but since you're unemployed, you should apply for state benefits and receive medicaid.

Call around for urgent care prices. Unfortunately in USA your choices are very limited on cheap medical care.

</comment><comment><USER15> A public hospital cannot refuse care

</comment><comment><USER16> go to ER now.</comment>


How Indian Americans Came to Run Half of All U.S. Motels - <AUTHOR> https://www.nationalgeographic.com/culture-exploration/2018/09/south-asia-america-motels-immigration/ <comment><USER2> This model has led to success for other immigrant groups in other industries.

> _Many followed his advice. "They would give each other handshake loans—no > collateral, no payment schedule, just pay when you can," Doshi explains. > Once a family purchased a motel, they would live there, and the family > members would do all the tasks needed to run it, from cleaning rooms to > checking in guests. That helped keep costs down, and profits went toward > acquiring new motels. By the 1980s Gujaratis had come to dominate the > industry._

The "killer app" here appears to be a lack of resources beyond established relationships. Because of this, whole families were willing to spend their time doing work that most Americans feel is not worth their time.

<comment><USER3> It's not (just) that most Americans feel these jobs aren't worth their time. There is a very strong individualist streak in American culture and a very strong taboo against lending friends or family members money for any reason.

There are plenty of American families who have relations who could easily help bootstrap a profitable small business in the way described here. It just doesn't happen that way very often.

Instead the typical means to wealth is inheritance or luck of birth providing access to investment capital (not loans) and business connections. For every WhatsApp there's a dozen or more Microsofts and Facebooks (Gates and Zuckerberg both benefitted from the immense social and financial capital their families could provide).

<comment><USER4> _> There is a very strong individualist streak in American culture and a very strong taboo against lending friends or family members money_

I think the individualist streak in American culture is better shown by people being unwilling to seek help from friends/family. I might call an unwillingness to help others (assuming one can afford to do so) _selfishness_ \-- not individualism. But what I have seen in American is, as you said, _individualism_ : People are prideful and want to create wealth without help.

An interesting clarification: People will more readily accept help from _strangers_ \-- e.g. a Kickstarter campaign, bank loan, or VC investment doesn't diminish one's pride in the way that the same support from someone's parents might.

There's talk elsewhere in this article's comments here about the "killer feature" that these Indian Americans have. I would argue that the true killer feature is not even access to zero-interest capital. It's a culture that actively fights against pride and individualism.

There are surely tradeoffs, but it's hard to deny the power that can come from children and adults alike all looking to family for help... and seeing that help not as something which diminishes their power but rather as something that bolsters it.

<comment><USER5> I think it's much deeper than "individualist streak in American culture".

Western Europe in the last 1000 years or so has been a very unusual place... one aspect of which is having nuclear families not extended ones. Because (crudely speaking) the catholic church wished to diminish alternative power structures, such as clans. This led to an unusually open society, which had many benefits... with generally higher levels of trust among strangers.

But it has some costs, too. Like not having tight connections for bootstrapping motels in a foreign land.

<comment><USER6> Unless you have some references, I'd call this a "nice theory" (to be read with a British accent).

Spontaneously:

* South America appeared to be more catholic than any Western European or US-American place I've visited, but family and extended family are still a big thing.

* Calvinists seem to be much more "open" than catholics to me.

* Damn, I want the secret recipe that lets me set a policy and enforce it in vast areas (at times without any reliable messenger system) and across _many_ generations, even if my successor comes from a different faction within the catholic church.

<comment><USER7> By Calvinists I assume you are referring to Protestants? Or are you actually referring to Calvinistic Protestants? Just curious, outside of Christian circles and history I don't think I have ever seen someone reference Calvinists.

<comment><USER8> Might be different in the US, in Europe it's not too uncommon to talk about calvinists, particularly in certain countries like the Netherlands it's a well-established term (which is even used there to describe Dutch behavioral culture, because it's deemed to be so fitting), and separate from other forms of protestantism.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> >> Once a family purchased a motel, they would live there, and the family members would do all the tasks needed to run it, from cleaning rooms to checking in guests. That helped keep costs down, and profits went toward acquiring new motels.

It is the exact same with convenience stores. Work 12-14 hour days. Only have other family members work there.

</comment><comment><USER10> If you are interested in these kinds of stories, check out the documentary [http://www.thesearchforgeneraltso.com/](http://www.thesearchforgeneraltso.com/)

Aside from being specifically about searching for the origin of the general tso recipe, it talks about how chinese immigrants came to own so many chinese restaurants across the country.

<comment><USER11> Just recommended this film today to someone! Definitely worth checking out, even outside your interest of what General Tso actually is.

</comment></comment><comment><USER12> I find this interesting, because my family used to take road trips all the time (annually in the '90s, less often since then), and we mostly stayed in motels that were part of national chains like Hampton Inn, La Quinta, Holiday Inn Express, Fairfield by Marriott, Best Western, etc., and I honestly don't recall the staff being Indian (since we mostly travelled through the Southeast, most of the employees we interacted with were black). I guess the owners could have been, but that would mean they're hiring people outside of family.

I'm wondering if this article applies to just independent motels or if it also includes franchises of the national chains (at least, I assume the national chains use a franchise model). I'd be honestly surprised if independent motels were a full half of the number of motels in the US, since the chains are _everywhere_.

<comment><USER13> 90s is far to early. The anti-asian immigration laws were repealed only in 1965 [1] only to benefit Poles and Italians but then also ended up benefiting Indians and Chinese. Many of them came to USA during that time and toiled mostly in menial jobs. It was only around late 80s that they had gathered enough influence to buy motels and such and this motel takeover was much more visible during early 2001s. In the Obama era recession the property prices dropped further and many Indians purchased even more motels.

Also the Patel community is not really into high end motels like Hampton Inn. They are into Motel 6, Super 8, Choice Hotels, etc.

[1]

</comment></comment><comment><USER14> It's common enough that urban dictionary has a definition for Potel (patel + m/hotel)

</comment><comment><USER15> On the same note, I recently watched this video covering how Cambodian immigrants ended up running so many donuts shops, especially here in SoCal: [https://www.youtube.com/watch?v=LQLtRRe5EBc](https://www.youtube.com/watch?v=LQLtRRe5EBc)

<comment><USER16> And Tippi Hedren bringing Vietnamese refugees into the nail salon business. 51% of nail technicians in the United States and 80% in California are of Vietnamese descent.

[https://www.bbc.com/news/magazine-32544343](https://www.bbc.com/news/magazine-32544343)

</comment></comment><comment><USER17> I became aware of the Gujarati hospitality empire some decades ago, when my work involved community organizing in the rural US. I was finding that just about all the old motels on state highways were run by Gujaratis. And when I'd become a regular, some would share about their experience. And would invite my friends and me for dinner, which was heaven. Especially given that the alternatives were typically burgers, steaks or fried chicken.

</comment><comment><USER18> This book provides the investment philosophy behind the Patel success and how it can apply in other realms.

The Dhandho Investor: The Low-Risk Value Method to High Returns by Mohnish Pabrai

The author is an investment manager with a focused value strategy.

<comment><USER19> +1 Dhandho Investor describes this same story and the philosophy / technique to replicate this approach in your own life

[https://www.amazon.com/Dhandho-Investor-Low-Risk-Method- Retu...](https://www.amazon.com/Dhandho-Investor-Low-Risk-Method- Returns/dp/047004389X)

</comment></comment><comment><USER20> I look forward to the next National Geographic article in this series where they document in detail how American Jews came to run a substantial proportion of U.S. media!

edit: I need to put this more judiciously :) run => exercise control over

</comment><comment><USER21> I am from gujarat, do not own any motel. In my experience I can definitely believe this to be true. Personally know so many people heho owns motels. I am shocked about the 50% though!

<comment><USER22> No one who travels and stays in small-to-medium-sized hotels is shocked by this. I have a complaint, however. We have so many Indian-Americans distributed all over the nation, and it is still fairly difficult to find good Indian food outside big cities.

<comment><USER23> Good Indian food doesn't exist in the US.

Take a trip to BC, or the UK, and you'll see what I mean.

<comment><USER24> This is incredibly diminutive of Indian cuisine in America.

The Bay Area itself has Zareen's (Michelin guide) and Rasa (Michelin star).

Yes, the UK has much more phenomenal Indian food, but to say the US has none is wrong.

<comment><USER25> I'm sorry Michelin star means squat for Indian food. I have tried both and they are pretty crappy.

</comment></comment></comment></comment></comment><comment><USER26> [https://en.wikipedia.org/wiki/Lakireddy_Bali_Reddy](https://en.wikipedia.org/wiki/Lakireddy_Bali_Reddy) exploited the Indian caste system to bring young Indian women and girls to Berkeley, California, From 1986 to 1999, he and his family members and associates forced them into servitude and sexual slavery and to work in his Indian cuisine restaurants

</comment><comment><USER27> Can someone tell me why the surname of Patel is so predominant in the hotel owners? The article doesn't really explain why.

<comment><USER28> Patel + Hotel owner here.

We are from Indian state Gujarat. Patel is the most common last name in Gujarat.

90+% of Patels I know immigrated to the USA through chain migration. My dad's sister-in-law's sister (A) & her husband came to the USA in last 60s early 70s. Sister (A) applied for the immigration visa for my dad's sister-in-law. My dad's sister-in-law and my dad's brother immigrated to the USA in the late 70s. My dad's brother applied immigration visa for all his brothers & sisters. My dad & his family (including me) immigrated to the USA in the late 90s.

Roughly 200+ of us were migrated to the USA because of the sister (A). Half of them speaks & understand very very basic English. They only have limited options for the job. Mom&Pop kind of motel is easy to run, only requires talking to a few people and its mostly same every day. So they work their butt off for a few years and buy a small motel.

Those who can speak little better English end up working at someone else's hotel when they move to the USA, and from there with the friend/family's help they buy their motel.

<comment><USER29> >>Patel is the most common last name in Gujarat.

Fellow Gujju here. It is "one" of the most common last names in Gujarat. Probably it might be the most common last name of Gujjus outside Gujarat but I doubt it is so inside the state.

</comment></comment></comment><comment><USER30> The 50% figure is not ownership, but managing. The article misses several important points why the Gujariti could take over the whole south and west in all cheap hotels. The main reason is a special Visa execption, very similar to the Chinese cook visa exception. Family members can easily come over and work there. So they can undercut all costs in running a hotel, esp. with Central American room cleaning. The big chains saw this advantage and put a Gujariti manager everywhere. They replaced room cleaning step by step and are also doing the small repairs by themselves. They have a strong community to help each other out. Biggest problem is room cleaning though. It's a different experience, it smells. Who knows what kind of chemicals they use. For sure the wrong ones. When they advance to $120 hotels is it getting better though, then they can afford proper room cleaning again.

</comment><comment><USER31> So what else is new? How come every other cop - especially in the North east - is named Dennehy or O'Reilly; every other landscaping firm is owned by people with surnames like Caruso or Zanatta; every other construction firm in California (esp. SFBA) is owned by people with surnames like Monahan and Shanahan.

Ethnic professions are nothing new, and part and parcel of American immigrant history. Just another chapter...

</comment><comment><USER32> My understanding is that immigrants often have a high rate of entrepreneurship.

It's always nice to hear about people coming to the US and not just taking a chance coming to the US, but also taking advantage of those freedoms to take the risk of starting a business and the massive amount of work that it takes to do so.

<comment><USER33> The environment back home is so fu __d up, that , whole family working 12 hours a day seems like real stress reliever. My uncle who went USA and doing the motel thing, used to have business in India. i.e. they were well to do also in India and went there not for more money but lifestyle and education opportunities that India can not provide.

</comment></comment><comment><USER34> While it's certainly true that people from Gujarat are business minded, I have observed that they are equally narrow minded, especially when it comes to selecting whom they work with and they almost always select a fellow Gujarati.

I have personal experience with this, I had a Gujarati classmate and we had plans for starting up after our college, he later went on to work for his brother in law (who you already guessed it worked in the hospitality industry), he only told me later when I asked that he was pressured by his family to work with them exclusively. You may think that this is a one off example, but it's not, nearly all people I came across had similar mindset.

Also they contributed largely to the election of Modi as a PM in India, who is also ( __drumroll __) a Gujarati, now this may be good or bad depending on how you look at it.

After living in western countries for well over 50 years (calling themselves American, Canadian and British etc), they ooze pride about their entrepreneurial heritage; but they still vote and contribute money towards electing a man whose past screams bloody murder and that is plain hypocrisy!

</comment><comment><USER35> Gujus(Indian Gujarat people) are not just in USA but even within India they are mostly money lenders and resellers. Most Gujus do not stay in Gujarat, they are business people(buying and selling only no production)

</comment><comment><USER36> Awesome. I love stories where hard work pays off. Hats off to this family.

</comment><comment><USER37> Anybody have any real statistics on this? <citation>

<comment><USER38> I have a datapoint.

I went to university w/ someone's whose family ran a bunch of hotels & motels in the San Jose area.

His surname was Patel.

</comment></comment><comment><USER39> _" No boundary existed between work and life."_

I'm some senses, this is a story about an older way of doing things.. or a capitalism that has existed at a smaller scale alongside the I understand/liberal system we generally think of as capitalism (or socialism, really).

That is, things work by convention, affiliation and duty. They don't work through formal agreements, roles and contracts.

Family is a true economic unit, with productive capacity, credit potential and such. Affiliations with other families are important.

The ability of one hotelier family to assess an informal loan to another one... Its not necessarily worse than a Banks's.

</comment><comment><USER13> Gujarati here. Our success in Motel and Gas Station industry can be attributed to the following. The same model then also can be seen in tech industry. I have explained below :

"Ability to establish trust while bypassing all the conventional channels."

Coming from a socialist country like India to USA I noticed that transaction costs in USA are damn too low simply because of the trust factor. There is no two factor auth each time you do a credit card transaction, you can do self checkouts at Walmart etc. etc. Many of first world citizens might take this for granted but these factors give a huge boost to economy. There are more transactions and less wealth is destroyed just to enforce a contract.

We Gujjus take this to the next level in USA. Consider John Smith decides to run a gas station. He has to appoint a 24x7 attendant at say $10 per hour. So he has to spend $240 per day just for the person. Assuming the profit margin per gallon is $0.15 he needs to see around 100 cars filling 16 gallons before that cost can be earned back. Not to mention these attendants steal cash and other stuff from the gas station store often too. John Smith then hires Jose who is an illegal Mexican at $5 per hour. Jose steals his cash one day and is never seen again or is caught by ICE and deported. Or John Smith sticks to the law and bleeds $240 per day.

Now Dhirubhai Patel buys the same gas station. He makes a phone call and finds another Gujju student who is currently on F1 and legally can not earn and is paying heavy rent in bay area. He agrees to man his gas station at night and sleep in there too. He saves on rent and takes literally no salary until he completes his masters. Dhirubhai saves Around $100 more on this. Also the gujju students is much less prone to stealing and cheating and on other hand is more thankful to Dhirubhai. After completing his masters this kid joins a reputed tech company and later employs Dhirubhai's daughter as an intern. Everyone wins.

I see a lot of hate for Indian tech workers among white nativists tech workers on apps like Team Blind and also on twitter (search for HR392 on twitter). They correctly point out that Indians have been succeeding at a much greater rate than natives. They claim that Indian managers tend to hire Indian employees even in top firms like Google etc.

That might be true as Indians quickly build trust among each other. It is common for a new H1B from India to work for a startup at least for 2-3 years just because founders helped him come to USA even though salary is lower (I did this). Both my founders were Indians and the company was successfully acquired. I left within 6 months of acquisition to join one of the FANGs.

Note: I think the lack of proper deterministic path to green card actually forces smaller ethnic groups to huddle together instead of being more individualistic. This in some way prevents assimilation. There are over 200K tech H1Bs who are here for decade or more and yet wont get their green cards. A lot of them would feel safer in companies where their manager is Indian, CEO is Indian etc. than a general white owned company and might be willing to work for less for the safety of job and presence in USA. Same goes for motels, farming, gas stations and many other businesses which are being completely cornered by Indian-Americans.

<comment><USER23> > I think the lack of proper deterministic path to green card actually forces > smaller ethnic groups to huddle together instead of being more > individualistic. This in some way prevents assimilation.

Every ethnic immigrant group huddles together, regardless of visa status. That is basic human nature.

</comment></comment><comment><USER40> As a second generation patel I can say entrepreneurship runs in our blood. Although my dad's hotel did not work out, I've never had a full time job with benefits and I've spent 11 years trying to build iorad.com.

<comment><USER41> Cool app idea

</comment></comment><comment><USER42> Story of my life.

</comment><comment><USER43> The story totally checks out. I moved from Boston to San Francisco in 2006, did a cross country drive. Back then we only had flip phone, so I would use my laptop and The Microsoft Streets software with a GPS. Every day, around 3 PM, I would pull in into the parking lot and locate a Motel 30 or 40 miles ahead using the GPS and Streets software, and call and book a room.

8 out of 11 motels I stayed in were owned and run by Gujjus (Gujaratis, originally from the state of Gujarat in India). I was really surprised by this, because until then, I was only used to seeing East Indians working either in Tech or in Gas Stations, 7/11s.

Being a 1st generation Indian immigrant myself, almost always the owners would relate to me and tell me their immigrant story. And yes, almost all of them said the same thing the story mentions, i.e. borrowing money from family to buy a run-down / cheap motel business, live in it and work on it. One of them even shared their Gujju dinner with me as I'd arrive late and all the restaurants were closed in the Area ( Eureka, CA)...

Not all of them carried the business forward though. 1 guys son was working to be an Airforce Pilot and another's daughter was going to Law School. As told by their fathers neither one wanted anything to do with the Motel business, but they put in their work as kids, working at the motel while off school and such.

After moving to San Francisco, I met another Indian-American "Patel" , born to Indian immigrant parents. He too had a family run motel in Portland and would tell me stories of how everyone in the family had to pitch in to make it work. Gujjus are hard working people and I really admire their work ethics and grit.

<comment><USER44> My last ex was Gujarati and her father owned a Holiday Inn Express and a Days Inn. We both worked remote at the time and a good chunk of our relationship was spent staying at various hotels under the IHG banner for the "owner's rate" (a small denomination less than $1).

Their network went well beyond any particular industry though. The first family friend to come to this country ended up in Houston in the early 70s, quickly accumulated wealth by innovating accounting techniques for big oil. He sponsored the next wave, which included her father who started as a nuclear plant engineer and travelled around the country for a couple decades before moving into finance then hospitality.

Each successive wave would sponsor others - they all were relatively successful in India but came here to be executives at tech companies, surgeons, professors, real estate investors, etc. They really took care of each other.

While the family did much of what was mentioned in the article, including living at the Days Inn for a couple years at one point, it didn't mention anything about partnership stakes in these properties. That seemed to be a big thing, or at least I had the impression that diversifying property portfolios was common. Her father owned his properties outright but that was because he bought his partners out during the financial collapse in 2009. When we last talked 2 years back, he was looking to acquire new partners and invest in other properties.

As you say, there was a tension to bring the children in but they had little interest in moving to a place in a so-so part of Florida - the children were well educated, travelled, cultured etc and preferred to live in big cities. My ex and I did grudgingly discuss it as being an option if we started a family.

</comment></comment><comment><USER45> Is the author generalizing other South Asian immigrants as Indian Americans? Or is it factual that Indian-Americans do own 50% of motels in the USA? Because I have seen a lot of Bangladeshis, Pakistanis and even Arabs owning motel businesses across the USA. I am not cleared about this just from reading the article alone.

<comment><USER46> I think it safe to say they mean "Indian American" in a racial rather than national context, akin to "African American". So I'd take it to include people who have ethnic ties to the entire Indian subcontinent, including Pakistan and Bangladesh.

As a Canadian who has lived many years in the US, the casual use of racial descriptors still shocks me. I find is very discomforting to be asked my race on forms, to see national news talk about how different ethnic groups feel about this or that.

<comment><USER47> indians were categorized as white for govt purposes in the US until the late 70s when they petitioned the government for a census category so they could benefit from affirmative action. same deal as the new MENA category

<comment><USER12> Indians don't have their own census category now, either. They're officially considered Asian; the census lumps them in with East Asians and Southeast Asians.

<comment><USER47> 1980 Census

This year added several options to the race question, including Vietnamese, Indian (East), Guamanian, Samoan, and re-added Aleut.

[https://en.m.wikipedia.org/wiki/Race_and_ethnicity_in_the_Un...](https://en.m.wikipedia.org/wiki/Race_and_ethnicity_in_the_United_States_Census)

</comment></comment></comment></comment></comment><comment><USER48> TLDR: via aristocracy (a good version of it), more or less. IOW, the hard work of generations prior, with "compounded interest" of the hard work of each generation since.

This is definitely worth reading. This short and simple article has lots of lessons.</comment>


Custodians of PHP vote to keep a crypto lib abandoned in 2003 in PHP 7 - <AUTHOR> http://thefsb.tumblr.com/post/110639027905/custodians-of-php-vote-to-keep-a-crypto-lib

<comment><USER2> I dont understand the compat-centric decisions being made for major version changes. It's as if the user-base count is the #1 priority. Many gridlock arguments because of this :(

Things as simple as fixing ternary associativity that has been broken and discouraged forever are basically DOA because it may break some tiny % of code that relies on broken behavior. They have a valid point that simply fixing it will break code in silent ways. So there was a possibility of making it _un_ associative in 7.0, throwing a warning and only fixing it for real in _5 years_ during the next major cycle. I don't know if this migration path will even happen.

<comment><USER3> >I dont understand the compat-centric decisions being made for major version changes

Compatibility is the only thing PHP has going for it right now. It feels like the only PHP apps out there are 'legacy' ones, new projects are written in newer stuff.

<comment><USER4> Nonsense. People are writing things in PHP all the time. You just don't hear about it because it's not the cool, new, shiny thing of the week.

Over 34,000 repos created on Github since Jan 1 that have PHP as the main language: [https://github.com/search?utf8=✓&q=created%3A%3E2015-01-01+l...](https://github.com/search?utf8=✓&q=created%3A%3E2015-01-01+language%3APHP&type=Repositories&ref=searchresults)

<comment><USER5> cweagans is right. PHP is deeply unfashionable, ridiculous even to some programmers using other langauges. But quietly, somewhere out of sight, it has been enjoying something of a renaissance in recent years. Generally I'm pleased with changes in the culture, tools, standards and even in the language. But just can't get behind this decision to keep mcrypt.

</comment></comment></comment></comment><comment><USER4> You know, this same guy wrote before about a framework making a radical BC- breaking change: [http://thefsb.tumblr.com/post/44942894313/zurb- foundation-4-...](http://thefsb.tumblr.com/post/44942894313/zurb- foundation-4-betrayal)

Seems like he just enjoys getting mad at people about their decisions. There's reasons for this decision, and as a PHP developer, I see why tearing out mcrypt could be problematic. Pretty lame that he's shitting all over these guys because they did their job and made a judgement call.

</comment><comment><USER5> It appears those with a vote regard adoption of PHP 7 as the higher priority and therefore compat with existing code using mcrypt must be ensured. [http://news.php.net/php.internals/82191](http://news.php.net/php.internals/82191)

<comment><USER6> I haven't used php, but the situation described at that link is _codependence_.

      a: "Most of our users don't care about security."
      b: "OK then they can continue using old broken versions."
      a: "No, then they won't be secure! Therefore it must be easy to upgrade."
      b: "How?"
      a: "By not making the proposed security improvements."

This seems like a recipe for losing any users that _do_ care about security, which is not a viable strategy over the long term.

</comment></comment><comment><USER7> This fuels the adoption of Hack/HHVM.

PHP folks need to remove head from ass. (disclaimer: I love PHP - as a language)</comment>


New way to turn carbon dioxide into coal - <AUTHOR> https://www.sciencemag.org/news/2019/02/liquid-metal-catalyst-turns-carbon-dioxide-coal <comment><USER2> You can also turn co2 into trees. More lowtech, but more useful than coal that's created with energy that should be buried as nobody will do that (next to the others usages mentioned which are mostly consumables and hardly viable co2 sinks).

<comment><USER3> Unfortunately trees can't reclaim co2 at the rate we release it though. Seems like supplementing that strategy with novel solutions like this makes sense.

</comment></comment><comment><USER4> This rocks! Sadly we need to think of a way to profit from saving our own planet but this seems encouraging.

"But if the economics become encouraging … [then it] seems very possible."</comment>


Create Beautiful AppStore screenshots for your next app - <AUTHOR> https://previewed.app/ <comment><AUTHOR> Freshly released, hopefully saves you a bit of time during the app release. Comes with correct Apple dimensions ([https://developer.apple.com/app- store/resources/](https://developer.apple.com/app-store/resources/)), ready to be imported.

Feel free to request features.</comment>


David Blaine's 72-hour, million-volt endurance test - <AUTHOR> https://www.nytimes.com/2012/10/02/science/million-volts-for-david-blaine-in-electrified-endurance-test.html <comment><USER2> I like Tesla too, but dude, this sounds like the Chinese water torture cell that felled Houdini. Sometimes the greatest finally go too far. Being protected by a Faraday cage, this stunt is unlikely to kill him, but the affect upon the brain would appear to be unknown. Part of me says it is a great experiment, the other part of me says, dude, that is what lab rats are for, lol.

At any rate, as AC/DC says, "For those about to rock, we salute you." :-)</comment>