The JavaScript blog.


templating node logging modules podcasts documentation arduino

Node Roundup: 0.6.5, NodeUp, Logme, Consolidate.js, mdoc, Firmata, Nodeflakes

Posted on .

You can send your Node modules and articles in for review through our [contact form](/contact.html) or [@dailyjs](http://twitter.com/dailyjs).

Node 0.6.5

Node 0.6.5 is out, which upgrades V8 to and potentially avoids national
firewall-related issues.


NodeUp is a podcast all about Node. In NodeUp Nine features Isaac Z. Schlueter, Matt Ranney,
Dominic Tarr, and James Halliday discussing scaling, deployment, and
Erlang. Other topics include migrating to Node 0.6 and hosting on Joyent
with Solaris.

Subscribe with either iTunes or RSS:


Logme (License: MIT, npm: logme) by Veselin Todorov is a slick little logging library. Basic usage looks
like this:

var logme = require('logme');

It has a lot of colour themes, which are set by instantiating a
Logme object:

var Logme = require('logme').Logme;
  , logme = new Logme({ theme: 'smile' });

logme.error('This is now themed.');

The only thing I miss is the ability to quickly append values with
spaces, like this: console.log('Value:', value);.

It's worth remembering that console also comes with
console.error, which will write to stderr.


Consolidate.js (License: MIT, npm: consolidate) by TJ Holowaychuk is a wrapper that gives template engines the same API. TJ's documentation mentions that
Express 3.x uses the signature (path[, locals], callback)
for template rendering, which is the same as Consolidate.js.

This library adds a thin layer that makes it easier to switch between
different template engines.


mdoc (License: MIT, npm: mdoc) by Miller Medeiros is a markdown-based documentation generator. It'll create HTML files for each markdown file in a directory, and a
table of contents.

One of the author's examples is unofficial Node mdoc-generated
He's only been working on it for a few weeks, yet the style of the
documentation it generates is readable and suits larger projects.

Some projects benefit handcrafted documentation rather than JSDoc-style
API documentation. Miller wrote a post about this topic called Inline
Documentation: Why I'm Ditching


Firmata (GitHub: jgautier / firmata, License: MIT, npm:
firmata) by Julian Gautier is a library for interacting with Arduino boards running the firmata protocol.

If you're a Node developer you may find this more appealing than typical
Arduino code:

var firmata = require('firmata')
  , board;

board = new firmata.Board('path to usb', function() {
  // Arduino is ready to communicate


Nick Payne sent in
Nodeflakes (GitHub: makeusabrew / nodeflakes), a Twitter Streaming API experiment that displays CSS3 unicode snowflakes
that display tweets. The architecture is actually multiprocess, using a
producer/consumer architecture. The client-side code is in

Despite appearing to be a holiday-themed gimmick, Nodeflakes is very
educational. The author has written a detailed blog post about the
project: Nodeflakes - real time tweet powered


frameworks server node podcasts binding

Node Roundup

Posted on .

Welcome to the Node Roundup. Send in your apps and libraries using our
contact form or @dailyjs.


Fab by Jed Schmidt is a toolkit for building asynchronous web applications on top of Node. It
looks like it was under heavy development, but the author says API
changes have started to calm down. There's a copiously commented demo

that explains the basics. Schmidt uses with in this example
to feign a more DSL-like API, which I suppose you don't have to do if
you don't like with.

Fab is interesting because it doesn't claim to be a replacement for
Sinatra, Rails, or Django. Instead it presents an API with concise
syntax combining routing, templates, and application logic. The way
Schmidt has written the demo looks Lisp-like on first blush. His demo
looks cosmetically different to most Node frameworks that I've seen, but
I suppose you could draw comparisons with Sinatra/Express/Compojure/etc.

Fab's name comes from 0xFAB which is 4011 in decimals --
the port number you might like to use for Fab apps.


I mentioned the jQuery Phono library yesterday, and coincidentally I
also discovered Nodaphone which uses Twilio to
allow phones to interact with a web app. The code is at DTrejo /
on GitHub.

The Noded

I've been talking to Micheil Smith on our
IRC channel (irc.freenode.net, #dailyjs) and he told me about a podcast
he's started with Mikeal Rogers called
The Noded. They're still working on finishing off the web site and podcast, but they both commit to Node and
are active in the community so it sounds like it's going to be worth
listening to (and I rarely say that about programming podcasts).

Follow @thenoded to get notified when the
podcast is available.

Node FFI

node-ffi by Rick Branson has been getting a lot of attention lately. It's a library for calling dynamic
libraries using pure JavaScript, so it allows binding to native
libraries without writing C++ code.

Branson says the library should be used with caution right now, but it's
definitely encouraging to see this is being seriously worked on.