Terence Eden. He has a beard and is smiling.

Terence Eden’s Blog

Theme Switcher:

Is this a bug in every Markdown (Extra) parser?

· 3 comments · 550 words · Viewed ~236 times


The Markdown logo.

Markdown is, I think it is fair to say, a frustrating "specification". It's origins are a back-of-a-fag-packet document and a buggy Perl script - and we've been dealing with the consequences ever since. There are now multiple Markdown parsers, each with their own idiosyncrasies. To make matters worse, there's a set of extensions popularly known as "Markdown Extra". Extra has support for things…

Highly Predictable Interactions

· 7 comments · 650 words · Viewed ~479 times


3 playing cards on a table.

I remember the first time as an adult I ordered a takeaway. I picked up the phone, menu in hand, and prepared to do battle. The person on the other end of the phone didn't speak English, my menu was out of date, they couldn't understand my address, and I didn't have the right money when they finally delivered. Stressful, annoying, and - until relatively recently - commonplace. When services…

Using a CSS cursor to show the external link's favicon

· 6 comments · 400 words · Viewed ~1,644 times


A link with the Google logo hovering over it.

How do you know where this link goes to? If you're on a desktop, you might notice that hovering your mouse over it displays the destination somewhere on your screen. If you're a geek, you could view the source-code of a page. Can we improve the experience for users? Here's an attempt. Try hovering your cursor over this link to a popular website. This is what it should look like: Here's how …

Review: The Cheapest USB-C Headphones I Could Find

· 4 comments · 550 words · Viewed ~795 times


A cheap and flimsy pair of slightly purple headphones.

Ever since phone manufacturers killed off the headphone jack, there has been an epidemic of people blasting sounds from their shitty speakers in public. Music, TikTok, phone calls - it seems some people want the whole world to share their sonic experience. Forget that noise! I have a passive-aggressive death-wish and want to hand out free headphones to people annoying me on public transport. …

Adventures with ultra-cheap ZigBee lightbulbs

· 650 words · Viewed ~734 times


3 light bulbs. One is red, one green, one blue.

The people who built my kitchen were idiots. They designed it to be lit with a dozen recessed GU10 spotlights. That's not so terrible - GU10 LED bulbs are only about £1 each - but because I am a bigger idiot, I decided I wanted remote-controlled bulbs. And ZigBee bulbs are expensive! Five years ago, feeling flush with cash, I replaced all the bulbs with a mixture of Hue and Innr Smart bulbs. …

Opening Compact File Set (CFS) files in Linux

· 4 comments · 350 words · Viewed ~269 times


Unix is user-friendly — it's just choosy about who its friends are.

I was sent some medical images in a password-protected CFS file. Here's how to open them in Linux. You can't. OK, that's a bit of an exaggeration. It's complex, but here's how to do it. The Linux software for the Compact File Set hasn't been updated in years and only works with ancient versions of Linux. Here's how to temporarily install an old version, install the software, and then…

Theatre Review: Coriolanus at the National Theatre

· 650 words


David Oyelowo, shirtless and swinging a sword. Photo by Misan Harriman.

What is the city but the people? What indeed? David Oyelowo is a powerhouse. His Coriolanus is a shitheel teetering somewhere between Trump and Mugabe. He isn't a noble character with a fatal flaw; his flaws are his character. The citizens celebrate him, turn on him, fear him. It isn't about power corrupting, it's about venal people abusing power structures. There are persistent theories about …

Movie Review: Humanist Vampire Seeking Consenting Suicidal Person

· 1 comment · 200 words


Movie poster. A young girl drinks from a bag of blood.

There are some movies - like Snakes On A Plane - where the title simultaneously tells you the whole plot and compels you to watch it. Similarly, how can you resist something called "Vampire humaniste cherche suicidaire consentant"? Like the darkest of chocolates, the bitterness only accentuates the tender sweetness of the protagonist. A young female vampire who suffers from what can only be…

WordPress - Sic Transit Gloria Mundi

· 3 comments · 400 words · Viewed ~407 times


The Logo for WordPress.

Why do so many vastly-wealthy tech personalities go mad? My ideal job involves being employed by a millionaire tech-bro. Just before they get on stage, or moments before they file a lawsuit, or an instant before they publish their thought leadership - I will appear to them. I will be dressed in rags, body smeared with excrement, weeping sores blotching my face. I will sidle up to them, lean…

You can use text-wrap: balance; on icons

· 4 comments · 200 words · Viewed ~4,412 times


The HTML5 Logo.

A fun little CSS experiment! There's a new(ish) feature in CSS which allows you to set the way text is wrapped. Ordinarily, a long line of text might be split at an inopportune time. For example: This very long headline ends with a single word Having a dangling word doesn't always look great. Using text-wrap:balance would give us something like: This very long headline ends with balanced…

Book Review: The Appeal - Janice Hallett

· 1 comment · 350 words


Book cover featuring a woodcut of a village.

I was 25% of the way through reading this when I purchased the sequel. It is an utterly compelling murder mystery - not least because the death doesn't occur until well after the halfway point. Who dies? Why? Who did it? Why?! With every paragraph I felt myself trying to decipher the characters' motives. A murder mystery set in an amateur dramatics society is a bit Simon Brett but this has much …

Import JetPack Statistics into Koko

· 6 comments · 450 words


Graph showing page views over time.

I've quit JetPack stats. I've moved to Koko Analytics. All the stats code is self hosted, it is privacy preserving, and the codebase is small and simple. But I am vain. I want all my old JetPack stats to appear in Koko so I can look back on the glory days of blogging. Koko has two main tables. The first is a summary table called wpbp_koko_analytics_site_stats : date visitors …