Piano Repair

The sustain pedal broke on our upright piano.

Normally the insides of the piano are a terrifying place that only our tuner gets to look at. A scary realm whose mysteries I cannot begin to comprehend.

But I was feeling very brave, so I popped it open, found this troublesome hinge, and bodged a fix. It sounds great.

I feel accomplished.

Behind the lower front board of an open upright piano, a hand reaches in between the pedal rods and the soundboard to point at the hinge screw of the sustain pedal.

×

Build Colors from Colors with CSS Relative Color Syntax

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

The feature here is that you can take a color you already have and manipulate its components. Which things you can change vary by the color space you choose, so for an RGB color you can change the red, green, blue, and alpha channels, for an HSL color you can change hue, saturation, lightness, and alpha, and for my beloved OKLCH you can change lightness, chroma, hue, and yes, opacity.

The syntax if you wanted to use this and not change anything about the color is:

oklch(from var(--color) l c h / 1)

But of course you can change each component, either swapping them entirely as with this which sets the lightness to 20%:

oklch(from var(--color) 20% c h / 1)

This is really something. I was aware that new colour functions were coming to CSS but kinda dropped the ball and didn’t notice that oklch(...) is, for the most part, usable in any modern browser. That’s a huge deal!

The OKLCH colour model makes more sense than RGB, covers a wider spectrum than HSL, and – on screens that support it – describes a (much) larger spectrum, providing access to a wider array of colours (with sensible fallbacks where they’re not supported). But more than that, the oklch(...) function provides good colour adaptation.

If you’ve ever used e.g. Sass’s darken(...) function and been disappointed when it seems to have a bigger impact on some colours than others… that’s because simple mathematical colour models don’t accurately reflect the complexities of human vision: some colours just look brighter, to us, thanks quirks of biochemistry, psychology, and evolution!

This colour vision curve feels to me a little like how pianos aren’t always tuned to equal-temper – i.e. how the maths of harmonics says that should be – but are instead tuned so that the lowest notes are tuned slightly flat and the highest notes slightly sharp to compensate for inharmonicity resulting from the varying stiffness of the strings. This means that their taut length alone doesn’t dictate what note humans think they hear: my understanding is that at these extremes, the difference in the way the wave propagates within the string results in an inharmonic overtone that makes these notes sound out-of-tune with the rest of the instrument unless compensated for with careful off-tuning! Humans experience something other than what the simple maths predicts, and so we compensate for it! (The quirk isn’t unique to the piano, but it’s most-obvious in plucked or struck strings, rather than in bowed strings, and for instruments with a wide range, of which a piano is of course both!)

OKLCH is like that. And with it as a model (and a quick calc(...) function), you can tell your CSS “make this colour 20% lighter” and get something that, for most humans, will actually look “20% lighter”, regardless of the initial hue. That’s cool.

I spent way too long playing with this colour picker while I understood this concept. And now I want to use it everywhere!

Note #24390

This post is part of 🐶 Bleptember, a month-long celebration of our dog's inability to keep her tongue inside her mouth.

Chilling on the grass at Waddesdon Manor’s Chilli Fest with a Good Dog this First of Bleptember.

Dan on grass with a dog; the dog's tongue is sticking out.

×

Write Websites

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

Enbies and gentlefolk of the class of ‘24:

Write websites.

If I could offer you only one tip for the future, coding would be it. The long term benefits of coding websites remains unproved by scientists, however the rest of my advice has a basis in the joy of the indie web community’s experiences. I will dispense this advice now:

Enjoy the power and beauty of PHP; or never mind. You will not understand the power and beauty of PHP until your stack is completely jammed. But trust me, in 20 years you’ll look back at your old sites and recall in a way you can’t grasp now, how much possibility lay before you and how simple and fast they were. JS is not as blazingly fast as you imagine.

Don’t worry about the scaling; or worry, but know that premature scalability is as useful as chewing bubble gum if your project starts cosy and small. The real troubles on the web are apt to be things that never crossed your worried mind; if your project grows, scale it up on some idle Tuesday.

Code one thing every day that amuses you.

Well that’s made my day.

I can’t say I loved Baz Luhrmann’s Everybody’s Free To Wear Sunscreen. I’m not sure it’s possible for anybody who lived through it being played to death in the late 1990s; a period of history when a popular song was basically inescapable. Also, it got parodied a lot. I must’ve seen a couple of dozen different parodies of varying quality in the early 2000s.

But it’s been long enough that I was, I guess, ready for one. And I couldn’t conceive of a better topic.

Y’see: the very message of the value of personal websites is, like Sunscreen, a nostalgic one. When I try to sell people on the benefits of a personal digital garden or blog, I tend to begin by pointing out that the best time to set up your own website is… like 20+ years ago.

But… the second-best time to start a personal website is right now. With cheap and free static hosting all over the place (and more-dynamic options not much-more expensive) and domain names still as variably-priced as they ever were, the biggest impediment is the learning curve… which is also the fun part! Siloed social media is either eating its own tail or else fighting to adapt to once again be part of a more-open Web, and there’s nothing that says “I’m part of the open Web” like owning your own online identity, carving out your own space, and expressing yourself there however you damn well like.

As always, this is a drum I’ll probably beat until I die, so feel free to get in touch if you want some help getting set up on the Web.

Suno the Cheerleader

I continue to be sceptical of AI‘s ability to solve 90%+ of the problems that people are trying to solve with it.

But damn, if you’re feeling uninspired as you’re getting ready to start work on a Monday morning, try dumping your to-do list into a songwriting AI like Suno and ask it to write an uplifting song about how you’ll get it finished. It’s like having your very own cheerleader.

❎ Good ❎ Cheap ☑️ Fast. I guess generative AI is a “choose one” situation, and the one you have to choose is “fast”. But still: it certainly got me pumped-up and ready to work.

Also available on:

Generation details

Prompt: uplifting electronic pop about Dan completing his to-do list today: filing his meetup expenses; performance-testing his CircleCI workflow; leading a team meeting; learning about Full Site Editing

Lyrics:

Filing expenses
Gotta get ’em done
No time to waste
Gotta have some fun
Dan’s on a mission
Gotta stay on track
He’s gonna conquer
Ain’t nothing gonna hold him back

Performance testing
Gonna make it fly
CircleCI workflow
Gonna reach the sky
Dan’s got the focus
He’s in the zone
Gonna make it happen
Gonna make it his own

Leading that team meeting
Gonna show his might
Guiding them forward
Shining so bright
Dan’s a leader
He’s got it all
Inspiring the team
Gonna make ’em stand tall

Do-It-Yourself Country & Western Song

I saw a variation of this email back in the day, which provides a Mad Libs style approach to formulating a country & western song. When I was reminded of it today, I adapted it for Perchance. Give it a go!

AI isn’t useless. But is it worth it?

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

Molly White writes, more-eloquently than I would’ve, almost-exactly my experience of LLMs and similar modern generative AIs:

I, like many others who have experimented with or adopted these products, have found that these tools actually can be pretty useful for some tasks. Though AI companies are prone to making overblown promises that the tools will shortly be able to replace your content writing team or generate feature-length films or develop a video game from scratch, the reality is far more mundane: they are handy in the same way that it might occasionally be useful to delegate some tasks to an inexperienced and sometimes sloppy intern.

Very much this.

I’ve experimented with a handful of generative AIs, such as:

  • GPT-3.5 / ChatGPT, for proofreading, summarisation, experimental rephrasing when writing, and idea generation. I’ve found it to be moderately good at summarisation and proofreading and pretty terrible at producing anything novel without sounding completely artificial and/or getting lost in a hallucination.
  • Bing for coalescing information. I like that it cites its sources. I dislike that it somehow still hallucinates. I might use it, I suppose, to help me re-phase a search query where I can’t remember the word I’m looking for.
  • Stable Diffusion for image generation. I’ve found it most-useful in image-to-image mode, for making low-effort concept art in bulk. For example, when running online roleplaying games for friends I’ve fed it an image of, say, a skeleton warrior and asked it to make me a few dozen more in a similar style, so as to provide a diverse selection of distinct tokens1. Its completely-original2 work lands squarely in the uncanny valley, though.
  • Github Copilot for code assistance. I’ve not tried its “chat”-powered functionality but I quite enjoy its “autocomplete” tool. When I’m coding and I forget the syntax of the command I’m typing, or need to stop and think for a moment about “what comes next”, it’s often there with the answer. I’ve even made us of the “write the comment describing what the code will do, let Copilot suggest the code for you” paradigm (though I’ve been pretty disappointed with the opposite approach: it doesn’t write great comments!). I find Copilot to be a lot like having an enthusiastic, eager-to-please, very well-read but somewhat naive junior programmer sitting beside me. If I ask them for some pairing assistance, they’re great, but I can’t trust them to do anything that I couldn’t do for myself!
  • Surely others besides that I’ve since forgotten.

Most-recently, I’ve played with music-making AI Suno and… it’s not great.. but like all these others it’s really interesting to experiment with and think about. Here: let me just ask it to write some “vocal trance europop about a woman called Molly; Molly has a robot friend who is pretty good at doing many tasks, but the one thing she’ll never trust the robot to do is write in her blog” –

AI-generated content:

AI-generated image of a boxy yellow humanoid robot sitting at a Macbook, typing.
[Verse]
Molly’s got a robot that she keeps by her side
It’s pretty handy
It can do many things right
But there’s one task she won’t let it touch
It’s true
The robot can’t write in her blog
No
That won’t do
[Verse 2]
This robot can clean the house
Sweep it up real nice
It can even cook a meal
Add some spice
But when it comes to sharing her thoughts on the screen
Molly won’t trust the robot
That’s her routine
[Chorus]
Molly’s robot friend
By her side all day and night
There’s one thing it can’t do
Can’t write her blog right
She’ll keep typing away
Sharing her heart and soul
That’s something the robot can’t do
It has no control

So yes, like Molly:

  • I’m absolutely a believer than these kinds of AIs have some value,
  • I’ve been reluctant and slow to say so because they seem to be such a polarising issue that it’s hard to say that you belong to neither “camp”,
  • I’m not entirely convinced that for the value they provide they’ve yet proven to be worth their cost, and I’m not certain that for general-purpose generation they will be any time soon, and
  • I’ve never used AI to write content for my blog, and I can’t see that ever changing.

It’s still an interesting field to follow-along with. Stuff like Sora from OpenAI and VASA-1 from Microsoft are just scary (the latter seems to have little purpose other than for misinformation-generation3!), but the genie’s out of the bottle now.

Footnotes

1 Visually-distinct tokens adds depth to the world and helps players communicate with one another: “You distract the skinny cultist, and I’ll try to creep up on the ugly one!”

2 I’m going to gloss right over the question of whether or not these tools are capable of creating anything truly original. You know what I mean.

3 Gotta admit though that I laughed like a drain at the Mona Lisa singing along with Anne Hathaway’s Lil’ Wayne Style Paparazzi Rap. If you’ve not seen the thing I’m talking about, go do that now.

Young Squirrel Talking About Himself

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

This week, Parry Gripp and Nathan Mazur released Young Squirrel Talking About Himself.

You might recognise the tune (and most of the words) from an earlier Parry Gripp song. The original video for the older version is no longer available on his channel, and that’s probably for the best, but I was really pleased to see the song resurrected in this new form because it’s fabulous. I’ve been singing it all day.

[Bloganuary] Landslide

This post is part of my attempt at Bloganuary 2024. Today’s prompt is:

What do you enjoy doing most in your leisure time?

Boo to this prompt! This Bloganuary already asked me how I like to play and about five things I do for fun; now it wants me to choose the thing I “enjoy most” from, presumably, that same set.

Dan, wearing a purple t-shirt with a WordPress logo and a Pride flag, sits in his home office and gives two "thumbs down" signs while frowning at the camera.
This prompt does not win my approval.

So I’m going to ignore this prompt.1 Instead, let’s go look up last year’s prompt from the same day:2

What is a song or poem that speaks to you and why?

Much better.

Landslide, by Fleetwood Mac.

I’ll save you looking it up: here’s a good live recording to put on while you keep reading.

At 5½ years older than me, the song’s been in my life effectively forever. But its themes of love and loss, overcoming naivety, growing up and moving on… have grown in significance to and with me as I’ve grown older. And to hear Stevie Nicks speak about it, it feels like it has for her as well, which just doubles the feeling it creates of timeless relevance.

In concert, Nicks would often dedicate the song to her father, which lead to all manner of speculation about the lyrics being about the importance of family. And there’s definitely an undertone of that in there: when in 2015 she confirmed that it was about a challenging moment of decision in her youth in which she was torn between continuing to try to “make it” as a musical act with her then-partner Lindsey Buckingham or return to education. Her father was apparently supportive of either option but favoured the latter.

Ultimately she chose the former and it worked out well for her career… although of course the pair’s romantic relationship eventually collapsed. And so the song’s lyrics, originally about indecision, grow into a new interpretation: one of sliding doors moments, of “what ifs”. In some parallel universe Stevie Nicks dropped out of Buckingham Nicks before Keith Olsen introduced Lindsey Buckingham to Mick Fleetwood, and we’d probably never have heard Landslide.3

Stevie still sings Landslide in concert, and now it feels like it’s entered its third life and lends itself a whole new interpretation. Those lyrics about turning around and looking back, which were originally about reconsidering the choices you made in your youth and the path you’d set yourself on, take on a whole new dimension when sung by somebody as they grow through their 60s and into their 70s!

In particular, coming to the song as a parent4 is a whole other thing. Its thoughts on innocence and growing-up, and watching your children do so, reminds me of my perpetual struggle with comparing myself to the best parent I know. An intergenerational effort to be my best me; to look forwards with courage and backwards with compassion for myself.

All of which is pretty awesome for a song that under other circumstances might be just a catchy twist on a classic country rock chord progression with some good singing. Sliding doors, eh?

Footnotes

1 It’s my damn blog; I can do what I want.

2 This is my first year doing Bloganuary, so I didn’t get to answer this prompt last time around.

3 Nor, for that matter, any of the other excellent songs that came out of Nicks’ and Buckingham’s strained relationship, such as Silver Springs, Second Hand News and, perhaps most-famously, Go Your Own Way. I guess sometimes you need the sad times to make the best art.

4 Nicks, of course, famously isn’t a parent, but I refer you to a 2001 interview in which she said “No children, no husband. My particular mission maybe wasn’t to be a mom and a wife. Maybe my particular mission was to write songs to make moms and wives feel better.”.

×

FreeDeedPoll.org.uk, Punk Rock Edition

A Birmingham-based punky trio, Luxury Nan Smell, have released an EP called (Derogatory). The first track on that album? freedeedpoll.org.uk. Named in reference to my website of the same name.

Album cover art for (Derogatory), showing the title in pink cursive script over a three small white ovoid pills dissolving on the ground. The words "luxury nan smell" are carved into the pills.

Naturally, I was delighted, not least because it gives me an excuse to use the “deed poll” and “music” tags simultaneously on a post for the first time.

Don’t ask me what my “real” name is,
I’ve already told you what it was,
And I’m planning on burning my birth certificate.

The song’s about discovering and asserting self-identity through an assumed, rather than given, name. Which is fucking awesome.

Screenshot showing freedeedpoll.org.uk
The website’s basically unchanged for most of a decade and a half, and… umm… it looks it. I really ought to get around to improving and enhancing it someday.

Like virtually all of my sites, including this one, freedeedpoll.org.uk deliberately retains minimal logs and has no analytics tools. As a result, I have very little concept of how popular it is, how widely it’s used etc., except when people reach out to me.

People do: I get a few emails every month from people who’ve got questions1, or who are having trouble getting their homemade deed poll accepted by troublesome banks. I’m happy to help them, but without additional context, I can’t be sure whether these folks represent the entirety of the site’s users, a tiny fraction, or somewhere in-between.

So it’s obviously going to be a special surprise for me to have my website featured in a song.

Screengrab from a video in which a vlogger holds up their freedeedpoll.org.uk deed poll.
Out of curiosity, I searched around for a bit and discovered a surprising amount of chatter about my site on social media, like this charming guy who talked about his experience of changing his name.

I’ve been having a challenging couple of weeks2, and it was hugely uplifting for me to bump into these appreciative references to my work in the wider Internet.

Footnotes

1 Common questions I receive are about legal gender recognition, about changing the names of children, about changing one’s name while still a minor without parental consent, or about citizenship requirements. I’ve learned a lot about some fascinating bits of law.

2 I’ve been struggling with a combination of the usual challenges at this time of year and a lack of self-care and also a handful of bonus household stresses: everything seems to be breaking all at once!

The Frosted Pane

Pagan Wanderer Lu‘s new album Planets In The Wires dropped today, and I just cried my eyes out at track 5 (The Frosted Pane).

It opens almost apologetically, like an explanation for the gap in new releases for most of the twenty-teens. But it quickly becomes a poetic exploration of a detached depression of a man trapped under the weight of the world. It’s sad, and beautiful, and relatable.

Weird A.I. Yankovic, a cursed deep dive into the world of voice cloning

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

In the parallel universe of last year’s Weird: The Al Yankovic Story, Dr. Demento encourages a young Al Yankovic (Daniel Radcliffe) to move away from song parodies and start writing original songs of his own. During an LSD trip, Al writes “Eat It,” a 100% original song that’s definitely not based on any other song, which quickly becomes “the biggest hit by anybody, ever.”

Later, Weird Al’s enraged to learn from his manager that former Jackson 5 frontman Michael Jackson turned the tables on him, changing the words of “Eat It” to make his own parody, “Beat It.”
Your browser does not support the video tag.

This got me thinking: what if every Weird Al song was the original, and every other artist was covering his songs instead? With recent advances in A.I. voice cloning, I realized that I could bring this monstrous alternate reality to life.

This was a terrible idea and I regret everything.

Everything that is wrong with, and everything that is right with, AI voice cloning, brought together in one place. Hearing simulations of artists like Michael Jackson, Madonna, and Kurt Cobain singing Weird Al’s versions of their songs is… strange and unsettling.

Some of them are pretty convincing, which is a useful and accessible reminder about how powerful these tools are becoming. An under-reported story from a few years back identified what might be the first recorded case of criminals using AI-based voice spoofing as part of a telephone scam, and since then the technology needed to enact such fraud has only become more widely-available. While this weirder-than-Weird-Al project is first and foremost funny, for many it foreshadows darker things.