Shipping Culture Is Hurting Us - <AUTHOR> http://bitbashing.io/2015/02/16/shipping-culture.html <comment><USER5> The author talks about languages and technologies (JS, Mongo), but he's really getting at something deeper. The real danger of the "ship it" culture is that things that can't be "shipped" right away — things that require solving really hard problems — tend to fall off our collective radar because there is just SO MUCH cool and (relatively) easy stuff to do right now. PG has a great term for this: "schlep blindness": [http://paulgraham.com/schlep.html](http://paulgraham.com/schlep.html)

<comment><USER6> Makes me wonder if this is why i find the whole "devops" concept to be raising my hackles.

<comment><USER7> How about "full-stack developer"?

<comment><USER8> That's the one. That's basically short hand for "you don't need to do anything really well, you just need to do everything barely good enough to ship it now".

<comment><USER9> The sad bit is that many full-stack developers are actually better that specialized developers in respective skills. (unless of course they are JS/Node.js types)

<comment><USER10> > The sad bit is that many full-stack developers are actually better that > specialized developers in respective skills.

But those do not call themselves full-stack-developers.

</comment></comment></comment></comment></comment></comment><comment><USER11> This whole article makes me want to scream, if only because the author seems to have never heard of the concept of Path Dependence[1]. I could utter a similar rant, on how terrible it is that we're stuck with awful legacy dumb AC lightbulb sockets everywhere, and wouldn't it be nice if the entropy fairy just waved a magic wand and we all had 'net-connected DC smart sockets for our wonderful Future Bulbs.

But that kind of talk utterly dismisses the important reality that 1) we don't have a magic wand and 2) we have to deal with things like path dependence and network effects as phenomena. Example: if you chart out historical network bandwidth, you'll get a Moore's-law-esque curve, but with a significant step function depending on which network aspect you study. Why? Path dependence and (literal!) network effects: we don't see the benefits of network bandwidth improvements until enough hardware has been upgraded to see an end-to-end improvement.

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

<comment><USER12> Javascript has become the defacto browser programming language, even though it's objectively awful for complex software. The only reason it's achieved it's high status is because browser developers refused to cooperate and develop something better. Microsoft and Apple view software lockin as a competitive advantage and have actively undermined technologies they thought were threatening(java and flash amongst others). The explosion of Html5 and javascript was more of a 'nature will find a way' type development and can almost entirely be credited to Google and various web companies pushing it and making it better.

It's still a very flawed technology stack for complex web-apps though and it's very reasonable to suggest that we could do a lot better.

<comment><USER13> If you think Javascript is bad for complex software, you should try C++.

<comment><USER14> It is not that bad without the C parts.

</comment></comment></comment></comment><comment><USER15> So, there's a great argument to be made about the negative impacts of "Shipping Culture".

One could argue that it encourages underdesigning of ultimately complex systems. One could argue that it encourages excessive code and infratstructure reuse, to the point that even trivial projects pull in more than is needed and consume more resources than even remotely necessary. One could even argue that it creates in customers an unreasonable expectation about ongoing fixes to a project, about ongoing support contracts and culture, and generally discourages creating artifacts that later generations can use in favor of ongoing maintenance performed by morlocks.

Sadly, the author makes none of those arguments, and instead gripes about hackathons, about Javascript (badly), and about MongoDB (which is fun, but doesn't go anywhere).

Author bemoans "ship it now" culture, bemoans shipping things before they're technically good--and then has the gal to use a Netscape Navigator screenshot! Does anyone else find irony in that? Netscape was never known for good quality code or sane implementations--go read old kvetching by Brendan Eich or Jamie Zawinski. You know what they _did_ do, though? Fucking shipped.

Author complains about NaN--which is a goddamn _standard_ in IEEE 754, which is exactly how C++ (their pet language) handles things, and which is completely reasonable behavior for any JS implementation. Not having an integer type? Newsflash kid: JS supports bit-accurate integers up to Int32s.

Author claims systems stopped using coopterative multitasking two decades ago. Author has presumably never written code for hard-real-time embedded systems.

Author goes on to complain about ancient standards. I have an ancient 120v 60-hertz AC circuit running my house. I have an ancient system of measurement for the beer on my desk. Funny thing about ancient systems: _if they 're still around, it's because they've perhaps solved the problem well enough to stay around_.

"Shipping Culture", as defined by the author, isn't what's hurting us: it's the influx of jackasses with loud mouths and no appreciation for history, business, or engineering loudly proclaiming that perhaps the most productive decade in software engineering is somehow wrong.

<comment><USER16> Yeah, the title and the article have very little to do with each other. Complaining about NaN semantics is especially irrelevant.

OTOH, it's funny you bring up Netscape. Yes, they shipped. Back in the Netscape 3-4 days of the Browser Wars, every new version was a crap shoot. It might un-break some page you wanted to use, but it might also be drastically slower, crash a page that you needed, lose your preferences, or whatever.

But the cool thing is that you could choose when or if to update! You could install the new version alongside the old one, try it out for awhile, and junk it if it was worse overall. If most people thought Netscape was getting worse, then most people would stick to the old, working version. Nowadays browsers follow the same "random walk" development model, but shove the latest version down most users' throats whenever they feel like it, and make it hard or impossible to revert the latest breakage. "Ship crap" combined with "software force-feeding" is good for no one but lazy coders.

<comment><USER15> So, on the one hand, I agree very much that having the options available was pretty cool.

On the other hand, having seen this repeated time and time again in the enterprise world, I don't think users should be given the option of not updating, especially for services that they aren't hosting themselves. All they end up doing is creating a support burden and being dissatisfied.

Our users are increasingly ignorant about the systems that they use--I think that precludes them from having final input about how said systems are implemented and deployed.

<comment><USER16> Since I don't support anything "enterprise," I'm probably a bit biased. Still, "creating a support burden" basically means "making more work for the developer," while "updating" almost always means "making more work for the user." I happen to use Emacs, and even though it's very slow-moving and careful about backward compatibility, I always put aside some free time for major updates, because they always break my setup somehow. And I'm lucky compared to the average software user: I'm a coder, so I can usually work around the breakage without too much trouble. Regularly making work for people without this option is inhumane.

Regarding ignorance, you know far more about how the systems work, but they probably know far more about how they use them.

I still think the auto-update treadmill is a symptom of developer arrogance, laziness, and callousness, but maybe I'm just old before my time.

</comment></comment></comment></comment><comment><USER17> > Instead we get some bizarro-world where where the type of NaN ("Not a > Number") is number, where NaN !== NaN*, and a chart like this exists for > something as simple as comparing two values.

That's the definition of NaN in virtually any programming language with floating point numbers. And the comparison table makes sense with the rule "when types are incompatible, both are casted to strings". Just use === instead of ==, which is only really useful for comparing against null/undefined.

<comment><USER18> The stupid thing about IEEE NaN is that it's not equal to itself! If variable x holds a NaN, then (x == x) is false.

This violates: [http://en.wikipedia.org/wiki/Law_of_identity](http://en.wikipedia.org/wiki/Law_of_identity)

If (x == x) tests false, then it asserts that x is not itself, which is logically preposterous.

ANSI Common Lisp has a bit of this problem in it too, but it's not _required_ ; it is there for some weird historic implementations. That is to say, if x holds a number like 1, then (eq x x) is not required. (But in sane implementations it does yield t; and it yields t even if x is a bignum, because (eq x x) is given the same object as two arguments. Two separately computed bignums of equal value will likely, of course, not be eq.

How this can be explained is that eq tests "implementation identity", and somehow different instances of a number are treated as different implementations. Argument passing is by value, and the two reductions of the expression x in (eq x x) to a value somehow produce a different implementation of the value.

This rationale is unrelated to IEEE NaN-s, though.

<comment><USER19> Don't quote me on this, but I recall the rational for NaN is because NaN is typically the result of a division by 0.

Divisions by 0 can be thought of as infinity (for the sake of this explanation, but mathematicians will cringe), but it is not any _particular_ infinity. In the sense that x / 0 does not necessarily have to equal y / 0\. For that definition, the result of a division by 0, NaN, must not equal itself.

You can use `isNaN`, tho.

<comment><USER18> I understand the point perfectly. However, if I have a NaN which is captured in a lexical variable (perhaps the result of a division by zero, as you note) then in fact I do have a particular infinity: whatever object is inside that darned variable! If I do another division by zero, then sure, hit me with a different NaN which doesn't compare equal to the first one I got. But don't make my variable not equal to _itself_.

<comment><USER20> Normal division by zero gives you Infinity. To get NaN, you have to do something as numerically confounding as divide zero by zero, which isn't any infinity, because the numerator is zero, and which isn't zero or any finite number, because the denominator is zero.

</comment></comment></comment></comment></comment><comment><USER18> > _Systems stopped using cooperative multitasking at least 20 years ago > because it sucked compared to the alternative of automatic, preemptive > multitasking. And yet Node.js harks back to those dark days with its > callback-based concurrency, all running in a single thread._

Uh, no. For instance, Unix kernels have been traditionally cooperative---at least when executing kernel code. That is to say, user space can be preempted but not the execution of kernel code. The introduction of SMP brings concurrency into the kernel, though, and with that, preemption can follow. Linux development followed this path.

Still today, you don't have to turn on CONFIG_PREEMPT when building your kernel. If you don't have SMP either, then you have a cooperative kernel: one task is in there at a time, and it has the CPU until it voluntarily calls into the scheduler.

Cooperative tasking has the enormous advantage that it makes a whackload of potential race conditions go away, and that could be a possible reason why Node.js is the way it is.

Unix might not have been successful had Ken Thompson decided to make the kernel preemptive, and then spent 1973-1987 debugging it. :)

<comment><USER14> >Unix might not have been successful had Ken Thompson decided to make the kernel preemptive, and then spent 1973-1987 debugging it. :)

Sadly that didn't happen, UNIX was adopted by 80's hipsters into their startups, became adopted by the industry at large, thus spreading C into the industry.

Now we have patch <choose day of week>.

<comment><USER21> I'll bite. When I learnt C I found it charmingly simple and it took me years to realize how deeply broken some aspects are, especially the separate compilation circus — programmers working hard to help the compiler and not getting any modularity benefits in return.

So suppose C didn't happen. Do you expect the industry at large would have adopted a great language instead? Or some random product of history, half way between PL/I++ to JavaScript?

<comment><USER18> Enforced modularity in languages has downsides, like basically killing the flexibility in system construction. Not every image produced is an application program running over an operating system.

</comment></comment></comment></comment><comment><USER22> Yes. If your problems are essentially trivial and you are just trying to gauge customer moods, shipping and shipping again quickly is the way to go...and thinking about the problem will probably not help.

However, while quick iterations converge rapidly on a local maximum, they really, really suck at getting you out of that local maximum.

I notice this with trying to create a new and different programming language ([http://objective.st](http://objective.st)): for almost all the problems I am tackling, there are quick and obvious answers...that get me stuck in the same mess we are already in. So I've found it necessary to deliberately delay implementing stuff, going _slower_ than I can and make sure I leave the time for my not-quite-conscious thought processes to work out the problem and present the results during a relaxing shower.

</comment><comment><USER23> You see the same thing in natural organisms. Vestigial adaptations and odd or even awkward designs abound, yet they are functional. Some people take "Worse is Better" to the extreme of "Worst is Best" but there is some wisdom in the idea that it's better to get an adequate solution into play early than to wait for for a perfect, clean-room design. The important thing is to setup a feedback loop that continually refines your solution.

For an inspiring take on the power of chaos in evolution check out Errol' Morris' film "Fast, Cheap & Out of Control": [http://en.wikipedia.org/wiki/Fast,_Cheap_%26_Out_of_Control](http://en.wikipedia.org/wiki/Fast,_Cheap_%26_Out_of_Control)

</comment><comment><USER24> Shipping doesn't always need to mean shipping to the public.

I write complex software too but I "ship" to myself early and often. I start by trying to solve a hard problem as fast and as quickly as possible in a naive way so that I can experiment more freely. This gives me more insight into the problem itself and into the solution space. The solution often changes -- sometimes it's the problem that changes.

If I were working with a customer or a startup I would definitely "ship" early and often, too, but I wouldn't give much weight to these "releases". They're just something to play with and to cut the shape for the problem.

</comment><comment><USER25> The problem that I have with this thesis (that shipping culture is hurting us) is the results people have. You can certainly argue that a better result could be achieved by taking more care with your design, but it is unclear that in doing so you would have achieved something more "valuable" than you did by shipping and iterating.

I do agree with Gary Bernhardt that infrastructure is not getting the attention it deserves, but as we saw with GPG it isn't something that is easily funded. Sun paid an engineer who did mostly nothing but maintain xterm (and the Sun tools equivalent) for several years. Where are you going to find a sponsor for a new terminal? Current terminal code could be improved of course, but in so doing would you get better code? Better systems?

<comment><USER26> The thing is the "Think carefully and create deliberately" approach has been tried so very few times. But when we have tried it we've gotten Lisp machines, ACID RDBMs, strong typing, and many other important and very useful tools. I'd say it's worth a shot more often.

We know we're in a world of hurt now, but the argument against it is "oww. Devil we don't know!".

Math is hard, lets go shopping.

<comment><USER27> The "think carefully and create deliberately" approach has given us a lot more than that - there's also Smalltalk, Xanadu, Eros/E, NextStep, BeOS, microkernels, Plan9, Dylan, and General Magic.

A look at that list is pretty instructive for _why_ more people don't take the "think carefully and create deliberately" approach: by and large, the creators of those projects failed to profit from their inventions. In many cases, they wasted years of their life slaving away in pursuit of perfection, and the market didn't care. If you study any of the systems I mentioned, you'll find some incredibly elegant and beautiful CS concepts, ones I wish I could use for every-day programming all the time. But the problem is that none of these innovations exist in a vacuum, and in the time it took to perfect the product, the market passed them by and the world changed in a way that made them no longer relevant.

</comment></comment></comment><comment><USER28> People use mongo and node because they want to get a site up really really fast and see if it gets traction. When they actually get somewhere they'll rewrite it in a better language.

If you want to set yourself up with really slick tooling and a great language you can code in Scala with Intellij. You can even avoid touching any ugly dynamically typed stuff by coding your JS in scala.js. If you're doing it better than the other guys then great, you can code rings around them. Maybe it's not worth all the extra complexity when just starting out though.

When you get to big corp size code bases static languages are more common. That's because to be able to navigate and maintain that big of a code base, a good IDE, a static typing compiler and refactoring tools are a huge help.

<comment><USER29> > When they actually get somewhere they'll rewrite it in a better language.

Anecdata for you: Not necessairly. I'm working for a company which has "actually gotten somewhere", and our development team is still writing in Node with Mongo.

Of course, there is a reason for it, the front end development team has spare cycles, and the backend team does not. Ergo, Node!

<comment><USER30> I'm inclined to repurpose a cliche, and say that now your backend team has two problems!

</comment></comment></comment><comment><USER18> This is not just the last several years.

It comes from a slogan that was popularized by Eric S. Raymond some 18 years ago:

[http://en.wikipedia.org/wiki/Release_early,_release_often](http://en.wikipedia.org/wiki/Release_early,_release_often)

<comment><USER31> Or Guy Kawasaki, circa 2000

>>> Don't worry, be crappy. Revolutionary means you ship and then test... Lots of things made the first Mac in 1984 a piece of crap - but it was a revolutionary piece of crap.

</comment></comment><comment><USER32> It's a spectrum. Trying to ship a perfect software from the start will probably end up like OS/360 project. Then K&R came along and designed what we know now as unix. An OS that wasn't complete and fully featured like OS/360 was intended to be, but it worked!

Making the wrong choices is inevitable, but correcting them is part of the software life cycle.

We aren't working with concrete and building bridges here. If we built Pisa tower like software, we can still fix it.

So yes, ship when you can as long as it works and delivers what it promises. It doesn't have to be perfect.

<comment><USER33> Delays getting OS/360 were a blessing, really - it prompted many universities to develop their own mainframe OSs, thus helping OS research flourish around the world.

</comment></comment><comment><USER34> Reminded me of this essay: [http://www.jwz.org/blog/2012/08/a-generation-lost- in-the-baz...](http://www.jwz.org/blog/2012/08/a-generation-lost-in-the- bazaar/)

I don't think it's fair to attribute the issues he brings up to "shipping culture". Rather, the causes are two-fold:

1) Lack of appreciation for history, being doomed to repeat it, all that

2) Making anything above the level of 'just not-terrible enough' without a benevolent dictator is _hard_.

</comment><comment><USER35> The author's bit about how we forget about the problems and solutions of our forefathers - that resonates with me.

We do seem to keep re-inventing the wheel, and while part of that is out of joy of creation, I think a lot of that is that we're not writing down the problems, and we're not teaching the problems. We're only paying attention to solutions, and that's limiting.

Code is a solution to a problem, but it's not always apparent what that problem /was/ when you just look at it. So NodeJS (according to the authoer) is doing something that was thought of as a good idea at first, and then people learned why it wasn't, and /nobody wrote that down/. Or, at least, when they wrote it down, nobody taught it.

Solutions are /answers/, problems are /questions/. Here's a beautiful illustration of this dichotomy: [http://dead- logic.blogspot.com/2012/09/a-collection-of-quest...](http://dead- logic.blogspot.com/2012/09/a-collection-of-questions.html)

This is then part of why the TDD movement is in the right direction - <USER2> write down the problem you're going to solve, and later, someone can come read it. And maybe teach it.

(Not saying TDD has gotten "there", but it's in the right direction)

</comment><comment><USER36> While I agree with the facts in the article, my own conclusions are quite the opposite (feel free to downvote / flame, but please read the whole response first).

I guess it depends on values - for me, what matters is the value added to customer. Iterating quickly (often) yields better results in this area because it allows you to guess customer expectations early in development process. I have often encountered die-hard engineers who want 100% specification upfront... In my experience, world doesn't work this way. It would be nice if it did, but it doesn't.

And yes, I am guilty. I am using MongoDB AND JavaScript (but not Node.js - <USER3> that I have anything against it, just never had the need for it). I don't use these technologies because they are "cool", but because they solve specific problems in an efficient way. Which is probably why hackathon devs used them too. And yes, I would appreciate schema in MongoDB and types in JS, but I can live without it. Life is made of tradeoffs. Does it really matter if latest Fart App (tm) builds on transaction-safe DB and uses strong type language?

So, are we seeing a rise of "shipping culture"? Yes. Does it change how we work? Yes. Is it in some ways worse? Yes. Is it hurting us? No.

</comment><comment><USER37> Every time I see someone quote that JavaScript was designed in ten days I cringe.

JavaScript was designed in 1995. It was _standardized_ as ECMAScript in 1997. Ever since then, it's been under active development by a thriving community of engineers pushing for better standards.

It's been a bit longer than ten days.

<comment><USER38> _Ever since then, it 's been under active development_

What have been some significant changes to JS since it was thrown together by Netscape?

It seems to be largely the same trainwreck today that it was 15 years ago.

<comment><USER37> [http://en.wikipedia.org/wiki/ECMAScript#Versions](http://en.wikipedia.org/wiki/ECMAScript#Versions)

[http://kangax.github.io/compat-table/es5/](http://kangax.github.io/compat- table/es5/)

</comment></comment></comment><comment><USER39> An interesting read but poor tools can't only be attributed to shipping culture. A more important reason is the tools are good enough (only just, but that's enough) and at that point priorities change. And once momentum becomes big it's hard to change direction i.e. Javascript, so hard to revisit the fundamentals.

Better tools are coming, such as Lighttable / Bret Victor's talk: [https://vimeo.com/71278954](https://vimeo.com/71278954) . But it's not clear when they'll arrive! Will we still be developing web-apps in Javascript after another decade? It feels like we can do better.

</comment><comment><USER40> Seth Godin wrote that 5 years ago, i think (hope) the economics are shifting, in the last 5 years a lot of the omgcats apps (market opportunities that can be captured with lousy software) have already been written, i think it may not be so easy for companies started today. However with the pace of innovation in the last 5 years (basically the coming of age of functional programming) it's a lot easier for a single person to write high quality software.

Anyway common wisdom is always going to lag behind today's actual best practices

</comment><comment><USER41> All things in moderation..

To me, "ship it" as a philosophy means the most important thing we do as developers is deliver working code to customers.

On my team, when we encounter a concept that is just too complicated to ship right away, we try to branch-by-abstraction and keep shipping changes, even if the feature isn't "ready" yet.

To me, the marginal returns on trying to be right diminish more rapidly than the returns on making it easy to fix to stuff when I'm wrong. Maybe I'm just not as smart as everyone else here, but it seems to work.

<comment><USER42> It's more of a business necessity then a philosophical point of view.

The history of software development is littered with companies that failed because they spent so long polishing the beautiful crystal tower they were developing that someone released a concrete one instead and everyone bought that, and then no one needed a crystal one any more.

Unfortunately, it can be really hard to find out about these companies because of how hard they've been trodden into the ground by their successors, but Xerox and Netscape would be two high profile examples.

Shipping constantly may not be the best thing for technology, it may not be the best thing for quality and it may not, at times, even be the best thing for your users. But if you don't, someone else will.

</comment></comment><comment><USER43> While it is great using hyperlink to point readers to sources, it shouldn't become a substitution for actual words.

</comment><comment><USER44> The problem is that the Author is assuming that 90% of software we write to make a living is set into stone and suppose to run forever. Almost everything we do is disposable and replaced within the same decade.

So he does not like Javascript and Nosql. Is it hard to find a JavaEE job? I think not.

<comment><USER33> I think the real problem is the disposability attitude you just described. It's prevalent in our real world consumerist economy and it's killing us there too.

Building software that's to be thrown away is a waste of mental resources and physical resources. Society and civilization advances on top of our lasting creations, not the ephemeral ones. Reinventing the wheel doesn't advance the state of the art. You want to build one good set of tools that will last a long time, so you can stop thinking about them and be free to tackle the next truly new challenge. Doing anything else is just a waste of life.

<comment><USER44> wat? How can you even compare the "problems" of building commercial software to the problems of consumerism in capitalism?

The standards applied here are whack in the scope of what js and mongo are used for.

Also: You only get better by reiterating.

</comment></comment></comment><comment><USER45> I wonder if "hurtful shipping culture" has a parallel in the blogging world?

</comment><comment><USER46> honest question. do you guys want a piece of crap from me that illustrates a new application type? (the way bittorrent or bitcoin or napster or wikipedia was new?) or should I wait.

I don't have any resources to put into this but can release a piece of crap myself. (I don't personally program professionally.) honest question - discuss.

would you like a piece of crap - or for me to wait. (Nobody more competent is going to just code this for me, at least not until the piece of crap exists and has traction.) I don't really envision other options but am open to them. What should I do? Get it right (not happening) or get it out?

</comment><comment><USER47> I actually watched the screen cast this blog post is about. [1] And I would like to say something about that here, because the questions from the screen cast were also coined in the blog post.

The Question is this: "Why do people not replace VT100 style terminals?" There are two reasons. tl;dr Terminals have other reasons than programming in them and people actually reinvent how you can program on a daily basis. See more in depth arguments below.

The first thing is that people actually still need the old terminal stuff. There are loads of old computers you want to communicate with (just think of your pa trying to relive old times be trying to get the 80's game console to work). And there are also a lot of technologies that really need something that stupid, e.g., if you develop your own embedded system you might actually communicate with it using these VT100 commands. So yeah. Wow. A Terminal (emulator) doesn't have the task to show your text editor. You can start GVim if you just want to show your editor. They have the task to communicate. They can communicate with the system you are running them on or you can use them to communicate with another terminal. If you want to replace them, you have to replace the software in your pa's console (and probably some hardware), you have to find a new way to develop fresh, small computers, you have to find a new way SSH works, you have to find a new way to show your text editor. It's not impossible, but it's probably so hard that nobody would like to spend their whole life (work time, spare time, youth to death) doing it. It's not worth that much. Summary: It's not worth it, if you consider the whole picture.

And second argument: People actually do, if you just think about use cases like coding, gaming, etc. A modern game doesn't run in a Text shell as e.g. Nethack could. It runs in a graphical shell and is represented to you in 3D, e.g., GTA 5. Also there are many people who use IDEs. Unix+Bash+Texteditor was actually an IDE. Eclipse etc are a new way of thinking about the editing task with helpers like compilers, static analysers, debuggers, performance analysers, unit test runners, etc. There are even people who reinvent the programming wheel from another point of view, e.g., have a look at NoFlow. The reason the other stuff is not dying is because it's useful for other reasons. That doesn't mean you have to still use it for programming (also some people, like me, choose to). Summary: People do work on finding modern ways to program.

[1] [https://www.destroyallsoftware.com/talks/a-whole-new- world](https://www.destroyallsoftware.com/talks/a-whole-new-world)

</comment><comment><USER48> I would say Ship Often and A/B test. And before that, get really big test pool!

The first part to success is making it safe to fail

</comment><comment><USER49> The first two comments in the linked article are gold.

</comment><comment><USER50> im from tumblr and what is this

</comment><comment><USER51> Oh yeah, right - I forgot that we write code for the sake of engineering - <USER4> would you wanna get stuck in the shipping loop? ...

</comment><comment><USER52> I haven't tried Mongo.db, but Node.js takes up a lot of resources in a browser, Node.js apps feels a bit like the widest book strategy in the bookstore, you have to shove other stuff out of your browser, in order to use stuff that uses Node.js, and I feel that as a rather arrogant approach to deliver software, especially, when the functionality of Node.js apps doesn't really dictate the necessity.

AS for Javscript, there are worser languages out there, and the debuggers are good enough now, so it can be perceived as a "normal" language.

<comment><USER53> > but Node.js takes up a lot of resources in a browser

You must be confused. Node.js is used to run JavaScript on the server, not in a browser (the client).

<comment><USER52> That may be so, but when I run something with Node.js in my browser, then I may have to close other things. So, wherever it runs, it really uses too much resources, and therefore I find it as a bad idea from the consumer perspective. It shouldn't be so, that somebody else, should dictate the content of your browser.

<comment><USER54> Are you sure you know what node.js is?

<comment><USER52> The short definition would be: "node.js is something that eats up my browsers latency", something along those lines, and as far as I am concerned, that is everything I have to know about it. Node.js is a no stop for me.

<comment><USER55> Can you name some of those Node.js apps that have been causing problems for you?

<comment><USER52> PopcornTime is performing badly on my machine, I actually have to shut down the browser to use it, I usally have 50+ tabs open in it, -that I use.

<comment><USER56> Last time I ran Popcorn time, it didn't run in the browser. Has that changed?</comment></comment></comment></comment></comment></comment></comment></comment>


Obama Expands Surveillance Powers on His Way Out - <AUTHOR> https://www.eff.org/deeplinks/2017/01/obama-expands-surveillance-powers-his-way-out <comment><USER2> > However—and this is especially troubling—"if analysts stumble across > evidence that an American has committed any crime, they will send it to the > Justice Department," the Times wrote. So information that was collected > without a warrant—or indeed any involvement by a court at all—for foreign > intelligence purposes with little to no privacy protections, can be accessed > raw and unfiltered by domestic law enforcement agencies to prosecute > Americans with no involvement in threats to national security.

Sweet, Thanks Obama.

<comment><USER3> I feel like we are a living example of history repeating itself. 9/11 -> hysteria -> implement fear-driven tactics -> suppress rights -> profit.

I believe Obama has a created a fantastic movement based on his image and figure - classic American self-superation story. But when you dig into the details of the Obama years you can quickly see that he has been a gigantic letdown in a lot of basic things that I feel are important to the long-term well-being of the country (e.g. privacy rights, drone foreign policy etc.). In the end, I think Obama didn't end up being too different from any other politician.

<comment><USER4> I've felt like that for a long time, and I think Obama is partially to blame for Trump getting elected.

When he made the compromise he did with Hilary during his first election I knew then he was going to be a political creature (and I was behind him).

I don't think Obama will be noteworthy in history outside of being the first black president. Obamacare will not be noteworthy either unless it transforms into something more meaningful.

If you think about it, the praise he gets so often is that he's a "classy guy", that should say something. 8 years in office and him being classy is the thing people think of most when considering him?

<comment><USER5> Classy guy? Anyone is compared to the pres-elect. In his personal life perhaps. Every time he weighed in during an isolated racial incident before the public had all the information really did a disservice to the office. So much so that the current guy thinks it's fine to tweet about every little political gripe. Both have no problem being arrogant and divisive, so long as the base is happy. There's absolutely nothing classy about this cult of personality we're witnessing.

<comment><USER6> Obama must be compared to other presidents as well as to the popular notion of what a black man would/should be like as President.

It's pointless to compare Obama to Trump because Trump is not yet a President. That job changes you, and if there is a god, it will change Trump too.

<comment><USER7> There is no god.

</comment></comment></comment></comment></comment></comment><comment><USER8> This is a bad time to be a liberal. Let me explain.

On nearly the eve of handing over the country to Trump, Obama is laying the groundwork for policy that has huge potential to be abused. I am confused, because if anything you would think he would do the opposite, but I refuse to believe it was done to give him a noose to hang himself, but why?

Why is it a bad time to be a liberal? Because there is a good chance you will disagree with a lot of upcoming policy. But with this in place, criticizing your government or standing against tyranny could make you a target, one that is now easier than ever to trudge through an archive of your online life for anything remotely wrong, and prosecute you, retroactively, for it.

<comment><USER9> This is a thought exercise, not my opinion as it's too complex/conspiracy theory-ish and more the plot of a Tom Clancy novel, but what if Obama is expanding the power and handing the reins over to intelligence groups that Trump has sidelined? The NSA/CIA are fantastic at collapsing and running foreign governments -- why not ours?

<comment><USER10> That is an interesting thought.

We do know Obama (like most presidents) is pretty cozy with the Intelligence Community. We know Trump isn't. I think a coup d'etat or shadow government is too much of a stretch, but this may at least let them work around Trump to an extent.

Also, we're living in interesting times where thoughts like "the intelligence agencies are covertly trying to work around the President!" are actually considered a neutral or good thing by many.

<comment><USER11> I've heard rumors that a decent number of people will resign from their jobs in the Intelligence Community. This will allow Trump to appoint more political employees. I don't know if this is true or not, but Trump's relationship with those agencies might get less hostile.

<comment><USER10> Well, if the people who stick around are constantly clashing with the political appointments, things might get even more hostile.

</comment></comment></comment></comment></comment><comment><USER12> I guess we should have voted harder? 'Cause voting is the answer to problems with elected governments, right?

Right?

<comment><USER13> That's a bit of a straw man. Nobody says voting will get you the government _you_ want. I can't get any of my liberal friends (core Hilary voters) to care about surveillance. To the extent they're nervous about surveillance as a general concept, they trust Obama has struck the balance necessitated by what he knows about threats to the country.

Not everyone should vote. If your views are substantially outside the mainstream there is no point in voting.

<comment><USER14> I wonder if it would be better if voting cost a small amount of money, say $50 (everyone can easily afford to save $50 once every two years). That would encourage those who choose to vote to research the issue (if they care enough to pay $50 they likely care about the choices).

<comment><USER15> That's a poll tax, and in implementation is what is known as "regressive". That $50 is far, far more dear to some minimum wage single mom, than a CEO. That in fact is the objection to many of the voter IDs GOP states keep pressing for; the goal, as stated, is simply to prevent voting fraud, but the actually results are to disenfranchise the poor, who can't necessarily afford the $25-50 cost, nor can they afford the time off work to take public transit to a DMV (or similar) during the times they're open. Effectively, you're setting the bar higher for the poor than for the rich to vote.

<comment><USER16> > _That in fact is the objection to many of the voter IDs GOP states keep > pressing for_

Tangential, but this is a great example of a fabricated wedge issue in American politics. The solution is so simple, just issue everyone a free national ID card. Passports should be free too and could also double for this purpose. Then the Republicans can stop complaining about voter fraud and Democrats can stop complaining about voter disenfranchisement (the latter of these I am legitimately concerned about, I just wish someone would actually follow through and do something about it).

Also, it's ridiculous that there isn't a national holiday at least on the day of the presidential elections.

</comment></comment></comment></comment></comment><comment><USER17> Welcome to our dystopian future

In the UK Teresa May just passed the 'Snoopers Charter'(Data Retention and Investigatory Powers Act) which is at least as bad as this. Agencies like the 'Food standards agency', and 'Health and safety executive' now have powers to read your browsing history without a warrant. Somehow this is supposed to stop terrorism?

Now we have the 'Digital Economy bill' which is where the UK's 'Great Firewall' begins under the guise of protecting our children from porn.

Its Orwellian and it is disgusting. What is worst is how the press ignored it and the Corbyn opposition abstained from voting on it! I will never vote for a politician who did not vote against it, and that is a very small number!

<comment> angry-hacker Who were the brave ones? Small players? UKIP?

<comment><USER18> LibDems and SNP.

</comment></comment></comment><comment><USER19> As an ordinary citizen, I'm definitely wary and suspicious of government surveillance. I probably prefer a slightly increased risk of terrorism vs an increase in government surveillance powers. But I wonder if I was the president and faced with a constant threat and paranoia of a terrorist attack under my watch if I would compromise my own usual ideals to protect the country. It's definitely a rock and a hard place situation.

<comment><USER20> Honestly, given the near-unanimous stance, towards surveillance, of most governments in most developed countries (NA, EU, etc.) it's becoming increasingly difficult to dismiss their motivations as simply "stupid" or "misguided" or "power-hungry". I mean, it's impossible that all of them are uneducated about history (how surveillance is a double-edged sword that never fails to backfire), or just plain authoritarian at heart. "Because we can" isn't satisfactory either.

So there must be another explanation. I don't know what the Presidents / Prime Ministers / Intelligence Agencies of this world know, but if they all respond to current threats in the same inexplicable way, there must be some 'logical enough' underlying motivation.

Definitely pointing at a "rock and a hard place" indeed.

The other cold reality is that, for all the horror, terrorism isn't a threat to civilization, we're talking ~25k deaths/year worldwide (DoD/UN figures, cf. Wiki), which is orders of magnitude less than other threats like cancer or alcoholism or smoking tobacco (~2.5m deaths/year _each_). Terrorism is emotionally horrific, but demographically it doesn't even register. Nowadays it doesn't even really affect stock markets that much (e.g. in France, despite everything that happened in recent years). So based on the data we have as citizens, it doesn't make sense to spend so much (money, political capital, loss of freedom) to avoid so 'little' demographic/economic risk. Not saying we shouldn't fight against it, or protect citizens, but A) mass surveillance is a bad means to fight terrorism, good ol'fashionned spying is the way and B) the huge means (CIA etc.) are totally not proportional to the very risk we're trying to avoid.

So what's the _real_ reason for surveillance? What is it about Big Brother-ing citizens that is so necessary that the public does not know about? How is it even possible that after a decade and a half post 9/11 no official in any country ever talked about the _real_ reasons behind this apparent unbalance between counter-terrorist means and terrorism consequences?

I am everything but a conspiracy lunatic, so I don't accept the idea that people in power are organizing, all together, a dystopian reality a la 1984 --doesn't make sense to me.

So what gives? What are this rock and this hard place, exactly?

<comment><USER21> How is it inexplicable? When you're tasked with stopping individual suicidal extremists hiding within your citizenry, the obvious first step is "I need more information". There doesn't need to be any conspiracy or hidden threat, it is a natural and logical response.

Politicians aren't robots, obviously they care more about terrorism than tobacco. And they aren't spending political capital by setting up surveillance, they're gaining it. Obama took huge hits every time he said "ISIS is the JV", "terrorism isn't an existential threat", "chill out everyone". Imagine if he said he was diverting NSA funding to fight the tobacco industry.

Basically, if you don't understand politicians, talk to the people voting for them. The NSA exists because people want it to.

<comment><USER22> > When you're tasked with stopping individual suicidal extremists hiding > within your citizenry, the obvious first step is "I need more information".

How about using the information that they have in the first place instead? They knew about a few of the attacks in recent years and didn't do anything to stop them. It's obviously a power-grab rather than an attempt to actually solve the problem.

</comment></comment></comment></comment><comment><USER23> > "if analysts stumble across evidence that an American has committed any > crime, they will send it to the Justice Department"

This is troubling on many levels, but the one that concerns me the most is game theory.

We want people to pay taxes on criminal activity (because it's economic activity and uses services taxes pay for) without the tax authorities "narcing" on the source. IRS is doing the right think by not leaking Trump's tax info even if people within the IRS think the public have a legitimate right to know.

You are required to look after your kids yet you can drop off a baby you can't look after, no questions asked.

Hospitals have to treat patients no matter if they can pay or not, and no matter if they became ill due to criminal behavior because we don't want people with tuberculosis or Hep C wandering around (not to mention presumption of innocence).

Every time we add a "mandatory reporter" rule we actually endanger ourselves, so we should tread carefully.

</comment><comment><USER24> I voted for Obama twice. I feel duped.

<comment><USER25> I'm pissed, but I don't feel duped. But that's simply because no serious presidential contender, save maybe Bernie Sanders, would have done otherwise.

Well, maybe Trump. But I believe his distrust of the intelligence community is only due to the fact that he thinks their findings regarding Russia undermine his legitimacy. Once that blows over, I expect he'll be more than happy having the authoritarian tools of the intelligence community, if he's smart enough to heal the rift.

What blows my mind a bit is that the rise of Trump should make it crystal clear just how dangerous these powers could be in the wrong hands. Obama should understand this more than anyone.

<comment><USER26> There were many people pointing out the dangers of consolidating so much power into the Presidency over the last few years but most of them were told to shut up with their paranoia conspiracies and racist rhetoric.

<comment><USER27> It also didn't help that Congress is more and more doing absolutely nothing of substance. The last 8 years have been nonstop obstructionism, and the next 4 appear to be headed the same way. (note: this is not to say I agree with overuse of executive powers, I do not.)

<comment><USER28> Not sure why you think next 4 years will be the same... I think the next 4 years will be markedly different due to Trump leadership and Republican majorities in the House and Senate.

We're hearing about Repeal & Replace in January, maybe as late as March and voting has already started to lay the framework to allow passage with 51 votes in the Senate.

<comment><USER29> Regardless Obama expanded executive power more than any president in history. So even if Trump doesn't plan to expand it he has plenty to work with already. I doubt he'll reverse it other than streamlining bloated intel agencies.

<comment><USER30> He's pledged to reverse all of Obama's "illegal" executive orders... and I assume that, being a Republican, he considers all of them to be illegal.

Trump may not do so, but the Republicans seem to want to dismantle Obama's legacy as thoroughly as possible, and blot him and the effect of his presidency from history like Akhenaten. There would probably be a political cost to pay if Trump didn't reverse it, just on principle.

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> But why? I don't think Trump has a more privacy-oriented stance on surveillance, so what motivation does Obama have to still rush this in?

<comment><USER13> Obama is pro surveillance. Being President got rid of a lot of his initial idealism. Key was killing Osama, which probably cinched him a second term.

<comment><USER32> Except that, as I understand it, Osama was tracked down using "good ol' fashion HumInt", not surveillance. Obama's attitude toward intelligence gathering has been one of the more perplexing contradictions of his entire administration. All I can figure is there is some trusted figure advising him on these matters who has an agenda of some sort.

<comment><USER33> Remember that Obama has access to privileged information we don't. This could go beyond advising. There may be threats that are unsafe to discuss that he sees an urgent need to track down. I've seen many politicians describe the same thing - once they get security clearance, they see all these horrible threats... and it becomes very hard to explain the situation to the public, so they just give up on justifying it.

<comment><USER34> > There may be threats that are unsafe to discuss

Fear porn. Point to the scary unknown as a justification for X.

I tend to think our math teachers were right. If you can't show your work, then didn't do any. (Not an absolute but I lean heavily that way.)

> once they get security clearance

Or it could be that once they get authority, the intelligence community tries harder to scare the shit out of them. There's no way to know if Obama, for example, is getting more legitimate info. I don't buy off on it being safe to assume that he is. If you listened to the intelligence community they'd have you believing that everyone on your block is a lone wolf, bomb wielding, child porn collector. Or that the only reason we haven't had another 9/11 was because of the NSA's phenomenal cosmic power.

Is Obama getting more honesty from the NSA or is he getting more bullshit? We don't know. We only know that he's getting more something. Do you expect the NSA to say something other than "Boss, I'm doing good work"? Are they going to say "um, yeah, so, that big spy network we built... um... it basically doesn't do shit for us"?

The TL;DR is that it's not just the scary details he's getting access to but the high level political shenanigans too.

</comment></comment></comment></comment></comment><comment><USER35> "We kill people based on metadata"[0]

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

<comment><USER36> The first time I heard this, it really struck me.

Still gives me chills a bit thinking how inexplicably I could have matched meta data to people on a list they're actively seeking.

</comment></comment><comment><USER37> It sounds fourth amendment activists need to learn from second amendment activists and develop a bloc of voters for whom this is a key issue.

<comment><USER38> I completely agree with your sentiment, but privacy is a bit harder to sell-- guns are badass and cool to collect, privacy is geeky and suspicious. Another key difference is that the second amendment is big business (Smith Ruger & co stock went up >500% during Obama). There are big businesses that could get behind anti-encryption, but mass appeal is more difficult- perhaps at least until something spectacular happens.

<comment><USER39> Second Amendment supporters are often interested in the Fourth as well; I think you would find a very solid group of them (particularly those who concealed-carry, rather than just hunters) are strongly opposed to this sort of thing.

<comment><USER40> Right. I live in Oklahoma which has...a strong 2nd Amendment contingent. The OK state government is taking a lot of heat from the federal government for refusing to implement the Real ID requirements for state DLs.

I'm not a conservative, but I can see the reasoning behind it: they know very well that this is one important step towards building a national database of personal information (or more likely, augmenting one that already exists). Actually, I have found more on the right concerned about privacy, government surveillance, etc, than on the left because this concern naturally meshes with the right's "small federal government" stance.

Remember how Social Security numbers were "just for Social Security -- not any kind of personal identifier"?

But perhaps the left, which has just as much ability to be hypocritical as the right, will see the light starting...oh, say, 12pm on January 20.

</comment></comment></comment></comment><comment><USER41> He didn't care on the way in, why would he care on the way out? He voted for warrantless wiretapping.

</comment><comment><USER42> if it doesn't ensure accountability to the people its not democracy. There is now enough evidence that democracy is not serving the people and is increasingly looking like posturing and tokenism every 4 or 5 years while vested and special interests lobby everyday and capture the regulatory framework to further their interests. It has all the underpinnings of a ruling class.

Inspite of the Snowden revelations nothing has changed, no one is punished and folks like Clapper lie and get promoted. Obama may posture differently but he is the biggest supporter of security services and given his behavior against Syria and Russia an unrepentant warmonger.

Bankers tank the economy and are rewarded with bailouts in a country that worships capitalism and hates unearned benefits. And they get away lightly with attorney generals in one state after another unwilling to prosecute and more keen on fines which do not ensure any kind of proportional accountability.

This is not democracy as we understand it. 4 or 5 years is too long and there must be multiple processes along the way to ensure things are on track. Things like lobbying, revolving doors, political corruption and abuse of power, corporate interests over public interest and critical decisions around fundamental rights and war must be strongly secured with laws and processes that work.

</comment><comment><USER43> Question: In the last few years, how many such online petitions have resulted in some positive, effective action?

<comment><USER44> I would love to see some data on this. A lot of times people tell me that one way to solve social issues to get start some type of activism (march to the capital, start a rally in your town, etc). However, I haven't seen much data on the effectiveness of those things.

<comment><USER45> I would guess actually marching or attending a rally is much more effective than online petitions, because it shows people are already across the mobilization threshold.

Implicit in a march at the capital is "This many people could be _here_ with torches and guns". By contrast, people clicking online aren't very active.

</comment></comment></comment><comment><USER46> The effect of an attack like 9/11 is primarily nationalistic outrage, and a subsequent power-grab by whichever parties or individuals conduct their politics accordingly. Now ask yourself, which parties and/or individuals in American politics stand to benefit most from being handed a Mount-Everest- sized pile of nationalistic outrage, should another 9/11 level event occur? How much power would they try to grab? What would be the outcome for the US, and the world for that matter? Obama isn't acting on ideals, he's choosing a path in an ugly world.

</comment><comment><USER47> Well, are we surprised?

</comment><comment><USER48> Is there anyone left who actually believes that it's Obama who makes these decisions?

I find it amazing that nobody looks at Obama's insipid presidency as the main explanation for Trump's election. When Trump says "Russia? Everybody spies on us!", that resonates with people because they know it is the truth and no other politician says it so openly and so bluntly.

</comment><comment><USER49> Everybody in this thread should explain why they think what they are saying. I don't really know much about what Obama did or did not, but I'm not saying anyone providing me that information, just a bunch of people taking about their opinions. So I'd really appreciate if people could share their reasons for them.

</comment><comment><USER50> So same amount of information gathered but distributed among a larger group?

Can't decide if this is good or bad.

<comment><USER51> I honestly can't tell if this is supposed to be sarcasm or not.

<comment><USER50> its not :)

from what I understand intelligence agencies in some other countries work in this fashion: one agency does the "data gathering" and provides other agencies with information upon request. in theory, this means fewer agencies snooping in your private life and that there is some sort of gate keeper that limits circulation of data based on need-to-know.

so back to my not sarcastic questions: is this a good or bad thing?

<comment><USER52> I don't know but this sounds scary to me, we just went from threats to national security to any crime.

However—and this is especially troubling—"if analysts stumble across evidence that an American has committed any crime, they will send it to the Justice Department," the Times wrote. So information that was collected without a warrant—or indeed any involvement by a court at all—for foreign intelligence purposes with little to no privacy protections, can be accessed raw and unfiltered by domestic law enforcement agencies to prosecute Americans with no involvement in threats to national security."

<comment><USER50> okay, fair point.

I assume they still cant use the information in court but that really doesn't make it much better.

<comment><USER53> I'm sure this is where parallel construction will come into play.

</comment></comment></comment></comment></comment></comment><comment><USER54> My comments are systemically removed from hacker news because they are critical or the government.

<comment><USER55> I'm sorry, but creating new accounts just to violate the guidelines isn't OK. The bar for participation on Hacker News is civility and substantiveness. We've detached this comment from [https://news.ycombinator.com/item?id=13392542](https://news.ycombinator.com/item?id=13392542).

[https://news.ycombinator.com/newswelcome.html](https://news.ycombinator.com/newswelcome.html)

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment><comment><USER56> Too bad there isn't a focus on expanding the openness of how many rights are being violated by surveillance.

I can understand why Obama is so pro surveillance. When you belong to the minority spectrum that has already made it past the point where surveillance will only help.

I just wonder what minority is going to face more of a struggle to get to the point where Obama's minority now is in history.</comment>


List of Usable HTML Meta and Link Tags - <AUTHOR> https://gist.github.com/kevinSuttle/1997924

<comment><USER2> Awesome!! Thank you!</comment>


Minimum Wages vs. Universal Basic Income - <AUTHOR> http://www.huffingtonpost.com/scott-santens/minimum-wages-vs-universal-basic-income_b_7957850.html

<comment><USER2> I like the idea of a minimum income, but there are issues to resolve. What stops landlords and businesses from profiteering on the $1000.00 monthly checks?

In the case of landlords, what stops them from charging $1000.00 rent per person in an apartment? Do we need to create Kibbutzim to house the people collectively to prevent exploitation?</comment>


Google "Hexadecimal" or "Binary" and look at number of results found. - <AUTHOR>

<comment><USER2> Only works with Octal and Hexadecimal for me.

</comment><comment><USER3> No trinary :(

<comment><USER4> I tried "Ternary," no luck either way.

</comment></comment><comment><USER5> Octal as well.</comment>


Ask HN: How does "shutting down" a gov website save money? - <AUTHOR>

Alot of US government sites are directing to a status page today, such as data.dov or nasa.gov. Obviously the hardware and such is still in place, ready to be re-enabled. I fail to see where they would be saving money by taking this action.<p>Is there any way that this is actually saving money? Maybe on bandwidth? Electric usages? <comment><USER2> It's not that it saves money, it's that if the people who manage it aren't allowed to work, it's super dangerous to leave a website up. What if it gets hacked/compromised in some way, and employees are literally not allowed to take it down/fix it/whatever?

</comment><comment><USER3> Shutting down the government, and the websites, isn't in any way about saving money.

It's about holding us hostage.

It's a power play: attempted extortion.

It's a childish temper tantrum, the kind a two-year-old throws when told "No."

</comment><comment><USER4> I believe that the reason that many government sites have gone dark is because most of them have a large amount of dynamic content that relies on some amount of human oversight which cannot be provided currently. Switching to a static page is much easier and cheaper than providing warnings/removing links to content that will not work during the shutdown.

<comment><AUTHOR> Yeah, some have gone that route: [http://www.ed.gov](http://www.ed.gov). Just put up a notice and leave everything accessible.

Others aren't redirecting, but are unavailable: [http://nces.ed.gov/ipeds](http://nces.ed.gov/ipeds)

</comment></comment><comment><USER5> The salaries of the people working there.

<comment><AUTHOR> I can understand that website won't be updated, but that doesn't seem to be a valid reason to completely redirect it to an 'offline' page. Servers keep working without anyone there to press buttons.

<comment><USER5> Any sufficiently large website doesn't run on autopilot or just servers, they require functional organizations/companies/whatever.</comment></comment></comment>


Google's Nest Stops Selling Smart Smoke Alarms Over Fire Safety Concerns - <AUTHOR> http://www.ibtimes.co.uk/googles-nest-stops-selling-protect-smoke-alarms-over-fire-safety-concerns-1443344

<comment><USER2> > "Nest can remotely disable the Wave feature"

How can I be 100 % sure that the "just beep when smoke" feature can't be remotely disabled without my notice?

Intelligent home appliances are nice and all, but when the lives of your family depend on it, I'd rather be on the KISS side.

<comment><USER3> How can you be 100% sure a bus driver won't crash into you when you're crossing the street?

Would you therefore avoid streets?

<comment><USER4> What are the chances some anonymous kid will cut the brakes just for giggles? 0.

What are the chance sone anonymous kid will cut your fire alarm just for giggles? Pretty high.

Just take a look at 4chan and Reddit messing with people's internet security cameras.

<comment><USER5> When I was a kid someone slashed the tires and cut the brakes of all the school buses. Even if it was to get out of school, that's a very fine line between "just for a giggles" so while the probability may be small it's certainly nonzero. I would put the probability of your two identified events at closer to each other than you'd both expect and hope.

</comment></comment></comment></comment><comment><USER6>
      Nest has stopped selling its smart smoke alarms after it discovered a flaw
      which could prevent the timely detection of fire.

      the company is not aware of any customers who have experienced it

this is disingenuous. you would expect this feature (detect fire and save your life) to be used by a tiny, tiny percentage of customers. the fact that nobody's experienced the failure does not make this situation any better.

it's like selling a car with a broken airbag. "well, it's not caused me a problem, I don't see the issue ..."

(I'm not criticising Nest, they're doing the right thing. I'm saying it's bad journalism to throw that in the article as if that mitigates things)

<comment><USER7> How is this disingenuous? How else is the reporter supposed to explain that this issue has not been experienced by any customers?

<comment><USER5> In an ideal world, the same way the person you responded to did (hopefully via Nest themselves). "Nest is not aware of any customers affected by this flaw though they stress/admit that this is potentially due to the relative rarity of home fires."

</comment></comment></comment><comment><USER8> I felt smoke alarm was un-natural product for Nest, but again they were the men in arena and its their company - much respect there. I was anticipating something like a device that lets timing for water heater and calibrate the temperature etc. but I guess there are just too much variety of water heater systems for that, but it would be cool and reduce gas bill and in a true nest fashion would pay_for_itself.

But this device also show-cases how bringing "smartness" into safety devices is fraught with risk and in the case smoke detector the convenience is not worth the economics. The Nest thermostat was true win-win value proposition - where as the Smoke detector is just not that.

</comment><comment><USER9> That's very responsible of them. Even if it means lost sales, it seems a right thing to do, and may ultimately give them a good PR.

</comment><comment><USER10> Is there any more information on what exactly the problem was? From the article it is unclear if this is a pure software bug, a UI problem, or something else.

<comment><USER11> More here [http://www.ft.com/cms/s/0/83e63a02-bb7c-11e3-8d4a-00144feabd...](http://www.ft.com/cms/s/0/83e63a02-bb7c-11e3-8d4a-00144feabdc0.html) (registration required)

Basically the wave to disable alarm feature is too aggressive, and other movements can disable it.

<comment><USER12> I remember when the smoke detector was first on HN. Some people saying wave to disarm was a great feature and some were saying it was a terrible feature.

I guess terrible won out. It is still a scary feature to me in concept, even if it wasn't broken. This is a safety device, it shouldn't be easy to disarm.

<comment><USER13> Old smoke detectors had this feature. You just take the battery out. I have to do this to one of mine every time we use our broiler. I'm sure I'm not the only person who ever removed a battery an forgot to replace it for awhile. At least the nest feature is temporary.

<comment><USER14> _> Old smoke detectors had this feature. You just take the battery out._

The feature was having the detector _unknowingly_ disabled. A better analogy would be the batteries in your smoke detector running out.

<comment><USER13> My understanding is that it's temporarily disabled by the wave. Is that not the case? It's still an issue if a fire starts and you aren't alerted for 20 minutes but I'm curious.

</comment></comment></comment></comment></comment></comment><comment><USER15> Question: If this was a simple fix (disabling Wave) for a convenience feature (waving instead of having to reach and hit a button), then why are they stopping sales? It would seem logical to update all unsold devices to disable Wave and continue on with sales.

Safety concern, slightly. Nest has made note that this feature have never been compromised yet (then again, its the one time when the Wave does fail that caused a huge issue so this point is null). Also, the Wave feature does not affect the detection of smoke, only the resulting alarm.

I think there is something else going on here. Possibly a more serious safety hazard. If a software update can solve the Wave issue, then why the stopped sales? If there are stopped sales, why not a more serious email/note or a recall?

</comment><comment><USER16> Aww that's sad. What I liked about the Nest smoke alarm was that I could check which of my various houses was on fire, right from my smartphone. Ugh, guess will have to wait for version 2.0.

</comment><comment><USER17> _sigh_ I just ordered one of these and was really looking forward to it :(

As a safety device, it's a no brainer - I have to return it until it's rock solid. I can't knowingly replace my existing smoke detector with one which has the potential to under perform.

<comment><USER18> As a safety device, it performs to the standards that are expected. The issue is with a "feature", which lets you silence the siren in situations where the alarm is a false one. The siren can still be silenced by pushing the button.

<comment><USER17> > it performs to the standards that are expected

The company have said it doesn't - there is a potential that the device will not alert when smoke is detected because of a false positive when detecting waving. The feature actively affects the performance if the device which is why it is being disabled.

</comment></comment></comment><comment><USER19> Now this is a good April Fools joke (albeit a little late)</comment>


How to make a minimalist user interface design intuitive - <AUTHOR> http://www.whitegloveapps.com/2010/07/18/intuitive-minimalist-user-interface-design/

<comment><USER2> The reason fans go 0,3,2,1 is so that the motor receives full power when it is starting up, and thus gets to the desired speed faster.

Equipping them with a microchip to provide intuitive behavior would add cost, leading to less overall satisfaction, and wiring the panel "correctly" would make the fan take longer to do its job leading to less overall satisfaction.

<comment><AUTHOR> Thanks for the mechanical expertise! I guess this is an example of how virtual systems have less limitations than mechanical systems, so virtual-system interfaces can be more intuitive.

Can you explain further why "wiring the panel 'correctly' would make the fan take longer to do its job?" Would the fan take longer to get up to speed?

<comment><USER2> Actually, it's an example of when it's wise to sacrifice intuitiveness for an economic benefit. I don't see any reason to believe that "virtual" systems are somehow exempt and there is obviously a cost in making something "intuitive".

The answer to your second question is a first-year calculus problem: Voltage=acceleration to some limit, which you can plot as angles over time across time and speed. It might be fun to work a protractor and some graph paper to see how it would differ with more than three settings.

</comment></comment></comment><comment><USER3> I don't know- the Polar monitor sounds pretty unintuitive to me. It could work well if the non-button actions (such as moving the watch close to the strap) are communicated effectively and are implemented perfectly, but if not, I can see a lot of confusion.

I think those two things (communication and implementation) are what makes Apple's interfaces great. As an example, the iPhone's touch screen is good enough that it almost always does what you expect- which was huge compared to other touch screens at the time the phone was introduced. I remember trying out an LG touch screen in the store, and it felt like using the iPhone screen through a thin layer of mud. Even if their interface was simple and easy to use, a few misinterpreted presses would exasperate new users.

As for communicating features, I think Apple's commercials do a good job of showing how the devices are used. Granted, it's easier to explain interfaces when they are minimal...

<comment><USER4> _I don't know- the Polar monitor sounds pretty unintuitive to me. It could work well if the non-button actions (such as moving the watch close to the strap) are communicated effectively and are implemented perfectly, but if not, I can see a lot of confusion._

I find one button interfaces that trade buttons for time to be confusing and unintuitive. The only way to operate them is by staring at them until they show the desired action. You can't adjust it without looking at it at all (which may or may not be desired depending on the use case). If you happen to miss the target action, you have to wait until the full cycle goes through again. Sometimes they make it so you have to hold down the button to cycle and then release when you see the thing you want--if you miss it, you can't just release and start over, because releasing is going to select the wrong action. This may not be the definition of unintuitive but it is the definition of annoying and inconvenient.

I had a pager back in the 90s that was billed as being easy to use because it only had one button. But it took forever, considering the actual complexity of pagers, to cycle through all the actions--and pagers only have like three actions on them anyway.

<comment><AUTHOR> I agree that one-button interfaces can be frustrating for the reasons you mention. What makes this one work for me is its anticipation of what you'll want to do next. For example, the sequences are designed so the most likely action comes up first. And there are only a few possible actions, so if you want a less-used one, it's not hard to get to it.

For a more complex device like a pager where there are many options you might like to do at any given point in the menu structure, I see how just one button would make the user experience worse.

</comment></comment></comment><comment><USER5> I have the Vornado fan you discuss. I agree that the design of the dial doesn't make sense, but the fan itself is reliable and high quality. Sometimes you have to overlook interface issues if they don't affect the overall usability of the product.

<comment><AUTHOR> That's true: if you don't have to use the interface that often, a good product design can make up for it. But if you were turning the fan on & off several times a day, it'd probably get annoying!

</comment></comment><comment><USER6> What apps have whitegloveapps made? Didn't see any links on the website.

<comment><AUTHOR> Thanks for asking! We're developing our first app now, a shopping app for smartphones. We'll post about it on our blog and HackerNews when it comes out.

<comment><USER6> Cool! Looking forward to checking it out.

<comment><AUTHOR> Awesome! Please leave your email address on any page on <http://www.whitegloveapps.com>, or email me at Jeremy (at) WhiteGloveApps (dot) com, and I'll keep you updated with our monthly newsletters.</comment></comment></comment></comment>


Revert the GitHub dark header - <AUTHOR> https://github.com/DennisSnijder/MakeGithubGreatAgain <comment><USER2> Have to say, when I saw the dark top-bar, I presumed it must be part of another go-dark internet protest about something, and wondered why there was no announcement.

Glad to see I can get rid if it (in Chrome at least).

<comment><USER3> Open the Console in developer tools and paste this in document.querySelector('.header').classList.remove('header-dark') Credits: [https://www.reddit.com/r/programming/comments/5t9bnd/github_...](https://www.reddit.com/r/programming/comments/5t9bnd/github_just_changed_the_upper_navbar_to_black/)

<comment><USER3> Only works once tho on a page, just use when you're like, that's distracting, go away for a sec.

</comment></comment></comment><comment><USER4> I really dislike the dark header - it draws attention away from the content and towards the nav because the contrast is so great.

<comment><USER5> I remember when Google search stopped using underlines on their search result links... I couldn't stand it. Now I'd probably have the same reaction if they switched back.

</comment></comment><comment><USER6> Github should have used the eBay approach where you gradually alter your look to avoid triggering revolt. Fade the banner from light gray to dark gray over the period of a few months!

[https://articles.uie.com/death_of_relaunch/](https://articles.uie.com/death_of_relaunch/)

> At eBay, they learned the hard way that their users don't like dramatic > change. One day, the folks at eBay decided they no longer liked the bright > yellow background on many of their pages, so they just changed it to a white > background. Instantly, they started receiving emails from customers, > bemoaning the change. So many people complained, that they felt forced to > change it back.

</comment><comment><USER7> Mark Otto (@mdo) said that the `header-dark` class will be going away soon [1], so we can't be sure how long this extension will still be working.

Personally, I like the dark bar, though at first it was confusing since the dark bar is usually associated with GitHub Enterprise.

[1] [https://twitter.com/mdo/status/830149416556191744](https://twitter.com/mdo/status/830149416556191744)

<comment><USER8> This is my main issue with the new header. Now I'll have to get used to not being to distinguish between the two anymore.

</comment></comment><comment><USER9> I use this GitHub theme for Stylish, which makes GitHub so much better.

Stylish makes the most sense, because it is a CSS-only solution. Using javascript for this sort of thing is hackish.

[https://userstyles.org/styles/37035/github- dark](https://userstyles.org/styles/37035/github-dark)

<comment><USER10> The latest Stylish update in chrome introduced tracking btw. It now "calls home" by fetching the "recommended styles for this site" even when the popup isn't open. You can check the network traffic in the `background.js`.

Here's a greasemonkey script I'm using: [https://gist.github.com/Zren/8726ccca22659baaeb055fd0258df76...](https://gist.github.com/Zren/8726ccca22659baaeb055fd0258df76f)

<comment><USER9> Is this true on firefox, as well? I use firefox.

<comment><USER10> Don't think so. I think the Firefox store has different rules and/or a different maintainer.

[https://addons.mozilla.org/en- US/firefox/addon/stylish/revie...](https://addons.mozilla.org/en- US/firefox/addon/stylish/reviews/)

</comment></comment></comment></comment><comment><USER11> Human eyes focus differently on dark on white vs white on dark. The new dark header induces switch strain as well as focus issues (for humans). [http://ux.stackexchange.com/questions/53264/dark-or-white- co...](http://ux.stackexchange.com/questions/53264/dark-or-white-color-theme- is-better-for-the-eyes/53268#53268)

</comment><comment><USER12> I like the new header tho - jet black / blue is a good look.

</comment><comment><USER13> For those curious about the announcement:

[https://twitter.com/mdo/status/830138373230653440](https://twitter.com/mdo/status/830138373230653440)

</comment><comment><USER14> Isn't the check `if(host == "github.com") {` redundant because you have it in the manifest anyway?

</comment><comment><USER15> More than anything, I'm curious about the reasons behind the change?

</comment><comment><USER16> For a minute there I thought something happened in the world that I was not made aware of. I didn't see Hacker News change their bar so it was just an unexplained github style change.

</comment><comment><USER17> I like the dark header. Wish they make an optional dark theme.

<comment><USER18> I much prefer dark themes, but I find the new header really ugly and clashing with everything else. A full dark theme could be cool, though. Just changing the header is lazy.

</comment></comment><comment><USER19> Can someone explain what the dark header is?

<comment><USER20> Previously Github's navbar used to be black icons on light gray, and today it turned into light icons on black navbar.

<comment><USER21> It still is for me. This is the new web reality where everything is only eventually consistent and at any given point in time you're being A/B tested on some bullshit idea.

</comment></comment></comment><comment><USER22> What I want is a way to properly disable mobile mode, and disable the YOOGE "switch to mobile" header.

I want to see the full README and the code, not the irrelevant stuff cluttering the mobile page.

</comment><comment><USER23> for anyone that doesnt know, there is already an extension called "dark reader" that makes every page dark:

[https://chrome.google.com/webstore/detail/dark- reader/eimadp...](https://chrome.google.com/webstore/detail/dark- reader/eimadpbcbfnmbkopoojfekhnkhdbieeh)

theres really no need to make a separate extension for every website, unless you are trying to make a statement

</comment><comment><USER24> I don't like the dark header. But StackOverflow changed its header from dark to white and I don't like it either.

That makes me so confused about my likes.

</comment><comment><USER25> More JS processing my page? No thanks.

</comment><comment><USER26> This is my favorite product in the world right now.</comment>


Ask HN: Has a better product failed due to lack of marketing? - <AUTHOR> Looking for examples where someone has built something better, some kind of alternative to an already existing product where it failed because founders didn't have enough for marketing. <comment><USER2> So much of enterprise software is awful and successful because of "industry standard" brand recognition, platform integrations, and buckets of money to outspend upstarts.

Salesforce is a prime example, which until Lightning rolled out in earnest late 2017/early 2018, had UI and UX that killed productivity (and employee happiness). There were and still are tons of alternatives that are better to use, however, can't unseat the giant. Platform is a huge reason for this, however, is only one factor.

</comment><comment><USER3> How about this?

[https://en.wikipedia.org/wiki/Airbus_A220](https://en.wikipedia.org/wiki/Airbus_A220)

Bombardier made a "clean sheet" plane (composite materials, geared turbofan, fly-by-wire, ...) that competes with the 1967-era 737. This plane would be cheaper to operate over the long term than the 737, be much quieter around the airport, use less fuel, generate less pollution, etc. Boeing offered a 70% discount to airlines to stay with the obsolete 737.

Long term passengers will suffer on a less comfortable plane and pay for increased operating costs with higher ticket prices.

In the end the plane got bought by Airbus because Airbus has the marketing power to not get bullied by Boeing.

</comment><comment><USER4> This is the example that I conveniently use to say that marketing is important: [https://www.kickstarter.com/discover/advanced?term=login&cat...](https://www.kickstarter.com/discover/advanced?term=login&category_id=16&sort=most_funded&page=1)

Most KS campaigns in the login/2fa space have failed. I let you evaluate the quality of the products, but I'm sure many of these would be valuable.

(Disclaimer: I was part of the first one, that succeeded. We didn't spend much dollars in marketing, but we did invest a lot of time working on messages, keywords, benefits vs features, etc.)

</comment><comment><USER5> Firefox OS, possibly they came with all-in PWA/Cordova/Electron apps concept too early with all the native craze of that time, plus barely anybody has heard about it outside of the geek-sphere.

</comment><comment><USER6> VHS vs Beta ....

I suspect the better question is: has a lesser product won out because of marketing?</comment>


Comparing Aggressive Driving Habits of Super Bowl Fanbases with Automatic - <AUTHOR> http://imgur.com/snm6yYj <comment><USER2> Haha, SF drivers are worse than everyone.</comment>


Becoming your story - <AUTHOR> http://josephwalla.com/becoming-your-story

<comment><USER2> I was actually thinking about this today asking myself how often you have to tell yourself who you are until you become that person.

It's a kind of positive feedback loop. Until I started research at university I used to just do enough to pass well. When I started doing research I started enjoying it much more and consequently started working more. I became a hard- working person, both to myself and others. And this in turn led me to work even harder (also when it wasn't so enjoyable).

Same goes for other things like sports, community service, etc...

</comment><comment><USER3> This is something I myself have noticed. Most people just want to live a story; they don't care whether or not it's a success story or a tragedy- either is better than being boring.

</comment><comment><USER4> This reminds me of the Coué method: [http://en.wikipedia.org/wiki/%C3%89mile_Cou%C3%A9#The_Cou.C3...](http://en.wikipedia.org/wiki/%C3%89mile_Cou%C3%A9#The_Cou.C3.A9_method)

I noticed this pattern too, but doubt that it is healthy. It might help reaching goals but at the same time it distorts your perception of reality quite drastically. This again, can become very dangerous.

"serenity now - insanity later"

</comment><comment><USER5> Solid piece. Having the right mindset will go along way for achievement. It will subconsciously guide you to making better decisions and give you the motivation to keep going when things get tough.</comment>


Six-Legged Giant Finds Secret Hideaway, Hides For 80 Years (2012) - <AUTHOR> http://www.npr.org/blogs/krulwich/2012/02/24/147367644/six-legged-giant-finds-secret-hideaway-hides-for-80-years/

<comment><USER2> Previous discussion: <http://news.ycombinator.com/item?id=3651551> (1138 points, 456 days ago, 176 comments)

<comment><AUTHOR> Wow! At least I submitted something that interests HN...

ISL: 251 days ago

</comment></comment><comment><USER3> I wonder what they taste like.</comment>


The Artificial Womb Is Born (1996) - guard-of-terra http://www.nytimes.com/1996/09/29/magazine/the-artificial-womb-is-born.html <comment><AUTHOR> This article is a flat out copy paste of the original New York Times article.

[http://www.nytimes.com/1996/09/29/magazine/the-artificial- wo...](http://www.nytimes.com/1996/09/29/magazine/the-artificial-womb-is- born.html)

edit: An article from 1996, I might add.

<comment> guard-of-terra Updated the submission with year. Can't change url!

</comment></comment><comment><USER2> The entire post seems to be a copy of the source from NYT in 1996. I wonder what advances have been done in this field from that date to now? Not much on wikipedia ([http://en.wikipedia.org/wiki/Artificial_uterus](http://en.wikipedia.org/wiki/Artificial_uterus))

<comment><USER3> Entirely different - but the first successful uterus transplant recently occurred. Unfortunately, she lost the baby at 8 weeks.

[http://www.rawstory.com/rs/2013/04/12/worlds-first- successfu...](http://www.rawstory.com/rs/2013/04/12/worlds-first-successful- uterus-transplant-recipient-is-pregnant-via-in-vitro-fertilization/)

[http://shine.yahoo.com/healthy-living/womb-transplant- patien...](http://shine.yahoo.com/healthy-living/womb-transplant-patient- derya-sert-loses-baby-211659723.html)

</comment></comment><comment><USER4> 'The World of the Matrix' involves a lot more than artificial wombs.

Regardless, it is nice that one day, hopefully soon, men will be able to start their own (biological) families - just as women are able today.

<comment><USER5> Huh? How do women start their own "biological" families today? I guess you mean genetic?

If so, no women can't do that today, and artificial gestation alone won't allow men to do it . Women still require a sperm donor, and (with artificial gestation) men would need an egg donor.

Regardless, I agree that within our lives people will be able to start their own "biological" families as most of the barriers are just engineering barriers.

<comment><USER4> Yes I mean with donor sperm.

<comment><USER5> But then men can do the same thing today .. with a donor placenta (surrogate mother) & a donor egg.

Artificial placentas alone change nothing for _men_ who want their own children, other than potential cost savings.

<comment><USER4> Using a surrogate mother puts you at the mercy of her whim. She may decide to keep the baby, thus forcing you to pay massive child support. For wealthy men this is extraordinarily risky.

</comment></comment></comment></comment></comment><comment><USER6> I'm not sure why this article has been published in 2013; it seems to stem from the late 1990s, with it's speculation on the widespread use of technology 'by 2000':

"I wouldn't want to push back the gestational age limit," Shaffer says. "I want to eliminate the damage." He says he believes that this technology may become the standard. By the year 2000, these techniques may be available in large centers"

Picking one of the researchers named in the project (Yoshinori Kuwabara) suggests that the article originates somewhere between 1997 and 2000.

[http://www.mhhe.com/biosci/genbio/olc_linkedcontent/bioethic...](http://www.mhhe.com/biosci/genbio/olc_linkedcontent/bioethics_cases/g-bioe-17.htm)

\- describes his artificial womb technology from 1997 \- published in 2000 but indicates that the researcher has died

<comment><USER2> This is also from Kuwabara (1987): [http://www.ncbi.nlm.nih.gov/pubmed/3619696](http://www.ncbi.nlm.nih.gov/pubmed/3619696)

And some follow up research I think:

[http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3054922/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3054922/)

</comment></comment><comment><USER7> Not sure what's going on with the title, but the matrix was released in 1999

[http://www.imdb.com/title/tt0133093/](http://www.imdb.com/title/tt0133093/)

so I'm not sure just how an article from 1996 could reference the movie.

I guess I'm being too pedantic here:)

<comment><USER8> The linked article was published last year, although the entire article body is copied from a 1996 NYT article titled "The Artificial Womb Is Born". Case closed...

</comment></comment><comment><USER9> Anyone has any idea about how far this research is nowadays?

The applications could be life saving beyond neonatology:

\- Pregnant women being diagnosed with illness that would threaten the baby.

\- Pregnant women being diagnosed with illness for which the cure would threaten the baby.

\- Pregnant women in very serious accidents (mother dying, such a device could save the baby).

\- Infertile couples not wanting to use a surrogate mother.

\- Like "alexeisadeski3" said, gay couples wanting to have a baby (but then, which one gets to be the biological father?).

In the crazy science department, this would render the cloning of extinct species more viable. Unfortunately, it could also reduce the hurdles to create genetically modified beings.

<comment> guard-of-terra What's wrong with creating genetically modified beings? Some of my genes blow and I don't want to pass those on children.

</comment></comment><comment><USER10> I can see this happening one day. Hopefully it will be a way for otherwise- aborted foetuses to be routed to appreciative infertile couples.

</comment><comment><USER11> More like the last episode of the 1988 TV show Max Headroom, " _Baby Grobags_ ".</comment>


YouTube receives HTML5 1080p playback, testing new Flash features - <AUTHOR> http://www.theverge.com/2011/11/22/2580113/youtube-html5-1080p-flash-new-features

<comment><USER2> Has anyone else huge problems with YouTube's HTML5 player on the desktop? You can test it out if you activate it at <http://youtube.com/html5>. Be sure to watch a video without ads, only those will use the HTML5 player.

I'm running OS X Lion and Safari and I get stuttering video and awful performance. This doesn't happen to me with any other HTML5 video player.

<comment><USER3> Do you have Perian installed? Does <http://www.youtube.com/html5> report that Safari supports WebM? If so, then what you're seeing is YouTube preferring WebM over h.264, even though h.264 decoding is hardware accelerated rather than the software decoding that Perian's WebM support provides. You can try temporarily disabling Perian, relaunching Safari, and then watching a video again to see whether the performance is more in line with your expectations.

<comment><USER4> Oh dear, _that_ is what it is? That's why HTML5 videos have become all but unusable on Youtube as of late and I have to fallback to Flash, of all things?

<comment><USER3> Yup. It's really unfortunate.

I prefer to opt out of YouTube's HTML5 mode and use the YouTube5 extension to achieve a similar effect. It also has the added benefit of avoiding the Flash player on videos where YouTube chooses not to use the HTML5 player.

</comment></comment></comment></comment><comment><USER5> Does anyone have any links to 1080p videos that work with the HTML 5 player.

Here's one that only seems to work with the flash player <http://www.youtube.com/watch?v=qb7zjKkLCoQ> (Glee - Rumour Has It)

<comment><USER6> <https://www.youtube.com/watch?v=K87lrT0gUCY>

</comment></comment><comment><USER7> This is the second article I see with these information. The 1080p playback is in for many months, though. Captions and annotations are newer, but also available for at least some weeks now.

</comment><comment><USER8> So the only added feature is that it is in 1080p WebM / HTML5 combination? (Since H264/HTML5 1080p was already available)</comment>


Create a Heatmap of Geocoded IP Addresses with Rails - <AUTHOR> http://mikeorr.info/posts/4-create-a-heatmap-of-geocoded-ip-addresses

<comment><USER2> Instead of using geocoder and fetching the info from a 3rd party web service, you could use a local installation of the geoip database from maxmind and the geoip-c gem.

<https://github.com/mtodd/geoip>

<comment><USER3> Maxmind's database is 1) huge in filesize 2) not as extensive as some 3rd parties (like Google, Yahoo, and Bing), and 3) updated monthly which adds another task to your workflow.

Given that the example use is to track where clicks are coming from, those three sound like dealbreakers.

</comment></comment><comment><USER4> This is great, but why oh why do people still use HAML over SLIM[1] as their templating language?

% is unnecessary, and I find slim's attribute handling far superior to clunky haml, and to top it all off slim compiles faster than haml.

1: <http://slim-lang.com/>

<comment><USER5> Arguing about HAML and SLIM is pretty useless. Easy to write, hard to read. Plain old ERB for me any time.

<comment><USER6> Plus it's an extra dependency and a narrowing filter for hiring.

<comment><USER7> Extra dependency that I buy. But narrowing filter for hiring? Seriously? Any web developer should be able to pick up any of these templating languages (as well as CSS preprocessors such as less, sass etc) in less than a day.

<comment><USER6> You overestimate the ad-writing and interviewing skills of companies.

<comment><USER8> And once a recruiter gets a hold of those buzzwords, it becomes a fixed requirement</comment></comment></comment></comment></comment></comment>


Ask HN: What do you do to keep your mind from going into negative thoughts? - <AUTHOR> <comment><USER2> I was in a very dark place for almost all of 2019 and on and off for a few years before that. I dropped out of academia after spending 10 years pursing a career there, my marriage ended in disaster, I fell in and out of bad drug use, I was suicidal at some moments, etc. I feel like finally, I am in a good place.

To start, I was very lucky to find a good therapist during the end of my marriage. While it didn't pull me out of the depression entirely, it gave me the tools necessary to continue to work on my well-being after I couldn't see her anymore. If you are able to seek therapy, I suggest doing so and trying to find one you are comfortable with.

Along with therapy the following things have helped:

1) I shifted my goal from trying to remove negative thoughts to being able to better process them. Meditation helps in this regard.

2) Eating healthy and exercising makes me feel better in general and helps me process negativity, and it gives me the energy to stay focused on things that make me feel better.

3) I've made an attempt to foster kindness and empathy. This has paid off. I find myself less angry in general. Selflessness is an undervalued virtue in our individualistic societies. Volunteer work is a good place to start. I was able to find an organization that was dear to my heart, it was focused on homeless veterans (I am a veteran) and it revolved around exercise.

4) Cut social media out of my life.

5) Got rid of my news junkie habits. Rather than bombarding myself all day with the headlines, I set aside an hour or so each morning and only read quality sources, The NY Times, The Wall Street Journal, The Economist.

<comment><AUTHOR> Thanks for sharing this. 4 and 5 really to contribute to negative thoughts

</comment></comment><comment><USER3> Accept things as they are. Appreciate what we do have.

Reminds me of a zen story:

A Zen master, Ryokan, lived a life of simplicity in his hut near the mountains. When he was away one night, a thief broke in only to find nothing worth stealing.

Just then, Ryokan returned. "You have travelled far to visit me," he told the burglar. "I cannot let you return empty handed. Here are my clothes, please accept them as my gift."

The baffled thief took the clothes and vanished.

Naked now, the master gazed at the moon. "Poor man," he sighed, "How I wish I could give him the moon."

</comment><comment><USER4> Antidepressants.</comment>


Show HN: Rebuild the Google Plus iPad App timeline purely with CSS3 - <AUTHOR> http://timeline.9elements.com/

<comment><USER2> Nice! Looks great...

</comment><comment><USER3> awesome! great stuff! thx4sharing</comment>


Review my computer vision on the web article (now with a live demo) - <AUTHOR> http://raphaelcruzeiro.com/blog/2011/10/17/extending-python-with-c-using-opencv-on-the-web/

<comment><AUTHOR> I wrote this article last year but only now I've set up a server with a live demo. The ideia for this article came when I was studying OpenCV and C extensions for Python and I decided to create a small proof-of-concept to see how I could use this on a real app.</comment>


Google IPOs at $85 a share: Troubled stock debut to go ahead Thursday (2004) - <AUTHOR> https://edition.cnn.com/2004/BUSINESS/08/19/google.ipo/ <comment><USER2> > _Top rival Yahoo!, by way of comparison, has a market value of about $39 > billion. Most analysts have argued that Yahoo! should trade at a premium to > Google since it is a more diversified company._

Well that didn't age well.</comment>