Open sourcing all my private projects

I owe everything I have to open source. When I was 15, I was introduced to programming through open source languages and frameworks. Then I got my first job through the publicity surrounding an open source project I was working on. Throughout my career, open source has introduced me to so many opportunities and friends, as well as being crucial to improving my skills. It’s incredibly important to me.

So it’s no coincidence that I dedicate a lot of my time to open source. So far this year I’ve released MacGap, Ace, HeadsUp, and am continuing to work on pre-existing projects such as Spine and GFX. And that’s not to mention the open source CoffeeScript book that O'Reilly published in January.

However, the majority of my work never sees the light of day. I’m constantly working on small projects and ideas, and for whatever reason they never get released publicly.

I want that to change; there’s no point in code languishing in my private Git repositories. Every other day for the next two weeks I’m going to release a new open source project, from next gen email web apps and CMSes to CoffeeScript spell checkers and Facebook friend pickers.

Each project will come with a README, screenshots and a brief description of any interesting code contained. I can’t promise to support or extend any of them, but if you want to take ownership, feel free by all means.

The first project I’m releasing is called Hermes, and was a re-think of email…


You can find a live demo on Heroku, and all the source code on GitHub.

The idea behind Hermes was to make email more conversation based, and to move to a HTTP based protocol. The app included some novel things, such as an asynchronous UI, and automatically filtering of any automated emails.

While the app as a whole may not be useful (unless you’re re-inventing email), specific parts may be. For example, seeing how a complex client-side web app built in Spine integrates with Rails over a REST JSON API, how Juggernaut is used to make the app realtime and how to detect automated email and parsing signatures. These are all problems that are interesting in themselves.

I’m quite happy with the design too, which I welcome people to re-use in their own projects. Everything is being released under the MIT license, and you’re completely free to use it as you will.

Till Wednesday then, when I’m releasing the next project…


Now read this

Cross Site Request Forgery in JS Web Apps

Ensuring that attackers don’t forge requests in your web applications can be a tricky businesses, one that often requires a hand-rolled solution. As soon as you have a session, you need to start thinking about cross site request forgery... Continue →