Slamiltee at the Lycaeum

Went to a West End theatre wearing my “Slamilton” t-shirt.

In this corridor, during the act break, a stranger spotted it and did a double-take.

“Is that…? wait… that’s not Hamilton!”, they said.

I seized my chance.

“It’s Slamilton,” I replied. “You know: ‘Who slams, who jams, who tells their story.'”

And then, after a pause: “What’s ‘Hamilton’???”

Dan, a white man with a goatee beard and a blue ponytail, wears a 'Slamilton' t-shirt in a theatre stairwell.

×

The Reason I Have 12 Birthdays

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

or, how to fuck your shit up by ignoring obvious birthday inflammation symptoms. don’t be like me. seek help.

sorry for this barely scripted and low quality video, the next one will be worse.

special thanks to doctor jacobi for the excellent care, and to the manna charitable foundation for the flight logistics.

The ever-excellent Blackle Mori1 posted this about 18 months ago but I don’t think it got the level of attention it deserves. If if you’ve never experienced birthday inflammation or known anybody who has, it’s an eye-opening experience to hear a first-hand account of this unusual and definitely-real condition.

 

Footnotes

1 If the name’s familiar but you can’t quite place it, here’s the previous two times I’ve talked about Blackle’s work: my analysis of the construction of the Basilisk Collection, and the (now-famous) Cursed Computer Iceberg.

Distractingly Amazing

Found the younger child not-in-bed but dancing around his room, using his pyjamas as perhaps some kind of streamers or flags.

Me: “Why aren’t you in bed?”
Him: “I’m sorry; I got distracted by how amazing I am.”

Hard to argue with that.

Rabbithole

The dog came out for a walk with the eldest kid and I, but we couldn’t stop her sticking her head down rabbitholes!

In a grassy field, a girl in a red dress and comfortable boots kneels with her head completely vanished down a rabbit hole.

(Oh, and the dog kept doing it, too.)

×

ArtificialCast

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Type-safe transformation powered by inference.

ArtificialCast is a lightweight, type-safe casting and transformation utility powered by large language models. It allows seamless conversion between strongly typed objects using only type metadata, JSON schema inference, and prompt-driven reasoning.

Imagine a world where Convert.ChangeType() could transform entire object graphs, infer missing values, and adapt between unrelated types – without manual mapping or boilerplate.

ArtificialCast makes that possible.

Features

  • Zero config – Just define your types.
  • Bidirectional casting – Cast any type to any other.
  • Schema-aware inference – Auto-generates JSON Schema for the target type.
  • LLM-powered transformation – Uses AI to “fill in the blanks” between input and output.
  • Testable & deterministic-ish – Works beautifully until it doesn’t.

As beautiful as it is disgusting, this C# is fully-functional and works exactly as described… and yet you really, really should never use it (which its author will tell you, too).

Casting is the process of transforming a variable of one type into one of another. So for example you might cast the number 3 into a string and get "3" (though of course this isn’t the only possible result: "00000011" might also be a valid representation, depending on the circumstances1).

Casting between complex types defined by developers is harder and requires some work. Suppose you have a User model with attributes like “username”, “full name”, “hashed password”, “email address” etc., and you want to convert your users into instances of a new model called Customer. Some of the attributes will be the same, some will be absent, and some will be… different (e.g. perhaps a Customer has a “first name” and “last name” instead of a “full name”, and it’s probably implemented wrong to boot).

The correct approach is to implement a way to cast one as the other.

The very-definitely incorrect approach is to have an LLM convert the data for you. And that’s what this library provides.

ArtificialCast is a demonstration of what happens when overhyped AI ideas are implemented exactly as proposed – with no shortcuts, no mocking, and no jokes.

It is fully functional. It passes tests. It integrates into modern .NET workflows. And it is fundamentally unsafe.

This project exists because:

  • AI-generated “logic” is rapidly being treated as production-ready.
  • Investors are funding AI frameworks that operate entirely on structure and prompts.
  • Developers deserve to see what happens when you follow that philosophy to its logical conclusion.

ArtificialCast is the result.

It works. Until it doesn’t. And when it doesn’t, it fails in ways that look like success. That’s the danger.

I’ve played with AI in code a few times. There are some tasks it’s very good at, like summarising and explaining (when the developer before you didn’t leave a sufficiency of quality comments). There are some tasks it can be okay at, with appropriate framing and support: like knowing its way around unfamiliar-to-you but well-documented APIs2.

But if you ask an AI to implement an entire product or even just a significant feature from scratch, unsupervised, you’re at risk of rapidly hitting the realm of Heisenbugs, security vulnerabilities, and enormous redundancies.

This facetious example – of using AI as a universal typecasting engine – helps hammer that point home, and I love it.

Footnotes

1 How to cast basic types isn’t entirely standardised: PHP infamously casts the string "0" as false when it’s coerced into a boolean, which virtually no other programming language does, for example.

2 The other week, I had a GenAI help me write some code that writes to a Google Sheets document, because I was fuzzy on the API and knew the AI would pick it up faster than me while I wrote the code “around” it.

Unrepentant Blep

The unrepentant bleppy face of a dog who, without fail, steals the warm spot I’ve left behind on the sofa within like three seconds of me standing up.

A champagne-coloured French bulldog sits askew on a blue blanket atop a grey sofa, her tongue sticking out and to the side, as she looks at the photographer.

×

Queer Coded 🌈

Paraphrased from a conversation in a Manchester pub last night –

Them: Your [dyed blue] hair is queer-coded, right? Like… you’re telegraphing you’re queer?
Me: I mean… I’m also wearing a pride rainbow t-shirt and my watch strap is a ‘bi pride’ flag. I don’t feel like I’m being subtle.
Them: Nah. The hair’s the giveaway.

Dan shrugs for the camera as he sits at a pub table with a variety of people; one woman, sat to his left, throws a V-sign with her fingers.

×

Sorry for any inconvenience

Rarely seen nowadays, these UK road signs were eventually declared “too impolite” and “brusque” and have now almost entirely been replaced with the ones that Brits are familiar with today, which read “Terribly sorry for the inconvenience, I hope it’s no bother, it’s all our fault really, so sorry, really sorry, sorry, I’ll put the kettle on shall I?”

On a grassy roadside verge, next to a temporary wire fence, a yellow-and-black metal sign reads 'Sorry for any inconvenience'.

×

LayoffBot – eliminating the human in human resources

This is a repost promoting content originally published elsewhere. See more things Dan's reposted.

Illustration of the 'LayoffBot process': 1. Schedules casual 1:1. Our next gen AI schedules the dreaded "quick chat" for Friday at 4:55 PM, ensuring a ruined weekend. 2. Conducts Layoff. Our AI delivers the news with the emotional depth of a toaster while recording reactions for management entertainment. 3. Completes Paperwork. Instantly cuts off all access, calculates the minimum legal severance, and sends a pre-written reference that says 'they worked here'.

It was a bit… gallows humour… for a friend to share this website with me, but it’s pretty funny.

And also: a robot that “schedules a chat” to eject you from your job and then “delivers the news with the emotional depth of a toaster” might still have been preferable to an after-hours email to my personal address to let me know that I’d just had my last day! Maybe I’m old-fashioned, but there’s some news that email isn’t the medium for, right?

Reposts of spicy takes on Automattic leadership and silly jokes about redundancy will cease soon and normal bloggy content will resume, I’m sure.

A Surprisingly Shit Bathroom

This bathroom at the holiday home where some fellow volunteers and I are doing some Three Rings work, this week, has a few unusual quirks, including this surprisingly-shit bathroom:

  • The door has a lock… but there’s a second door which doesn’t.
  • Oh, and the first door’s lock doesn’t actually do anything. The door can still be opened from the outside.