If a process has a name, it’s an entity
Command-line Add-BindingRedirect
Sensitive setting support in ConfigInjector
Talk video: Back to basics: simple, elegant, beautiful code
What’s new in ConfigInjector 2.0
Building Tweets from the Vault: Twitter OAuth
Building Tweets from the Vault: NancyFX tips and tricks
Building Tweets from the Vault: yet another Bootstrap site?
Building Tweets from the Vault: Azure, TeamCity and Octopus
Building Tweets from the Vault: Minimum Viable Product
Am I interviewing you? Here’s what I’m going to ask.
Brisbane Azure User Group talk on Azure Service Bus Made Easy
Support for long-running handlers in Nimbus
The Readify Firehose: An aggregated feed of a bunch of random Readifarians
Your domain model is too big for RAM
Stopping a Visual Studio build on first error
ConfigInjector now supports static loading of settings
Request and response with Nimbus
Handler interface changes in Nimbus 1.1
Nimbus: What is it and why should I care?
RSS as a primary source of truth
Happiness is a legitimate goal
Quick demonstration of continuous delivery
The story so far: a fairy tale…
Two-day workshop: Making Legacy Applications Awesome
We tried agile and it didn’t work
Inversion of control from first principles: Top Gear style
Vote for my DDD Brisbane talk: Inversion of Control from First Principles: Top Gear Style
In software, the iron triangle is a lie
What risks are you taking with your business?
Introducing YACLP: Yet Another Command-Line Parser
On the Principle of Least Privilege
If your DBA makes your schema changes, you’re doing it wrong
Applications need to own their own data
The Forgotten Convention-Based Test Harness
iPhone/MonoTouch unit testing with Team Foundation Server
An iPhone Eye for the C# Guy at DDD Brisbane
Why merely “very good” employees don’t get promoted
If you’re so smart, why does all your code look simple?
Generic solution for testing flag enums in C#
On corporate blogging: corporate culture and personal ethics
Worth Reading: Automate, else Enforce otherwise Path of Least Resistance
Automatically rejecting appointments in Microsoft Outlook 2007
Memory leak detector for Internet Explorer
console.log() equivalent for Internet Explorer
Brisbane Alt.Net User Group Launched
Code Snippet for .NET Provider
The Value of Check-In Policies
JavaScript Code Re-Use in Microsoft CRM
Code Snippet for WPF Routed Event
Windows Communication Foundation Introduction
I'm Head of IT & Engineering at Etax, one of Australia's largest tax agents. Other interesting places I've been before Etax include Octopus Deploy, ThoughtWorks, Readify, Zap BI, Realex Payments and TRL.
I'm a fan of high-quality code, domain-driven design, event-driven architecture, continuous delivery and, most importantly, shipping software that works and that solves people's problems.
I have a number of small open-source creations, including Nimbus, ConfigInjector and NotDeadYet, and am an occasional contributor to several more.
I'm a regular speaker and presenter at conferences and training events. My mother wrote COBOL on punch cards and I've been coding in one form or another since I was five years old.
Cyclist. Runner. Hiker. Budding skydiver. Photographer. Ballroom dancer. Motorcyclist. Occasional sailor. Lapsed fencer. Legatee.