SuperGeekery: A blog probably of interest only to nerds by John F Morton.

A blog prob­a­bly of inter­est only to nerds by John F Mor­ton.

Configuring Craft CMS with Redis for use on Heroku

This post is about con­nect­ing a Heroku app built in Craft CMS to Heroku Redis with an SSL con­nec­tion. I’ve recent­ly tak­en an app from the free tier to a paid tier on Heroku and was pre­sent­ed with a prob­lem with con­nect­ing my Craft CMS app to Redis. I hope this post is help­ful to some­one else who’s found them­selves in this sit­u­a­tion. Upgrad­ing Heroku Redis from the free tier to a paid tier… + read on


Build a basic Docker image

Make a boat
Illustration: The Squeezebox, designed by Jeff Gilbert, is novel lifeboat designed to be a safer and better alternative to the inflatable life raft.

In this post, we’ll dis­sect a small Dock­er image I have on Dock­er Hub: johnf­mor­ton/tree-cli. It’s not a com­plex image, but its sim­plic­i­ty is good because it is fair­ly easy to under­stand. Once you under­stand the basics, you can cre­ate your own more com­plex Dock­er images. The tree-cli image is based on an offi­cial Node image and has one cus­tomiza­tion: I’ve installed tree-cli from npm, which is a pack­age that allows us to list… + read on


OneTrust blocking video playback due to privacy setting

I always feel like somebodys watching me
This image is from the film "It Follows". A good and creepy movie.

I have sev­er­al clients that use OneTrust for cook­ie con­sent. Each orga­ni­za­tion has dif­fer­ent con­fig­u­ra­tions for its OneTrust imple­men­ta­tion. Today we encoun­tered a tricky sit­u­a­tion that I want­ed to share. This par­tic­u­lar orga­ni­za­tion’s OneTrust con­fig­u­ra­tion is set to auto” which means OneTrust will active­ly enforce the user’s cook­ie pref­er­ences with­out much con­fig­u­ra­tion. The auto” set­ting makes imple­ment­ing OneTrust much eas­i­er, but we hit a road­block when it came to allow­ing video play­back for users… + read on


Video with transparency in Chrome, Edge, Firefox, Safari, iOS and Android, circa 2022 (updated in late 2024)

Transparent video

This post on using video with a trans­par­ent back­ground will prob­a­bly not age well. At least, I hope that is the case! Ide­al­ly, in the future, you can use a sin­gle .webm video file with an alpha chan­nel and it will work everywhere.But, as I write this post in Jan­u­ary 2022, and have updat­ed in 2024, after much research and try­ing dif­fer­ent approach­es, I have a <video> tag that will play a video with… + read on


Tweaking site performance and configuring AWS

PageSpeed 98 on jmx2.com

I’ve recent­ly updat­ed jmx2​.com. The site worked as it was and I did­n’t real­ly have the spare time to get to the ever-grow­ing list of updates I’d accu­mu­lat­ed. I had a week of rel­a­tive qui­et appear and I’ve final­ly worked on the site again. Here’s what I’ve been doing. Gen­er­al clean up of the code in the Craft Twig tem­plates. Built a new serv­er with PHP 8 and moved the site. I had already… + read on


The HTML email template in Craft CMS

Craft HTML email template option screenshot

The doc­u­men­ta­tion of Craft CMS improves con­stant­ly but for a CMS that evolves at the pace we’re used to with Craft, keep­ing up with doc­u­ment­ing every nook and cran­ny doesn’t always hap­pen. The HTML Email Tem­plate is pret­ty basic and has­n’t received much love in the docs yet. Search­ing the Craft doc­u­men­ta­tion does­n’t turn up much infor­ma­tion. If you search the Craft Dis­cord com­mu­ni­ty, you’ll find doc­u­men­ta­tion nuggets scat­tered in con­ver­sa­tions. In this post,… + read on


Docker, Craft, Forge, Arcustech, and Heroku

I have recent­ly embraced using Dock­er for my local devel­op­ment. To be clear, I’ve had stum­bles along the way. Luck­i­ly, I have a friend who is always there to help me out. (Thanks, Andrew!) As with almost every­thing I post on this site, this post serves as a note to my future self, but I hope you (you, being you, not me) gets some­thing out of it too. Why do this? Like many peo­ple… + read on


So long, Craft Link List, and hello again, Craft Link List

How to decide

Hel­lo Craft friends! I’ve got news to share about Craft Link List, the Craft CMS-focused newslet­ter I’ve writ­ten since May 2015. Craft Link List #127 was the last issue I worked on before hand­ing over the newslet­ter to the Craft CMS team. The deci­sion to stop writ­ing the newslet­ter was dif­fi­cult. The dia­gram above is from this tweet that I stum­bled upon in ear­ly Decem­ber. I book­marked it and kept com­ing back to it… + read on


Adding Date Validation Logic when Creating an Event in Craft CMS 3

I have a Craft CMS site with two Date/​Time fields. One field is called cal­Start­Time and the oth­er is cal­End­Time. The goal is to check that cal­End­Time does not hap­pen before the cal­Start­Time. To do this, I have a cus­tom mod­ule. Head over to plug​in​fac​to​ry​.io to scaf­fold out a mod­ule. You could also do this in a plu­g­in, but a mod­ule is prob­a­bly eas­i­er. Lis­ten for the Entry::EVENT_BEFORE_SAVE event and then make sure the… + read on


A critical error: Chromium revision is not downloaded.

I have been try­ing to get crit­i­cal to work on my Mac but kept get­ting the fol­low­ing error when my web­pack con­fig­u­ra­tion hit the point where it was try­ing to con­fig­ure the Crit­i­cal CSS. Error: Chromi­um revi­sion is not down­loaded. Run npm install” or yarn install” at Launcher.launch (/Users/john/Sites/craft-w-webpack/node_modules/puppeteer/lib/Launcher.js:119:15) I tried fix­ing this by fol­low­ing the instruc­tions, npm install, but the error con­tin­ued to hap­pen. The path to get­ting this fixed had sev­er­al steps… + read on