birdwatching thoughts on development, technology and design

Writing Big and Small

When I restarted this little writing project, I set a goal of 2 posts per week. Yesterday was the last day of my fourth week, so I thought I should take a moment to grade my little experiment. For the purposes of this exercise, I’d previously decided a week starts on Sunday, and a blog post should contain at least 300 characters of text I wrote (e.g., block quotes don’t count). Anything else is what I’d consider a micro-blog post and not part of my personal goal.

The post you’re currently reading is my eleventh in less than four weeks. I’m quite pleased with that. Eleven posts with more than 10,000 combined words in 25 days is probably some of the most prolific blogging I’ve ever done. But for how I defined my goal, I haven’t managed to stay within the parameters.

This project kicked-off mid-week, but I still managed to publish 4 posts before the next Sunday. In my second week, I hammered out three posts on separate days. That all tracks for the excitement that comes from a new or revived hobby.

But, like always happens with a new or revived hobby, the shine wears off at some point. In my third week of this experiment, I only found the time to publish one post. The same ended up true for Week 4. Luckily, I know what the problem is.

I currently have about 10 unfinished drafts of posts sitting in Drafts. Some are further along than others, but collectively, it’s approximately 5,500 unpublished words. So, basically, about a third of my writing this month never even got published.

I had started and probably could have finished my post about new data centers and still hit my weekly goal, but I had a hard time letting go and calling it done. I don’t use LLMs to write, but I did ask Claude at one point to review what I had written and it said that what I had resembled two different essays shoved together.

Instead of taking that feedback as a sign to publish them as two posts I redoubled my efforts to make it one much longer, but hopefully cohesive one. I don’t know that I succeeded. I certainly didn’t feel that way. Finishing it and publishing it felt like a chore by the end. I just wanted to be done with it.

If I’d published them as two, separate, lighter posts I think I would have gotten them up faster and been able to be happier with them. It was the fact that it grew so long that made me have a hard time letting go.

I’m still going to keep my posting goal at 2 per week, but the thing I’ll try to consider more is to publishing faster, shorter and earlier than I might think I should because the alternative is not publishing at all.

Shade of the Art

Yesterday I saw Coyote vs. Acme. It’s enjoyable as heck and worth seeing in theaters, if only to vote with your dollars that this is still the kind of movie worth making. I don’t typically write movie reviews, but after seeing such a good movie, I only had one real grievance I felt kept it from being an all-timer. (No spoilers ahead.)

I didn’t love every second of the movie’s plot and pacing. A PG movie starring animated animals must cater to children, over-explain the plot and hit trademarked catchphrases as many times as possible. I can accept that. Well-made family films pack in just as many jokes that aim high and push the limits of the rating, and when those land right they’re even funnier for the adults watching1.

But from a script and story perspective, I don’t really have notes. My issue is its visuals.

Of the four hybrid live-action and animated Looney Tunes films ever made, this might be the worst the gang has ever looked on the silver screen.

Like 1988’s Who Framed Roger Rabbit, Coyote vs. Acme puts cartoons and humans in the same world, so the 3D characters are meant to read as their original 2D selves. The film is clearly reaching for a cel-shaded style, but it doesn’t always work. Some scenes and characters look far better than others. I found Foghorn Leghorn especially hard to look at, and it might be the first time I’ve ever experienced the uncanny valley effect from a cartoon character.

Often, the CGI feels closer to 2000’s The Adventures of Rocky and Bullwinkle than to 2021’s Space Jam: A New Legacy, which was released by the same studio a year before Coyote vs. Acme started production.

It reminded me a lot of Fortnite’s skins for characters from traditional 2D animation. The game has featured 2D-inspired cel-shaded skins of Bugs Bunny, Hank Hill, Goku, Hatsune Miku and even 2D (the animated frontman of the band Gorillaz). Fortnite’s version of the effect is exaggerated and over the top, but I still think Epic Games figured out something that Warner’s animation group has not.

In fairness, there haven’t been many movies that mix live-action and animation with 3D-rendered characters expected to pass as their original 2D selves. Adaptations of Scooby-Doo, The Smurfs, Alvin and the Chipmunks and Sonic the Hedgehog all sidestep the problem by reimagining them from scratch in 3D. I don’t necessarily think all of them turned out especially well (the original Sonic model was famously rather bad), but the new designs definitely have less uncanniness.

I could find only two real examples of characters transitioning to 3D while staying very close to their original look. The first is the 2021 mixed live-action Tom & Jerry movie, oddly enough also made by Warner Animation Group. The other is the 2022 Disney+ original Chip ’n Dale: Rescue Rangers, where the style is partly a gag because 2D characters in that world can opt for “CGI surgery” to improve their visual fidelity.

I decided not to count 2015’s The SpongeBob Movie: Sponge Out of Water, because while the 2D crew comes ashore pretty well, they end up looking more like plasticized vinyl figurines than living cartoons.

I go to all the trouble of saying this because it’s an absolute shame, and likely indicative of just how little WBD believed in the film from the beginning. Money may not have been the only problem, but it seems likely to have been part of it. Modern 3D adaptations of 2D animation have had a real renaissance in the last few decades. One of the trailers I saw before the film was for the upcoming Bluey movie. I had heard about it, but I hadn’t seen it yet. Bluey and Bingo had a lot more visual fidelity in their appearance than any of the characters in Coyote vs. Acme, but it’s clearly “CGI surgery” and certainly isn’t being done on the cheap.

While writing this, I found a VFX reel from one of the effects houses that worked on the Disney+ Chip ’n Dale movie. Some of what made it into the final cut of Coyote vs. Acme feels closer to the Rescue Rangers’ PreVis footage than the finished shots. It makes me wonder if that’s part of what happened.

It’s no secret this film had a far smaller budget than the Space Jam sequel, and I’m sure recreating the traditional 2D effect from the original Space Jam and Back in Action would have cost more than the CGI they used instead. I accept Coyote vs. Acme for what it is despite the constraints it had to navigate just to get released. I still enjoyed it, and I still recommend it despite my own criticism.

If this were my own work, I think I’d have struggled to ship it as is. It’s by no means state-of-the-art, and I’m sure they knew that. But they shipped it anyway.

It isn’t the best-looking Looney Tunes movie ever made, but it’s good enough. I got to spend two hours in a theater enjoying it, and hours more talking and writing about it.

Existing like this is far better than not existing at all.


  1. Shrek is one of the best examples of this. ↩︎

'Til the Clouds Come Home

My family first got online with Prodigy dial-up when I was 8. We connected to it via a local phone number, and so I thought that meant the offices of our local phone operator down the street was where “internet” lived. As I got older I began to understand it was far more complex than that.

One of my next-door neighbors growing up was a tall man named Craig. He spoke in a loud, but friendly, North Carolina accent that likely wouldn’t make you think he was the kind of guy who gets really into computers. With his characteristic strawberry-blond horseshoe mustache, he looked, talked and even dressed like a long-lost cousin of Dale Earnhardt.

But in the same way my dad just knew how to work on any car, Craig knew computers. Every so often he’d help my family out, upgrading our first desktop from a 2GB hard drive to 8GB and later helping us make the jump from Windows 95 to Windows 98.

I’ve been thinking about Craig recently because he was the first person I ever knew who worked in a data center. When I think about data centers, I still picture them exactly the way he described them: large, cold rooms filled with rows of whirring computers packed into racks and watched over day and night by people like him.

I can’t remember where Craig worked, and I may not have known at the time. For all I know, what he oversaw was a private network for a single company and not even part of the public internet. But the image sticks with me because it was likely the first time I understood, even vaguely, that rooms full of computers somewhere were doing something important enough that somebody had to watch over them day and night.

Continue reading →

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. Ze Frank called this “brain crack.”

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.

See all posts in the archive →