On no! I’ve invented SVG badly!

It started, as these things often do, with a tiny spark of inspiration. I was looking at the way Unicode builds those racially diverse family emoji. These use ZWJ sequences to glue together adults, children, and skin‑tone modifiers into a single little glyph. It’s clever, constrained, and surprisingly elegant. It gave me an idea.

What if you could do the same thing for flags? Unicode already has national flag emojis along with 🏳️‍🌈, 🏳️‍⚧️, 🏴‍☠️, 🏁,🏳️,🏴,🚩 and the countries-in-our-hearts, 🏴󠁧󠁢󠁥󠁮󠁧󠁿, 🏴󠁧󠁢󠁳󠁣󠁴󠁿, 🏴󠁧󠁢󠁷󠁬󠁳󠁿. But no more. The people in charge of assigning codes have decided this is too much of a geopolitical and culture-war nightmare so these are all the flags we’re going to get.

It was with this and the build-a-family codes that gave me the idea. A minimal system. A harmless system that would allow Unicode to avoid the minefield.

Famous last words.

“Not sure I told you, but I really like your teeth. That hairy coat of yours with nothing underneath. Not sure you have a name, so I will call you Keith.”

Just Horizontal Stripes. How Hard Could It Be?

My starting point was beautifully simple. We already have colourful square emojis, so put several in a row with a code that says “take those colours and turn them into a striped flag.”

Want to identify with the British suffragettes? No problem. Type “🟩⬜🟪” and an end marker and you’ll get the classic “Give Women Votes” banner.

That’s it. No more than six stripes. No fancy geometry. No overlays. No heraldry. Just a neat little way to express the British suffragette flag without needing a bespoke emoji or any of the political minefield that would come with it.

It felt clean. It felt doable. It felt like something Unicode might actually consider.

But I wasn’t done.

“We’re just like you, only differently inclined.”

Most pride flags are horizontal stripes, but many flags prefer vertical stripe ls a d this this seemed like a very simple extension to the idea. Two new code points. One for horizontal stripes and another for vertical stripes.

Still simple. Still manageable. Still not terrifying.

“I am making little watercolors and pastels, I think they will come out all right.”

The trans pride flag doesn’t use red and blue, but pink and baby-blue. Pastel shades. While the trans flag was already there, anyone wanting to use the trans colours would need to make do with bright-red and bright-blue.

But I’m already inventing new code points, so why not add one more. A pastel modifier that you could attach to any of the colour emojis, even outside of my primary flag composition plan. “💚” and the pastel modifier equalled a pastel-green heart.

This was the moment I should have stopped. I had taken the first step toward a graphics language, but I didn’t see it yet.

“Wake up where the clouds are far behind. Where troubles melt like lemon drops, high above the chimney tops, that’s where you’ll find me.”

Crosses, Saltires, and Cantons

Once you start thinking about flags, you can’t avoid the classics. The Nordic cross, St Andrew’s saltire, America’s star-spangled canton, the British layered geometry.

So I added codes that allowed you add various kinds of crosses, each with a colour, and a canton code that meant “this block is a new flag that will be embedded in the top left”.

Some flags have heraldic symbols on them like stars or animals. I was never shooting for pixel perfect representations, so I added codes that would allow you to add an emoji to your flag in a variety of positions.

Flag of 🇦🇺 Australia?

  • Blue stripe.
  • Southern Cross emoji on the fly.
  • White star emoji on the lower hoist.
  • Start Canton.
  • Blue Stripe.
  • White Saltire.
  • Red Saltire.
  • White Cross.
  • Red Cross.
  • End Canton.

And suddenly my simple stripe system needed rules for layering, masking, and region‑specific drawing.

The Moment of Realisation

I stepped back and looked at what I had created. Orientation rules, layering rules, colour‑modification rules, region‑placement rules, geometry rules, compositing rules, rule rules…

And it hit me with the force of a thousand W3C specifications. I was reinventing SVG. In codepoints. Not just SVG but a restricted, weirdly encoded, Unicode‑flavoured SVG with all the complexity and none of the tooling.

I had built a graphics language disguised as emoji. Unicode would never accept it. Unicode encodes meaning, not appearance. The moment you introduce a system that generates arbitrary graphics, you’ve left the world of characters and entered the world of graphics engines.

I had crossed the boundary from symbol encoding into procedural graphics, and I hadn’t even noticed until I was halfway through designing a colour‑modifier block.

My original idea — the tiny, innocent, three‑stripe suffragette flag — was lovely, but ideas like this have a way of expanding. You add one rule, then another, then another, and before you know it you’re writing a miniature graphics specification and wondering why your “simple emoji idea” now needs a colour‑space definition and a geometry engine.

Unicode didn’t ask for SVG‑Lite‑But‑Worse. I just accidentally built it.

Honestly, it was a fun ride.

Credits
📸 “Marche des fiertés Toulouse 2011” by Guillaume Paumier. (Creative Commons)
📸 “Statue in the ground of Tenison Woods Catholic College in Mt Gambier” by “denisbin”. (Creative Commons)

Notes from a Helpful Glober — “Stationary”

Dear flat earthers,

You might not realise it, but I do genuinely want to help you. I grew up in an environment where you question everything and take no one’s word for it, so I understand the instinct. I am a glober, but I don’t think you’re stupid — I just think you’re wrong. But this isn’t about that.

I’ve noticed something in your messaging that could use a little clarification.

This is about the claim that the Earth is stationary.
What do you mean by that?

Work with me a moment…

“Around the world. Around the world. Around the world. Around the world. Around the world.”

The Illusion of Rest

Right now, as I write this, I feel completely still. I might even describe myself as stationary. But what I haven’t told you is that I’m writing this on a moving train.

Given this detail, am I stationary?

  • Inside the train, yes.
  • To someone on the ground, no.

Both statements are true because “stationary” is not an absolute property. It only makes sense relative to a chosen frame of reference.

This is the part that needs clarification. When you say “the Earth is stationary”, stationary in what frame of reference?

The Earth is certainly not stationary relative to this train, or the Sun, or the stars, or the cosmic background. But no one was claiming it was.

If you mean “the Earth is stationary relative to the Earth”, then that’s not a scientific claim — it’s just a tautology. True, but meaningless and unhelpful.

If you mean “the Earth is stationary relative to the universe”, then we’re getting somewhere — but we’ll need to talk about what you think the universe is. In the mainstream scientific model, there are no absolute positions to be stationary in.

If you want to make a meaningful physical statement, you have to specify the frame of reference. Otherwise, “stationary” on its own doesn’t tell us anything about the world.

“You are just as water, you flow around all that comes in your way.”

And just to be clear, I’m not trying to score points here. I’m trying to help you make your claim in a way that actually says something testable. It bothers me when someone makes a false assertion about science and then tears it down for being “wrong”, and I don’t want to be guilty of the same.

If you can tell me what frame of reference you’re using when you call the Earth stationary, then we can talk about evidence, observations, and measurements. Without that, we’re just talking past each other — and I think we both want better than that.

Credits
📸 “Moving Out” by Matthew Hurst. (Creative Commons.)
📸 “Cat-36” by Lynn Chan. (Creative Commons.)

Hearthfire Part One: Lighting the Flame

Every so often a project lodges itself in your brain and refuses to leave quietly. This began as a late‑night thought experiment, the kind that keeps circling until you either build it or write it down. For months it’s been pacing around the edges of my mind.

What if I knew what I know now, but I lived in the 1980s and worked for a plucky home computer maker?

“The games you get today, well they might be very flash, but they’ll never beat the thrill of getting through jetpack.”

The spark came from a familiar place. I’d been following the Commander X16 project, a modern reimagining of what might have happened if Commodore had stayed the course with the 6502 instead of leaping to the Amiga. The X16’s operating system keeps the approachable, single‑tasking spirit of the C64 and even followed through to shipping real hardware you can buy today. Watching that project take shape made me wonder about a different branch of the timeline. An 8‑bit machine that embraced pre‑emptive multitasking, shared memory regions, and a more ceremonial sense of system design.

That curiosity sent me digging through old notes, where I recently found some early sketches I thought I’d lost. Thirty or so years ago, a colleague told me about how the keyboard interface worked on the Sinclair ZX Spectrum. A simple 50Hz timer on the CPU’s interrupt pin. Could that open the door to full multitasking on such a humble machine?

My notes from that conversation were rough, but the core idea was already there. A system where swapping a page wasn’t a hack but a first‑class architectural gesture. A machine that could perform true multitasking, not by accident or redirecting OS calls and other such clever trickery, but by design.

Hearthfire grew from that seed. A computer could treat its shared resources not as bottlenecks, but as a communal hearth. A warm centre where processes gather. A system shaped by the constraints of the era, but guided by a modern understanding of how operating systems can cooperate rather than compete.

And because every world needs a spirit to inhabit it, Hearthfire has Bytewisp 🔥, a tiny ember‑sprite who drifts between pages, curls up in unused bytes, and serves as a gentle reminder that even the most technical systems can have a little soul. You’ll see her appear throughout this series, offering commentary from the margins.

🔥 “Bill thinks ths is cute. I’m not so sure.”

This post is simply the declaration. Hearthfire exists — or at least the idea of it does. What follows in the next instalments is an attempt to get it out of my head and onto the page. To stop it keeping me awake at night and start shaping it into something coherent. But do bear in mind I’m probably not going to actually build this. It has been two decades since I wrote a line of C code or 6502 assembly. But if anyone does want to go ahead and build something to this design, please do with my blessing.

🔥 “If someone builds it, I promise to keep the pages warm.”

In Part Two, we’ll begin with the memory model. Sixteen 4K windows into a much larger space and a page‑swapping mechanism that makes pre‑emptive multitasking not only possible but elegant. We’ll talk about how Intel got tantalisingly close to a great architecture with the 8086, but dropped the ball at the last moment.

For now, consider this the lighting of the first flame.

Welcome to Hearthfire 🔥.

Credits
📸 “Cat on a laptop” by Doug Woods. (Creative Commons)
🌈 Andrew Langstaff for cluing me into how the ZX Spectrum works.
(And for the round of drinks.)