Vanity Nameservers (White-Label DNS) in 2026

When you buy a domain name, your registrar will typically offer to provide you with a collection of DNS nameservers. For most people, most of the time, that’s plenty sufficient.

A trip back to 2006

Terminal in which 'dig danq.dev @`dig NS dev +short | head -n1`' has been run, outputting NS responses representing three Gandi nameservers.
My secondary domain danq.dev has three nameservers, operated by its registrar Gandi.

This wasn’t always the case. In the long-distant past, I’ve registered domains for which I’ve had to run my own nameservers. Or else, where I’ve chosen to run my own nameservers in order to gain more control, or power, or just to play about with the technology inevitably break things.

When I transitioned to using third-party DNS around 2006, I used to be a big fan of vanity nameservers. “Vanity nameservers” (or “white-label DNS”) is where your nameservers are hosted at subdomains of the domain for which they’re the nameserver.

So instead of the nameservers for danq.me being, say, looking like ns-48-a.gandi.net and ns-228-b.gandi.net, they might look like, say, ns1.danq.me and ns2.danq.me. They might still be provided by the same third-party (or might not!), but you don’t get to see that. DNS protocol doesn’t care about the hostname it’s connecting to, it just needs the right A/AAAA records and it’s good to go!

Well, once you solve the bootstrapping problem, anyway!

If the nameservers for a domain are at a subdomain of that domain, you’ve got a circular dependency. To solve that, you have the servers one level higher provide “glue records” in addition to the list of nameservers. The glue records, which are shown in the “additional section:” of dig‘s output, above, solve the circular dependency. Now, the nameservers can be found without first having to… find the nameservers!

Terminal in which 'dig danq.me @`dig NS me +short | head -n1`' has been run, outputting NS responses ns1.danq.me through ns4.danq.me, with additional section records for A and AAAA records for each.
Tada! For the first time in about 20 years I’ve configured “vanity DNS”: danq.me‘s nameservers are now called ns1.danq.me, ns2.danq.me, ns3.danq.me and ns4.danq.me.

Vanity nameservers in 2026

The essential steps for setting up vanity nameservers are fundamentally the same as they always were. Propagation times are much shorter now and I was able to have the whole thing done and dusted within a couple of hours. In case you’re looking to follow-along, here’s the broad steps (the specifics depends on your registrar, DNS provider, etc.):

  1. Set up A (and AAAA, it’s 2026 you know!) records pointing ns1.example.com (or whatever your domain is) to their IP addresses.1
  2. Change the NS records for your domain to point to your new vanity nameservers.
  3. Change the SOA record for your domain to point to the first vanity nameserver2. Bump your serial.
  4. Have your registrar create glue records mirroring those you created in step 1.
  5. Have your registrar change the authoritative nameservers for your domain to those you created in step 1.
  6. (Optional) 😰 Frantically and repeatedly poke the registry’s DNS servers with dig until you’re confident that you didn’t just make a hideous typo and broke your domain in a way that would have been a pain in the arse to unpick when you last did this, in 2006. Calm down when you remember that it’s 2026 and nowadays it’s gonna be easy to fix via some API or web portal of your registrar!

That’s all there is to it.

But… why would anybody do this?

For most folks, this is pointless. Larger companies, especially in tech fields, sometimes do it as a branding exercise, especially if they’re re-selling services atop somebody else’s infrastructure and don’t want to so-clearly lampshade that3. But I took a look and… I don’t think people bother any more.

Hit up a handful of corporate domains you know and, with the exception of the few that run their own DNS, you’ll see the same big providers keep cropping up: Cloudflare, Amazon, Google, Microsoft…  I experimentally probed a hundred or so domains that I thought might use “vanity DNS” in front of a third-party DNS service… and found… none4.

Nobody cares any more. You’re either running your own, or you tell the world who’s running it for you, with no in-between.

Bringing back an old tradition

Vanity DNS is a dying art.

Soo…  I’m now doing vanity DNS on danq.me; it’s the first time I’ve run vanity DNS on a personal domain since… I want to say 2010‽ The journey started when Jacob asked me about my DNS setup, and it made me nostalgic for a time when nerdy techies whose nameservers were provided by a third party would just “do” vanity DNS as a matter of course.

Vanity DNS felt nerdy and fun back in 2006. And I guess that nowadays… it still feels nerdy and fun. It’s still as pointless as it ever was, but I don’t care. I’m doing something that I thought was cool when I first learned about it in 2001, just for the fun of it.

Type dig NS danq.me in your terminal to see the result: four nameservers, all with a .danq.me suffix5. Cute!

Footnotes

1 There’s a convention of naming nameservers ns1, ns2, ns3 etc., but if you want “fun” names then that’s fine too. Cloudflare’s nameservers have cute names, if you haven’t seen already!

2 Check your dotted-notation hostmaster email while you’re there; everybody forgets to look at these and so they’re often outdated.

3 Using vanity nameservers to conceal an underlying DNS provider does not conceal the third-party’s identity because you can always use the IP address of those nameservers to work out who’s behind them. For example, if you’re interested in seeing who’s really providing the DNS for danq.me, you might run NS_NAME=`dig NS danq.me +short | head -n1` to get the name of a random one of my nameservers, then NS_IP=`dig ${NS_NAME} +short | head -n1` to get its IP address, and finally do an reverse DNS lookup on that with e.g. dig -x $NS_IP. Often, this canonical name will be a giveaway and you won’t even have to look at the lists of who owns which blocks of IP addresses. It’s not a secret. (Gotta admit, though I’m not entirely happy with my provider… maybe it’s time to switch… or even go back to selfhosting DNS once more!)

4 whatsapp.com appears to have its own nameservers a.ns.whatsapp.com through d.ns.whatsapp.com, but their A records point to IP addresses whose reverse DNS names are a.ns.facebook.com through d.ns.facebook.com. Not terribly exciting, nor surprising, that Meta are running their own DNS services for their various properties (the same thing happens with instagram.com). paypal.com seems to have both its own DNS servers and some replicas provided by Digicert UltraDNS, which for a moment excited me when I thought that they might be part-way through a white-labelling exercise, but no: they’re two different services. I thought I’d find something interesting via one of the big blog, eccomerce, or VPS providers that offer free subdomains: folks like Bearblog, Dreamwidth, Substack or Medium. But nope; some seem to run their own DNS, and others just sit on top of a big third-party. Sigh.

5 Want to see the glue records? Run dig NS me +short to get the names of the authoritative nameservers for the .me TLD, e.g. a0.nic.me, and then query it directly with e.g. dig NS danq.me @a0.nic.me: you’ll see not just that I have four nameservers under .danq.me but also their IP addresses (in the “additional section”) – that’s the glue doing its thing!

× ×

Dan Q found GCBX0JC Church Micro 12106…Standlake

This checkin to GCBX0JC Church Micro 12106...Standlake reflects a geocaching.com log entry. See more of Dan's cache logs.

After a walk out with the dog to claim the FTF on nearby GCBX0R7, I figured that I still had a little a few minutes on my hands before the code I’d been writing for my day job finished deploying and testing itself, so I thought I’d try to go two-for-two with this, a second FTF!

Coordinate components A through D were easy to collect, but E posed us a problem: from the way it’s put forward in the cache description, the answer I came up with didn’t make any sense! I double-checked A through D and, confident in them, mathematically inferred a range of possible values for E, but couldn’t find any way to conceivably get any of them!1

A fawn-coloured French Bulldog on a lead sniffs at a metal boot scraper attached to the stonework at the side of a church door.
She’s no good at the counting, but she’s a big fan of getting her nose in to investigate clue objects.

In any case: of the handful of possible values for E, only one made sense/pointed anywhere believable, and it fit the checksum so we set out. The cache was easy to find, and what an excellent container! Amazing work! The container alone would have been worth a favourite point, if only I hadn’t been completely unable to parse that fifth coordinate component.

Signed log and returned the cache to its hiding place. Hoping the next cacher doesn’t get as confused as I did! TFTC!

Footnotes

1 I’ll message the CO to get to the bottom of my confusion!

×

Dan Q found GCBX0R7 War Memorial #???? ~ Standlake

This checkin to GCBX0R7 War Memorial #???? ~ Standlake reflects a geocaching.com log entry. See more of Dan's cache logs.

After liaising with the CO to get the formula fixed following my previous effort, the geohound and I came out for a drizzly walk in-between the downpours to have a second attempt at the FTF. We’re living in Standlake temporarily while our house is repaired following a catastrophic flood earlier in the year, and while the dog – who doesn’t much enjoy rain – was initially hesitant about coming out with me, she warmed to the idea just in time for us to set out.

Dan, a white man with a goatee beard, sits on the steps of a rain-wettened village war memorial, hugging a fawn-coloured French Bulldog.
Out in the wet.

The cache was an easy find in the second place I looked (if I’d checked the hint it’d have been the first place I looked). SL and returned, before pressing on to attempt a second FTF, this time at GCBX0JC.

TFTC, and for the quick turnaround on correcting the calculation!

×

A Postcard from Tony (who the heck is Tony‽)

For almost a year now, I’ve been actively soliciting Internet strangers to send me a postcard (in addition to the usual ways of contacting me, via comments or email). I had no idea it would be so-successful: I’ve received a postcard almost every month! I’ve been keeping them in a mildly-interactive gallery if you’d like to see.

Today was novel, though. Today, for the first time, I received a postcard from somebody… whom I can’t identify.

Composite photograph showing the front and rear of a postcard written on the plain brown cardboard bulk packaging of a Canadian boil-in-the-bag food product.
The postcard is from “Tony”. I’ve transcribed the full text on the postcards page.

The postcard is from “Tony”. So I can identify them that far. But… who the heck is Tony‽

In the case of every previous postcard I’ve received, it’s been somebody I’ve been able to “trace”: either because they’ve previously left a comment on my blog, or emailed me, or we’ve moved in the same circles of a (relatively small community) website, or they’ve included a URL or some other way to “find” them.

This one though, is a mystery.

Let me tell you my favourite thing about this postcard, though: it taught me something cool. The postcard is made out of the (billingual) outer packaging of some kind of MRE/boil-in-the-bag ration pack, and Tony tells me that when they were in the Canadian armed forces, their unit would send postcards like this “back home”: written directly onto the packaging.

How neat! If I had a family member in the services, it’d be neat to get a postcard from wherever they were deployed that not only told me how they were doing… but as a side-effect what they’d been having for dinner. It’s cute.

If you’re out there Tony, feel free to say hi in the comments or email, too. And thanks for the card!

×

Dan Q did not find GCBX0R7 War Memorial #???? ~ Standlake

This checkin to GCBX0R7 War Memorial #???? ~ Standlake reflects a geocaching.com log entry. See more of Dan's cache logs.

Well I feel especially thick right now. Probably I’ve done something stupid, but I rushed down here between-meetings in hope of an FTF, collected all the numbers, did the maths, and got… the same coordinates I started with! Wot?

The checksum even works out with the original coordinates, too! Which of course can happen organically but might mean there’s been a muck-up sonewhere…

Dan, a white man with a ponytail and goatee beard, sits on a war memorial with a confused expression.

Now I’m just wondering: is it me that can’t follow simple instructions? (Could be!) Or is there a problem with this listing?

Guess I’ll have to wait and see, when some other cacher tries…

×

Boring Polyamory: Equality and Bedrooms

Among the correspondence I engaged in following my blog post about my (boring) polyamory were a few examples of people being concerned about the equality of our arrangement: how we keep things “fair”1. By way of example, let’s take a look at a specific example that’s come up. Here’s something that I was asked recently:

Why does [my partner] Ruth not have her own bedroom? Both of her partners [JTA and I] get one!

Where does my partner sleep?

Simplified calendar showing May 2026 with different-coloured dots on the days: 14 of one, 17 of the other.
It’s been joked that polyamory is just a fetish for calendar management. Our family calendars are moderately simple, I imagine, compared to those of people in larger polycules or with less routine.

Except when she’s travelling or otherwise elsewhere2, Ruth spends her nights in an approximately even split3 between JTA‘s bedroom and mine.

This leads some people to observe that:

  • JTA has a bedroom of his own,
  • I have a bedroom of my own, and
  • Ruth “shares” both of those,
  • and this is unfair because her partners both get something that she is denied.

Superficially, this sounds true. But it conflates “fairness” with “parity”.

Fairness versus parity

Parity is making sure that everybody gets the same thing. It’s a simple, but crude, measure of equality. That’s probably why it’s so-popular with children.

“My sister got a doughnut so I should get one too.”

“You had an iced finger instead. You said you prefer iced fingers to doughnuts. And your sister doesn’t like iced fingers. Both of you got what you wanted.”

“Yeah, but now I want a doughnut because she had one!”

– the kind of conversation that’s probably familiar to you if you have children

When you aim for parity, you’re trying to make sure that every person gets the same thing. But this isn’t ideal, because not every person wants or needs the same thing!

A child with a ring doughnut decorated to look like a monster imitates the face of that monster, towards another child who is pointedly not paying attention.
“I don’t even want this. I just don’t want to feel like you’re getting something I’m not!”

Fairness, is aiming to for everybody to be content.

Ideally, everybody would get everything they wanted, all the time! But where that’s impossible, we can aim to at-least ensure that everybody is content. That everything is “good enough” for everybody. Unlike a quest for parity, this respects the fact that people have different needs.

Me personally? I absolutely prefer to have a bedroom of “my own”! In fact, to go even further than that: if I were in Ruth’s position I probably would want a room of my own, if it were feasible. Also, in some kind of hypothetical universe in which neither of us had other partners… I’d still ideally want to sleep alone some of the time (maybe once every couple of weeks?), because I’m of an inclination to occasionally luxuriate in being able to totally starfish-out.

If it were me instead of Ruth at the fulcrum of our V-shaped polycule… I suspect I’d have different needs to Ruth. And that’s fine!4

I’m a big fan of people being able to have their own space if they want it.

When the three of us first started cohabiting I suggested that Ruth should have her own bedroom. In our first shared house, we ensured that she did! But in practice, it never got used. Over time we’ve dropped it in favour of having a spare bedroom: a versatile space that can be place for gaming, or television, or guests5.

It was valuable to start from a position of assuming that we would all get “our own” room: parity is a good starting point! But fairness – meeting everybody’s needs in the most-equitable manner – is a better finishing point.6

Communicating a way to fairness

The world sometimes sucks. Many of the social interactions humans engage in, on a day-to-day basis, are not rooted in fairness. Some human social interactions go to the opposite extreme: they even exploitative.

Have you ever been in a salary negotiation? You might have heard the idiom that the first person to say a number loses. Salary negotiations are an adversarial game. Both sides want to come out with the most money, and so neither side is incentivised to show their hand.

Everything I learned about salary negotiations… I learned from playing Theme Park. Just make sure you’ve got a deal before you run out of biscuits.

Relationships between people who care about each another don’t have to work by adversarial rules (and, in fact, probably shouldn’t!7). If you love and trust and want the best for one another, then – hopefully – you can be honest about what you want, and can be okay with being hearing whether or not it’s something that your partner(s) can provide. Or else work together to find compromise position that best facilitates everybody’s needs!

So: if Ruth decides that she wants to have a bedroom of her own again, we can try to make that happen. If I start an additional serious/committed relationship and decide that I’m not getting enough “alone time”, we can work out how to achieve that. If JTA’s work starts requiring a long and tiring commute and he needs fewer childcare responsibilities, we’d solve for that. We tackle these problems as a family who love and care for one another, with the goal of getting an outcome that’s fair to everybody!

Those outcomes don’t have to mean that we each get “the same”. Just that we each, as far as possible, get what we most want.

Footnotes

1 Sometimes somebody – almost always a man – will claim that our arrangement is unfair to both JTA and I who have to “share” one woman, as if her role were to be “owned” by one of us. Sometimes somebody – almost always a woman – will claim that our arrangement is unfair to Ruth because she has to split her time and attention between two men. I find it hilarious that these two arguments, diametrically opposed, are most-often made on gender lines.

2 The other month, for example, Ruth stayed over at her aunt and uncle’s house after celebrating her uncle’s birthday. JTA and I hung out and watched some RobWords until I, tired after an afternoon of beginners’ tango, took an early night!

3 In actuality, Ruth spends slightly more nights sleeping in JTA’s room than in mine. This, too, is one of those things where people will sometimes instinctively assume represents some kind of injustice to me and that I’m somehow being hard done by or deprived of some kind of relationship “rights”. This is, clearly, nonsense.

4 Also: I couldn’t think of a better way to graphically represent us swapping around into some differently-pivoted V-shaped relationship than by using the deck of playing cards that was on my desk anyway. I was feeling unimaginative, apparently. Can you tell?

5 Or – indeed – a spare room can be a space for for one of us to use, if we’re ill or leaving early in the morning or something and don’t want to disturb a bedpartner.

6 If you’re looking for another example of the difference between parity and fairness, consider taxation! A flat tax like a poll tax exhibits strong parity, because everybody pays the same, but it doesn’t exhibit much fairness because the value of that tax burden is less for somebody who is wealthy than for somebody who is poor. We call taxes that favour parity over fairness regressive taxes. I guess that we could call sharing of family resources in a way that favours parity over fairness regressive sharing?

7 If you’re in a relationship that’s routinely adversarial, then… and I don’t mean to be judgemental… that doesn’t sound like a very healthy relationship to me. Perhaps step back and re-assess whether it serves you both?

× ×

The IndieWeb Is Punk Manifesto

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

In 2025, I wrote:

Writing HTML is punk rock. A “platform” is the tool of the establishment.

And I’ve never seen anybody express what I was trying to say better than… this, stolen in almost its entirety:

Three chords and a domain name.

You don’t need a deal with a label. You don’t need a platform’s blessing. All you need is an out of tune guitar you can barely play, or a free text editor and a hosting bill. That’s it. That’s the whole scene.


I. We Are the DIY Kids

Punk didn’t wait for labels to say yes. It plugged in a blown out amp in someone’s basement and played anyway. Bad singer? Makes no difference. Three chords? You go. Own a drum kit but never had a lesson? You’re the drummer now.

The IndieWeb works the same way. Nobody’s waiting for permission to publish a website. You don’t need a “content strategy.” You don’t need a niche. You need a place that’s yours, and the nerve to hit publish.

Sometimes it’s ugly. It’s the wrong font. It’s a blog post about nothing at all. It works and it’s yours.

II. We Own the Masters Now

In the old days, the music industry owned the masters, the distribution, the airwaves. You made the music; they made the money and decided if anyone got to hear it.

Big platforms run the same racket. You write the posts, build the audience, generate the engagement, and they own the feed, the algorithm, and the right to bury you or boot you whenever it suits the shareholders.

Not here. Own your domain. Own your data. Own your identity. Your words live on infrastructure you control, not on borrowed servers that can evict you without notice.

III. No A&R, No Venture Capital, No Gatekeepers

No punk band was chasing a platinum record. Punk was about making music and getting it into people’s hands – that was the whole transaction.

No indie web builder is chasing Series A. We’re not optimizing for growth. We’re not selling your attention to advertisers. We charge a fair price for a real thing, if we even charge at all, and either way nobody’s pitching us to a boardroom.

Small. Sustainable. Answerable to no one but ourselves.

IV. The Zine Never Died, It Just Got a Domain

Punk had zines – cut, pasted, photocopied, and passed hand to hand because the real press wouldn’t cover it. That’s blogging before anyone even called it blogging.

We still do that. A blog is a zine with better uptime. An RSS feed is a mailing list that never asks for your email. Webmentions are show flyers stapled to telephone poles all over town, pointing back to each other, building the scene a link at a time.

Community over audience. Nobody in this room is just watching.

V. Make What You Need, Not What “Everyone” Needs

Stop designing for some hypothetical user that doesn’t exist. Build the thing that scratches your itch. Use it yourself – eat your own dog food. If you’re not depending on it, why would anyone else?

Do this enough, in the open, sharing your code and your notes and your half-finished ideas posted for all to see, and the rest of the scene will pick it up. That’s how it spreads: not top-down, but kid to kid, site to site.

VI. Weird Is a Feature

GeoCities had hideous backgrounds, animated GIFs, and a MIDI file that played on page load. It was ugly, but it was also alive in a way no template can ever be.

We’re not going for pixel-perfect. We’re not A/B testing a homepage. Have fun, or what’s the point? Keep the web weird. Keep it handmade. Keep the mohawks.

VII. It’s an All-Ages Show

Punk wasn’t always right about this. Each scene had its bouncers at the door and idiots in the pit. Bands worth remembering spent half their set shouting them back out – Rock Against Racism, Riot Grrrl, the Dead Kennedys writing a song to tell the Nazi punks exactly where to go. That wasn’t a side project. It was a full-time job.

So… Everybody gets a seat on the Indieweb. No matter your color, faith, gender, who you love, how your brain is wired, what your body can do, how old you are, where you were born, or which language you write in. Nobody at this door is taking a ticket.

No degree, no job title, no follower count, no years of experience, no permission from others who were on the scene first.

And if you’re already inside, hold the door open for others. Link to the new kids. Answer beginner questions without snark. Write the alt text, caption the video, keep it keyboard-reachable. A site nobody can use is a club with stairs at the doors and no accessibility ramp.

All are welcome on the Indieweb. It’s not a code of conduct bolted on after the fact. It’s the entire reason we’ve built our own places on the Web to begin with.

VIII. This Is the Counterculture Now

In the ’80s and ’90s, blasting Punk Rock was a way of telling the establishment where to stick it. Today, publishing on your own site instead of feeding the algorithm is the same middle finger, just a little quieter.

We opt out of the surveillance feed. We opt out of the engagement farm. We opt into a web made of small, stubborn, independent spaces that are loosely joined, built to last, and owned by those who make them.


We don’t need major platforms.

We have the Web, keyboards, tools, and community.

IndieWeb is Punk. Oi!

Is it time yet for me to go a step further and say this?

Stop fucking feeding the algorithms.
The Web belongs to humans. 🤘

Yeah, I think it’s time.

‘Simplified’

Well ‘thanks’ for the ‘simplified’ statement, I guess?

Letter with headline/subject "Your new 'simplified' Pension Annual Benefit Statement", with quotation marks around the word 'simplified' added for emphasis but giving the impression that it's not simplified, that's just what they're calling it.

×

AI Software Development – What Does The Data Say?

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

  • The maximum effective context limits of LLMs… beyond which model outputs become unusably inaccurate is orders of magnitude smaller than advertised limits…
  • LLMs cannot distinguish between recent and out-of-date information in the context, and information in the model itself, learned during training (“dominant priors”), can often “outweigh” information we give it…
  • Repo-level .md files tend to make model performance worse…
  • LLMs struggle with negation…
  • LLM inference is more accurate when we give them examples (demonstrations) rather than just describing what we want…
  • Large/long-scale industry studies show a clear trend – output is up (more code, more commits, bigger diffs), but outcomes don’t reflect that trend. If anything, the average team is taking longer to ship worse software…
  • The psychological and cognitive factors in LLM use are a growing field of serious research. One study found a significant correlation between confidence in AI output and belief in the paranormal…
  • Deep neural networks, including LLMs, struggle to learn patterns with long-range dependencies, at any scale of model…
  • The energy and compute needed to train an LLM to be an order of magnitude more reliable – e.g., wrong 3% of the time instead of 30% – is 10^20 times what the current frontier models require. Don’t expect significantly more reliable models any time soon….
  • …many published benchmarks that do indeed show LLMs getting better and better. But other research finds that we might wish to be more skeptical of benchmark performance… they’re not really like real-world problems…  [and] increasingly models are being “trained to the test”.

This is a really great summary of the state of the art in research into the efficacy of AI-driven software engineering, and it parallels with much of my experience. In particular, my personal experience has been that, properly-used, LLMs can be…

  • great at summarisation, which can make them helpful at tasks like parsing a large codebase to “trace” inconsistent logic, or explaining how a bug report represents a condition that is not covered by an automated test. This is most-valuable for unfamiliar codebases, where the developer’s intuition might be slower than the LLM’s token analysis: however this does introduce a risk compared to a more-systematic debugging process that an edge case (or parallel functionality) might be missed.
  • good at extrapolation. Given a solid example of what you’re trying to achieve, it’s relatively simple for an LLM to extrapolate that to other cases throughout your codebase. This can be useful when switching between many cases with slightly-differing logic, or when mirroring front- and back-end functionality in different programming language, where the LLM’s extrapolation capability may outperform the developer’s context-switching capability.
  • mediocre at creation: greenfield development from a “spec” to “code” is something LLMs appear to do pretty well, particularly for common and well-understood concepts (or, for “deep thinking” models, for tasks that they’re able to summarise correctly as a series of well-understood concepts). But when extending existing functionality, or when implementing functionality that is not well-represented by examples in the training data (e.g. truly new concepts, or use of new features of programming languages), LLMs routinely get stuck in flip-flopping loops, produce invalid solutions, or otherwise cause significantly more harm than they do good.

(They’re also okay for rubberducking, but so’s a rubber duck so that’s not really a good comparison.)

Since I first echoed Molly White’s observations that AI isn’t useless… but I’m not certain that they’re “worth it” several years ago, I’ve continued to experiment with different AI-assisted coding methodologies and technologies, but my fundamental position hasn’t changed: there are clearly some things that a coding LLM can help with, as described above, but there are problems when they get used for other tasks (which they routinely do). And I’m still not convinced that they’re “worth it”, and I’m concerned by those whose anthropomorphise GenAI and by the fact that a lot of industry is being built upon technologies whose runway is running out…

Anyway: great summary, Jason; thanks!

Re: Please let me interact with your blog post!

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

Mike said:

I love my RSS reader. It’s the first thing I reach for when I’m “catching up.” As I’m reading through my list of feed items, I often come across blog posts that do not give me any way to interact with the post!

Here are some options in the order of my own preferences.

  • Webmentions
  • Reply email link directly in feed
  • Reply email link at the bottom of your post
  • Social media links to the blog post
  • Contact page or form

I’m with Michael… mostly. And I try to follow all of his suggestions and more here on my site. Let’s break it down from Mike’s list:

✅ Webmentions are fantastic. It’s been a long journey to get there: we had trackbacks. Then we had pingbacks. And now we’ve got webmentions. Each an improvement upon the last. I support all three. (If everything works properly, this post should result in a webmention being sent to Mike so he’ll know about this comment, even though I wrote it on my blog, and it’ll appear as a comment or at least a link on his blog). Webmentions are magical.

❌ Reply email links in feeds is an interesting idea. I don’t currently do this. Except on this post, where I have, experimentally! While I’m a big fan of reducing the barriers to engagement, I figure it’s acceptable to expect people to click-through to see their contact options, so long as you’re already supporting Webmentions. Maybe I’ll add these in a future iteration.

✅ Reply email link at the bottom of your post – yup, I do this every single time. I use dynamically-generated email addresses per-post (mixed in with some hidden honeypots) as an anti-spam mechanism, as well as to help me work out what something was a reply to (it’s sometimes pretty ambiguous: I don’t know why, but often people will email me about years- or decades-old blog posts and not specify what post it was, as if I’d written them just this morning and they were fresh in my mind!).

🤷 Social media links to the blog post: I mean… kinda. I don’t do much in the way of centralised social media, but I automatically push a summary to the Fediverse at @blog@danq.me and selectively push via my personal account @dan@danq.me too. And occasionally others. They get tucked-away in a <details> called “syndications”. I’ll get around to connecting to Bubbles eventually, although only my articles and not e.g. replies like this make it to Bubbles, because apparently I’m too high-traffic for Bubbles otherwise (!). Someday I’d like to negotiate something a bit better with them, e.g. all of my articles plus anything else I specifically choose so I can include Bubbles-targetting replies like this!

✅ Contact page or form – I use both, assuming “form” here means a comments form.


Mike’s list is, of course, incomplete. Here’s a few options Mike hasn’t listed, and I think are worthy of mention:

  • 🦛 ReactionsI use “reactions” to enable ultra-low-effort engagement for people who just want to say “hey, I read this” without doing anything more. Look at the bottom of this post on my blog and you’ll see that you can click on, say, a thumbs up, or a star, or… a hippopotamus?… icon to give me some feedback. Other people use other kinds of reaction/heart buttons: e.g. Bear Blog comes with one built-in, and there are third-party services that are basically like hit-counters but on-click.
  • ✍️ Guestbooks – I don’t have one of these, but I’m considering it. They’re properly retro, and they’re more about responding publicly to a whole site than a specific post… but sometimes that’s a thing that a person wants to do!
  • ✉️ Postal mail? Yes, really! For almost a year now I’ve been encouraging people to send physical mail postcards to by blog! Right now you have to click-through to my contact page for the details, but in a future version of my blog the postal address will be right there next to the comment form.

I’m sure there are others too, but I just wanted to look at Mike’s list, compare it to my features, and think a bit outside the box to boot.

Three(ish) Weeks In Spain

Ruth, JTA, the kids and I are all back in the UK1 after a three week period during which some or all of us were consistently in Spain. The whole adventure was the kind of masterpiece of epic planning that only Ruth could have pulled off, and it worked spectacularly2.

A fawn-coloured French Bulldog lies comfortably on a blanket on a sofa, with her tongue sticking out in a large sideways blep.
I wasn’t around for the first week of the trip, but continued working from home (with the dog, pictured) as per the usual.

San Sebastián

Through clever permutations of remote-working from overseas (mostly by Ruth) and overlapping/intersecting stretches of annual leave (mostly by JTA and I), we were able to avoid having to send the dog to the dogsitter for a block of more than a single week3, didn’t need to break the bank on our collective leave budgets, and managed to give the kids the longest possible block of continuous immersion in the language and culture of Spain.

A group of children in wetsuits surf on low waves.
The one time I tried surfing, I wasn’t good at it, but I was reassured that was normal for a first day. The kids disproved that theory, becoming pretty reasonable boarders very quickly.

In the first week (when I wasn’t there), the kids got to take a mixture of surfing classes and Spanish language lessons in San Sebastián, among other activities. The Bordeaux wildfires caused some travel chaos for the others getting there, but they made it work in the end.

Tarragona

Later, I flew out to meet up with them and we switched to the opposite coast of Spain, staying in a delightful little villa North of Tarragona. The summer heatwaves that are affecting the continent made the middle of the day especially oppressive, so we did as the locals do and sensibly sheltered indoors during the hottest part of the day… but the kids in particular were glad to be able to take a dip in the pool to cool off.

Under nearly-cloudless skies and surrounded by trees and olive and grape-laden slopes, a stone villa and its outbuildings sit prominently under the bright sun.
The villa was a lovely building in a fabulous spot, nestled among hillside olive groves and vineyards, but the lack of wired Internet access/WiFi plus the signal-blocking stone walls made it more “disconnected” than we’d anticipated4!

As has become my tradition when travelling and on family holidays – because I’m an earlier riser than most, but also because I wanted to make the most of the coolest part of the day – I got out early most days for a whole bunch of geocaching expeditions5. But once others were awake we found plenty of other opportunities to explore the area.

Wide/panoramic view from a pagoda-like tower, where a woman and two children lean over a railing to look at a network of bridge-linked islands in a lake below, dotted with palm and other trees.
Parc Samà‘s breezy towers and water features took some of the heat out of the day, when we visited its attractive botanic gardens.

Having come from, remarkably, a similar level of temperature and humidity in the UK, I was interested to see how much greener everything was here on the Mediterranean coast. The plants here, better-adapted to hot and dry summers than those that we plant on our little island, were clearly more-suited to these kinds of conditions. Is it perhaps time that Britain started ditching her lawns and other year-round thirsty vegetation… instead planting more tropical-adjacent plants to provide shade (and carbon capture!) as the climate continues to shift?

A freshwater turtle pokes its head out of blue-green water near a rocky shore, with small black fish visible swimming in the depths.
This little fella had the right idea about keeping cool.

I enjoyed that we were able to split out time between a diversity of activities. A week-long jaunt can be dominated by a single activity – a skiing holiday, for example – but by the time you’re spending most of a month exploring a country, you want to be able to mix things up a bit, right?

A Roman aquaduct spans a forested valley.
Per local legend (and in common with many similar spans around the world6, which usually share a myth about the devil aiding in its otherwise-impossible construction in exchange for the first soul to cross it and then being tricked when an animal is sent across first), the Ferreres Aquaduct  is also known as Devil’s Bridge, which lead me to observe that of all the architecture I’ve seen with which Hell’s ruler is credited, this might be the best (nice work, Satan!).

Sometimes we kept it slow-paced and relaxing, like reading by the pool while the children invent splashing-based games or playing board games in the shade. Other times we explored history and culture, like our visit to the Ferreres Aqueduct, the Catedral de Tarragona, or the old Roman amphitheatre.

Two children wearing VR headsets and holding parasols, in the ruins of a restored Roman amphitheatre.
An augmented reality tour of the amphitheatre was both engaging and educational for the kids, bringing to life its long and complex history: did you know it started as an amphitheatre, but later was the ground of a church (commemorating Saint Fructuosus, who was executed there), then became a prison, and now… it’s an amphitheatre again: in addition to being a historical monument it’s used to stage concerts and things!

And other times still we even did the typical “British tourist in Spain” things, like a trip to the beach or an expedition out on a catamaran to swim in the sea while the sun set.

Dan, a white man, drips from a swim in the sea as he stands, holding a plastic cup of white wine, on the deck of a catamaran.
I expected the catamaran trip to be a bit tacky, but it was actually lush. (I may have availed myself of the open bar, a bit!)

Obviously the biggest reason for our trip was to catch sight of the total solar eclipse as it passed over the region, and our villa’s garden/vineyard was without a doubt a superlative spot for this. We’d initially been concerned that visibility of the low-in-the-sky/close to sunset eclipse might be obstructed by the hills and that, therefore, we’d need to find another spot from which to spectate, but an early-in-the-week experiment of watching the sunset (with an eye on the clock) reassured us that this wasn’t the case. So – as long as we were lucky with the cloud cover – we should be set.

Dan sits on a sun lounger on a driveway, alongside a covered brick barbeque building. He's alongside two children doing the same, and all are wearing disposable eclipse glasses.
A particular highlight of the entire trip was hanging out as a family in our private vineyard, watching the solar eclipse.

I’ve been fortunate enough to have had great visibility of a total solar eclipse once before, in 1999, but honestly: this one beat it. The perfect location, the reds of the setting sun, the “moon illusion” exaggerating the perceived size of the moon as it approached the sun, the joy of vicariously sharing in the childrens’ wonder… all of these made the whole experience pretty mind-blowing.

The sun completely occluded by the moon.
You’ve seen pictures of eclipses before, but this one is mine. I maintain that even the good/professional photographs are poor substitutes for the real experience, though!

We watched, we awed, and then we saw the still half-obscured sun gradually disappear over the horizon. And then, a round of hugs and cheers and conversation later, we sat up late to enjoy the Perseids begin their nocturnal display.

Over the silhouette of hills, a total solar eclipse is just coming to an end, with a 'diamond ring' effect resulting from the sun's reappearance visible.
Mostly I was looking at the sky (through the safety of my eclipse glasses, of course). But I managed to snap a handful of photographs that, despite the limitations of my phone’s camera, came out pretty well.

PortAventura

After our week in the villa we delivered JTA to the airport to return home. Then Ruth, the kids and I drove on to PortAventura, perhaps our favourite theme park anywhere in the world. Since our last visit, the younger kid has reached a milestone of height that permits him to ride all of the largest rides, and he was excited to take advantage of this newfound privilege.

A man (Dan), a woman (Ruth), and two children sit in a circular boat on a 'river rapids' style ride.
A particularly useful thing about PortAventura compared to some other theme parks is that it’s designed with heatwaves in mind: it’s got lots of natural shade, cooling-off areas, and the right ratio of water rides for when you positively, absolutely need a good soaking.

Both the elder child and I were particularly excited to share with him my favourite non-looping rollercoaster, Shambhala. Shambhala is simply excellent: it’s a highly-vertical smooth ride with a free and open-feeling restraint that, collectively, give amazing “air” and a sensation of “flying” that’s hard to compare to almost any other coaster ride I’ve been on. I could sing its praises aplenty.

A man with a screwdriver repairs the restraint system on a rollercoaster car.
The second we reached the front of the line for our first ride on Dragon Khan it broke down. But we got to watch it being repaired right in front of us, so that’s cute!

Going to Disneyland Paris and PortAventura in the same summer gives me the confidence to say: PortAventura is the better theme park. The rides, the theming, the food, the queue management, the accommodation, the value-for-money… it’s all better. So if  you’re considering a European theme park trip and you don’t care about getting your photo taken with Goofy or whatever… PortAventura would be my suggestion.

PortAventura’s water park is good too, although it was pretty busy on the day we went. Their 30-metre tall near-vertical waterslide King Khajuna is a little intimidating7, but nothing our thrillseeking little man wasn’t up for.

Barcelona

Finally, we made our way to Barcelona for a “wind-down” couple of days at a hotel we’ve always enjoyed there. Aside for being mistaken for staff while I was using my laptop by the rooftop pool, there’s little of note to say about it: we took it easy, did as little as we could get away with, and generally “unplugged” before our journey back to the UK and a return to normal life (boo!).

Altogether a fabulous trip… and a really interesting experiment in a model that we could replicate if we ever opted for a three week (but drop-in/drop-out/telework) holiday in future. Though… I’d again want (our scheduling queen) Ruth to wrangle the logistics, because it gets complicated when there are so many moving parts!

Footnotes

1 Although not in our house, of course, which is still being repaired following the flood in February; it’s now F-Day plus 191 days… more on that in a future blog post, I’ve no doubt.

2 For a while, she was talking about trying to engineer it into a five-week expedition spanning both this and our trip to France earlier in the summer (to which JTA, the kids and I drove/LeShuttle’d, and to which Ruth flew following a work-related event in Austria: my, what a cosmopolitan life we’re leading this year!). But that’d have been an enormously more-complicated affair and I’m glad we settled on this “simpler” trip in the end!

3 Not that she cares: the dog loves hanging out with her little doggy friends, and is always excited to be taken to our dogsitter‘s, where she also “commutes” for a workday or two most weeks.

4 During out post-holiday ‘retro’ (because of course that’s what we do), the lack of connectivity appeared as both a negative and a positive on some of our lists! Obviously we’re all aware that a little digital disconnection is healthy and valuable, but sometimes it takes being in the middle of nowhere to impose the requisite self-discipline to keep off your devices!

5 Geocaching logs: 1, 2, 3, 4, 5, 6, 7, 8, 9 (my 1000th successful find)not that Geocaching.com can count that correctly!10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37.

6 Obviously, the Devil’s Bridge nearest where I used to live and at which Ruth and I spent our first anniversary – back when we had no idea that we’d be able to make our relationship last… what…? 19 years this month!) – will always have a special place in my heart.

7 Reaching the top of King Khajuna’s tower, you can feel it swap in the breeze, and when you get to the slide itself its ‘horizon’ disappears precipitously until you shuffle completely up to it, at which point there’s little choice about your destination! While we queued for our first goes, we witnessed several people reach the top, change their minds, and turn back!

× × × × × × × × × × × × ×

Fishsmith

I’m a little fishsmith,
Short and stout.
Here’s my anvil,
Here’s my trout.

Dan Q wrote note for GC448J6 EL TRESOR DEL POU DEL MON

This checkin to GC448J6 EL TRESOR DEL POU DEL MON reflects a geocaching.com log entry. See more of Dan's cache logs.

When I visited two years ago I thought I’d solved the puzzle but couldn’t find the cache. I’m in the area again today and thought I’d make another attempt, but the recent ‘enabled’ seems to suggest that it isn’t actually available?

Maybe I can try again in 2028!

I don’t work here!

I guess it’s the laptop and the pile of towels that cause the confusion, but people keep asking me questions (usually in Spanish) about where to get towels from and whether they can use the pool at this hotel.

Dan, a white man with a goatee beard and a blue ponytail, sits at a poolside table in a hotel roof terrace, using his laptop alongside a pile of towels.

And I have to keep explaining that nope, I don’t work here, I’m just watching my kids play while I catch up on my RSS reader!

×