Nodejitsu, a Node.js hosting company later acquired by GoDaddy, wrote tutorials and announcements on Node.js, npm, and isomorphic JavaScript.
HN commenters cite it as an early Node.js learning resource and as the source of the term "isomorphic JavaScript," which some found an unfortunate coinage.
Thanks; great response. I had forgotten about crossovers.
I did a little project in CLJS and found the additional power of the language nice, but not revolutionary. I've found getting into Node.js that despite the well-known warts of JavaScript, the community has done an amazing job working around those problems, building powerful abstractions, and shipping simple, un-complected code. I hardly feel like I'm compromising on expressivity.
So for me, language like "callback hell" and "wasteful" rings a bit hollow, as it doesn't reflect my experience writing JavaScript. In fact, if I were a contributor to When.js I could imagine it being pretty insulting.
Maybe we can win more people to ClojureScript by recognizing, not diminishing, the great stuff folks have made with vanilla JS, and showing how CLJS provides interop while making JavaScript programming even better. Kevin Lynagh's post here[1] is a nice example of that.
[1] http://keminglabs.com/blog/angular-cljs-weather-app/
As for my "glass is half-empty" interpretation of code-sharing, I'm thinking of how you can trivially require jQuery from a Node.js application and use it for scraping[2]. Or how you can require('http') in the browser and effortlessly make HTTP requests in browser or server with the same code[3]. I'd love to be proven wrong, but ClojureScript seems far away from this kind of stuff. You can't use Compojure or HTTP-Kit in ClojureScript. So you could say that while Clojure has a decent client/server…
The great thing about node.js is the flexibility it provides. It isn't what Rails is to Ruby or Django is to Python, really it is a way for Javascript to interact with the OS outside of the browser, e.g. on servers. This versatility leads to a ton of options, which many don't even focus on the web. With that in mind, know that using node.js is more than building a web app, it has given us slick tools to do things that in other languages or options would be painful or annoying.
Here is a good list of things that should be done: http://blog.nodejitsu.com/ten-node-apps-that-need-to-exist
I personally have made simple tools with it, like a desktop image uploader, or a cli gist (github) maker. I enjoy how easy it is to connect many different technologies together with very little effort.
This is a common confusion. The scalenpm crowdfunding was done by the good folks who ran the npm servers for free (mostly nodejitsu) up until the recent switchover to the new infrastructure with Npm, Inc.
You can still use the nodejitsu registry for free if you'd like[1]. They arent likely to need as much scaling anymore, but there's still a big cost to running those servers. I don't think there was any foul play when it comes to the scalenpm money as I'm fairly sure they were not aware of the intent for Npm, Inc to take over default hosting.
tl;dr the money did not go to the same people, and the people who crowd funded thought they'd still be hosting npm going forward at the time.
[1] http://blog.nodejitsu.com/simple-hosted-private-npm-and-registry-nodejitsu-com/
I see this argument a lot and I really don't get it.
In the context of JavaScript, Isomorphic means "runs on the client and server".
Here's an article from 2011 that uses the word in this way, and includes a definition: http://blog.nodejitsu.com/scaling-isomorphic-javascript-code/
The fact that isomorphic means something else in a different context seems irrelevant to me.
I did 5 mins of googling and found the following mathematical terms also have different meanings when used in a software engineering or computing context:
* integration
* kernel
* product
* scalar
* module
* function
I signed up and tried grove a few weeks ago, I didn't really see the point. I then stumbled across some video tutorials for using hook.io to connect to an IRC server (#4,5 in the list of video tutorials) (http://blog.nodejitsu.com/hookio-video-tutorials) and immediately thought of grove.
It seems, to me, that they decided to use the tutorial, hook up web sockets (#9 in the tutorial list), add a nice interface, log all the events hook.io emits, and decided to charge way too much for it.
I could be missing something, but that was my initial impression.
If you want colorful flow charts, there are plenty at the "Isomorphic" link:
http://blog.nodejitsu.com/scaling-isomorphic-javascript-code
The proposed Resource-View-Presenter model is a bit of a brain bender.
Anyway, that aside, I agree -- this is described as a framework "initiative", and that page has no links to actual code, making it sound like a mere proposal.
However, looking back at Nodejitsu's blog, it looks like they have a post with a more cogent explanation... and github links:
http://blog.nodejitsu.com/introducing-flatiron