WordPress multisite programming tricks

This pulls together some notes on handling plugin programming for WordPress multisite (network) installations. Basic information Lots of this information comes from the globally instantiated $wpdb object. Tables To get a list of WordPress tables you can use the wpdb::tables() method. Here’s a quick way to get a useful list of tables. This list include … Read more

WordPress’s maintenance mode — how to enter and leave it

Writing a WordPress plugin I had to dig around to figure out maintenance mode. That’s when visitors get this message. Briefly unavailable for scheduled maintenance. Check back in a minute. It’s easy to do from plugin or theme code. To enter maintenance mode Write a file named .maintenance into your document root with something like … Read more

Speeding up WordPress database operations

The information in this post isn’t up to date. This was the original concept paper for the plugin. Please see here for the latest. Rick James and I have cooked up a plugin, Index WP MySQL for Speed, to help optimize the way WordPress uses its MySQL database. It adds indexes to WordPress’s tables in … Read more

Scaled-up web software is hard!

The New York Times ran an article last Friday about the struggles people have had using all those vaccination-appointment web sites. The biggest complaint? The sites “crash” because they have too much traffic. I’ve worked at a company that runs scaled-up web technology. We have a customer with a vast seasonal rush, with millions of … Read more

Firefox has limited ability to handle H.264

The Firefox browser’s WebRTC and MediaRecorder functionality can handle H.264 (Advanced Video Codec) coding and decoding, but only with H.264’s constrained baseline profile. Other, higher, profiles just don’t work. And in Firefox’s WebRTC implementation (v87) attempts to use higher profiles fail more-or-less silently. Firefox works around all the patent issues with H.264 by using an … Read more

Web Beacon API

There’s a sweet little function in web browsers called the Web Beacon API.  It’s a simplified version of the XHR or Fetch API that does a fire-and-forget POST operation to a server. It’s nice for a few reasons.  First, browser Javascript (front-end Javascript) can use it without any need to process results coming back. Just … Read more