WordPress GCS plugin broken thumbnails

The GCS plugin for WordPress lets you use Google Cloud Storage for WordPress’s media and other uploads. This is required on stateless environments like App Engine, where there’s no persistent writable filesystem to store uploads.

However, image thumbnailing and rescaling is broken by default when using the plugin, so while you can upload an image, the thumbnails that usually get automatically generated will never appear in the GCS bucket. So if you add high-resolution images to a post, load times will be massively increased, which is a particularly bad experience for low-resolution mobile devices.

I raised a WordPress ticket and attached a patch that fixes the issue. The patch needs to be applied to the core WordPress installation (rather than being a plugin), so may not be an option for WordPress admins that are using multisite hosting. I think a plugin-based fix would be possible (one that replaced the default image editor with a fixed one), but would involve duplicating a bunch of code from core WordPress.

Continue reading “WordPress GCS plugin broken thumbnails”

Costs of running WordPress using Google Cloud

Self-hosting a WordPress blog gives you the ultimate control over your website and database. However, you may want to utilize cloud IaaS or PaaS offerings to provide the lower-level infrastructure (machines, network, or even the webserver). Google provides resources for running WordPress on Google Cloud Platform, but there is very little upfront information about the costs of the different options. GCP’s complex pricing (with Always Free quota and sustained-use discounts), along with some hidden costs in some configurations, made it difficult to predict the final monthly cost.

Knowing the price of hosting a WordPress blog on Google Cloud Platform is important, because small-time bloggers are going to be comparing these options against options that cost less than $5 a month or even nothing (e.g. the WordPress.com personal and free plans, or even jumping blogging platform completely to Medium or similar).

I’ve recently been through the exercise of measuring the costs of running WordPress on GCP with this blog. The summary of the dominant costs is:

Configuration Breakdown Minimum Cost (USD) per month
App Engine + Cloud SQL
(asia-east2)
f1-micro App Engine instance ($0) +
db-f1-micro MySQL Cloud SQL instance ($11.50) +
10GB-months low-cost storage ($1.35)
$12.35
App Engine + GCE + VPC
(asia-east2)
f1-micro App Engine instance ($0) +
f1-micro GCE instance ($5.42) +
2x f1-micro VPC Connector ($10.84) + PD ($1.45)
$17.71
App Engine + exposed GCE
(asia-east2)
1 f1-micro App Engine instance ($0) +
f1-micro GCE instance ($5.42) +
PD ($1.45)
$6.87
Just GCE
(asia-east2)
f1-micro GCE instance ($5.42) + PD ($1.45) $6.87
free App Engine + free GCE
(us-central1)
f1-micro App Engine instance ($0) +
f1-micro Always Free GCE instance ($0)
almost $0

Caveats:

  • $0 prices assume you’re not already consuming your GCP “Always Free” quota.
  • There are some additional costs not included in the table (storage and network), but they were < $0.10/month for me.
  • I’m not counting Google’s $300 “free trial”, which only lasts 12 months.

Continue reading “Costs of running WordPress using Google Cloud”

Ergodox EZ Review

I started using an Ergodox EZ with QMK firmware 6 weeks ago. I’m now proficient with this keyboard and will continue to use it every day, and I’m impressed with the build quality. However, the Ergodox has some drawbacks, some of which are by design.

I’m coming from using both the built-in keyboards on MacBooks, and the Microsoft Natural Ergonomic Keyboard 4000. In both cases, I perform software-remapping of the keyboard layouts in macOS, the Linux console and X:

  • US/QWERTY physical layouts are remapped to Dvorak
  • the physical caps lock key is remapped to control

Although I was happy with these keyboards and the Dvorak layout, I wanted to experience what all the fuss was about with mechanical keyboards. I like the Microsoft ergonomic keyboards, so I was looking for something similar with a split and tented/sculpted shape. I liked the idea of a columnar layout, too. And ideally I wanted a full-size keyboard.

Unfortunately no keyboards seem to fit these criteria simultaneously, so I gave up on finding a full-size keyboard. I liked the open source nature of Ergodox, but didn’t want to solder my own, so I got an Ergodox EZ with Cherry MX Blue switches and sculpted blank (Signature Plastics DCS, with O-rings) keycaps.

Continue reading “Ergodox EZ Review”