Save a dozen keystrokes on every new branch

Use gpo to push your current branch to origin: alias gpo=’git push -u origin $(git rev-parse –abbrev-ref HEAD)’ Four key strokes is way better than 20+. For more of my favorite aliases, check out my dotfiles.

Atomic deploys with DeployHQ

I use DeployHQ to automatically deploy WordPress projects on Github to whatever server they need up on. DeployHQ is pretty good, but the deploys aren’t atomic. This means that, if a given deploy takes a minute and a half to perform its filesystem operations, your web server could be serving inconsistent application state for up to […]

Export current database as testing mocks

Mocking your ideal application state for tests still takes a fair amount of effort. It would be cool to see a WP-CLI command to: Stash your current database. Interactively create your mocked data. Export mocked data for use in tests. Restore your database. From a Twitter thread with Joe.


Off to Pressnomics in sunny Phoenix for my first time ever. Looking forward to a couple days packed with thoughtful conversations about doing business with WordPress.

Fieldmanager hack day

Off to NYC to hack on Fieldmanager tomorrow and Saturday with the folks at Alley. For the longest time, I was a staunch proponent of writing my own meta boxes, each and every time. Then I discovered Fieldmanager, and never looked back. Field definition is a gateway drug for modeling WordPress data. And, in the WP REST […]

Three reasons why WordPress is hard

Three reasons why WordPress is hard: Lack of GUIDs. Posts, Users, Terms and Comments each have their own auto-incremented IDs, meaning a given ID isn’t unique within the system. Stores PHP-serialized data in the database. Uses absolute paths for resources, instead of relative, which can be located in PHP-serialized data. It seems every advanced abstraction on top […]

Tracking versions of WordPress plugins in theme directories

On WordPress projects where the entire application is defined by the theme, it can be common to submodule or directly commit WordPress plugins to a directory like theme-name/lib. However, in doing so, you lose out on WordPress’ built-in update tracking. It would be cool to have a utility plugin that loads theme-specific plugins into the Manage Plugins […]

Measuring the utility of WP_REST_Posts_Controller

A good measure of the utility of WP_REST_Posts_Controller and brethren would be to test how much (or little) time it takes for a developer to correctly model their custom post type data by extending it. If it’s easy to do, then we’ve established a great abstraction. If there are pain points or places we need to […]