Latest blog posts

Share an Internet Connection with a Raspberry Pi Zero over USB

A few weeks ago, my friend and I were wandering through Micro Center when we found a stock of Raspberry Pi Zeros, the $5 computer that’s been difficult to acquire but has sparked a “no, seriously, how can I justify not buying a $5 computer?!” chorus of geeks across the globe.

Since picking up the Pi, it’s…well, sat on my desk. I’ve been looking for a fun project (and the time in which to do it), and finally decided to try the Raspberry Pi Zero out as an  OpenVPN server, as it turns out my NETGEAR router doesn’t support the necessary protocols for connecting from my iPhone. I even found this handy post detailing how to go about getting OpenVPN working, which is great.

Automatically Set WordPress Thumbnail Sizes When Switching Themes

Right now, one of my main projects at work is a totally new theme for the official news outlet for a major corporation. Along with a million other changes, one thing that needs to happen ASAP after switching to the new theme is that the image thumbnail sizes – controlled through Settings › Media in wp-admin – need to be changed.

Of course, being the lazy, automation-obsessed developer that I am, I wanted to find a way to automatically set these thumbnail sizes the instant we changed themes. Fortunately, where there’s a hook, there’s a way to make this happen automatically.

Cropping and Resizing Animated Gifs with Gifsicle

I recently had an interesting request on a client project: how can we resize animated gifs without losing the animation in the thumbnails? WordPress lets you upload animated gifs, but as soon as it resizes them the thumbnails are decidedly less animated. As a purveyor of fine, animated gifs, I can tell you that an animated gif with no animation is no gif worth having!

Fortunately, there’s a free, open-source library called Gifsicle designed to manipulate animated gifs. The fun part is using Gifsicle to resize your gifs for you, automatically.

How did I not know about get_post_types_by_support()?

Every once in a while (well, more often then I’d care to admit, actually), WordPress core surprises me with a function that I had no idea existed. They often come in the form of utility functions, things written when developers decide “oh no, I have to write this piece of logic again?!”. Heck, there have even been talks on these hidden little bits of code that make the world a brighter place.

Today, that function is get_post_types_by_support().

Preparing for your Annual Review

The annual review can be a sink-or-swim moment for many employees, but I’ve seen far too many people – myself included – let a good opportunity to talk about growth and trajectory pass them by when review time finally comes. The review can and should be a time to reflect on your successes, reinforce learning from mistakes, and set goals for your future at the company.

Review: Building Exceptional Sites with WordPress & Thesis

While I was in St. Louis for php[tek], php[architect] announced the release of their latest book, Building Exceptional Sites with WordPress and Thesis by Peter MacIntyre. php[architect]’s Editor-in-Chief, Oscar Merida, asked if I’d be willing to read through the new book and offer my thoughts, and I quickly accepted; not only have I been looking forward to meeting Peter in-person (he’s one of the organizers of Northeast PHP, where I’ll be speaking in early August), but the book’s forward was written by my close friend and mentor, Eric Mann.

Exporting Reveal.js Slides to PDF using Decktape

After giving two talks last weekend and WordCamp NEO, one of the conference organizer emailed me and asked if I could provide PDF versions of my slide decks to send to

If you’ve seen one of my talks before, you may know that I’m a huge fan of Reveal.js, a JavaScript presentation framework that allows me to author my slides using Markdown, present in a browser, and share everything via GitHub Pages. Then, as I give talks at multiple conferences, people can see what’s changed, report any inaccuracies, and see my presentation history. Pretty snazzy!

WordPress Plugins: Procedural or OOP?

As you may be aware, I have a profile on PHP Mentoring and am currently working with a number of PHP developers looking to grow their skills and kick-start their careers. Last week, I received an interesting question through the site, and half-way into writing my response I realized it would make a useful blog post: when writing a WordPress plugin, should I be using procedural or object-oriented programming?

Yet More on Weight Loss

Today marks one year since I sat down, decided I was unhappy with my body, and started taking steps to actively lose weight. Years of “oh, I’ll offset X with a salad tomorrow” had proven that approach ineffective, and with my daughter on the way, I decided it was time to stop being passive about my efforts.

I started tracking my meals and activity on MyFitnessPal; after a month or so (and weighing in at 12lbs less than when I started), I wrote a blog post, On Weight Loss, about what I had learned in the first month. It was an extremely personal post for me, but it also helped to keep me accountable throughout the rest of the year. I also received a lot of great words of encouragement, both on the post and through other channels, from both friends and total strangers alike.