On November 28, 2024 at 14:55

This week I learned that Docker Swarm has a major bug where it fails to forward the HTTP request IP to the containers. This leads to incorrect IP attribution in the logs and servers thinking the request came from an internal/private IP. No wonder there are so many attempts at creating something between Docker Compose and k8s.

On November 22, 2024 at 20:39

I'm trying out the stale-while-revalidate approach with WP object cache — whenever the main cache entry expires, it attempts to serve a stale version and schedules an update on the shutdown hook after flush()-ing output. Almost like async PHP 😅

On November 22, 2024 at 14:48

Turns out you don't need to extract a ZIP file to rename a directory inside it. I'm adding GitHub sync to the Update Pilot Server and it will handle this automatically. One nuance is that you have to move all entries that are under that directory individually.

On November 21, 2024 at 14:48

Did you know that all WP ZIPs have a directory inside them matching the plugin/theme slug? They are used for the respective plugin or theme directories during install and update. With distributed update servers, I propose we prefix them with "vendor-name." (including the dot).

On November 19, 2024 at 20:39

The Update Pilot client plugin uses the official WP core UpdateURI feature for plugin and theme updates from external sources. Can you think of a reason why the plugins and themes from the same vendor (as identified by the UpdateURI hostname) should have seperate fields for product update keys?

On November 18, 2024 at 20:39

Today the Update Pilot client plugin updated itself from the Update Pilot Server over WP REST API 💪🚀

On November 18, 2024 at 14:48

Looks like Jetpack Boost is now adding Photonized image URLs to post content. I believe it was never the intention and it started happening with the block editor REST calls not being is_admin().

On November 15, 2024 at 20:39

Who thought I would be using Euclidean math to calculate the human-readable aspect ratio of image dimensions. That one pixel drift check is mine, though 😅

On November 15, 2024 at 14:48

For some reason the image block doesn't persist the width and height in the post content so WP attempts to resolve them by the image filename. These same dimensions are used to calculate the matching srcset. With Photon-like capabilities this leads to a lot of custom parsing since those filenames are always the same.

On November 14, 2024 at 20:39

Here is the Jetpack Boost onboarding experience. You can't use the plugin without sending all the site data to WP-com. And the declaimer about the site sync is below the fold.

On November 14, 2024 at 14:48

I can't believe that Caddy doesn't support any kind of caching controls out of the box. Even for a local development environment this isn't acceptable. Please correct me if I'm wrong.

On November 12, 2024 at 20:39

I really wish we could swap out the WordPress image size setting for just the aspect ratio selector and have all the responsive sizes be generated dynamically. How do you approach these settings on your sites?