Murray (site owner) wearing shades and raising a single eyebrow.

oh hi!

I'm afraid you've stumbled into the personal playground of Murray Champernowne.

Ad hoc thoughts from an ad hoc mind!

What I'm Up To

An Ad Hoc Decade

Somehow, I've been writing these little blurbs for an entire decade now. What better time to take a look back at how this site has evolved.

Buh-bye Netlify!

Netlify suspended my site, due to a sudden resource spike on a completely separate domain. Now, for the first time in five years, you're reading this on infrastructure that Netlify does not own.

2024: The Year of Friends

A look back over 2024, a year dominated by travel and friends ‒ and, particularly, travel WITH friends!

Providing CSS Fallbacks with Chakra UI

Chakra UI is a pretty solid base for a component system, but it's CSS post-processing can't always provide ideal fallbacks for modern CSS techniques.

2024: By The Numbers

Looking back over 2024, through the lens of the data I captured (or had captured about me).

Astro Versus Netlify

Astro and Netlify largely play well together, but I've found a few aspects of redirects and URL design that contain the odd foot-gun I had to work around.

An Alpha Arrives

Have you noticed something a little bit different around here?

Semicircular Borders

Creating a border along half of a circular element using CSS gradients and background images.

Crafty Field Migration

Migrating content between fields in Craft is not as simple as it might be. In the wake of Craft 5, I've been getting a lot of practice, and wanted to write up some of the techniques I've been using.

Craft 5, Matrix Entries, & Custom Sources

Craft 5 introduces entry-based Matrix fields, but being able to see the entries created this way is surprisingly tricky. Thankfully, it can be done!

2023: By The Numbers

A look back over the twelve months that made up 2023, via the lens of the data captured about my life.

No More Damp Stories

Storybook encourages setting the same arguments over and over and over again, but this is a pain to maintain. There is a better, DRYer approach, it's just not well documented.

Explore?