What’s new in Node v0.10?
blog.strongloop.com
blog.strongloop.com
Anyone know what you're supposed to do if you have code with multiple listeners for 'data' events?
In practice, it's rare that you care about the end of the stream, but not about the data coming through it, except in tests.
tl;dr Your existing programs will almost certainly Just Work.
From that post, their focus is on v0.12 and then v1.0. Nice to see we're getting to that stage.
This should be fairly clear given your typical version number takes the form of <integer>.<integer>.<integer> which can't possibly be mistaken for a decimal fraction.
With letters, short hashes or even whole words thrown in.
Dots separate logical numberings, like version, patch, bugfix, etc. So 3.0 goes after 2.0 And 2.0.2 after 2.0.1. And 1.10 after 1.9.
the version number is a tuple, not a decimal, encoded with dots as field separators.
0.10 is an encoding for (0, 10). So 0.10 > 0.9, and 3.7.4a makes perfect sense.
edit: furthermore version number ordering has additional complexity: 3.7.4a < 3.7.4
In general, I would argue version numbers are sequences of natural numbers ordered lexicographically. That means they're not the same as decimal expansions of real numbers.
On the other hand, some version numbers can be stored as floats (kind-of, to a point): Knuth's software is versioned using approximations of irrational numbers, the more digits the later the version. TeX's current version is 3.1415926 and METAFONT's is 2.718281. Both can be stored as floats, although the respective and eventual π and e can't be.
> A version number is a sequence of natural numbers ordered lexicographically.
I need a new rage face for expressing this.
You can think of a decimal number in the same way (well, leaving out some minor technicalities with numbers requiring infinite expansions here), but you then have to allow only numbers between 0 and 9 (inclusive) in your sequence. Let's leave out positive numbers (because otherwise we'd have to grow sequences in both directions from the decimal point, which is an annoying technicality). Then 0.12345 is simply the sequence (1, 2, 3, 4, 5), which in version notation is 0.1.2.3.4.5. On the other hand, decimal 0.80 is version 0.8.0, not version 0.80.
Really, all in all, version numbers are just decimal expansions, except that we leave out the equivalence relation that says that, for example, 10x10^1 is the same as 1x10^2. So while 0.8.0 and 0.80.0 are distinct version numbers, they collapse to the same value as real numbers (or you might want to collapse 0.80.0 to 8.0 -- it doesn't matter, that's all a matter of taste).
StrongLoop employs 2 node core committers, Ben Noordhuis and Bert Belder, who are also two of the most active libuv committers. (They have other folks that work there, of course, but those two also work on Node itself quite a lot.)
Joyent still is the custodian and IP owner of the Node.js project. They pay me to work on node, and also provide the project with marketing, legal, hosting, and other resources. Joyent also uses Node extensively in their technology stack, and builds tools to debug their own and their customers' production Node applications.
StrongLoop will be providing support to users of their Node Distro, which bundles v0.10 with a few battle-tested npm modules.
Joyent and StrongLoop are very different companies, and while they're not officially partners, that I'm aware of, they are certainly not competitors in any sense.
Definitely appreciate that they pay you to work on it. Appreciate that there are new companies in the ecosystem too.
And finally someone who looks like they are going to support Node on Windows and Linux!
StrongLoop Node is a bundled distro with modules etc that they're going to support as well.