…applications. Node.js is built to run on V8 , which is an open source JavaScript engine developed by Google that compiles JavaScript into native machine code before execution, resulting in extremely fast runtime performance (something not commonly associated with JavaScript). In plain English, Node enables you to rapidly build apps that are lighting fast and highly concurrent.
As a Java developer, you might be thinking "big deal, you can do this with Java too" …
…IEnumerable.Aggregate in . NET, std::accumulate in C++ or array.reduce in JavaScript).
Now, you might ask yourself a question - What's the point in storing all these intermediate steps, when you can just save the final balance? This way of persistence via event sourcing possesses some really interesting features. Below are some of these.
By the way, if you are asking yourself about the performance of such an approach to storage, don't worry. It can easily beat relational databases …
…map/reduce. Here you can modify and combine the data in lots of different ways using simple JavaScript functions . In our case we elected to write all our CouchDB code in CoffeeScript for simplicity. For example, here is the reduce function in CoffeeScript that counts totals of time planned, time used, and time left per task or partner in a project: (keys, values, rereduce) -> roundNumber = (rnum, rlength) -> Math.round(parseFloat(rnum) * Math.pow(10, rlength)) …
…the core RFC implemented. I wasn't sure if the marriage of this protocol to node/ JavaScript would work out, but if you've used express ever, this should be _really_ familiar. And I tried to make it as natural as possible to use "pure" JavaScript objects, rather than requiring the developer to understand ASN.1 (the binary wire protocol) or the LDAP RFC in detail (this one mostly worked out; ldap_modify is still kind of a PITA).
Within 24 hours of releasing …
We've just published a rather interesting . NET code sample illustrating interactions between a browser and a CQRS-like server with queue processing. The sample is implemented as a snippet on top of Lokad.Cqrs , leveraging the latest codebase and new http endpoint functionality.
Just a reminder. Lokad.Cqrs is not a real framework. It is just a temp scaffolding that speeds up development of distributed systems following CQRS architecture principles. It enforces design …
…'s Mark Cavage released LDAP.js . " ldapjs is a pure JavaScript, from-scratch framework for implementing LDAP clients and servers in Node.js . It is intended for developers used to interacting with HTTP services in node and express .
Microsoft's Tomasz Janczuk released iisnode " The iisnode project provides a native IIS 7.x module that allows hosting of node.js applications in IIS.
Scott Hanselman …
1 Week, 1 Project, 3 Databases: MarkLogic, CouchDB, MongoDB :
That's the gist of this application. It is non-trivial and had a very rich design and interaction. My team had an excellent QA, excellent front end dev, and me who was the only one who knew MarkLogic. The other team chose to implement theirs using a Javascript front-end architecture communicating with CouchDB (later Java with MongoDB) on the backend. The two teams involved very skilled people. If these two technology approaches were going to go head-to-head, these were the people to do it.
…probably learn everything you ever wanted to know about Map Reduce, synchronization, and JavaScript, so not only will you have maximum CouchDB power, you will extend your horizons in a full stack distributed computing environment.
If you are interested in attending the Portland training, you can sign up here .
We'll also be doing CouchDB training in San Francisco and Chicago! Chicago! Chicago!
Also, if you want to learn about the Membase Server, we'll …
…mind, there were two anecdotes (of sorts) that I thought warranted recapping, both with their roots in JavaScript, only one of which is directly related to Riak. For those who don't have time to read a bunch of sappy community rhetoric, here's the TL;DR: I love virtually every aspect of community building and open source software, and the JavaScript and Node communities have a lot of qualities from which the Riak community can learn and borrow.
Anecdote 1: You Want Your …
I just published the source of what we've extracted out of whats been at the core of LivelyCouch.
The result is a tiny generic library that gives you only a single function - "spawn".
It allows you to spawn a Javascript function in a new Node.js instance and returns you an EventEmitter to communicate with it.
You can find more details on github:
https://github.com/livelycode/spawn.js
Hopefully later tonight I will find some time to explain what drove us …