Site Info

Ups and Downs

All I’m going to say about last night and why there is no post today is confirm your Ngnix conf files are actually backed up somewhere.

Not just that the directory they are in is set to be backed up, but actually backed up.

Site Info WordPress

Congrats WordPress 4.4!

WordPress 4.4 is now available on a website near you. First up, the release video:

WordPress 4.4 added some major things behind the scenes (REST API infrastructure) and really sweet things on the front end, like responsive imaging.

For all of you Jetpack users, Photon already supports the vast majority of new hotness with responsive imaging with the rest to come very, very soon.

Twenty Sixteen is now the present. You’ve seen the theme on this site for months now—it has had a pretty clean development cycle. There only thing that I particularly noticed as a minor coloring issue on the secondary color schemes which was quick to patch. I do wish they post format templates were a bit more interesting (or different at all), but that’s my only real critique. It looks good with great accessibility.

The new oEmbed support is pretty great. Need to drop in a post from any other site running WordPress 4.4+? Just drop the link into the visual editor, like for the release post and it transforms into:

WordPress 4.4 “Clifford”

Props to Scott for directing a fine release and for all the contributors this cycle. My contributions this round include some documentation improvements, stop you from being notified of spam comments, adding VideoPress as a trusted oEmbed provider, my first JavaScript contribution, and a few other random things here and there. 28 commits total for 4.4, which blows away anything I’ve done before. Most of those were for enhancing the “Cheatin ‘Eh?” family of error messages (which puts a bug in my ear to look at wp_die() since there are some nice little wins in there).

For more juicy information about 4.4 Clifford, check out Post Status and WP Tavern.


Site Info Technology Web Development

Let’s Encrypt!

Traditionally, getting an SSL certificate isn’t easy or cheap. SSL, or more accurately, SSL’s successor, TLS, is the underlying technology that encrypts web traffic. You’ve seen this as the https scheme on a URL and the padlock in your browser to let you know you’re securely browsing a website.

To set this up for your website, you used to (and still do on some hosts) need a dedicated IP address for the website, a fair amount of money, and jump through of hoops with the certificate authority (CA) issuing the certificate. There was, also, a lot of back and forth needing a certificate signing request (CSR) to send to the CA, then installing the real certificate when it was issued.

Let’s Encrypt aims to change that. The goal is a fully automated process where someone could type in a command on a server, wait a few seconds, and have a certificate issued and installed on their system.

It’s been in development for a while now and I’m proud to say that my employer, Automattic, is a Silver sponsor of the project. Yesterday, the opened for a public beta period. So, of course, I gave it a spin.

This site has had a certificate for some time, but I never pulled the trigger on enabling HTTPS on any of my other domains. I opted to try this on, perhaps, my greatest domain—

Let’s jump in and get some HTTPS going.

Site Info Web Development WordPress

Failed WordPress Update

I wasn’t being very smart.

I run far too many WordPress sites. For me, for friends, for my old college fraternity’s 25th anniversary site. Far too many.

They never break on me. The plugins I use are pretty solid and I’ve become a bit lazy. I don’t always follow best practices of backing up everything before updating (though it is all automated anyhow), checking the changelog first, being at a real computer and not just at my phone.

That happened to me the other night. As I was waiting for a train to pass while driving home, I checked a site for an event this weekend on my phone and saw that it had an update. I knew the plugin and knew it would be fine.

I started the update.

But then, a horrible, horrible thing happened. Nothing. Maintenance mode started. The plugin’s update had started, which typically just takes a few seconds. Minutes passed. Nothing.

I opened a new tab. The dreaded scheduled maintenance message.

On a computer, this is no big deal. I’d login via FTP, delete the .maintenance file, and live to fight another day.

But I’m on my phone. Waiting for a train. Why do I do this to myself?

To make matters worse, by the time I got home, I forgot all about it.

The next morning, I turn on the computer and see an unrelated e-mail about the event, again that is coming up this weekend. OH NO I LEFT THE SITE BROKEN OVER NIGHT.

I hit the home page. It worked…

I logged into the site.

This is amazing!
This is amazing!

I’ve honestly never had an update fail like this that I didn’t immediately, as soon as I realized was taking too long, resolve manually.

What’s happening?

When WordPress loads, early on it loads /wp-includes/load.php which fires wp_maintenance() which checks to see if we’re in maintenance mode, which is determined by the presence of a .maintenance file in the root that is created when entering maintenance mode.

Then, it either loads the drop-in wp-content/maintenance.php plugin (for a custom maintenance page) or the default maintenance page unless we’ve been in maintenance mode for more than 10 minutes. In that case, it simply keeps loading WordPress.

I’m not sure why the update failed in the first place, but WordPress handled the failure smarter than I thought it would. Smarter than I was upgrading sites from my phone.

Site Info


A very quick aside to note that is now running on HTTP/2 as of a week or so ago. I had been on the stable build of Nginx that ships with Ubuntu, which is pretty outdated.

I updated to the Nginx mainline repo and changed one line in my .conf file— spdy to http2.

I’m exploring Server Push, though nothing is implemented at this time.

It definitely feels faster, especially navigating within the site to different pages.

Aside to the aside: Yes, I really did do this via my phone.

And I feel pretty good about my site being among these as the ones having HTTP/2 connections:

Screenshot displaying the active HTTP/2 connections in my browser including my site.
A very tiny fish among some whales.
Site Info

Ad Experimentation

I’m experimenting with ads, specifically usage for an end-user site admin. Currently, I’m using the Google AdSense plugin. It was made by the Google team and, so far, is impressive in how easy it is to use from an end-user’s perspective.