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.

Text-a-Mess: A one-day app build challenge

Text a mess social 1280x640

Text-a-Mess is a basic web app that does one thing: It mess­es up the text you enter by adding dia­crit­i­cal marks through­out to obscure it while keep­ing it some­what read­able visu​al​ly​.It does not encrypt the text in any way.A sim­ple text search will still find the orig­i­nal text. How­ev­er, it will severe­ly mess up any text-to-speech soft­ware because it will use dia­crit­i­cal marks to alter text pro­nun­ci­a­tions. Please use it with that in mind.Why did I do… + read on


Create mathematically generated CSS color schemes with OKLCh.

Wonderful World of Color
A wonderful world of color as imagined by ChatGPT.

The col­or scheme of SuperGeek­ery depends on the day you read this blog post. If you don’t like the col­ors you see today, return tomor­row, and they’ll be dif­fer­ent. This post will show you how I gen­er­ate each day’s col­or scheme. It’s based on a sin­gle col­or cho­sen based on the day of the year. I then use CSS’s rel­a­tive­ly new OKLCh col­or func­tion to gen­er­ate 20 pos­si­ble col­ors through­out the site. The Oklchro­ma site inspired me to make… + read on


Unlocking Real-Time Reactive Search in Craft CMS with Datastar

Vintage illustration depicting a futuristic search interface

This post will show you how the search page on this site works and how you can build the same thing your­self in Craft CMS. Please note that the nar­rat­ed ver­sion of this post does not con­tain a spo­ken ver­sion of the code sam­ples, but you can view those on the orig­i­nal blog post.What makes the search page inter­est­ing enough for a long blog post? The short answer is that it func­tions like the… + read on


Reset the forge sudo password in Laravel Forge

Recipe new sudo pw

Have you mis­placed the sudo pass­word for your user and need to reset it? In Lar­avel Forge, you can save reusable bash scripts in the con­trol pan­el and run them as the root user. Save the fol­low­ing in a Recipe, updat­ing NEW_SUDO_PASSWORD with your desired pass­word each time. If you’re reset­ting a user oth­er than forge, update the user. Run it on your serv­er. Presto! You’ve got your sudo pass­word back. The same script… + read on


Craft CMS and Chat-oriented Programming, CHOP

Craft CMS and CHOP

What is CHOP? A post on Source­graph titled The death of the stub­born devel­op­er defines it as Chat-Ori­ent­ed Pro­gram­ming,” mean­ing the devel­op­er is con­stant­ly con­vers­ing with an AI mod­el, most like­ly Chat­G­PT, while pro­gram­ming. In short, LLMs are decent at exe­cut­ing small, well-defined tasks, leav­ing the more dif­fi­cult plan­ning and coor­di­na­tion” to the human devel­op­er. Accord­ing to the post, the chop method­ol­o­gy gives enter­prise engi­neers a min­i­mum boost of 30% in pro­duc­tiv­i­ty across the… + read on


End of the Twitter party

Deactivated twitter 15 NOV2024
Screenshot of my deactivated Twitter account

I’ve men­tioned on my blog pre­vi­ous­ly that I used to be a heavy Twit­ter user. I joined in 2007, and it became one of my favorite places to spend time online. Twit­ter gave me a feel­ing of com­mu­ni­ty. From nerds to news to real-life friends, my feed was fan­tas­tic. That began to change after Musk bought it. Over time, Twit­ter became increas­ing­ly unrec­og­niz­able, and I want­ed to leave but didn’t know where to go.Musk’s… + read on


Set Up Redis Caching in Craft CMS with DDEV: A Step-by-Step Guide

Start­ing a Craft CMS project is easy if you fol­low the Quick Start Guide in the doc­u­men­ta­tion. You’ll quick­ly be up and run­ning with a basic serv­er set­up for local devel­op­ment with DDEV​.In this post, I’ll expand on this starter set­up by includ­ing Redis to han­dle your cache.Why Would You Want Redis in Your Local Dev Environment?Redis does caching in mem­o­ry and reduces the load on your data­base. While this might not sig­nif­i­cant­ly impact… + read on


Never mistake your production, staging and local environments with Craft CMS

Have you ever acci­den­tal­ly changed some­thing in your stag­ing envi­ron­ment when you meant to make the change in pro­duc­tion? Let’s make sure that nev­er hap­pens again. In this post, I’ll share how I use Con­trol Pan­el CSS, a free Craft 5 plu­g­in, and some gar­ish design choic­es to make it bla­tant­ly obvi­ous which Craft CMS envi­ron­ment I am work­ing in.Just how dis­tress­ing can these designs be? Take a look at the screen­shots below. The… + read on


Customizing the CKEditor in Craft CMS

CKEditor UX interface

When I cre­ate a new rich text field in Craft CMS, I use the first-par­ty CKEd­i­tor plu­g­in. My nest task is to con­fig­ure the field with some stan­dard updates which is what we’ll cov­er in this post. Before div­ing in to my cus­tomiza­tions, check out the plug­in’s offi­cial doc­u­men­ta­tion to under­stand the basic usage of the field type and learn about one of its super­pow­ers, nest­ed entries, which I won’t cov­er here. You’re not… + read on


Fixing a SQL database to have only one type of collation, a Craft CMS story

Spiderman database collation

I’m in the process of updat­ing a site from Craft CMS 4 to Craft CMS 5. As I read through the detailed upgrade guide, I noticed some data­base relat­ed items that deserved close atten­tion. The char­ac­ter set and col­la­tion of the data­base will change dur­ing the upgrade. Before I did the upgrade, I dis­cov­ered an issue with the col­la­tion type issue in my exist­ing data­base. I had a mix­ture of two dif­fer­ent col­la­tions and… + read on