2016- Neeve Research

Principal Architect

  • Member of the X Platform core team, working on an in-memory computing framework for stateful high throughput, low latency applications.

2011-2016 New Relic

Senior/Lead Engineer

  • Helped build and maintain critical parts of New Relic’s Kafka-backed data ingest pipeline.
  • A member of the small team that built the custom distributed analytics database backing Insights in Java.
  • Delivered the go-to-market version of the Android agent (Java bytecode instrumentation).
  • Maintenance & support of the Linux Server Monitor (written in C).
  • Delivered the go-to-market version of the Windows Server Monitor (written in C# and C). Ported SIGAR to 64-bit Windows.
  • The odd Gradle plugin.

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

Senior Consultant

  • 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.
  • Wrote a node.js template engine that compiled a custom HTML template language to JavaScript.
  • 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.

2004-2005 Programmer

MU Systems/NetOptions

  • 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


I maintain the hiredis and Cap’n Proto packages for the Debian project. I’m working on packaging the spin model checker.

Other Projects

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.
  • nodebug fix for the http module, feature tweak for the querystring module
  • Mitter — several usability enhancements for the GTK front end

Public Speaking

RubyConf 2012

OSCON 2012

OSCON Java 2011

  • Open Source Compiler Construction for the JVM [details]

Linux.conf.au 2011

Open Source Developer’s Conference 2010

  • Hugging Abstract Syntax Trees: A Pythonic Love Story [slides] [video]
  • Open Source in Big Business: A Consulting Perspective [slides]

Open Source Developer’s Conference 2009

  • On Scala (Or: Why Static Typing Doesn’t Have To Suck)

Open Source Developer’s Conference 2008


  • Java
  • Python
  • C/C++
  • Ruby
  • PHP
  • Bash