Maybe Later

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

Maybe Later

“Install update” Maybe later.

“Sign in to access this content” No.

“It’s better in the app!” Whose fault is that?

“We completely redesigned this thing you need to do your job for no good reason” Got it.

“Disable any adblocker.” Absolutely not.

I don’t know if I’m supposed to read this as a poem, but I did, and I love it. It speaks to me. It speaks of my experience of using (way too much of) the Web nowadays, enshittified as it is.

(This toot about the evolution of videogaming seems almost like a sequel. Less like a poem, though.)

But yeah, I run a fine-tuned setup on most of my computers that works for me… by working against most of the way the Web seems to expect me to use it, these days. I block all third-party JavaScript and cookies by default (and drops first-party cookies extremely quickly). I use plugins to quietly reject consent banners, suppress soft paywalls, and so on. And when I come across sites that don’t work that way, I make a case-by-case decision on whether to use them at all (if you hide some features in your “app” only, I just don’t use those features).

Sure, there are probably half a dozen websites that you might use that I can’t. But in exchange I use a Web that’s fast, clean, and easy-to-read.

And just sometimes: when I’m on somebody else’s computer and I see an ad, or a cookie consent banner, or a “log in to keep reading” message, or a website weighed down and crawling because of the dozens of tracking scripts, or similar… I’m surprised to remember that these things actually exist, and wonder for a moment how people who do see them all time time cope with them!

Sigh.

Anyway: this was an excellent poem, assuming it was supposed to be interpreted as being a poem. Otherwise, it was an excellent whatever-it-is.

Recreational programming

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

the world needs more recreational programming.
like, was this the most optimal or elegant way to code this?

no, but it was the most fun to write.

Yes. This.

As Baz Luhrmann didn’t say, despite the implications of this video: code one thing every day that amuses you.

There is no greater way to protest the monetisation of the Web, the descent into surveillance capitalism, and the monoculture of centralised social media silos… than to create things just for the hell of it. Maybe that’s Kirby eating a blog post. Maybe that’s whatever slippy stuff Lu put out this week. Maybe it’s a podcast exclusively about random things that interest one person.

The pre-corporate Web was fun and weird. Nowadays, keeping the Internet fun and weird is relegated to a counterculture.

But making things (whether code, or writing, or videos, or whatever) “just because” is a critical part of that counterculture. It’s beautiful art flying in the face of rampant commercialism. The Web provides a platform where you can share what you create: it doesn’t have to be good, or original, or world-changing… there’s value in just creating and giving things away.

(And, of course, the weirder the better.)

A Friend Used AI to Wish me Happy Birthday

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

“I was sincere! I wanted to tell you happy Birthday but I wanted to have AI do it.”

“Why?” I shot back, instantly annoyed.

“Because I didn’t know how to make it lengthy. Plus, it’s just easier.”

I felt as if I’d been punched in the gut. I just sat there, stunned. The last sentence repeating itself in my head.

It’s just easier. It’s just easier. It’s. Just. Easier.

Robert shares his experience of receiving a birthday greeting from a friend, that had clearly been written by an AI. The friend’s justification was because they’d wanted to make the message longer, more easily. But the end result was a sour taste in the recipient’s mouth.

There’s a few things wrong here. First is the assumption by the greeting’s author (and perhaps a reflection on society in general) that a longer message automatically implies more care and consideration than a shorter one. But that isn’t necessarily true (and it certainly doesn’t extend to artificially stretching a message, like you’re being paid by the word or something).

A second problem was falling back on the AI for this task in the first place. If you want to tell somebody you’re thinking of them, tell somebody you’re thinking of them. Putting an LLM between you and then introduces an immediate barrier: like telling your personal assistant to tell your friend that you’re thinking of them. It weakens the connection.

And by way of a slippery slope, you can imagine (and the technology has absolutely been there for some time now) a way of hooking up your calendar so that an AI would automatically send a birthday greeting to each of your friends, when their special day comes around, perhaps making reference to the last thing they wrote online or the last message they sent to you, by way of personalisation. By which point: why bother having friends at all? Just stick with the AI, right? It’s just easier.

Ugh.

Needless to say: like Robert, I’d far rather you just said a simple “happy birthday” than asked a machine to write me a longer, more seemingly-thoughtful message. I care more about humans than about words.

(It’s not my birthday for another month, mind.)

kirby vs. this blog post

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

A cute use of Javascript to make a fun post more-fun, helping to keep the Internet fun and weird.

I want to do more crap like this.

But meanwhile, I should show this post to my 8-year-old, who recently finished playing through a Kirby game and won’t stop talking about it. He might appreciate it, but perhaps in a different way to me.

Balance bikes are just better

if [the option of a balance bike] isn’t available, you can convert a normal bike into a balance bike by removing the pedals and lowering the seat. Once the kids has learned how to balance as they roll, add the pedals, raise the seat, and watch them go.

An excellent suggestion from fellow RSS Club member Sean McP (he’s been full of those lately; I’ve been enjoying encouraging drivers through our village to slow down by smiling and waving, too).

Like Sean, I learned to ride a bike using training wheels (“stabilisers” on this side of the pond). Unlike him, I didn’t have any trouble with them, and so when I came to hear about balance bikes as an alternative learning approach I figured they were just two different approaches to the same thing.

But when our eldest learned using stabilisers, she really struggled, and only eventually “got it” with an un-stabilised bike and lots and lots of practice. It’s true what Sean says: for most children, learning to balance atop a bicycle is harder than learning to pedal and/or steer, so that’s the bit we should be focussing on.

Our youngest is (finally) ready and keen to learn to cycle, and so I’m thinking that when I get him his first bike (maybe for Christmas!) I’ll get him one that, were I to put the seat into its lowest position and remove the pedals, he could use as a balance bike for a day or two to get the feel of the thing before re-attaching them and letting him try the full experience.

Cable Car Marquee

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

Was playing around with some HTML and made a cable car for my page. Hmh.

Beautiful. It feels like it ought to have been wrapped in a HTML Web Component, maybe called <cable-car>, with progressive enhancement bonus features (maybe it’ll only run during daylight hours? or when the wind isn’t too fast?)?

But really: I can’t fault this. Beautiful.

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!

3D Workers Island

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

Fake screenshot of Internet Explorer 6 showing 3dwiscr.com/what.html, a web page about a freeware screensaver.

If you’ve come across Tony Domenico’s work before it’s probably as a result of web horror video series Petscop.

3D Workers Island… isn’t quite like that (though quick content warning: it does vaugely allude to child domestic abuse). It’s got that kind of alternative history/”found footage webpage” feel to it that I enjoyed so much about the Basilisk collection. It’s beautifully and carefully made in a way that brings its world to life, and while I found the overall story slightly… incomplete?… I enjoyed the application of its medium enough to make up for it.

Best on desktop, but tolerable on a large mobile in landscape mode. Click each “screenshot” to advance.

Bluesky and enshittification

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

Any system where users can leave without pain is a system whose owners have high switching costs and whose users have none. An owner who makes a bad call – like removing the block function say, or opting every user into AI training – will lose a lot of users. Not just those users who price these downgrades highly enough that they outweigh the costs of leaving the service. If leaving the service is free, then tormenting your users in this way will visit in swift and devastating pain upon you.

There’s a name for this dynamic, from the world of behavioral economics. It’s called a “Ulysses Pact.” It’s named for the ancient hacker Ulysses, who ignored the normal protocol for sailing through the sirens’ sea. While normie sailors resisted the sirens’ song by filling their ears with wax, Ulysses instead had himself lashed to the mast, so that he could hear the sirens’ song, but could not be tempted into leaping into the sea, to be drowned by the sirens.

Whenever you take a measure during a moment of strength that guards against your own future self’s weakness, you enter into a Ulysses Pact – think throwing away the Oreos when you start your diet.

Wise words from Cory about why he isn’t on Bluesky, which somewhat echo my own experience. If you’ve had the experience in recent memory of abandoning an enshittified Twitter (and if you didn’t yet… why the fuck not?), TikTok, or let’s face it Reddit… and you’ve looked instead to services like Bluesky or arguably Threads… then you haven’t learned your lesson at all.

Freedom to exit is fundamental, and I’m a big fan of systems with a built-in Ulysses Pact. In non-social or unidirectionally-social software it’s sufficient for the tools to be open source: this allows me to host a copy myself if a hosted version falls to enshittification. But for bidirectional social networks, it’s also necessary for them to be federated, so that I’m not disadvantaged by choosing to drop any particular provider in favour of another or my own.

Bluesky keeps promising a proper federation model, but it’s not there yet. And I’m steering clear until it is.

I suppose I also enjoyed this post of Cory’s because it helped remind me of where I myself am failing to apply the Ulysses Pact. Right now, Three Rings is highly-centralised, and while I and everybody else involved with it know our exit strategy should the project have to fold (open source it, help charities migrate to their own instances, etc.) right now that plan is less “tie ourselves to the mast” than it is “trust one another to grab us if we go chasing sirens”. We probably ought to fix that.

The Time Travel Movie That Doesn’t Move

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

When I saw the title of this piece by The Nerdwriter pop up in my RSS reader, the first words that grabbed my attention were “time travel movie”. I’ve a bit of a thing for time travel stories in any medium, and I love a good time travel movie1. Could I be about to be introduced to one I’m not familiar with, I wondered?

Before the thumbnail loaded2, I processed the rest of the title: the movie doesn’t move. At first my brain had assumed that this was a reference to the story spanning time but not space, but now suddenly it clicked:

We’re talking about La Jetée, aren’t we?

Like many people (outside of film students), I imagine, I first came across La Jetée after seeing it mentioned in the credits of Twelve Monkeys, which adapts its storyline in several ways. And like most people who then went on to see it, I imagine, I was moved by that unforgettable experience – there’s nothing quite like it in the history of film (if we’re to call it a film, that is: its creator famously doesn’t).

Anyway: Nerdwriter1’s take on it doesn’t say anything that hasn’t already been said, but it’s a beautiful introduction to interpreting this fantastic short film and it’s highly-accessible whether or not you’ve seen La Jetée3. Give his video essay a watch.

Footnotes

1 Okay, let’s be honest, my feelings go deeper than that. Time travel movies are, for me, like pizza: I love a good time travel movie, but I’ll also happily enjoy a pretty trashy time travel movie too.

2 Right now I’m in a rural farm building surrounded by olive groves in an out-of-the-way bit of Spain, and my Internet access isn’t always the fastest. D’ya remember how sometimes Web pages used to load the text and then you’d wait while the images loaded? They still do that, here.

3 There’s spoilers, but by the time a film is 60 years old, I think that’s fair game, right?

Sex With Monsters

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

"Hello, humans!" Xb'rax greets us cheerfully against a background of writhing eyes, tentacles, and fang-y mouths. "Do you like sex? I'm Xb/rax with the Abyssal Plane Tourism Board, and I'm here to ask why not try...". Tile written in oozing pink cursive letters: Sex With Monsters?

Simon Shadows (via Oh Joy Sex Toy)

Just in time for Halloween, this comic (published via the ever-excellent Oh Joy Sex Toy) is fundamentally pretty silly… and yet still manages to touch upon important concepts of safer sex, consent, aftercare etc. And apparently, based on Simon’s portfolio, his “thing” might well be that niche but now fun-sounding genre of “queer/monster horror”.

Google turns to nuclear to power AI data centres

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

“The grid needs new electricity sources to support AI technologies,” said Michael Terrell, senior director for energy and climate at Google.

“This agreement helps accelerate a new technology to meet energy needs cleanly and reliably, and unlock the full potential of AI for everyone.”

The deal with Google “is important to accelerate the commercialisation of advanced nuclear energy by demonstrating the technical and market viability of a solution critical to decarbonising power grids,” said Kairos executive Jeff Olson.

Sigh.

First, something lighthearted-if-it-wasn’t-sad. Google’s AI is, of course, the thing that comes up with gems like this:

Google AI, confidently stating that the difference between a sauce and a dressing is that sauces add flavour and texture to dishes, while dressings are used to protect wounds. It goes on to say that a dressing should be large enough to cover a wound: a standard serving size is two tablespoons.
I’ve actually never seen Google do this shit, because I was fortunate enough to have dropped Google Search as my primary search engine long ago, but it hilari-saddens1 me to see it anyway. Screenshot courtesy @devopscats@toot.cat.
But here’s the thing: the optimist in me wants to believe that when the current fad for LLMs passes, we might – if we’re lucky – come out the other side with some fringe benefits in the form of technological advancements.

Western nations have, in general, been under-investing in new nuclear technologies2, instead continuing to operate ageing second-generation reactors for longer and longer timescales3 while flip-flopping over whether or not to construct a new fleet. It sickens me to say so, but if investment by tech companies is what’s needed to unlock the next-generation power plants, and those plants can keep running after LLMs have had its day and go back to being a primarily academic consideration… then that’s fine by me.

Of course, it’s easy to also find plenty of much more-pessimistic viewpoints too. The other week, I had a dream in which we determined the most-likely identity of the “great filter”: a hypothetical resolution to the Fermi paradox that posits that the reason we don’t see evidence of extraterrestrial life is because there’s some common barrier to the development of spacefaring civilisations that most fail to pass. In the dream, we decided that the most-likely cause was energy hunger: that over time, an advancing civilisation would inevitably develop an increasingly energy-hungry series of egoistic technologies (cryptocurrencies, LLMs, whatever comes next…) and, fuelled by the selfish, individualistic forces that ironically allowed them to compete and evolve to this point, destroy their habitat and/or their sources of power and collapsing. I woke from the dream thinking that there’d be a potential short story to be written there, from the perspective of some future human looking back on the path of the technologies that lead them to whatever technology ultimately lead to our energy-hunger downfall, but never got around to writing it.

I think I’ll try to keep a hold of the optimistic viewpoint, for now: that the snake-that-eats-its-own-tail that is contemporary AI will fizzle out of mainstream relevance, but not before big tech makes big investments in next-generation nuclear, renewable, and energy storage technologies. That’d be nice.

Footnotes

1 Hilari-saddening: when you laugh at something until you realise quite how sad it is.

2 I’m a big fan of nuclear power – as I believe that all informed environmentalists should be – as both a stop-gap to decarbonising energy production and potentially as a relatively-clean long-term solution for balancing grids.

3 Consider for example Hartlepool Nuclear Power Station, which supplies 2%-3% of the UK’s electricity. Construction began in the 1960s and was supposed to run until 2007. Which was extended to 2014 (by which point it was clearly showing signs of ageing). Which was extended to 2019. Which was extended to 2024. It’s still running. The site’s approved for a new reactor but construction will probably be a decade-long project and hasn’t started, sooo…

×

London Transport 25

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

Girl on the Net is a popular sex blogger, so this is a link to a SFW page on an otherwise NSFW site. If your only concern is seeing or hearing sexy things or somebody looking over your shoulder and thinking that’s what you’re doing, go ahead and read it. But if you’re connected through the monitored corporate firewall of a sex-negative employer, you might want to read on a different device…

25 different forms of London transport in a day

Hello! My name is Sarah and I love London transport. Because I am a very cool and interesting person, for a long time I’ve thought it might be fun to see how many different types of London transport I can take in a 24-hour period: bus, tram, tube, train, ferry, etc. The trip outlined below took me (and the lucky man I invited on this date) on 25 different forms of London transport in one single day. It criss-crossed the city from East through North to West, then South, Central, South East and back to where we started. I’m sharing the itinerary because this turned out to be a phenomenal adventure, and I thought others might like to give it a go.

The rules

The rules for the challenge were:

  1. Transport must be transport, not a ride, i.e. it must take me from A to B. So the London Eye doesn’t count, but the cable car definitely does.
  2. Each form of transport must continue the journey. So no going from A to B then immediately back again. The journey can meander, but it must keep moving forwards.
  3. No form of transport can be taken more than once. Changes on a single line are OK (for instance, if traveling on the DLR from Greenwich to Bank requires a change at Canary Wharf, that’s fine, or if you’re on a bus that gets taken out of service you can get on the next one) but repeated trips on the same form of transport aren’t allowed (you can’t take one double-decker bus in the morning then another in the afternoon). The exceptions to this are: walking; escalators; stairs. We’ll be using these a lot.

This sounds like a ludicrously fun adventure and a great use of a date for anybody who can find an even-remotely similarly-transport-obsessed partner.

The one thing this wonderful post is lacking is a map. Oh, and maybe a GPX file, but that’s a much bigger ask. Really I just want the map, to help me visualise the route. Maybe with the different forms of transport colour-coded or something? Okay, okay, now I’m asking a lot again.

Just go read it, it’s a fun London romp.

Calm after the storm

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

Regarding the alignment offer at Automattic that resulted in around 1 of every 12/13-or-so Automatticians being paid to leave, my colleague Rosie writes of her experience of the week of the offer and our subsequent week in Mexico:

I never thought about taking the offer, but last week took a toll on all of us. It was a weird and sad week. So the Woo DM worked not only as it usually does, a week to bond with colleagues, have fun and collaborate in person. It was also one hundred times more energizing than it usually is. It had that little taste of “we are here because we believe in this. LFG!!!”. A togetherness that feels special. We could talk, discuss, and share our concerns, opinions, memories and new ideas for the future of Woo and WordPress.

That’s a good summary of the week, I feel. It was weird and sad, especially to begin with, but it grew into something that was energising and hopeful. There was, in particular, a certain solidarity, of us being the ones who stayed. It’s great to be reminded that my experience is shared.

Whether or not somebody chose to stay for the same reason as me, or as Rosie, it felt like a bonding experience to be among those who made that same decision. I’m glad we got to have this meetup (even though I’m feeling a bit run-down by a combination of exhaustion, jetlag, and – principally – some kind of stomach bug I’ve contracted somewhere along the way, ugh).