birdwatching thoughts on development, technology and design

Writing Requires Restraint

From the birdwatching colophon:

Posts are written in Markdown because writing requires restraint.

I added some new pages to the site recently, including a colophon. I’m pretty sure the first time I ever saw the word “colophon” was the one on Daring Fireball. His is a lot shorter than mine.

Admittedly, I wrote a colophon to be like all the other cool kids, but I’ve always loved the concept and am excited to have one of my own.

The quote from my colophon above is one of the core ideas of this blog. Constraints can be a good thing. One of the things I’d say I loved now, but hated at the time, was my university newspaper’s hard print deadline. If I didn’t have the files on the FTP server by 5pm, there simply would not be an issue. Plenty of mistakes are more forgivable than not printing. To work at the paper was, more than anything, to work for the stress of that deadline. When I graduated college, I fully expected I’d land in a newsroom somewhere where the always-on, deadline-driven kind of work never ceased. The corporate marketing job I landed instead still had deadlines, but they might be weeks or even months away. When I have too much time to work on an idea, it doesn’t become richer, and more defined. It languishes, rotting in my drafts folder before it ever gets the chance to actually be flawed.

The reason my college paper’s deadline was effective for me is because it was externally imposed and had real consequences. Writing for myself is neither. But with this blog I do have two key constraints I’m willingly adopting:

Constraint 1: I can’t host the blog (and allow hosting it to become its own hobby)

Constraint 2: I should only write in Markdown.


Markdown is a famously opinionated plain text alternative to rich text markup. Earlier this year, Anil Dash wrote about how Markdown took over the world. He and Markdown’s creator, John Gruber, were also on The Vergecast to discuss some of Markdown’s history.

I love Markdown and have been using it more and more since I first tried Bear.app in 2017, though now I mainly use Drafts (for writing) and Obsidian (for knowledge keeping and organized notes). Gruber’s original version doesn’t have all the same functions as other “flavors” of Markdown (such as the version GitHub uses, or the CommonMark spec), but they all have a common goal: the text you type with a standard keyboard should more or less resemble the formatting it would render.

Markdown doesn’t reliably solve for every type of common text formatting (hence the opinionated-ness). Notably, most “flavors” of Markdown don’t even have a standard way to underline text. Other things like tables, LaTeX and certain kinds of images and embeds vary in compatibility, but still aren’t that easy to do by hand. These range from difficult to type/scaffold on your own or are highly specific to certain flavors.

Ultimately, this is the key tradeoff of the format, and to me it’s a feature. I don’t think this blog needs all of those formatting options anyways. My intention is to limit formatting in posts to “standard” Markdown. Some non-post page content may break this rule sparingly.


My colophon states that my goal is to write at least twice a week. A pretty low bar if I count short/micro posts. I’d really wanted to commit to at least do 300+ words in a fuller post like this one with some regularity but I intentionally didn’t. I’m still easing back into writing and I wanted to set the bar low enough that I will always be able to clear it. At some point, hopefully, I’ll have done this for so long I can’t stop. I’ll raise it then, and no earlier.

Setting big, lofty goals is one of my biggest personal failure modes. So this time, I set a small one.

Writing requires restraint. Every kind.

RIP Claude – Rands in Repose

I tried writing with AI, but I quit immediately because they suck at it. LLMs are good at structure, that’s how they convince us they’re smart, but without empathy it reads hollow. If fear of watermarks make people write for themselves again, I say that’s a good thing.

#ai #writing

Looks like I won’t be able to try Manna’s drone delivery today in Tulsa because I don’t live or work inside the very small launch area. Excited to give it a try when they expand it a bit.

A map highlights the delivery area in Tulsa, centered around the Broken Arrow Expressway. Manna drone delivery launched today, August 12th 2026 and is starting with deliveries available Wednesday to Sunday from 9am to 9pm.

#tech

How to start smoking RSS feeds

Someone on NetNewsWire’s Discourse site recently asked, “How to find motivation for reading feeds?” Below was my response.

As a longtime RSS addict, this question reads to me like “how can I start smoking cigarettes?

I was nigh-endlessly scrolling newsfeeds before I was endlessly scrolling social media, so in some ways they’re the same to me. But what sucks me into social media more than my newsreader are the notifications. Notifications ends up making social media a destination about me as much or more than a place to stay up on news, friends and my interests. I really should turn more of them off. One of my worst app habits is to always agree to turn them on under the belief that I’ll turn them off if I dislike them (except I never do the second part).

Continue reading →

Claude to add “imperceptible” watermarks to text outputs in the EU

How Claude marks AI-generated content:

When a supported Claude model generates text, it weaves an imperceptible watermark directly into the text itself. You won’t see it, and it doesn’t change the meaning, quality, or readability of Claude’s response.

Because the watermark is part of the text, it will travel with the text when it’s copied and pasted elsewhere, and may persist through some editing. Watermarking will be applied at the model level, which means it will be present no matter which Claude product or surface the text comes from.

Today Anthropic rolled out a new support page aimed at users in the European Union as part of signing the EU AI Act’s Article 50(2) Code of Practice on Transparency of AI-Generated Content. The new watermarking will apply to Claude models launched in the EU on or after August 2, 2026. Existing models are covered by a transition period but Anthropic says they’re working to add marking support to them too.

While I understand the concept of how this can work in theory, how it would actually work in practice is mind boggling. Even more so that this will apply even to API outputs from providers like AWS, Microsoft and Google.

How many characters will you have to use for something to be detectably Claude-marked? If I asked Claude to reply only with a single character, how can we be sure it’s marked? The answer is that we don’t know yet, and perhaps Anthropic has really just shipped an CYA page, especially as it pertains to marking older models.

Everyone seems to have an opinion on the effectiveness of “AI detectors” these days, but it will be interesting to see how well Anthropic’s works. If it’s any good, I expect other large economic powers will come knocking.

But I don’t see how the marking system they describe can be any good. Unless the Claude mark is complete gobbledygook (and they said it won’t be), there’s plausibly already text somewhere that would “match” this mark that wasn’t created by Claude. What’s the point of a mark if it’s more likely to cause confusion than no mark at all?

Imagine an author submits their original work to a publisher and they check it against an official Claude mark detector. Even a work with no use of AI whatsoever could may still not pass 100% because there’s nothing preventing someone from choosing the same words Claude might. And if doing so you choose to believe the author, why even check it in the first place?

So far it sounds like a system that solves for a very specific regulatory requirement, but no real problems. I’d anything, it might actually create more problems.

The case for open models just keeps getting better and better.

See all posts in the archive →