Articles
-
10 Jan 2026
Synapse: An Experiment in AI-First Personal Knowledge Management
Introducing Synapse, a framework for structuring Obsidian vaults so AI assistants can effectively understand your per...
-
25 Apr 2021
Product Backlog Ownership — Why It Matters
Why the Product Owner must be the sole owner of the backlog in Agile, and what happens when team members bypass this ...
-
14 Jul 2020
From Pivotal Tracker to Clubhouse
Why I switched from Pivotal Tracker to Clubhouse for product management. A comparison of workflows and features.
-
26 Jun 2018
The True Cost of In-House Development
Hiring your own developer seems cheaper, but hidden costs add up. Learn why partnering with a dev shop may be more co...
-
17 Jan 2017
So Long, N2Clic.
Reflections on closing my 7-year web agency N2Clic, lessons learned from entrepreneurship, and what's next.
-
18 Oct 2016
PhpStorm and PHPCodeSniffer on Windows
Updated guide to setting up PHP CodeSniffer with WordPress coding standards in PhpStorm on Windows.
-
16 Aug 2016
Installing PEAR on Windows
Simple automated guide to installing PEAR on Windows 10 using go-pear.phar without manual configuration.
-
17 Jul 2016
EasyEngine or How I Gained 1s in Page Load Time
How switching from ServerPilot to EasyEngine cut my WordPress blog load time from 1.7s to 0.8s on DigitalOcean.
-
08 Jul 2016
Je t'aime… moi non plus
Reflections on plugin developers' rights and role in the WordPress community after guidelines controversies.
-
03 Jul 2016
Get More Reviews of your WordPress Theme or Plugin
WP Review Me library automatically prompts satisfied users to review your WordPress theme or plugin on WordPress.org.
-
14 May 2016
NameCheap FreeDNS and .is Domains
Why NameCheap's FreeDNS can't manage .is domains due to TTL requirements. Save yourself troubleshooting time.
-
02 Apr 2016
Easy Dismissible Notices in WordPress
PHP library for creating persistently dismissible WordPress admin notices with user and site-level scope options.
-
26 Mar 2016
(My) Perfect WordPress Development Environment
My WordPress development setup using Vagrant, VVV, Variable VVV, and VVV Dashboard for fast local site creation.
-
15 Oct 2015
MailGun and NameCheap: SPF and DKIM Validation
How to properly configure MailGun SPF and DKIM records with NameCheap DNS for reliable email delivery.
-
16 Nov 2014
Apps Passwords and Role Based Activation for WP Google Authenticator
WP Google Authenticator v1.1.0 adds app passwords for mobile apps and role-based forced 2FA activation.
-
12 Apr 2014
Install Nginx with Server Blocks
Tutorial on installing Nginx with server blocks to host multiple sites on a single DigitalOcean droplet.
-
12 Apr 2014
Setup Ubuntu Server with SFTP
Guide to setting up a DigitalOcean droplet with Ubuntu 12.04 and secure SFTP access without FTP.
-
30 Mar 2014
Second WordPress Meetup
Second Bangkok WordPress meetup featuring Pronto Marketing on productizing WordPress development services.
-
03 Mar 2014
How to create a theme/plugin translation file
Learn the right way to create translation files for WordPress themes and plugins using Poedit.
-
25 Feb 2014
Bangkok WordPress Kick-off
Recap of the first Bangkok WordPress meetup with Siobhan McKeown on getting involved in the WordPress community.
-
25 Jan 2014
Rescue Code Now Available in WP Google Authenticator
WP Google Authenticator v1.0.4 adds rescue codes for account recovery when you can't access your authenticator app.
-
29 Nov 2013
Using SublimeLinter with PHP
Quick guide to configuring SublimeLinter for PHP on Windows. Avoid common setup mistakes and catch code errors instan...
-
22 Nov 2013
Add 2-Factor Authentication to WordPress
Step-by-step tutorial for setting up two-factor authentication on WordPress using WP Google Authenticator plugin.
-
17 Nov 2013
WP Google Authenticator
Add two-factor authentication to WordPress with WP Google Authenticator. Enhance site security with one-time passwords.