James Coglan



blog.jcoglan.com
github.com/jcoglan

The day job

JavaScript developer at theOTHERmedia in London, where I write the Ojay JavaScript library.

Previously worked at Media Analytics in Oxford, where I designed and built the first version DesalData using Rails, Prototype and Google Maps.

Open-source projects

JS.Class – An implementation of Ruby’s object model in JavaScript. Provides modules, classes, Ruby inheritance semantics, and implementations of several common data structures and design patterns.

Bluff – JavaScript version of the Gruff graphing library using the <canvas> element.

Sylvester – A JavaScript library for matrix and vector math, used by several 3D graphics projects.

Heist – Scheme implementation written in Ruby. Targets R5RS, can be used from the command line and embedded in Ruby applications.

Consent – Access-control abstraction layer for Rails applications. Provides a DSL for writing firewalls outside of controller code.

PackR – Ruby version of Dean Edwards’ JavaScript compressor, usable from the command line.

Jake – A build tool for JavaScript projects using PackR and ERB.

I also help maintain PDoc and Gruff, have made some very minor contributions to Ruby on Rails and Rubinius, and have written various small Rails plugins.

Talks

Writing a language in 15 minutes – Presented at London Ruby User Group, May 2009. Shows how to build an interpreter for the core of Scheme in Ruby on your tea break. Slides and code are available from my blog.

Mini-apps

Everything, Ever – Lists of random articles from Wikipedia. Written using Sinatra.

Elsewhere

I write The If Works, a blog about JavaScript, Ruby, Rails, Scheme and related technologies.

My open-source projects are hosted on GitHub.

I used to take a ridiculous quantity of photographs.