Quick and easy WordPress development using Docker

TL/DR: Head over to this GitHub repo for a handy way to develop WordPress plugins and themes using┬áDocker. I recently decided to create my first public WordPress plugin which provides basic FitBit stats for your blog. This was on a fresh laptop (the one handily provided by Automattic, my new employer), so I┬áhad the opportunity… Continue reading Quick and easy WordPress development using Docker

Baby Kick Counter

This is a simple baby-kick counter for parents wanting to measure the movement of an unborn child. It measures the time you take to click the “kick” button 10 times.

The Power of Prototyping

This is the first in what will be a series of blog posts for the Mozilla-Knight Journalism Challenge. This week we heard from Aza Raskin, former creative lead for Firefox and head of user experience for Mozilla, talking about the power of prototyping for understanding problems and building momentum behind your solution.

Experience importing an existing Drupal site to Aegir

(Cross-posted from the Aegir group on Drupal.org. Aegir is a brilliant new framework for managing web sites built in Drupal – upgrading, migrating, enabling, disabling and so, SO much more.) Hi all, I just wanted to share my experience migrating an existing site to Aegir, in the hope that others will find it illuminating and… Continue reading Experience importing an existing Drupal site to Aegir

Git in one minute

Based on notes from a recent BarCamp, here’s my one-minute introduction to Git, a distributed revision control system (a system for managing collaborative changes to files, usually used for software development). This is probably only useful to someone who’s already a programmer and already trying to use git, as a kind of cheat-sheet. git notes… Continue reading Git in one minute

Synchonising Google contacts with your OS X Address Book without an iPhone

So, I lost my iPhone a while ago and that was annoying. Then my annoyance doubled when I realised that my Google contacts were no longer being synced to my OS X Address Book. It turns out that Apple will only let you synchonise Google contacts when you have an iPhone connected to the system.… Continue reading Synchonising Google contacts with your OS X Address Book without an iPhone

Guest Appearance on Byte Into It

Last week on Melbourne’s 3RRR, Georgia Webster, Andrew Fish, Keren Flavell and myself discussed Windows 7, TinyXP, iPhone security, defamation, video games, the seeming success of the Australian ‘net filtering trial and my experiences at the Open Video Conference. It was a really fun experience and reminded me how much I miss radio. There’s something… Continue reading Guest Appearance on Byte Into It

Brix Rules

Ok, so I’ve been playing with Brix, a CMS toolkit from the creators of Apache Wicket that uses Apache Jackrabbit as its content repository. And it rules. Jackrabbit (a JCR implementation, i.e. a hierarchical repository for all sorts of content) is maturing fast, with 1.5.0 hot off the presses. It’s performance is really quite good… Continue reading Brix Rules

Sending HTML Email with Wicket part II: Converting links

In my previous post, I showed how you can use Wicket‘s HTML rendering engine to render HTML emails by faking a request/response cycle. In this post, I’ll show you how to use an IVisitor to change image and anchor URLs to be absolute instead of relative. This is absolutely essential in order to make your… Continue reading Sending HTML Email with Wicket part II: Converting links

Render a Wicket page to a string for HTML email

Something that’s very desirable to do in Apache Wicket is create HTML emails using Wicket’s brilliant component-oriented markup. I’ve been working on this problem on and off for ages — it’s tricky because of teh way that markup rendering is so deeply tied to the requestcycle, which in turn is deeply dependent on the httpservletrequest… Continue reading Render a Wicket page to a string for HTML email