International JavaScript show ‘n’ tell @ Async

The Full Frontal JavaScript conference is tomorrow, so this is a very international audience.

A bit of a show ‘n’ tell tonight at the fortnightly Async JavaScript meetup, hosted at The Skiff in Brighton… notes below.

Links for the talks ought to be added to the Async blog post ( by the speakers.

The next Async features Kyran Dale (session 7 below) on module loading (‘requireJS’), in two weeks time, also @ The Skiff.

1. Mike de Boer (from – Cloud9 IDE

Written in JS (as a node app) for dev’ing JS. Nice. “npm install cloud9”

Mounts filesystem/WebDAV server.

You can write a node app, which is run as a separate app and has the output logged to a console. They’ll have an online version up soon.

Does live debugging, and you can variables real-time via breakpoints. You can also edit the code when execution is paused. i.e. hot-code swapping. He mentioned node inspector (what’s that?).

The code editor can cope with 134k lines of code. Which textmate can’t. Nice.

You get a command-line too, for using git (other version control systems coming later).

2. Glenn Jones (Madgex) – Draggables

HTML5 experiment for dragging data between systems.

Lets you drag across browsers, which is cool. Also you can drag html files (and zipped html files!).

Really nice little thing with a bookmarklet injecting a draggable icon into a page (well, on Firefox).

Glenn is also working on a microformats parser that works cross-browser, which he will open-source.

3. Phil Hawksworth (The Team) – nodejs & ndistro – “multiple projects. quickly.”

I.e. how Phil works.

Problem with node is deployment (i.e. build) can be hard. Plus, the codebase is changing frequently. So how to cope?

ndistro – a node distribution toolkit (

Note: installing involves running install script as root (sudo su Phil recommends)

You write ndistro files for each project, where you specify the version of node and any modules from github

Phil like ejs as a templating language

Phil has some very nice presentation techniques – videos of terminals and a funny, eased, scrolling of a webpage. Guess keynote == good?

Seeing as ndistro files are just bash scripts, you can nest another running of ndistro inside the ndistro file

expressjs = “almost” MVC for node

After a Q: Not sure if npm would play nicely with this.

4. Prem (@premasagar) & Graeme Sutherland (@grasuth) – Sqwidget

The problem: widget developers have a really big problem developing something that runs in other people’s environments (which is like cross-browser development, but worse).

One solution: iFrame

Their solution: sqwidget.

It sandboxes CSS and JavaScript. This is cool, because you can do things like lightboxes, which you can’t do with iFramed widgets.

The widget is embedded using a DIV and its data attributes to do settings

Q: option to swap in different templating? A: yes. Built-in one is a hand-built library called Tim.

Q: licence? A: MIT

5. Mark Wubben, from Copenhagen (who needs a place to live in London) – Chrome2iPad

Problem: how do I get my tabs I have open in Chrome into my iPad?

Solution: Chrome2iPad.

There is a Chrome extension using (a node module) which hotlinks to a webpage on the iPad to the Chrome browser via a Chrome extension

Not released on github yet. When it is available, it will be on

6. Paul Downey (@psd, Osmosoft) – TiddlySpace

TiddlyWiki is a single-page HTML app.

I’m writing these notes in a TiddlyWiki…

TiddlyWiki is interesting because it can save itself when on a file URI.

All the plugins are written in JavaScript.

TiddlySpace is like TiddlyWikis in the sky. It’s slightly different from file-based TiddlyWikis, since you can follow people.

TiddlySpace is based on TiddlyWeb, which is an open-source hosting platform for tiddlers, with a RESTful API.

A tiddler in a TiddlyWiki is a div; a tiddler on TiddlySpace can be HTML, JavaScript, SVG – anything.

7. Kyran Dale (academia) – JavaScript physics

Impressed by JavaScript’s performance to do simulations.

Shows Craig Reynold’s Boids running 300 objects, drawn in canvas. Chrome on Linux. Real-time variable changing.

Now a robotics demo – 100 robots (Brightenbergs) with light-sensors and lights. They go mad. But without slow-down.

Next a magnetic controller. This one does some weird stuff, but again, in a peformant way.

Q: source? A: will be available, probably on a Mercurial repo (

8. Morgan Roderick (@mrgnrdrck) – PubSub in JavaScript

Writes really large systems in JavaScript.

PubSub is messaging in JavaScript. It is an alternative to the “observer pattern” (see Java, apparently).

Keeps different bits of your system nicely decoupled.

Don’t use PubSub when you have 1:1 communication, or need accurate control.

Q: is is threaded? A: all messages are passed asynchronously. In terms of performance, it’s about 10x faster than jQuery.

Q: how is it different to custom events in jQuery? A: it doesn’t depend on the DOM

Q: how do you wake listeners up? A: They just get called. If a call fails, the exception is caught and it is called again.



  1. Posted November 12, 2010 at 1:04 am | Permalink

    Well, yes, I’m Dutch, but not from Amsterdam. And I live in Copenhagen 😉