Install an old MariaDB version on Ubuntu

Do you need to install an old version of MariaDB on Ubuntu? Maybe you need to do some testing. Here’s how. Visit and choose your package and OS. You’ll download a tar fie. Extract the tar file with tar xf mariadb*.tar. Change your working directory to the extracted directory. cd mariadb*debs Set up your … Read more

Reindexing tables with bad dates

Sometimes, upon adding indexes to MariaDb or MySQL tables with columns with zero-default dates you’ll get an error message like this: This happens because your server’s default sql_mode includes the NO_ZERO_DATE value. It is prevalent when working on WordPress indexes using phpmyadmin or some other MySQL client program. To prevent it, change the sql_mode before … 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

getDisplayMedia vs. getUserMedia

I’ve been messing around with the browser API navigator.mediaDevices.getDisplayMedia(). The question I hoped to answer: can I capture the content in some computer display surface and push it through the same sorts of process that I use with .getUserMedia()? I tested on Google Chrome 84. Answer: yes. It has some quirks. It doesn’t need, and … Read more

Handling errors in nodejs and express

Many people surely know all this by now. Still, here are some things I’ve recently learned about notifying clients (browsers, API clients) about errors. Delivering errors from route handlers to clients This is remarkably easy, once you figure it out. Just use the http-errors package. (Beware, not the http-error package; it does something different. Call … Read more