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.

Delivery Songs

Duration

Podcast Version

This post is also available as a podcast. Listen here, download for later, or subscribe wherever you consume podcasts.

Here in the UK, ice cream vans will usually play a tune to let you know they’re set up and selling1. So when you hear Greensleeves (or, occasionally, Waltzing Matilda), you know it’s time to go and order yourself a ninety-nine.

On a verdant manicured lawn under a summer sky, two parents walk barefoot after their young child, who is running towards a traditionally-coloured yellow-and-white British ice cream van with visible branding reading 'fresh dairy ice cream' and '99 flake'.
Bet you want a double-99 with monkey’s blood now, right? If not, maybe hearing the chime will make the difference.

Imagine my delight, then, when I discover this week that ice cream vans aren’t the only services to play such jaunty tunes! I was sat with work colleagues outside İlter’s Bistro on Meşrutiyet Cd. in Istanbul, enjoying a beer, when a van carrying water pulled up and… played a little song!

And then, a few minutes later – as if part of the show for a tourist like me – a flatbed truck filled with portable propane tanks pulled up. Y’know, the kind you might use to heat a static caravan. Or perhaps a gas barbeque if you only wanted to have to buy a refill once every five years. And you know what: it played a happy little jingle, too. Such joy!

A grey-haired man wearing a t-shirt and blue jeans leans casually against the open doors of a white van that's visibly filled floor-to-ceiling with 19-litre 'water cooler style' water bottles, plus a pallet lifter. The van is parked between red-and-white striped cones on an Istanbul street.
In Istanbul, people put out their empty water bottles to be swapped-out for full ones by the water delivery man2.

My buddy Cem, who’s reasonably local to the area, told me that this was pretty common practice. The propane man, the water man, etc. would all play a song when they arrived in your neighbourhood so that you’d be reminded that, if you hadn’t already put your empties outside for replacement, now was the time!

And then Raja, another member of my team, observed that in his native India, vegetable delivery trucks also play a song so you know they’re arriving. Apparently the tune they play is as well-standardised as British ice cream vans are. All of the deliveries he’s aware of across his state of Chennai play the same piece of music, so that you know it’s them.

Two men sit in the back of an open-backed vegetable delivery truck.
Raja didn’t have a photo to share (and why would he? it’s not like I have a photo of the guy who comes to refill the gas tank behind my house!3), so I found this stock pic which sounds a bit like what he described. Photo courtesy Aiden Jones, used under a CC-By-SA license.

It got me thinking: what other delivery services might benefit from a recognisable tune?

  • Bin men: I’ve failed to put the bins out in time frequently enough, over the course of my life, that a little jingle to remind me to do so would be welcome4! (My bin men often don’t come until after I’m awake anyway, so as long as they don’t turn the music on until after say 7am they’re unlikely to be a huge inconvenience to anybody, right?) If nothing else, it’d cue me in to the fact that they were passing so I’d remember to bring the bins back in again afterwards.
  • Fish & chip van: I’ve never made use of the mobile fish & chip van that tours my village once a week, but I might be more likely to if it announced its arrival with a recognisable tune.
'Howe & Co' Fish & Chip van, painted in white and blue and parked in a residential street.
I’m thinking a chorus of Baby Shark would get everybody’s attention.
  • Milkman: I’ve a bit of a gripe with our milkman. Despite promising to deliver before 07:00 each morning, they routinely turn up much later. It’s particularly troublesome when they come at about 08:40 while I’m on the school run, which breaks my routine sufficiently that it often results in the milk sitting unseen on the porch until I think to check much later in the day. Like the bin men, it’d be a convenience if, on running late, they at least made their presence in my village more-obvious with a happy little ditty!
  • Emergency services: Sirens are boring. How about if blue light services each had their own song. Perhaps something thematic? Instead of going nee-naw-nee-naw, you’d hear, say, de-do-do-do-de-dah-dah-dah and instantly know that you were hearing The Police.
  • Evri: Perhaps there’s an appropriate piece of music that says “the courier didn’t bother to ring your doorbell, so now your parcel’s hidden in your recycling box”? Just a thought.

Anyway: the bottom line is that I think there’s an untapped market for jolly little jingles for all kinds of delivery services, and Turkey and India are clearly both way ahead of the UK. Let’s fix that!

Footnotes

1 It’s not unheard of for cruel clever parents to try to teach their young children that the ice cream van plays music only to let you know it’s sold out of ice cream. A devious plan, although one I wasn’t smart (or evil?) enough to try for myself.

2 The official line from the government is that the piped water is safe to drink, but every single Turkish person I spoke to on the subject disagreed and said that I shouldn’t listen to… well, most of what the government says. Having now witnessed first-hand the disparity between the government’s line on the unrest following the arrest of the opposition’s presidential candidate and what’s actually happening on the ground, I’m even more inclined to listen to the people.

3 My gas delivery man should also have his own song, of course. Perhaps an instrumental cover of Burn Baby Burn?

4 Perhaps bin men could play Garbage Truck by Sex Bob-Omb/Beck? That seems kinda fitting. Although definitely not what you want to be woken up with if they turn the speakers on too early…

× × × ×

Kebab Menu Accessibility

Hanging with my team at our meetup in Istanbul, this lunchtime I needed to do some accessibility testing…

(with apologies to anybody who doesn’t know that in user interface design, a “kebab menu” is one of those menu icons with a vertical line of three dots: a vertical ellipsis)

Get Ready with Me: Techfluencer Edition

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

WordPress.com (via YouTube)

WTF did I just watch?

It’s possible I don’t understand social media any more. To be fair, it’s possible that I never did.

This is something between absurd and hilarious. Aside from the 100 year plan (which is fascinating, and I keep meaning to share my thoughts on), I’m not sure what it’s supposed to be advertising. Maybe it’s trying to showcase how cool it is to work with Automattic? (It’s not… exactly like it’s depicted in the video. But I’d be lying if I said that fewer than 50% of my meetings this week have included a discussion on snack foods, so maybe we are I guess at least a little eccentric.)

I think I understand what it’s parodying. And that’s fun. But… wow. You don’t see many videos like this attached to a corporate YouTube account, do you? Kudos for keeping the Internet fun and weird, WordPress.com.

Monday Punday

Have you come across Monday Punday? I only discovered it last year, sadly, after it had been on hiatus for like 4 years, following a near decade-long run, but I figured that if you like wordplay and webcomics as much as I do (e.g. if you enjoyed my Movie Title Mash-Ups, back in the day), then perhaps you’ll dig it too.

Monday Punday comic #179, featuring a handheld electric whisk alongside a bowl of batter, in which model phone icons used to represent the strength of a wireless connection appear.
Each comic is an abstract, wordplay-based description of a concept. This one’s a two-word phrase that I can guarantee you’ve heard or used, but it might take a minute’s thought before you guess it.

I’ve been gradually making my way through the back catalogue, guessing the answers (there’s a form that’ll tell you if you’re right!). I’ve successfully guessed almost half of all of them, now, and it’s been a great journey. It sort-of fills the void that I’d hoped Crimson Herring was going to before it vanished so suddenly.

So if you’re looking for a fresh, probably-finished webcomic that’ll sometimes make you laugh, sometimes make you groan, and often make you think, start by skimming the rules of Monday Punday and then begin the long journey through the ~500 published episodes. You’re welcome!