Israel's 'Iron Dome' changes the face of battle - <AUTHOR> http://www.washingtonpost.com/world/middle_east/israels-iron-dome-changes-the-face-of-battle/2014/07/10/578c779e-0868-11e4-8615-4eddc1f1cffa_story.html <comment><USER2> As a programmer and person in high tech, I'm in awe of the Iron Dome. The speed with which it has to make decisions, and with which it does so, and the number of rockets that it has knocked out the sky, demonstrate what an amazing piece of technology this is. I've been programming for a long time, but still can't begin to imagine the complexity of the calculations that these systems are doing, and how well they've managed to pull it off.

As an Israeli citizen whose home is in the range of the Hamas rockets, it's hugely comforting to know that this technology has been deployed. I'll be teaching a Python class in Tel Aviv tomorrow, and while I can basically expect that Hamas will be sending a bunch of rockets aiming to kill me (or anyone else they can), I'm happy to know that our interruptions will likely be annoying and frustrating, rather than lethal.

As an Israeli citizen who doesn't want to see our foot soldiers in Gaza (for a very large number of reasons), I'm also happy that Iron Dome gives our government time before sending them in.

The situation with Gaza, and with the Palestinians, is a pretty bad one, although I remain optimistic over the long term. For now, though, anything that reduces the threat of rockets that Hamas is sending at us strikes me as a good thing.

<comment><USER3> Perhaps you should re-watch the Star Trek episode A Taste of Armageddon wherein a country engages in a sanitized war and the effect that has on their ability to find real, sustainable, long-term solutions.

<comment><USER2> An interesting point, even if that episode depicts something quite different from our current situation. I don't think that HN is quite the place for such a discussion; I'd be happy to take it offline, and explain my viewpoint as well as hear yours.

Believe me, I have a huge amount of criticism for the current Israeli government. I voted for opposition parties. I disagree with a large number of their policies, most of which have nothing to do with the Palestinians.

But I have nothing but praise for a government policy that results in fewer civilian deaths. Those might have long-range, unexpected effects, but less death is a good thing, I'd like to think.

Indeed, I would encourage all governments -- including that of Hamas in Gaza, which isn't exactly an enlightened democracy -- to spend time and money on ways to protect their people, and avoid death, injury, and destruction.

Given that Hamas has a stated policy of killing as many Israeli civilians as they possibly can, and that they have worked to achieve that goal to the greatest possible degree, I can only express delight and gratitude that Iron Dome exists, and that it is effective.

</comment></comment></comment><comment><USER4> The software design is particularly interesting. I recommend this article: "Typical command-and-control software for military gear is highly customized and hard to modify. The key to MPrest's success, Barak says, is that the command-and-control software is simple and modular, so customers can quickly adapt it without reprogramming. The Israeli army was able to recalibrate Iron Dome batteries almost immediately, without a software rewrite, when Hamas fighters began to fire longer-range missiles.[1]"

[1] - [http://mobile.businessweek.com/articles/2012-11-21/how-to- st...](http://mobile.businessweek.com/articles/2012-11-21/how-to-stop- missiles-the-company-behind-israels-iron-dome)

<comment><USER5> From the article: "Microsoft's Windows and .NET architecture make up the base layer of the system .. The same basic technology is being used for civilian purposes, including for a vehicle fleet management system"

This raises two questions:

1\. What is the commonality between missile defense and fleet management ?

2\. How does a system that is most likely real-time run on windows/.net ?

<comment><USER6> I would imagine that .Net is used on the control and targetting systems on the launcher I can't imagine they are running a .Net implementation on the actual missiles computer.

<comment><USER5> True. But still , doesn't it need rapid, guaranteed response times?

</comment></comment></comment></comment><comment><USER7> Wow, what an unbalanced article! No mention of casualties on the other side. Disgusting one-sided coverage. I am really disappointed in the Washington Post. Bad job. I find that Israeli news sources like Haaretz are more balanced re: the middle east than the US news is - strange. Al Jazeera is another reasonable source for middle east news. Forget about US news coverage of the middle east.

As an American, I find I often feel the need to use something like news.google.com to find articles on any given story from many countries around the world to get a more balanced view. This is a practice that I have introduced to several friends and family members, and once they make the little bit of effort to look at world wide coverage they understand my complaint about the US news industry.

In our modern world, I think that it is at least ill-advised, if not dangerous, to live in a _bubble_ and not read many opposing opinions on important events.

<comment><USER8> So I agree one sided articles are generally very bad in regard to difficult situations like this. But in my opinion that is because they try to illicit sympathy for that particular side. However, in this case.. the post seemed to be about a new cool technology.

Perhaps it was just me but at the end of this article I felt drawn to neither side. The only thoughts I had on the matter were, "Man that is cool. Its too bad people have to be in harms way for such technology to get funding, but thanks for pioneering the simplest versions of the tech we need to stop asteroids".

<comment><USER9> >However, in this case.. the post seemed to be about a new cool technology.

So the article is little more than a straw man to divert from the real atrocities being committed by the Israelis' in Gaza today. And that is entirely the point of the OP - that this article is little more than a technocratic diversion to feed the fetish of a homogenous target group, rather than real reporting on the issue.

<comment><USER10> Why is everything an Israeli conspiracy?

<comment><USER11> Because if this stuff were happening anywhere else, people in the Western world would be genuinely upset about it.

<comment><USER12> Good point - I want to know how long Washington or London would wait before wiping off whichever opponent was sending missiles at them.

<comment><USER9> Depends if Washington or London were facing a humanitarian crisis of epic proportions on account of repressive blockades from a neighbor. I'm quite sure Washington or London would be sending missiles towards any country promoting invasion, destruction of hospitals, repression of the general population ..

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Of note:

""The Iron Dome system and its impressive success thus far have had a strategic impact on managing the campaign. It gives us wide options," said Defense Minister Moshe Yaalon. "Having said that, we cannot become complacent.""

Reminds me of when I first read many years about the potential paradox of using a firewall and security - that it also meant you couldn't ignore individual security settings (turning off ports and services) on machines behind the firewall assuming that the first line of defense was sufficient.

<comment><USER14> How is that a paradox?[1] I fail to see the contradiction in putting up a defense and yet remaining cautious. Did you instead mean that it is ironic? I don't find it ironic or paradoxical, but I think irony is closer to the word you're looking for.

Taking one precaution and yet remaining cautious is rather common. We wear seat belts, yet drive carefully. We practice good hygiene, and yet get vaccinations, etc.

[1][http://en.m.wikipedia.org/wiki/Paradox](http://en.m.wikipedia.org/wiki/Paradox)

<comment><USER13> I don't know but I think _it is_ a paradox.

Here is why:

You put up a firewall to make you secure. So you should be secure. But by putting up a firewall you fail to secure something else or you are lax in another area of security. Because you think "it's been take care of. So I see it as a paradox. Although it could be ironic if someone put up a firewall but then was hacked because of something they didn't do thinking they didn't need it if they had a firewall. That would be an irony.

</comment></comment></comment><comment><USER15> The "Iron Dome" will not change the current situation in a way that, say, political negotiation will. It's really frustrating to watch the same process play itself out. Throw a few more bombs in, stir the ashes (so to say) and repeat in 2 years. Is the ongoing plan to degrade the operational capacity of Hamas _just so_ that they cannot seriously threaten? Does the Iron Dome entail perpetual open warfare?

It's clear that Israel is doubling down on automation and military technology so that the war can grind on from an increasingly safe distance. They have the tiger by the tail and they cannot let go! So, lock it in the closet, behind domes and fences, etc.

I would _hate_ being stuck in Gaza right now. Can you imagine? What a shit- show. There is no "dome" there, naturally. The bombs come flying in with ease. And it seems like 50/50 that there will be a ground invasion. Supposedly Egypt has the tunnels to Gaza sealed. Maybe Israel thinks this is the time to completely smash Hamas. All this is something to think about while you sit in a basement, for days.

<comment><USER6> This is pretty close to my summation to my gf the other evening

"Every few years Hamas launches rockets at Israel, Israel then uses the opportunity to smash the crap out of Hamas for a few days while "international concern" grows, at a certain point Israel stops the attacks, the international community claims a victory and Hamas gets a bloody nose, nothing changes and it all happens again in 2-3 years"

I suspect sometimes I'm too cynical..then I read the news.

<comment><USER16> > Hamas gets a bloody nose

Is Hamas even a target anymore? In 4 days Operation Protective Edge took the life of 114 people, 88 of which were non combatant civilians [1]. They even managed to destroy a centre for disabled people. [2] That's a quite a big margin of error for one of the most advanced armies on the planet.

[1] [http://www.sunherald.com/2014/07/11/5693711/gaza-death- toll-...](http://www.sunherald.com/2014/07/11/5693711/gaza-death-toll-climbs- as-israeli.html)

[2] [http://www.theguardian.com/world/2014/jul/12/disabled- palest...](http://www.theguardian.com/world/2014/jul/12/disabled-palestinians- unable-escape-israeli-air-strike)

<comment><USER17> What people never mention is that they only target the sites that rockets get launched from. It's a cheap propaganda win for Hamas to launch rockets from football stadiums and hospitals.

</comment></comment></comment></comment><comment><USER18> This scenario, were the population in control has nearly magical technology compared to the nearly useless technology available to those under occupation, reads to me like a dystopian future that is usually written about in science fiction.

I wish the scenario playing out here was a blip in history one rather than one that festers for decade, after decade, after decade without significant positive change.

</comment><comment><USER19> From a regional warfare perspective the relative success of Iron Dome mitigates the use of stand off offensive technologies. This forces the combatants to develop alternative delivery strategies. When there is a lack of control on the ground, IEDs and operator delivered munitions seem to be the next step, but that works poorly when there is a functioning police/local military presence.

Given the constraints, I suspect the next standoff weaponry will become drone based. Something flying fast enough and high enough to be immune to small arms fire, but low enough to keep out of the kill zone of anti-air and anti-missile defense.

</comment><comment><USER20> Video summary of the Iron Dome system: [http://www.businessinsider.com/how- iron-dome-works-video-201...](http://www.businessinsider.com/how-iron-dome- works-video-2014-7)

The only part which sounds odd is the "human factor" claim near the end. AFAIK the system is fully autonomous once deployed and does not require a human to decide whether or not to launch an interceptor missile.

</comment><comment><USER21> the oppressed people on the other side now engage in a financial war. for the price they would build one rocket with explosive payload, now they can build some 4 dummy ones. making the invading state pay 20k x3 more than before. while also recruiting more people, who would be averse to the violence before.

<comment><USER22> A long-range rocket without a payload is probably still pretty expensive.

Edit: Let me rephrase—"probably not much cheaper."

<comment><USER23> Not really. These are improvised rockets made of steel pipes and welded sheet metal fins. The propellant is fertilizer (smuggled from Egypt, usually), and sugar.

[http://www.spiegel.de/international/world/graveyard-shift- fo...](http://www.spiegel.de/international/world/graveyard-shift-for-islamic- jihad-a-visit-to-a-gaza-rocket-factory-a-531578.html)

</comment></comment></comment><comment><USER24> Building defense at the cost of numerous innocent lives out there in Palestine. Collateral Damage is a means to achieve this. What i find more interesting is that Israel is using Hamas as a cover to clean-up the complete Palestine state. It would have been justified if the casualties were adults, real Hamas members and not kids, women.

</comment><comment><USER25> If a smaller kid is throwing punches at you but you are able to avoid being hit by holding him at arms length, is it acceptable to throw punches with the other arm?

<comment><USER26> If a smaller adult is swinging a knife at you, and you're able to mostly avoid being hit by the knife by holding him at arms length, is it acceptable to respond with force to disarm the knife-wielding lunatic?

Yep.

<comment><USER27> You're conveniently ignoring motives here. If the lunatic adult is wielding a knife because (he claims that) you took his house and land and started living in it and don't want to leave, then do you still think it's acceptable to hit him? It seems to me that you're oversimplifying the situation. Nothing is black and white, and certainly not the Israel-Palestina conflict.

<comment><USER28> I think ende was also oversimplifying the situation, though.

</comment></comment></comment></comment><comment><USER29> I'm impressed by how good of a job Israel does at painting itself as the _victim_ despite being the perpetuator of 50 years of ongoing occupation.

<comment><USER10> The 'occupation' of course being the existence of Israel.

<comment><USER30> Nice try but no sale. The occupation being the land taken by Israel in the 1967 war.

<comment><USER31> what about the land stolen from the Indians in america? why not give their land back??

Every country in the world is the making of occupation, if you want your land back, don't shoot rockets, that simple.

<comment><USER32> You gotta admire the utter delusion of people using the "give it back" argument. Islam is a religion that spread through military conquest and massacres. There is no such thing as a square meter on this planet where islam spread peacefully.

So can we please give back all the land ? Of course, there would be nowhere for muslims to live at all, least of all Palestina. It was not arab land, it was not muslim land. Nor was Jordan, Syria, Saudi Arabia, or Egypt. Can we give back the land, kick out everybody who currently lives there.

The truth is as sad as it is obvious : nobody is clamoring for the land to be given back because ... they're all dead. Egypt was mined for "black gold" (slaves for muslims). Anything south of the delta was black in ancient times. Carthago (Tunisia) was filled with black people. Mined to death. Palestine, in ancient times, was filled with Jews (as everybody knows I guess), and so was Saudi Arabia. Before that ... we don't really have any data, but given the location of the region, I would imagine it changed hands many times. Iraq was a nation of Indians, not arabs.

I find it hard to believe people using arguments like that can be reasoned with at all. The utter absurdity of it.</comment></comment></comment></comment></comment>


Richard Feynman on The Value of Science - <AUTHOR> http://www.hal.rcast.u-tokyo.ac.jp/~drebes/value.html

<comment><USER2> A decent read, but I much prefer his "Personal Observations on the reliability of the Shuttle" [http://www.ranum.com/security/computer_security/editorials/d...](http://www.ranum.com/security/computer_security/editorials/dumb/feynman.html).

It's of a lot of interest beyond simply the direct information about the space shuttle, mainly because of its discussion of reasonable risk taking, how to measure very remote probabilities, and the potential for a large disconnect between engineering and management with regards to safety measurement. And then of course it's about the space shuttle, so that's awesome.

</comment><comment><USER3> Science is what we know. Technology is what we can do.

What's on the other side of our ignorance? What novel things can be created out of matter? How can we ensure that new discoveries and inventions are safely brought into society? How can we do this to change things for the better?

This is why I'm a programmer.

I can't wait to see where these new technologies, the computer and the net, will take humans. I excited to be alive today.

Don't forget the fundamentals.

</comment><comment><USER4> Feynman in action: <http://youtube.com/watch?v=HKTSaezB4p8>

<comment><USER5> And here he is in a more serious context: <http://youtube.com/watch?v=zSZNsIFID28></comment></comment>


Great data visualization of who follows whom by Bloomberg - <AUTHOR> http://www.bloomberg.com/politics/graphics/2015-who-republican-candidates-follow/

<comment><USER2> Would love to get the in-degree and out-degree of each node and calculate the PageRank of each individual, see who is the most influential? Anyone know where one could acquire the data used by the authors of this article?</comment>


'Trotsky' Is an Icepick to the Heart of Soviet History - <AUTHOR> https://foreignpolicy.com/2019/02/17/trotsky-is-an-icepick-to-the-heart-of-soviet-history/ <comment><USER2> Pretty sure it should be an ice pick to the head...

<comment><USER3> Deep

</comment></comment><comment><USER4> This reads like a HuffPost review.</comment>


Node v4.0.0 - <AUTHOR> https://nodejs.org/en/blog/release/v4.0.0/ <comment><USER2> The io.js fork and subsequent merge back into Node.js, including the birth of the Node Foundation, has been one of the best examples of the power of open source I have ever seen in action.

The situation went from bad, to worse, to the best possible outcome, and that's remarkable to say the least.

Congratulations to everyone involved and thank you for the hard work.

<comment><USER3> As somebody who uses Node only at the periphery of my role (for things like the Zombie browser, and SASS parsing) the massive instability has put me off from relying on it for anything core.

Documentation is quickly out of date, libraries seem to have incompatibilities which only become obvious when they don't work, there's no 'recommended' approach for even basic tasks.

I won't pretend I'm speaking for everyone, as clearly there are lots of people doing great things with Node. However, it doesn't seem to be a language like Ruby or Python where I would feel comfortable using it for a small but important project.

I'm always grateful to everyone who works on open source projects, but I wouldn't hold Node up as a great example of the open source community.

<comment><USER4> I mean, Ruby was created in 1995, Python in 1991. Node was first released in 2009. That's not an entirely fair comparison since, of course, _JavaScript_ was created long before Node, but Node introduced the language to a new environment, and a lot of complications needed (and in some cases, still need) to be sorted out.

As for no recommend approach - that's deliberate. I don't think most people working on Node _want_ a Rails equivalent.

<comment><USER5> > I don't think most people working on Node want a Rails equivalent

It wouldn't really be possible anyway. Async programming is hard and the shortcuts one can take with synchronous Ruby are impossible with Async Javascript. Nodejs has a "fibers" lib though , but it doesn't look like it is widely popular, but AFAIK it is the only to truly abstract async programming.

<comment><USER6> Try bluebird's Promise.coroutine, I use it everywhere and it works great.

[https://github.com/petkaantonov/bluebird/blob/master/API.md#...](https://github.com/petkaantonov/bluebird/blob/master/API.md#promisecoroutinegeneratorfunction- generatorfunction---function)

<comment><USER7> Or if you want to use native promises, I threw this together

[https://github.com/Dashron/roads-coroutine](https://github.com/Dashron/roads- coroutine)

</comment></comment></comment></comment></comment></comment><comment><USER8> Alright, now everybody stare at ffmpeg and libav!

<comment><USER9> Don't forget about bitcoin core and bitcoin-xt! People are screaming bloody murder about that, it will be very, very interesting to see how it plays out.

<comment><USER10> There are many ways a large fork can go in an open source project. A great description of the io.js/node split is: [https://news.ycombinator.com/item?id=8884874](https://news.ycombinator.com/item?id=8884874)

"Lets hope the spork gets spooned so that no projects get knifed. If not then I guess we have to hope for a knork so we don't get stuck with a couple of chopsticks."

</comment></comment></comment><comment><USER11> Here is a timeline diagram showing how the LTS and Stable branches will work:

[https://nodesource.com/assets/blog/essential-steps- lts/nodej...](https://nodesource.com/assets/blog/essential-steps- lts/nodejs_lts_schedule.png)

From this NodeSource post:

[https://nodesource.com/blog/essential-steps-long-term- suppor...](https://nodesource.com/blog/essential-steps-long-term-support-for- nodejs)

</comment><comment><USER12> What happened with the version numbers? I could have sworn Node was on v0.10 just a couple of months back?

<comment><USER13> A group of contributors got tired of Node not using semver when the rest of the ecosystem does (among other gripes). They forked it and shipped io.js v1.0.0. In keeping with semver, they bumped the major version number on every breaking change. According to iojs.org, the most recent version is v3.3.0.

Joyent and the io.js team reconciled and merged their codebases, maintaining everyone's versions. Since io.js had used versions 1 - 3, the merged version number is 4.

<comment><USER14> No api stability promises before 1.0 is technically part of semver. It sounds like io.js should have stayed below 1.0 if they broke backwards compatibility three times in less than a year!

I always found the naming-and-proclaiming of semver in the javascript community silly. Old style C libs have been doing what semver describes for decades, and while the js community talks it up like crazy, the compatibility and stability is terrible (and as a result they find the need for private recursive sub-dependencies, and the resulting thousands of unique libs/copies is impossible to audit or patch).

<comment><USER13> The Node library is massive, and tightly coupled to V8. The changes that bumped the major version weren't major changes for most people, just for those who happened to be using the parts of the library that changed. Maybe that's a deficiency in semver (or the way io.js used it), but going to v4 in one year isn't as unstable as it sounds; it's just following Chrome's example of not caring how big the version number gets, so long as the semantics make sense.

I believe the io.js community was in the "ship or get off the pot" camp, and found it silly that Node was a critical piece of infrastructure at firms like PayPal while still technically not having had a GM release. By forcing the issue, they got Joyent to commit to major version changes twice a year, which sounds like a reasonable compromise between everything-changing-all-the-time and we-can't-have-new-things-because-legacy.

<comment><USER15> It's a good argument for adding another level in addition to semver: A human- oriented release number.

After all, when a project goes from 2.0 to 3.0, you expect something big to have happened -- not just some breakage.

Some projects use release names (e.g., Ubuntu and Android), but if every project starts using release names we'll have a lot of (mostly silly) names to deal with on a daily basis. Plus, there's no inherent ordering in names.

</comment></comment></comment></comment></comment><comment><USER16> "In parallel, we will be branching a new Stable line of releases every 6 months, one in October and one in April each year."

Nice, they're syncing up with the ubuntu release cycle. Should make updating servers a bit easier.

<comment><USER17> Presumably, this means Ubuntu will always be one release behind...

</comment></comment><comment><USER18> Guys, does V8 still deoptimize on ES6 features? For example, would using say const/lets in a function prevent V8 from optimizing it as a whole? That was the case some time ago when these features were still under a flag.

<comment><USER19> Can I ask for a link on that? Thanks!

<comment><USER18> The one readily available on search: [https://github.com/petkaantonov/bluebird/wiki/Optimization-k...](https://github.com/petkaantonov/bluebird/wiki/Optimization- killers#2-unsupported-syntax)

Otherwise the fact that engines bailout on optimizing ES6 features was kind of common knowledge when engines started to implement them.

</comment></comment></comment><comment><USER20> This is great news. I'm especially excited about the new ECMA6 features (arrows, etc.)

<comment><USER21> Yeah, this is rad, as I imagine there's some overhead to running the transpiled babel ES6 code compared to running the native ES6 features. At least some things may be faster - I remember lexical block scoping (let and fat arrow) causing perf issues in traceur.

Now I just need to be able to rely on these features being present in the browser so I can just write native ES6 everywhere and skip that build step entirely.

<comment><USER22> Not just performance overhead, but also the overhead of maintaining and configuring the extra bits of toolchain.

</comment></comment></comment><comment><USER23> ES6 support is nice, especially if there is no performance hits for using ES6 features. I slightly prefer Typescript, but the extra language features in ES6 really make JavaScript development more fun for me. Thanks to the newly re- combined Node team!

<comment><USER24> Good news for you: ES2016 will support optional type annotations, clearly inspired by TypeScript. The idea is we shouldn't need a damn transpiler just to get the features most people want out of a language...

<comment><USER25> Interesting, can you give a link? I tried to find it, it's not here [https://github.com/tc39/ecma262](https://github.com/tc39/ecma262) Only mention is "Typed objects" but that is not TS-like annotation.

</comment></comment></comment><comment><USER26> When node supports `import` how you'll import node modules?

I hope it works like this

        import {readFile} from 'fs';
        import {clone} from 'lodash';

rather than explicitly providing "correct" URL to the modules.

EDIT: edited the syntax.

<comment><USER27> You'll be able to achieve that behaviour when node also supports destructuring.

        import { readFile, writeFile } from 'fs';
        import { clone } from 'lodash';

<comment><USER26> oops I forgot the braces! ok then, it's cool. I'm happy it does resolving to node_modules and all that automatically.

<comment><USER28> It's just syntactic sugar for `require`, mostly. The import mechanism should behave the same.

</comment></comment></comment></comment><comment><USER29> This is crazy fast shipment..almost scary that you have to start keeping up with all the changes..

For anyone who wants to upgrade either from node 0.12 or iojs 3.30..all you have to do is re-install it with the GUI installer and you're good to go..for your personal computer at least!

<comment><USER30> `nvm install v4.0.0` and you're ready to go.

<comment><USER31> nvm install 4.0 works, do we really need the "v"?

<comment><USER32> Since it's the first and only release so far in 4.x.y, I got away with `nvm install 4`. ;)

<comment><USER33> Using `stable` is also another way.

      > nvm install stable
      v4.0.0 is already installed.
      Now using node v4.0.0 (npm v2.14.2)

<comment><USER34> nvm maintainer here: this is true - but please use `node`, since the concept of "stable" and "unstable" has died with the advent of node v4.0 using semver.

All node versions are now stable, and version numbers now communicate breakage, not stability. As it should be.

</comment></comment></comment></comment></comment></comment><comment><USER35> Excited to see this happen so soon. I was expecting it to take a bit longer.

I see it's still shipping npm v2. Any news on when npm v3 will be "production- ready" and the default version?

<comment><USER36> npm@3 "will be leaving beta very soon!" according to the release notes for 3.3.2.

</comment></comment><comment><USER37> Does anyone have a good source of information about the major changes between Node and IO? I haven't kept up with the community recently and I'm curious as to what the delta really is and what merging IO back into Node will mean practically.

<comment><USER38> The largest is a pretty big update to V8, it was one of the biggest features of iojs.

</comment></comment><comment><USER39> When I first saw the post about the two combining, never did I imagine it happening this fast. Congrats!

</comment><comment><USER40> I might stay on 0.12.7 for a few months to let everyone work out the issues first.

<comment><USER41> That's probably the smart approach, in general, other people make awesome guinea pigs.

</comment></comment><comment><USER42> Exciting to see node moving so quickly

</comment><comment><USER43> This marks a big day for Node - one which I and many others have been patiently waiting for, and one which still hasn't quite hit me yet :)

Big thanks to all those who made this possible!!

</comment><comment><USER44> so now which apt repository to I use for node going forward?

<comment><USER45> Don't. I don't think Chris Lea is updating his anymore.

Wget the tarball and tar -C /usr/local --strip-components 1 -xvf <tarball>

<comment><USER46> Not so, Chris Lea's PPAs are now part of Nodesource:

[https://github.com/nodesource/distributions/#installation- in...](https://github.com/nodesource/distributions/#installation-instructions)

<comment><USER45> Oh wow! Didn't know about this. Awesome.

</comment></comment></comment></comment><comment><USER47> I wonder how fast AWS will adopt it on Lambda?

</comment><comment><USER48> Hoping all the main distros include this release as soon as possible in their main repos.

<comment><USER49> I hope not. Many libs are still not compatible with that.

</comment></comment><comment><USER50> > ARMv6 32-bit Binary: Coming soon

Is there more information on what's holding back this build?

<comment><USER51> The fact that the little Raspberry Pi building it is still...well, building it! :)

[https://ci.nodejs.org/job/iojs+release/168/nodes=pi1-raspbia...](https://ci.nodejs.org/job/iojs+release/168/nodes=pi1-raspbian- wheezy/console)

It does look like it's very nearly done though, given that it's tar'ing stuff up at the moment.

The decision was made not to wait for it here - [https://github.com/nodejs/node/issues/2522](https://github.com/nodejs/node/issues/2522)

<comment><USER52> Should have used a high-powered Scaleway server as advertised on HN a few days ago :-P

</comment></comment></comment><comment><USER31> the iojs site mentioned nothing about the merge as I checked yesterday, neither does nodejs site, which is a bit odd.

the new version number is using iojs instead of nodejs's existing version scheme, which is interesting too.

I just began a php device-configuration-management project and was strongly persuaded by a senior php developer that I should use nodejs instead, as he thinks nodejs _is_ the future and many big guns are using it for real deployment(netflix, linkedin,paypal...), just in time to try the fresh nodejs release for the new project.

<comment><USER53> > the new version number is using iojs instead of nodejs's existing version > scheme, which is interesting too.

Well, its a follow-on to both pre-merge iojs and pre-merge nodejs, and has breaking changes to both, so the most SEMVER consistent version number is the first major version greater than the greater of pre-merge iojs's last version number and pre-merge node's last version number -- which is exactly what they chose.

</comment></comment><comment><USER54> Finally a stable release. Thank You Node Foundation.

<comment><USER55> Just curious - what makes it "stable"? We've tried 0.12, then went back to 0.10 for stability reasons.

<comment><USER56> No software is bug free, but AFAIK Node v4 was very thoroughly tested in a vast array of platforms and configurations, which provides certain degree of certainty, when talking about stability.

At any rate, if you ran into issues with 0.12, the best you can do is give 4.0 a go and report issues!

<comment><USER57> If you're concerned with stability, the best thing you can do is wait for the LTS release to come off the 4 branch.

A quick glance at outstanding issues will show a number of integration bugs are still outstanding, and the new v8 was landed only a few days previously - incompatibilities with new versions of v8 can take a while to surface in node.

It's important to remember that semver makes _no promises about stability_. While we're used to "N.0" meaning "stable and ready for upgrade," that's a non-semver idea that is explicitly disregarded in the semver release model. Node moving from 3.* to 4.0.0 only indicates that there are breaking changes(1).

If you have concerns about stability, you should take signals on that from the node LTS group, and pick LTS releases.

1 - whether or not this is good, bad, or merely a different permutation of the things that are turning your hair grey, I leave as an exercise to the reader.

<comment><USER58> Just curious..where are you tracking these outstanding issues?

In GitHub issues (for nodejs/node), I can see the 5.0.0 milestone has 5 open/1 closed issue; but my understanding is that the LTS release will be cut from 4.x; and 5.x is for rapid iteration post-LTS (i.e. changes that would have previously gone to io.js).

I recall reading that the 4.x LTS release is planned for a couple of weeks after 4.0.0 (which should be around the end of September, or early October).

I'm interested in tracking progress in the lead up to LTS, as this is when the node Homebrew formula is expected to bump from 0.12.x -> 4.x.

</comment></comment></comment></comment></comment><comment><USER59> The arm support is great too. Great work from everyone involved, io.js was short lived but will have a lasting impact for the better.

</comment><comment><USER60> All I can say is that after reading this thread, I'm glad that I'm not a Node developer.

<comment><USER61> You are missing out. Node is dope!

</comment></comment><comment><USER62> I remember when many people were complaining about PHP - lack of progress, inconsistency etc.

Now look what's happened to Node just in 6 years. And this is just the beginning.

<comment><USER28> I have no idea what you're trying to say.

PHP stalled in pre-6.0 land and then jumped straight to 7.0 because the release was just not going to happen. The closest thing in Node I can think of is ES4 (which failed, resulting in a jump to 5 and ActionScript diverging further).

Node stalled in pre-1.0 land with what was effectively a feature freeze before io.js split off and jumped to 1.0. Io then went on a regular release schedule strictly following semver leading to 2.0 and then 3.0. These aren't backwards incompatible in the sense that PHP 5 is to 4 or Python 3 is to 2 -- most code will likely still work; they mostly propagated breaking changes caused by updates to the underlying V8 engine, breaking some native extensions. The "jump" from 0.12 to 4.0 for Node is because instead of merging io.js back into Node, Node 0.12 was merged into io.js and io.js became the new Node 4.

</comment></comment><comment><USER63> Anyone know when Node will get IndexedDB?

<comment><USER64> That's likely out of scope for node.js. I'd recommend checking out leveldb: [https://www.npmjs.com/package/level](https://www.npmjs.com/package/level)

<comment><USER63> Why out of scope? It's a DB api that has no browser/ui dependencies.

I see that the levelDB implementation you pointed to can use a backend that uses IndexedDB. So theoretically this levelDB Api could provide an Api that work across both browser and server.

But argh. IndexedDB is a standardized api. It has a usable open source implementation in WebKit. Why not just go with that?? Why create a different API that does the same thing? I've been building an entire app around IndexedDB, but now I have to port it to a different Api to run on a server? Why?

<comment><USER65> If you'd used leveldb from the beginning you wouldn't have this problem as it will happily work on the server and in the browser [https://www.npmjs.com/package/level-js](https://www.npmjs.com/package/level- js)

<comment><USER63> Yes I see that. But if IndexedDB were supported on Node I also would not have this problem. So the question is, why can't node just support IndexedDB (which is formally specified in a standards document) instead of inventing an extremely similar but incompatible api?

<comment><USER28> Because IndexedDB is a W3C spec[0] intended for web browsers and LevelDB is a third-party npm module[1].

Node is just a JS environment. Implementing IndexedDB is as much out of scope as implementing XHR[2] or the File API[3]. In fact it provides the building blocks developers to implement any of these on top of Node should they need to (like node-fetch[4] implementing the Fetch API[5] for isomorphic apps).

[0]: [http://www.w3.org/TR/IndexedDB/](http://www.w3.org/TR/IndexedDB/)

[1]: [http://leveldb.org/](http://leveldb.org/)

[2]: [https://xhr.spec.whatwg.org/](https://xhr.spec.whatwg.org/)

[3]: [http://www.w3.org/TR/FileAPI/](http://www.w3.org/TR/FileAPI/)

[4]: [https://www.npmjs.com/package/node- fetch](https://www.npmjs.com/package/node-fetch)

[5]: [https://fetch.spec.whatwg.org/](https://fetch.spec.whatwg.org/)

<comment><USER63> This just begs the question. The question is, what about IndexedDB, XHR, the File API, etc. make them _unsuitable_ for pure-JS environments?

Because there is nothing about the problem domains (indexed key/value store, asynchronous web requests, filesystem I/O) that are specific to web browsers.

If a problem domain is common across browsers and pure-JS environments, then it should follow that there can be common APIs. If some part of the API is necessarily specific to one or the other, then ideally these differences should be localized to small parts of the API.

<comment><USER28> That's an intuitive assumption but it's naive (i.e. it lacks understanding of the actual domain concerns).

JS in the browser needs to be sandboxed by default and has to handle concerns like cross-origin policies and interactively seeking user permissions. It also has some fairly browser-specific singletons (e.g. a shared global cookie storage).

The equivalent built-in node APIs are much more low-level, allowing developers to use abstractions that are useful in _their_ problem domain.

Having an IndexedDB implementation in node core would be an incredibly pointless effort (most apps out there won't use it) and bring with it several complications (e.g. pluggable storage backends and concurrency conflicts if you want multiple node processes to share the same database). Plus it would mean the Node Foundation would have to get involved in the standardization process to make its concerns heard and likely introduces concerns that are irrelevant to everyone else (i.e. browser vendors).

Don't forget that Node is not a web framework. It's a JS runtime environment. It is primarily used for things that talk over the web or that generate content for the web, but it's not at all unreasonable to implement other things in it (e.g. mail servers). The web specs carry a lot of overhead that is simply unnecessary for most node applications even if it is perfectly necessary in browsers.

The only spec I can think of that I'd like to see in node is the Fetch API and for that we have node-fetch, which just wraps node's low-level http module.

What I'm trying to say is that node doesn't need these high-level APIs because it can give you the low-level APIs to implement them with. Browsers can't do this, so they need to work at an entirely different layer of abstraction. Plus node allows you to easily include native extensions whereas in the browser you can't have that (except for NaCl).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER66> So, why is the link 404ing right now?...

</comment><comment><USER67> Node on Docker Hub needs a new tag.

[https://hub.docker.com/_/node/](https://hub.docker.com/_/node/)

<comment><USER68> Get an alpine based one, it has 10x smaller size. I made one with npm v3 and node v4.0.0 [https://hub.docker.com/r/antouank/alp- node/](https://hub.docker.com/r/antouank/alp-node/)

<comment><USER28> Thanks to docker's image layering, using a non-Ubuntu image may actually be "bigger" if you already use other Ubuntu images.

</comment></comment></comment><comment><USER69> yay

</comment><comment><USER70> So excited!

</comment><comment><USER71> 0.12.7 -> 4.0.0

Best versioning convention ever :)

<comment><USER72> Actually it went:

0.12.7 -> 1.0.0 -> 1.0.1 -> 1.0.2 -> 1.0.3 -> 1.0.4 -> 1.1.0 -> 1.2.0 -> 1.3.0 -> 1.4.1 -> 1.4.2 -> 1.4.3 -> 1.5.0 -> 1.5.1 -> 1.6.0 -> 1.6.1 -> 1.6.2 -> 1.6.3 -> 1.6.4 -> 1.7.1 -> 1.8.1 -> 1.8.2 -> 1.8.3 -> 1.8.4 -> 2.0.0 -> 2.0.1 -> 2.0.2 -> 2.1.0 -> 2.2.0 -> 2.2.1 -> 2.3.0 -> 2.3.1 -> 2.3.2 -> 2.3.3 -> 2.3.4 -> 2.4.0 -> 2.5.0 -> 3.0.0 -> 3.1.0 -> 3.2.0 -> 3.3.0 -> 4.0.0

You just weren't paying attention.

<comment><USER73> If you include io.js, sure. Node did technically jump considerably.</comment></comment></comment>


Metrink: Dynamic Alerts - <AUTHOR> http://blog.metrink.com/dynamic-alerts/

<comment><USER2> Did you check out deep learning. [http://www.slideshare.net/mobile/tdunning/strata-2014-anomal...](http://www.slideshare.net/mobile/tdunning/strata-2014-anomaly- detection)</comment>


90% of People Don't Know How to Use Ctrl+F (2011) - <AUTHOR> http://www.theatlantic.com/technology/archive/2011/08/crazy-90-percent-of-people-dont-know-how-to-use-ctrl-f/243840/?single_page=true <comment><USER3> It actually 'hurts' watching people wasting their time with awkwardly slow things on their computers. I keep telling people to use the Home/End keys to jump around in a line, to just hold down Shift for selecting text, pressing Alt to jump/select/delete a whole word, etc. I'm not sure if the average HN reader is aware of these tricks, but a bunch of developers I've met were not until I told them.

I can't watch people clicking the new tab icon, clicking in their URL bar, enter the site name and then switch back to the old site to keep on reading. All it takes is a simple Cmd+L, URL, Cmd+Enter. Same with clicking links.

If you only use your browser twice a day, you probably wouldn't care, but a lot of "tech-savvy" people don't actually have basic skills in using a computer. This is something I hate about today's tech being 'beginner- friendly'. You don't need to know anything about it to use it. I grew up with this, but I still wish people were forced to sit down and learn some basics about Computers, at least how to properly use them, before they could actually use them.

<comment> vezzy-fnord I used to think the same until I used Plan 9 with its rio windowing system and Acme editor revolving heavily around mouse chording. I no longer hold prejudices for preferring cursor movements over keyboard shortcuts, unless it's obviously more inefficient as opposed to more of a subjective grayness.

In fact, it's quite tragic how the mouse is somehow seen as a "luser" tool, in favor of keyboard manipulation-driven interfaces being seen as more elite. No one writes mouse-driven interfaces for programmers anymore, which is a sad waste.

By the way, none of this is basic computer skills. It's purely arbitrary UI convention and nothing more. Someone decided to bind certain key combinations to reflect a particular semantic action, but it is by no means fiat in the slightest. You're confused.

<comment><USER4> I haven't used Plan 9, so I'll have to take you at your word that the mouse in an effective preferred method of input in its UI. I would be very interested if you had some specific examples of how it is used. That said, there are very real differences between methods of input that go far beyond "arbitrary UI convention" and that make one or the other substantially better suited for certain actions.

For example, the mouse is excellent at quickly moving to an arbitrary small area on a screen. Take as an example the operation of jumping to a particular character in a text file. To do this in emacs, I first move vertically either by looking at the line number of my target and jumping to it, or by moving in blocks (e.g paragraphs or code blocks) then by lines. Then I move the cursor to the correct horizontal position, first by blocks (e.g words, lexemes), then by characters. If my hand were already on the mouse, I think in a substantial proportion of cases using the mouse would be faster.

But there are other considerations. There is a noticable context switch moving my hand from my keyboard to my mouse and vice versa. Also, the mouse is only really good at moving to an area: moving to a single pixel is quite difficult; moving to a particular character is somewhat slower than moving to a word. This imprecision is related to the redundancies (i.e non-injectivity) in translating 2D analog movement to a 2D discrete position and mapping that to some action. In contrast, keyboard commands tend to be discrete, precise and minimal. While I could press the wrong key, that's a fairly substantial mistake; pressing a key off-centre or pressing it a bit harder than usual doesn't change the outcome of the command wheras a minute movement of my hand could easily make my mouse input skip over to something unintended.

One application the mouse excels at is clicking hyperlinks, or something hyperlink-like. Generally, these areas of input are large enough that a little bit of imprecision is acceptable and the 2D input can be very efficient. This comes up in emacs, for example when navigating info pages. You can either cycle through the hyperlinks in a document with TAB and Shift-TAB, or you can use the mouse. While it's a trade-off, generally I find the mouse to be far more comfortable.

The keyboard also offers an exponentially larger space of possible inputs for a given input length. The 2D input space of the mouse is quite large, but its imprecision considerably limits the space of useful inputs (i.e it would be a bad idea to assign a different command to each pixel of the screen). Like the keyboard, this can be expanded by successive commands, for example with a nested menu or compound actions such as click-and-drag. However, each element of the mouse input is slower -- wheras a keyboard command sequence can be entered as a whole from memory, each stage of the mouse input generally requires responding to new visual input (e.g a new submenu that has opened) and another distinct physical movement.

There is something to be said for combining keyboard chords on one hand with the mouse in the other, this allows much of the flexibility of the keyboard commands, but is still only really useful when the input is well suited to the somewhat idiosyncratic properties of the 2D cursor.

Finally, I think the most important factor for many people is the context- switch between touch-typing and keyboard-and-mouse. In this situation, even if the mouse is a better input method (e.g for clicking a hyperlink), then there may still be considerable advantages overall to just using the keyboard.

<comment><USER5> One other thing I don't think you've covered is that keypresses have a clear intent.

CTRL-W means "close tab" in a browser, SHIFT-HOME means "select to beginning of line" in a text field.

With a mouse, it's frustrating to try and resize a window and click one pixel off the edge, and bring a background window to the foreground instead - because there's no encoding of your intent to perform a resize operation so it's as likely that you were trying to reorder windows.

It also means that to make up for this, GUIs are trying to guess your intent - just try selecting all the text except the first character, or including the first character, or to the end of line not including the newline, or to the end of the paragraph not including the beginning. Different programs, different environments, will jump both ends of your selection around and/or make it very hard to get down to the letter, as they override your movements while wrongly guessing your intent.

It also means keyboard commands can be fired off in series, without waiting to see the results - especially with the awful trend of personalized menus - <USER2> a mouse + GUI you have to wait for the screen redraw between movements so you can respond to what's drawn. With a keyboard you can hammer ALT+F, X, N for File -> Exit -> No don't save, and know it will just work, no matter where the dialog appears, or where the 'exit' has moved to on the file menu, or where the cursor is on screen. Which is great for remote desktop sessions, but also it feels less annoying.

</comment></comment></comment></comment><comment><USER6> I told em so many times. They will just not care using it. The difference is in the approach. First time we used the search in page, we went there _expecting_ to find such a feature. Until they find themselves asking "what the hell, isn't there a way to search in a page?" they won't use and remember it.

I think that's caused by the already high level of distress the average user is feeling when using a computer to browse anything else than Facebook. If I remember good how it was for me, they would go like "ok now I'm doing this, browsing this new webpage and I got so many things to remember already, the site name, how I got here, will I find it again, ...", "do you know that you can search a page with this key combination?? Stop! That's just too much! I will learn about it when I finally arrive at level 2 of my progress on using computers."

<comment><USER7> I think this is partly the case, coupled with a general assumption that computers are magic. What is really fascinating is to listen to someone work out a very complex logic problem verbally, then have no idea how to fix it because the computer is "too difficult."

I wonder what would happen if I answered every question with "Press F1."

</comment></comment><comment><USER8> I used to work with a guy who got way in over his head as a result of being buddy buddy with the boss. He inherrited packaging of applications from another guy who saw the writing on the wall and noped his way out of the company...

This guy would google how to do each step in packaging an application, each time he had to do it or modify an existing package, and would often manually scan 100s of lines of scripts looking for a particular keyword, and still to this day does it, even though i would bring up use of ctrl+f every single time he would ask me for help, litterally hundreds of times. I got to the point where i would tell him to let me know when he found the line he was looking for and then i would walk back to my desk, it never failed that 10 minutes later he would text me ok, i found it. After walking back to his desk and helping him, he would move on to the next step, google what he needed to change, and then try to prevent me from going back to my desk while he spent another 10 minutes scanning lines of text to find the keyword he was looking for... to this day, i bet he is still not using ctrl+f.... sickening that someone can get away with that in IT.

</comment><comment><USER9> I've noticed something else about less-computer-savvy folks. They have a harder time finding items at various locations on the screen by name. If I tell someone to click on e.g. the 'Tools' menu item, they'll spend a lot of time focusing on different parts of the screen trying to find it. They don't seem to be taking in the 'entire' screen at once and pinpointing all the visible words.

<comment><USER10> Well, my idea about this is actually that we're so used to our eyes going to the top of the screen when we hear the word "menu" and regular people don't have the same associations.

I think if I went to a platform that followed a different design paradigm than I was used it, I'd have my eyes roaming all over the screen as well.

<comment><USER9> Maybe ... but my point was that even when searching for an arbitrary word on the screen, I notice that I'm significantly faster than a non-savvy user. E.g. if I'm on a call with a support desk and they're walking me through some steps on their website, I find I can easily 'take in' the entire screen and focus on that one word they want me to click on. Of course, I know a website is a bad example here, given that I could've just pressed Ctrl-F, but the idea holds for other complex non-searchable UIs too.

</comment></comment></comment><comment><USER11> I think searching for things on the internet should be taught as a core competency, like reading, writing, and arithmetic.

I feel like way too much of formal education is focused on memorization. Especially now that we have this ubiquitous searchable memory called The Internet, this time should really be spent teaching kids and young adults how to actually do things.

But education focused on developing skills has its roots in trade schools, where kids with bad grades were sent to learn how to retread tires. That precedent makes skill-driven education a tough sell to parents. But I think technology has advanced to the point where skill development is the way to go.

There's also resistance from academics who believe distilling university down to a way to attain job market viability somehow cheapens academia; that academics should at least to some degree be academics purely for the sake of academics.

But I really believe that if someone has internet access and can wield it well, knowing things is a problem that will solve itself over the course of that individual's life. So why don't we just get on with actually doing things? That's the part of education that benefits most from instruction and traditional academic social structures anyway.

<comment><USER12> I think that there is a problem with the 'three 'R's' not being taught properly. I am shocked to find people hired to write copy for the internet and lacking basic standards of literacy. Product copy, newsletters, blog posts for 'social media' and that sort of stuff requires some ability to spell, the sort of ability that most people on this site had when they were aged 11.

There are also those that 'learned' to write with Microsoft applications that capitalise the first letter of a sentence. When these people are allowed to use something like Wordpress that does not have this magic, what happens? All notion of punctuation goes out of the window and they do not care. They really don't and little things like spelling and grammar shows that, plus if challenged they state that it does not matter as there are more important things - as if!!!

IMHO the 90% that cannot use CTRL+F cannot spell or use punctuation. They have the reading age of a small child.

</comment></comment><comment><USER13> Ctrl-F in Outlook wants to forward your message - that's f@cking annoying.

Slightly related: I'm a long way from being a vi guru, but even so it's possible to astound people who only know the basic commands; I remember using 'xp' to swap two chars over that completely blew someone away, had to explain that it wasn't in fact some secret incantation

</comment><comment><USER14> In a similar vein, one of my coworkers, who is a programmer, almost never uses the shift key. If he needs a capital letter, he just turns on caps lock, then types the letter, then turns caps lock back off. I assume he must still use shift to type things like curly braces and dollar signs, but he's so slow an error prone from using caps lock so much (he sometimes leaves it on by accident and then types half a line before realizing it's in all caps and deleting it.

</comment><comment><USER15> So where is it documented?

There was a time when F1 meant "Help". Some keyboards even had "Help" on the keytop.

<comment><USER16> _A designer failed if help is needed._ usually holds for relatively- straightforward apps and real-world designs.

The issue where clear, succinct documentation is needed is complicated, enterprise applications which have expert interfaces.

<comment><USER17> I strongly disagree with the idea that computer programs should be designed so that no "help" is required. It only works in the simplest of applications.

In my opinion, a bigger issue is that most "help" dialogs are so badly written that they are pretty much useless. They are too often written by a developer who doesn't have a clear understanding of the typical use cases. When was the last time you found anything useful behind the F1 key?

I see the effects of this in freshmen and newbie developers who don't ever look at the manuals or documentation because they are used to it being non- existent or unhelpful. I hate to be saying RTFM, but I have to because reading the docs is a useful skill, unlike memorizing how a certain tool works.

</comment></comment></comment><comment><USER18> While certain commands are clearly good to learn, it does _require consistency_ across applications. One or two offenders, especially high- profile ones (Outlook!), can screw it all up.

If a user does start exploring short-cuts and keeps being "burned" by unexpected behaviors, they will un-learn those short-cuts because they just aren't useful.

</comment><comment><USER16> Or hold Command (⌘) if they have a Mac and KeyCue.

(It uses the accessibility information for the visually-impaired to construct an exhaustive list of every possible key-binding in the current application context. Another example of many of designing for accessibility paying dividends for beneficial, unintended uses.)

Screenshot: [http://content.screencast.com/users/xzxzxzxx/folders/Jing/me...](http://content.screencast.com/users/xzxzxzxx/folders/Jing/media/2f5cc0b3-fe0d-44fe-8af1-744272f67ce6/00000024.png)

KeyCue: [http://www.ergonis.com/products/keycue/](http://www.ergonis.com/products/keycue/)

<comment><USER19> [http://www.mediaatelier.com/CheatSheet/](http://www.mediaatelier.com/CheatSheet/) is a free alternative on the Mac to KeyCue.

<comment><USER16> It's the same principle, I tried it.

KeyCue lets you perform the action by interacting with the semi-transparent HUD and has themes to make adjustments. 20 € is crazy high for modern app pricing, definitely not at an optimal supply-demand point.

Here's the zillions of options, which vary widely in usefulness:

[http://content.screencast.com/users/xzxzxzxx/folders/Jing/me...](http://content.screencast.com/users/xzxzxzxx/folders/Jing/media/6cf70550-7113-44f0-b8ce- ce30081790be/00000025.png)

[http://content.screencast.com/users/xzxzxzxx/folders/Jing/me...](http://content.screencast.com/users/xzxzxzxx/folders/Jing/media/83aa36d6-94b2-4166-a07a-8638a9181771/00000026.png)

[http://content.screencast.com/users/xzxzxzxx/folders/Jing/me...](http://content.screencast.com/users/xzxzxzxx/folders/Jing/media/3b5c6396-bee8-4f5c-8baf-8890d93bf964/00000027.png)

[http://content.screencast.com/users/xzxzxzxx/folders/Jing/me...](http://content.screencast.com/users/xzxzxzxx/folders/Jing/media/7bcf1dec-e06f-49ce-b9d7-a085abf3fa49/00000028.png)

Plus, you're buying support and sustainability (unless someone were to torrent it, which risks malware and reduces support & sustainability).

Cheat is very limited. It won't show modifier-only keys as KeyCue does, and it won't even let me take a screenshot of it (because that involves Shift).

Minimal and free, or expensive, pretty with features: pick one. ;)

</comment></comment></comment><comment><USER20> When I read the headline, I couldn't for the life of me remember what Ctrl+F does — because I use it without thinking! Since remembering the hand movement, I've almost forgotten the description.

</comment><comment><USER21> 90% of people using a computer right now do so because the computer provides something they want and what they want can be achieved with the mouse/touchscreen, at a reasonable rate for them.

Click this. Swipe that. Tap out a facebook/twitter post. Gratuitous use of autocorrect. These are the reality of that 90%.

Don't let your impatience lead you to treat these people poorly. Let them learn by example. If you're sure they'll see the value in a shortcut then go for it but back the fuck off if they don't respond well.

<comment><USER22> > Gratuitous use of autocorrect.

Or the one that drives me crazy; the user sees a squggly-line under a word early in the sentence they have just typed. To back-up to correct it they use backspace to erase the entire sentence back to that word, correct it and then re-type everything again, laboriously slowly.

I have to rise from my seat and look out the window whilst they do so.

</comment></comment><comment><USER23> Many people now access the web from touch devices most of the time. I've often been frustrated by the lack of access to keyboard shortcuts in mobile browsers/mobile apps, but perhaps that's what a lot of people are habituated to?

</comment><comment><AUTHOR> Found this while reading [https://news.ycombinator.com/item?id=10319643](https://news.ycombinator.com/item?id=10319643)

<comment><USER6> -1 interesting but wrong place here

</comment></comment><comment><USER24> On the same topic, lack of a uniform cut-copy-paste mechanism in Linux makes me jealous of the Mac people _every single day_.

On a Mac, you can use Cmd-C to copy from vim and paste into Firefox or your shell/terminal. Try doing the same thing in Linux (even with the IBM CUA [1] approved Ctrl-Insert and Shift-Insert)

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

<comment><USER21> Middle mouse button? I only have to deviate to ^C, ^V when the applications are... not really native.

I just pasted this comment from vim to chromium this way.

* Doesn't cover cut-copy-paste, just copy-paste.

<comment><USER24> ahh... the good old days of three button touchpads on laptops. How I miss them :(

<comment><USER25> You should be able to bind three fingers to middle click on any modern touchpad.

<comment><USER24> well my 2-year old thinkpad does not recognize 3 finger touch. I would much rather have a uniform cut-copy-paste command rather than wait for some funky hardware support .. or upgrade.

If there was some magical way to get gnome-terminal, vim and firefox/chrome honor a universal cut-copy-paste shortcut... then I'm golden. This is more of a political than a technical problem.

Yes, I know I can remap keys in firefox, in gnome-terminal and browsers. But then they dont work in skype.. or something else. I would pay good money if there was a kickstarter around this.

</comment></comment></comment></comment></comment><comment><USER26> And, of course, by Ctrl-F you mean pressing F3

oh, TMTOWTDI

which is part of the problem. Users don't even consider "I spend so much time doing this, there must be a better way". Coupled with the "I don't read manuals" attitude dooms people.

So systems are designed for people to get away with zero effort.

And from that we end up with baby toys instead of the best tools.

</comment><comment><USER27> I was tempted to ask which keyboard shortcuts I should know about, but it's difficult to free recall all the ones I know, let alone list them concisely.

</comment><comment><USER28> It will be revolutionary when users can just say: "Siri, search this document for ..."

<comment><USER29> Really? Because personally, I don't want to be sitting in a room full of developers all talking to Siri all at once. That sounds pretty insane to me.

</comment></comment><comment><USER30> Is that a lot or a few?

I'm serious, do we expect most people to know this?

</comment><comment><USER31> They don't know how to move the cursor one word to the right?

Very strange.

</comment><comment><USER32> it's okay, i don't even know how to find text on iphone safari</comment>


"It appears that SourceForge took control of the 'GIMP for Windows' account" - <AUTHOR> https://plus.google.com/+gimp/posts/cxhB1PScFpe <comment><USER2> Reposting what I wrote on the Reddit thread:

I'm one of the lead devs of LXQt and an LXDE sysadmin. We use Sourceforge for our mailing lists and some LXDE legacy stuff.

I'm absolutely sick of them. It's not the first time this has happened. I've been pushing for us to move off SF for a while and this is a good occasion to push for it harder.

I've sent an email [1] detailing plans to move. I am urging everyone who still has projects on Sourceforge to do the same.

If you have similar migration problems to solve as the ones I've highlighted in the email, please contact me directly and we can share the workload. My email is available on my Github profile [2].

[1] [http://sourceforge.net/p/lxde/mailman/message/34148903/](http://sourceforge.net/p/lxde/mailman/message/34148903/) [2] [https://github.com/jleclanche](https://github.com/jleclanche)

</comment><comment><USER3> This is precisely for these reasons we stopped distributing VLC via SF.net in 2013. I even wrote about it: [https://blog.l0cal.com/2013/05/02/rethinking- vlc-mirrors-inf...](https://blog.l0cal.com/2013/05/02/rethinking-vlc-mirrors- infrastructure/)

<comment><USER4> Have you checked your site on an iPad? It's alternating the font size between small and large several times a second, resulting in a strobe effect that never stops. Yikes!

<comment><USER5> Bizarre. Happens only in landscape mode.

</comment></comment></comment><comment><USER6> Our VLC account has been taken too by sf-editor-1.

Fortunately, we've moved to our mirror infrastructure since quite some time, and it's faster and way better.

Btw, if any other open source project needs help to distribute their binaries (because of the size), please contact me.

PS-EDIT: signing the installer was a good idea, I guess :)

<comment><USER7> Is there anything you can do to stop them malwaring VLC?

</comment></comment><comment><USER8> What are the reasons for people to use SourceForge today? Why hasn't everyone else ( _especially_ major projects like GIMP and Audacity) moved off?

Here are some possibilities I can think of, but I'm curious if they're correct:

\- Mailing list hosting

\- Non-git repository hosting, for projects that prefer CVS or SVN

\- Shell account (though it doesn't seem very useful)

\- Features GitHub has but few others do (binary hosting, website hosting, etc.) and the project wants to avoid GitHub

Are there others?

<comment><USER9> One reason is discoverability as they have a rather extensive searchable directory of open source software.

Another reason for quite a while was binary hosting, which github originally supported, then discontinued, but finally added again in July 2013. Additionally, the ability to use any open source license or combinations of licenses, as Google Code supported binary downloads during the time github didn't but only permitted one license per project and only from a subset of open source licenses (originally a small subset, later expanded). Google Code, of course, is sunsetting now. And github now supports multiple licenses as well as binary releases.

<comment><USER8> Oh right, the other reason I forgot to mention is lack of volunteer time/enthusiasm to deal with a move. If you already bounced between Google Code and SourceForge two years ago, chances are you're probably not completely excited about jumping ship to GitHub right now.

(But yes, right now, if you're on Git, GitHub will give you binary downloads and all licenses.)

<comment><USER10> Actually you can easily import your code into repos now. Also considering Google code is shutting down you can easily move your project to github from google code.

</comment></comment></comment></comment><comment><USER9> SourceForge made a blog post about the GIMP project here: [http://sourceforge.net/blog/gimp-win-project-wasnt- hijacked-...](http://sourceforge.net/blog/gimp-win-project-wasnt-hijacked- just-abandoned/)

It appears they switched the GIMP project on SF back to directly downloading the standard GIMP installer, at least that's what I see right now in Firefox at 3:30pm NYC time.

<comment><USER11> "Mirrored projects are sometimes used to deliver easy-to-decline third-party offers, and the original downloads are always available."

In other words: "Yes, we take your project and wrap it in an adware installer."

<comment><USER12> Or as I call it: "the download.com strategy." Honestly SF are scumbags.

</comment></comment></comment><comment><USER13> As noted in other comments, the GIMP installer on [http://sourceforge.net/projects/gimp- win/files/](http://sourceforge.net/projects/gimp-win/files/) is now bit-for- bit identical to the one on [http://download.gimp.org/pub/gimp/v2.8/windows/](http://download.gimp.org/pub/gimp/v2.8/windows/) (let's call this one official).

Does anybody have a copy of the "value added" installer?

How did it work? Was it a wrapper which contained a copy of the official installer? Did it have the same filename? Was there some identifier in the URL? A cookie?

In other words, can we programmatically identify other hijacked projects?

<comment><USER9> It's a 730KB downloader installer as used by FileZilla, Angry IP Scanner, and other apps on SF that participate in the Dev Share program. You run it, it shows offers, then downloads the actual GIMP installer and runs that. I did a Virus Total scan of it earlier and the results are here: [https://www.virustotal.com/en/file/a63a337b0aa6b2686440802eb...](https://www.virustotal.com/en/file/a63a337b0aa6b2686440802eb557a8d5e03567be78e4f6c2a239ca3076ebe43c/analysis/1432747594/)

It seems they've disabled the ability for the GIMP downloader installer posted earlier today to be able to download GIMP now. Possibly so other sites don't distribute it further thinking it's the real GIMP installer?

</comment></comment><comment><USER14> Wow. Is this legally actionable? Yeah yeah, their server and so forth, but pretending to be somebody is generally seen as a Bad Thing© by the courts.

<comment><USER15> What's with the copyright symbol?

<comment><USER14> A copyright that's been registered by Sourceforge ;)

<comment><USER16> By which you mean a trademark?

<comment><USER14> You both are putting a heck of a lot of effort into nitpicking a single character used for humorous effect :/

<comment><USER15> It's worth nitpicking about, for several reasons.

It would be a shame if a young entrepreneur thought their trademark was protected by the Berne convention and someone came and took it. It would be a shame if the Mickey Mouse lobby went completely unopposed because people can't think critically about what they don't know. It would be a shame if a large corporation could grab the trademark of a small free software charity because people don't think it's "a big deal".

</comment></comment></comment></comment></comment></comment><comment><USER17> Is there anything suggesting it's SourceForge itself doing this and not just (an improbably widespread, admittedly) set of account breaches? It makes sense -- acquire accounts, enable ads, profit.

<comment><USER18> "The Open Source Mirror Directory is an extension to our existing software directory, where __we 'll be mirroring projects that are not hosted on SourceForge, and SourceForge projects that have been abandoned. __"

Why are we doing this? We want the SourceForge software directory to be as useful as possible. When you come here to search for a piece of software, we want you to be able to find it, and find the most up to date releases. And if that software isn't hosted on SourceForge, we still want you to be able to find it. Or if a SourceForge project has been abandoned, we want it moved to the mirror and maintained, so you can always find the newest releases. Millions of people use SourceForge every day to search for Open Source software, and we want to give them the best experience possible, even if the best answer to their search is a project hosted elsewhere, or an abandoned project newly maintained by the SourceForge team.

[http://sourceforge.net/mirror/](http://sourceforge.net/mirror/)

<comment><USER19> So...they're claiming to "maintain" projects, and that means turning them into adware?

That's so underhanded and nasty that it's difficult to believe. If true, it means SourceForge has effectively become the nemesis of every software developer who ever used their services. And, it means every software developer who cares about software freedom and privacy _must_ move everything off of SourceForge.

We host Webmin on SF.net, still, and it is downloaded over 3 million times per year, making it one of the most popular packages in the system administration category for over a decade (last I checked a few years ago, it was second only to phpmyadmin). They've never done anything weird or underhanded with our stuff (but most of our packages are signed and setup in such a way that fiddling with them would be somewhat challenging). Given its popularity, I would assume it would be a likely target for this sort of thing. But, maybe it's only "abandoned" projects? (Whatever that means, since it sounds like the original author in this case did not consider their project abandoned.)

<comment><USER20> Abandoned projects and "projects that are not hosted on SourceForge", which appears to include projects that still have a Sorceforge page that's actively maintained if the project has moved elsewhere. So if you move off SF.net, they'll take over your page there and use it to distribute adware-enhanced versions of your software. Incredibly underhanded.

<comment><USER19> Moving doesn't prevent this or protect users, and it actually would potentially trigger such a takeover by SF.net? So, there is no escape?

I'm really finding this hard to believe. It's just incredible. I mean, I've had a bit of a love-hate relationship with SF.net forever, but it's always been the kind of thing you might have with a bratty sibling (i.e. you wish they were doing more with their lives, but you still love them). This is such a massive betrayal of trust that I can't even swallow it.

I mean, the evidence seems to be there, and more than one major project has reported this behavior, so it's not really something I can just ignore. But, it's also just so horrible. (I'm beginning to become repetitive. I just really find this unbelievably awful.)

I don't know anyone involved in SourceForge, and haven't in more than a decade, so I don't even know who to reach out to for some kind of clarification about WTF they think they're doing. Their mirror page doesn't explain anything about distributing malware in these projects they "maintain", so they're already not being forthright about it.

<comment><USER21> Shame really: for a while SourceForge was THE place to go for open source software.

They claim (at the bottom of [http://sourceforge.net/mirror/](http://sourceforge.net/mirror/)) that "If you have an Open Source project outside of SourceForge, we'd like to hear from you. If you want your project mirrored on our site, or if you don't want your project mirrored on our site, please let us know. Or there's any other service that we can extend to your project community, we'd like to hear that, too. Contact us at email@example.com and we'll be sure the message gets to the right people."

People should email them at email@example.com and ask to be un- mirrored. Maybe that will work.

<comment><USER22> I asked them to stop distributing the GIMP installer on May 16th (as soon as we found out what's happening), but didn't even receive a response.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> The number of people casually suggesting github for large binaries on HN is incredible and funny. They should try downloading something from github in Asia and they'll learn why local mirrors are useful.

</comment><comment><USER24> I think this pretty much explains why this happened, a quote from their parent company here: "2005 - IN AUGUST, WE ARE ACQUIRED BY DICE HOLDINGS, INC., WHICH IS OWNED EQUALLY BY GENERAL ATLANTIC LLC AND QUADRANGLE LLC, PRIVATE EQUITY FIRMS IN NEW YORK CITY." via: [http://www.dhigroupinc.com/our- company/default.aspx](http://www.dhigroupinc.com/our-company/default.aspx)

</comment><comment><USER25> Any other projects affected ? Would be nice to start a list of all affected projects. This could also be a case of targeted attack on the gimp account.

<comment><USER26> [http://sourceforge.net/u/sf-editor1/profile/](http://sourceforge.net/u/sf- editor1/profile/)

Nice list. Got Audacity there, for instance.

<comment><USER27> Bitcoin is on there also. Now that is worrying.

<comment><USER26> It doesn't neccessarily mean all of them are affected, but I think it's a call for a close inspection.

<comment><USER27> I download the bitcoin .exe, and it came clean, with the right signatures, but who knows how they are distributing the stuff. I have a Ubuntu computer. If they're at least a bit smart they will use their download redirects to serve the spyware only to Windows computers or something, so that could be why I got a clean binary. Bitcoin devs investigated, at my request. They removed the sf- editor1 user from the project owners and checked the binaries to see if sigs matched, and they did. But like I said, they could be filtering who they serve the "spyware" to.

</comment></comment></comment></comment></comment><comment><USER28> Reviewing the meager amount of Twitter chatter it appears SourceForge had cemented its irrelevance before this craziness.

</comment><comment><USER29> In this age of GitHub being huge, and GitLab being the purely open-source choice, this can't really end well for SF.

They really really need to up their game if they want to stay relevant. Most of the stuff I find pointing me to SF these days is usually abandoned (GIMP and Pidgin are probably notable exception).

</comment><comment><USER30> I'll still never understand why people don't move off of SourceForge; GitHub and Bitbucket (among others) are almost feature complete, and for the things that they're missing (mailing lists) there are plenty of free alternatives out there that are fairly easy to port.

</comment><comment><USER31> More details: [http://libregraphicsworld.org/blog/entry/anatomy-of- sourcefo...](http://libregraphicsworld.org/blog/entry/anatomy-of-sourceforge- gimp-controversy)

</comment><comment><USER32> I wonder what would happen if Google or Yahoo! acquired them.

</comment><comment><USER33> Is that enough to qualify SourceForge as malicious and ask that it be removed from Google's search results?

</comment><comment><USER34> Pywin32 also should find a new home or maybe a reimplementation in golang.</comment>


Commandments of Good Code - <AUTHOR> http://zachgoldberg.com/2015/07/15/the-commandments-of-good-code-according-to-zach/

<comment><USER2> These are actually quite good. I was expecting some cargo cult Agile related nonsense "always do 100% test coverage, blah blah".

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER3> I'm down with "All (ok most) programming languages are simultaneously good and bad". I assumed it would go on to discuss Javascript, but nope. Which really goes to show how true the statement is.

<comment><AUTHOR> Ah! Good point! A complete brainfart on my end. Definitely should've included javascript as an example.

</comment></comment><comment><USER4> > * Key Value Stores Redis / Memcache

> * No-SQL land: MongoDB/Cassandra etc.

> * "Traditional" Schema'd SQL: Oracle/Postgres/MySQL/Amazon RDS Etc.

> * Hosted DBs: AWS RDS / DynamoDB / AppEngine Datastore

> * Heavy lifting: Amazon MR / Hadoop (Hive/Pig) / Cloudera / Google Big Query

> * Batshit crazy stuff: Erlang's Mnesia, iOS's Core Data

Cringeworthy to be sure.

<comment><AUTHOR> Do you disagree with the point?

<comment><USER4> 1\. "No-SQL land" \- Most of those things are NoSQL databases? 2\. ""Traditional" Schema'd SQL" \- Amazon RDS isn't a database, and those are relational databases. 3\. DynamoDB has effectively the same data model as Cassandra. 4\. "Hadoop" isn't a database. Cloudera is a database vendor. EMR (what you call Amazon MR?) is Hadoop as a Service. 5\. I don't even know what to say about the "batship crazy" thing.

Every data store has a model. Typically we classify them based on their model.

<comment><AUTHOR> ah, ok, I understand your complaint. I actually agree with you, I was definitely playing fast and loose with classifications there. That said, my point wasn't about how to classify data storage systems, so much as to emphasize the fact that there are many options and that the architect should be thinking really hard about existing options before rolling their own.</comment></comment></comment></comment>


Why "Whiplash" Won an Oscar for Best Editing - <AUTHOR> http://williamdickersonfilmmaker.com/why-whiplash-won-an-oscar-for-best-editing/ <comment><USER2> Site is down, here's an Internet Archive mirror: [http://web.archive.org/web/20150520140301/http://williamdick...](http://web.archive.org/web/20150520140301/http://williamdickersonfilmmaker.com/why- whiplash-won-an-oscar-for-best-editing/)

</comment><comment><USER3> This is really trying to find meaning where there is none. "Andrew's life didn't need editing", wtf. It's just a way to introduce the main character and his nemesis, that's all there is to it.

The reason it is oscar-worthy is : drums are by definition repetitive, a character playing drums is mostly static, there are no real dialogs possible while drums are being played, and the movie overcame all these obstacles.

<comment><USER4> One of the problems is that the article ascribes a lot of decisions to the editor that were actually made by the writer or the director. Which is weird, because something can't be an editing decision if it had to be shot a certain way, because editing comes all the way at the end after everything's been shot.

Of course, writing about film is hard, because it's such a collaborative medium. It's hard to attribute a decision to a single person, when in actuality it was probably hinted at in the script, then improved from the director talking to the actor, or the DP suggesting an experimental camera angle, or the editor finding an accidental shot that just happens to work for the scene.

So let's look at whether some of these decisions were born in "writer," "director", or "editor" land. I'll pretend that Whiplash wasn't written and directed by the same guy.

      However, after rushing to get to the studio, he
      realizes that he is early — by 3 hours. He was
      manipulated, leading him, and us, to question:
      should he trust Fletcher's version of "time?"

This series of cause-and-effect events is the story, which is the purview of the writer.

      Andrew re-enters the rehearsal space in slow-motion.
      He gets behind the drums, also shot in slow-motion,
      until Fletcher re-enters the room, which resets the
      film into normal motion.

Again, if you had to shoot it in slomo, it wasn't the editor's decision. It's hard to say if this would come from writing or directing. The script could say "he approaches the bench in slow motion," or it could say "he approaches the bench" and the director intuits that the film should ratchet up the tension.

      It's interesting to note that while his drumming is off,
      the editor chooses to place cuts of Andrew placing
      band-aids on his hand that are in perfect rhythm with
      the timing of the ride cymbal –-

This does sound like an editing decision. But again, the script could easily say "He band-aids his hand in rhythm with the cymbals."

If you want to read more about some actual decisions an editor goes through, I highly recomment In The Blink Of An Eye, written by sound and film editor Walter Murch. Tony Zhou's Vimeo series Every Frame A Painting is great too, although it focuses more on directing and cinematography.

</comment></comment><comment><USER5> Interesting article - I am always curious how the psychology behind the edits subconsciously plays into my understanding of, and feelings toward, character dynamics.

For those who haven't seen it, Whiplash is my favorite movie of the past several years. The "third act" is probably the most intense finale I've seen in quite some time as well.

Highly recommended to anyone, musical background or not.

<comment><USER6> I am generally a movie curmudgeon with a high bar. I got it as an iTunes rental for a long flight. iTunes only gives you 24 hours once you press play. I watched it three times before expiring.

<comment><USER7> What else do you like you as much as this?

<comment><USER6> Spinal Tap. Point Break. Sneakers. Primer.

<comment><USER8> Sneakers is such a great film and so very underrated.

<comment><USER9> If you haven't seen it The Conversation is a brilliant film for a hacker. And Pi

</comment></comment></comment></comment></comment></comment><comment><USER10> I thoroughly despised this movie. To me it felt like a celebration of a sadistic abuser mind-raping a kid, and never being punished for it. No music teacher I know would have gotten away with what Fletcher did without going to jail.

This is not how you teach jazz. This is not how you teach anything.

<comment><USER11> > I thoroughly despised this movie.

You don't have to _like_ movies for them to have been good! You could despise a character while still thinking the movie was good for _making you_ despise the character. That's an art.

If they have a strong emotional impact on you, they've "worked" (other than if they're just crap) because you talk about them, digest them and question their messages. A ton of great movies explore the darker side of humanity by using despicable characters; that's the beauty of story.

<comment><USER12> Just because a movie evokes a strong emotional impact doesn't make it good. A strong emotional response can be highly negative as well.

If the movie is made to create a negative emotional response then I suppose one can say it succeeded in doing so, but it still doesn't make it good to the people who view it negatively.

<comment><USER11> Good as in effective at making the audience feel what the screenwriter set out to make the audience feel, but not necessarily good as in enjoyable.

<comment><USER12> Saying a movie is good and saying the screenwriter is good at their job is two different things.

I'm going with the classic definition; good as in "satisfactory in quality, quantity, or degree" or "of high quality; excellent".

</comment></comment></comment></comment></comment><comment><USER13> I really enjoyed this movie, but I also feel like it was a Rorschach test for sociopathy. What you come away with at the end of this movie kind of says a lot about you as a person.

<comment><USER14> I felt like it was more of an attempt at justifying sociopathy, or at least exploring the impulse towards it.

The movie essentially argues that greatness comes from external pressure, from being pushed beyond your limits.

</comment></comment><comment><USER15> I loved this movie, and immediately commented to a few movie-buff friends of mine that I was certain that they'd get an oscar for the sound editing. The actual movie edit was artful and amazing, but the sound edit.. talk about meticulous.. every single drum hit?! Called it! [http://www.nabshow.com/thought-gallery/oscar-winner-ben- wilk...](http://www.nabshow.com/thought-gallery/oscar-winner-ben-wilkins- whiplash%E2%80%99s-audio-mix-edit)

<comment><USER16> Sorry to be pedantic, but Whiplash won the Academy award for best sound _mixing_ ; the award for best sound _editing_ went to American Sniper. Mixing involves the spatial and tonal quality of the sound; editing the temporal and semantic quality.

But either way yes, it is very meticulous, and I think you'd be even more shocked to look at the project files, because each individual sound you hear in a film often involves multiple layers of sound or multiple treatments of a single source sound through different mix busses. As a rule of thumb there are bout 10 edits on the sound track for every cut you see on screen. Thankfully there are some tools available to partially automate the process, but in the it requires a huge amount of work and near-endless reserves of patience.

Source: movie sound is what I (mostly) do for a living, though I haven't won an Acamdemy award for it.

<comment><USER17> "Mixing involves the spatial and tonal quality of the sound; editing the temporal and semantic quality."

What does that even mean? I thought sound editing was the creation of all the sounds and sound effects, and mixing was the mixing.

<comment><USER16> The same thing you said, though in a more abstract way. By _temporal_ I mean where they go on the timeline, and by _semantic_ I mean the content of the sound. Much of the time what you hear simply matches what you see on the screen, either from production sound or from a sound effects library or by a foley artist, eg if you see a glass bottle smash on the floor you will probably just use a natural sound for that. But then you have to look at what it means in the context of the story - suppose the bottle is being smashed on the floor by an alcoholic who has finally decided to fight his addiction? You migh choose to emphasize that with music, or you might emphasize it by layering in other sounds from elsewhere in the soundtrack or some purely expressionistic sound like a heavy lock opening. Also, you'll frequently use sound to speed up or slow down the action by transitioning into the next scene before or after the camera cut.

Mixing involves setting the levels of the different sounds, but it also includes some decisions about how the sound moves, what sort of reverb and coloration are used ( _spatial_ ) and how it's balanced against the music, how it's EQed ( _tonal_ ).

Hope that helps.

</comment></comment></comment></comment><comment><USER18> I just recently decided to study film editing a bit deeper. Here are two classic reads that I highly recommend:

On Film Editing Kindle Edition by Edward Dmytryk ([http://www.amazon.com/Film- Editing-Edward-Dmytryk-ebook/dp/B...](http://www.amazon.com/Film-Editing- Edward-Dmytryk-ebook/dp/B00AC1TAHQ))

In the Blink of an Eye Revised 2nd Edition by Walter Murch ([http://www.amazon.com/Blink-Eye- Revised-2nd/dp/1879505622](http://www.amazon.com/Blink-Eye- Revised-2nd/dp/1879505622)) (sadly no Kindle version exists for this one yet)

</comment><comment><USER19> Cached: [http://goo.gl/6AYpQd](http://goo.gl/6AYpQd)

</comment><comment><USER20> That article illustrates the maxim that writing about music is like dancing about architecture

</comment><comment><USER21> Most years the big films which are up for Best Picture and Best Director, are often nominated for other more niche awards.

The Curious Case of Benjamin Button was nominated for Best Sound Mixing. And you have to wonder if it really had far and away better sound editing than hundreds of other films that year.

</comment><comment><USER22> fyi: Whiplash was originally shot as a 20min short (different lead actor) which then got it's budget expanded so they could re-shoot and go for a full length movie. Annoyingly don't have details to hand.

Personally I was absolutely blown away by it...

</comment><comment><USER23> Well there's a false headline. Oscar winning is the story of people, not of objective criteria.

<comment><USER24> The article is a story.</comment></comment>