2011- New Relic
- Currently working with Java, C/C++, PHP, .NET, smatterings of Ruby and all sorts of fun stuff.
1999-2011 Freelance Software Developer
- Backend development of the web site for the 2005 Australian Children’s Film Festival using Ruby on Rails 1.0 and MySQL
- Booking management system in C#/ASP.NET and MS SQL Server 2000 for MapInfo Australia’s training courses.
- Web site and backend maintenance for a number of clients, primarily using PHP.
2007-2011 Shine Technologies
- On-site consulting for large Australian corporate and government clients, including Sensis, NAB, Suncorp and the Victorian Department of Primary Industries.
- Assisted with the development of a billing validation product for the energy industry.
- Lead a small team of 3 developers on an intranet replatforming project for Sensis, porting a proprietary Java CMS to Joomla! 1.6.
- Java/J2EE, Ruby/Rails, Oracle, MySQL, Python, Bash and more.
2005-2007 Web Developer
SpeakOut Creative (aka Human)
- Deliver custom content managed web sites using PHP (Drupal) and Ruby on Rails.
- Integrate web sites and services with SpeakOut’s SMS gateway using PHP, Ruby and Python.
- C /COM programming of a custom Microsoft Outlook add-in.
- Assisted with the administration of a dedicated Linux server.
- Part time position working within a small team to deliver PHP web applications using a custom internal framework.
Open Source Contributions
- Implemented the try/except/finally syntax introduced in Python 2.5.
- Credited with the implementation of PyObject-to-AST conversion and support for passing AST objects to the compile() function in Python 2.6/3.0.
- Currently working towards an AST-level optimizer for Python 2.7/3.1
- Various other minor patches
Lesser bug fixes and code contributions to the various open source projects, including:
- Rust - various minor bug fixes to the compiler + build system.
- PostgreSQL — the track_active_query_size GUC.
- PyGtkSourceView — an initial patch to allow mutable SourceTagStyles
- Ruby on Rails — various fixes and a plugin to fix the screwy semantics of URLEncodedPairParser.
- node — bug fix for the http module, feature tweak for the querystring module
- Mitter — several usability enhancements for the GTK front end
- Open Source Compiler Construction for the JVM [details]
- Open Source in Big Business: A Consulting Perspective [slides] [video]
- Open Source Compiler Construction for the JVM [slides] [video]
- Hugging Abstract Syntax Trees: A Pythonic Love Story [slides] [video]
- Open Source in Big Business: A Consulting Perspective [slides]
- On Scala (Or: Why Static Typing Doesn’t Have To Suck)
- 2003-2006 Bachelor of Information Technology, Queensland University of Technology