Are Swimlanes Evil?

Betteridge would say “no”. I would say “maybe”. However you feel about swimlanes, I believe they can be used for good in spite of the Prioritisation Problem.

Continue reading →

RICE scoring in Aha! for prioritisation

Working out what to build next with the tried-and-tested quantitative method of RICE Prioritisation with Aha! Product Management scoring.

Continue reading →

How to prioritise your way out of releasing anything

Imagine never fixing that bug, never releasing that feature and never improving your onboarding experience — all you have to do is prioritise!

Continue reading →

Google Maps to Garmin

Plot a course on Google Maps, import it to Garmin Connect and copy to your Garmin Bike Computer (e.g. Edge 25) — here’s the easiest way I’ve found!

Continue reading →

Excel: Split full names into given and family names

Most attempts to split a full name into first/last split by the first space but this fails when people also have middle names. Here’s how to do it properly.

Continue reading →

Dynamic stylesheets with WordPress (and enqueue-ing from shortcodes)

Dynamic styles allow you to control CSS output with PHP on-the-fly, based on your plugin’s options or simply instead of a preprocessor.

Continue reading →

Should everyone learn to code?

The media seems to think that everyone should learn to code, but I strongly disagree and believe we should look at the bigger picture.

Continue reading →

Dependency Injection explained in plain English

Dependency Injection (DI) is a simple concept that’s often explained in complicated terms. It’s not rocket surgery, just giving objects to other objects!

Continue reading →

Ads on tech blogs

A few months ago I started showing ads on my blog and the results were exactly as I expected — ads on tech blogs just don’t work!

Continue reading →

Filename Regular Expression

Checks that a string is valid on Windows (NTFS), Mac (HFS+) and most Linux distros as a file/folder name as well as part of a URI without encoding.

Continue reading →