Graham Batty Edmonton, Alberta, Canada
email twitter github

Personal Things I've Worked On


Channel9 is a multilanguage VM built around a non-linear stack (or stackless) design to allow for control flow to be modelled correctly for the target langauge.

It's an ongoing project that I return to frequently.


Channel9.rb is a proof-of-concept Ruby Implementation For Channel9


CloudBridge is a Dynamic Reverse Proxy intended for use in scenarios where the number, network location, or the domains handled by the proxy will change on a second-by-second basis. By reversing the connection direction between backends and frontend, it allows the frontend to always be able to correctly serve a connection to a live backend. is one use case for cloudbridge. It's an open public service where users can register a subdomain and serve a local rails up directly to the internet via cloudbridge. Unlike Heroku, the app runs directly on their local machine and is simply proxied to the world.

It's particularly useful for demoing a website to people not on the local network while making live changes to it.

Note: currently down for maintenance.


Rack-Jetty is a rack adapter for JRuby, implemented as much as possible in ruby itself, using the java jetty webserver. It's a fairly simple implementation of a simple idea, but it works quite well.


Stir was an attempt at a partial implementation of the C++ Standard Library, including elements of the then-new TR1 library update. It is far from complete, but it was an interesting experiment.


What's Bugging My Brain

Open Source Contributions


Ported the Swift programming language runtime and compiler to Linux.

You can see all my commits on the project on github.


Typhon was a project started by Victor Hugo Borja to implement Python on the Rubinius VM. I contributed a significant amount of code towards making it run actual python code. A subset of those changes can be seen in the commit history of the project.


Rubinius is a Ruby VM that has, as part of its goal, the implementation of large parts of itself in Ruby.

I was an early commiter to the rubinius project, most of my commits having been done before the project moved to git and github.


Rack is the basis of pretty much every ruby web framework at this point. It models a simple interface between web server and web application. My contributions to it were intended to make it easier to use unusual web servers without the application needing to know about them.

NewOS (now part of Haiku Operating System)

NewOS was a project by Travis Geiselbrecht to implement a new, basic operating system from the ground up. It was an experimental project and a fun playground to work with basic operating system principles.

My biggest contribution was the implementation of a pcnet32 network interface that made it capable of being run under various virtual machine environments with networking enabled.

You can see all commits by me by searching 'author' for 'Graham Batty' on the newos git repository. Highlights of my commits include:


Companies I've Worked For

Sites I've Administrated