Clockmaker, flexible timer management for Javascript

As part of my tests for Ansibot I need to be able to shutdown and startup the server multiple times in succession. This involves stopping and starting various timers spread throughout the system. I was using setTimeout and setInterval directly (Ja...

Melkor, a wiki engine built using node.js

I’ve recently released Melkor, a wiki engine built in Node.js. Melkor (named after the Lord of the Rings character) uses Git as the back-end storage mechanism (including revision history), has a responsive layout (using Bootstrap) and has support ...

Shippable + Ansible + Docker + Loggly for awesome deployments

This post is about how to use Ansible and Docker for both setting up a server environment for your app and then deploying your web app to it, and preserving your logs in case of server crash. Since I wrote my post on “Automated deployment with Doc...

Why Promises are more flexible than callbacks

Every now and then I see an article explaining why Promises in Javascript are awesome. And almost in all cases they never quite go into enough depth about exactly how Promises offer more flexibility than callbacks. In this post I shall attempt to ...

Javascript generator delegation and coroutine performance

I am currently building a web app framework on top of Koa, the generator-based middleware framework for node.js. If you are not familiar with Generators then I highly recommend reading Toby Ho’s introduction to Generators. Towards the end of that ...