Jonathan Arkell's Portfolio

Development and Programming

Bunny Cyborg
A personal Arduino project to take the output of an EEG, and use it to control a pair of robotic bunny ears. The prototype is complete, and verison 1 is being worked on. My Mindwave Emacs package grew from this.
A hardware envelope follower that sends out envelope values as Midi CC messages.
Emacs Projects
I've written a variety of Emacs Lisp files (plugins) for the Gnu Emacs editor. They range from simple and fun tools, to full modes that integrate with webservices.
The simple and Javascript Prototype OO library. The project is mothballed for now.
BunnyRegex is a wrapper around PHPs Perl Compatible Regular Expressions. It was developed to make writing, refactoring and maintaining regular expressions a lot easier. It was featured on the PHP Developer Network.

Here's a great little regex library for PHP that uses a dead-simple syntax that someone should have thought of way, way before this.

Deane Barker at Gadgetopia in the blog entry Bunny Regex
Kilns is a programming language based on the kell calculus. In addition to managed memory, it also has managed concurrency and managed networking. It is a "higher-order" distributed programming language, which means that running processes can be paused and resumed, or even moved between machines. I helped Greg with testing the langauge.

Contributions to other open source projects

A swank backend and slime frontend for emacs to connect to either a browsers Javascript instance, or a Node.js instance.
Serendipity Freetag Plugin
The Freetag plugin is an add on to the Serendipity Blogging system that allows Blog author to add tags to their blog entry. It also builds a tag cloud for the user, and allows them to manage their tags.

That is just so much awesome work. It is how I loved to see the freetag plugin evolve into, you leveraged it a lot. OpenSource rocks!!!

Garvin Hicking, Serendipity Project Lead
DokuWiki Templater Plugin
The Templater plugin is an add on to the DokuWiki project. It allows authors to set up a specialized WikiPage as a 'template' that you can include in other wiki pages.

Websites and Web Applications


Padgrab image

I was a consultant for, introducing them to unit testing, refactoring and source control. I also helped with the backend programming and markup of the website.


ColourRecentPosts was a web applcication that connected to Wiki Wiki (also known as the C2 Wiki or Wards Wiki) to show you who changed which page, the date it was changed, and the difference in time from when it was last changed. It is a visualization tool that is useful for sniffing out "sock puppets" and "edit wars".