James Coglan

James Coglan

makes things with text




Simple pub/sub messaging for the web. For Ruby and Node.

websocket-driver (Ruby, Node)

WebSocket protocol library with pluggable I/O.


Available-everywhere stateless secure password generator.


JavaScript testing for the browser, Node, and everywhere else.


Self-hosting PEG parser compiler toolkit for JavaScript.


Confident unit testing

Jul 2018 ScotlandJS, Edinburgh

Breaking changes

Jun 2018 JSConf.eu, Berlin

Why recursion matters

Nov 2016 RubyConf, Cincinnati

Practical functional programming: pick two

Sep 2014 JSConf.eu, Berlin

Make: the forgotten build tool

May 2014 ScotlandJS, Edinburgh

A language in 20 minutes

May 2014 FutureJS, Barcelona

A Fairly Deep Yak Shave

Nov 2013 Why Are Computers?

Burn Your Getters

Aug 2013 Eurucamp, Berlin

Securing Socket Applications

Apr 2013 The Realtime Conference, Lyon

Breaking the Big Ball of Mud

Nov 2012 RuPy, Brno

Do I need DI?

Aug 2012 Eurucamp, Berlin

All Your Laptops are Belong to Me

Sep 2011 JSConf.eu, Berlin


Building Git

Implementing Git from scratch as a learning exercise in Unix programming.

JavaScript Testing Recipes

A comprehensive guide to testing all sorts of JavaScript programs, in the browser and on the server.

The If Works

An infrequent blog concerning Ruby, JavaScript, software design, testing, functional programming and language hacking.

Look at the Birdie

Photographs of dubious quality.