Reading List
The most recent articles from a list of feeds I subscribe to.
Your Favorite Homepage as a GIF
The Wayback Machine is a treasure. But it's also a little slow to navigate IMHO (perhaps purposely harkening back to those halcyon microfiche days). Can't we use computers to speed up our research endeavors?
Yes, we can. Here's a neato gif of Apple's homepage from 1996 to present:

Or maybe you're looking for some H1 or CSS gradient inspiration for your enterprise SaaS web3 startup? Look no further - here's Stripe's homepage since 2009:

Gotta love that cloud with gears inside image. APIs, baby.
These gifs are neat, right? Much faster than clicking around the Wayback Machine UI. Careful observers may be wondering about the snapshot cadence here - I'm grabbing one screenshot per year in these examples. The Wayback Machine has waaay more snapshots for these sites (there are currently 349,843 available snapshots of apple.com between October 22, 1996 and February 1, 2023), but an annual capture -- in gif format -- definitely gives you a good sense for the evolution of these homepages.
Here's another great example: whitehouse.gov (and, no, this is not whitehouse.com, to those of you from the 90s who've made that most-enlightening of mistakes before):

This is almost itself a history lesson of the web in a single gif.
How I made these GIFs
Speaking of the GIF format, did you know it was created in 1987? That's two years before the World Wide Web. Also, the gif spec is nuts and has tons of features that no one really uses or knows about. These magical features (like the "wait for user input" flag) were first revealed to me in our Escaping Web interview with Lauren Budorick of Figma. But I digress.
My point here -- and I do have one -- is that I've been thinking about this idea -- gifs of the Wayback Machine results -- for a couple years now, and never actually did anything about it. And then my pal Nicholas extolled the virtues of coding with ChatGPT to me last night. I was skeptical, despite dabbling with (and enjoying) GPT-3 and DALL-E 2 during last year's writing project. But then I remembered this little Wayback gif idea, and I thought I'd give ol' ChattyG a try, since this would mostly be a "string some boilerplate together until it works" sort of project.
AI rubber duck debugging
This is not going to be a how I, for one, came to love our new AI overlords post. But I will quickly share my takeaways.
The most impressive thing about working with ChatGPT was that I shipped this project. Period. Something that had been rattling around in my skull for a couple years is now available for you to try out on GitHub and even Replit if you want to give it a try in your browser.
Did ChatGPT get it right the first time? No. But sometimes editing is easier, and it got me started in a direction. I still had to do some documentation digging and even some StackOverflowing, but that was fine, cause I was paired up with a robot buddy. In this sense, ChatGPT felt like rubber duck debugging, except with a rubber duck who has some fairly decent ideas of its own.
Where ChatGPT really excelled for me was when I wanted to add conveniences to working code which would have been annoying to code myself.
For example, the URL to search was originally hardcoded in the script. After everything was working, I asked ChatGPT to update my script to accept the URL as a required CLI argument. ChatGPT crushed this task, pulling in an arg parsing library for Python and updating my script structure accordingly. That was pretty cool.
More GIFs, please!
How about the Everything Store?

Seems like they got wind of the automated test software by 2020.
Let's do one more. How about YahoooOooOOo?

Kinda disturbing to see Yahoo transform from covering "Arts and Humanities" and "Science" into the LCD of our attention span over the years, actually. I think I'm going to stop now.
Homepage as history
Homepages are cool. And we're lucky we have the Internet Archive out there recording them all for posterity.
Please consider donating to the Internet Archive - creators and maintainers of the Wayback Machine, as well as many other Library of Alexandria-esque Internet.. um, archival programs - right here. I just did it, and it was super easy with PayPal.
Releasing code in large corporations is slow – and there is a good reason for it
Xe's blog made $2564.42 in profit last year
7 Reasons why I don't write
I have recently been made aware that the frequency of new content published on my site has gone down quite a bit.
Ok fine, I trash-talked Manuel’s website on Mastodon and he correctly pointed out that while I wrote an impressive two (2) blogposts last year, he wrote around 90 (while also doing talks, audits, raising an infant daughter and probably training for a marathon or some shit like that, I mean let’s face it the guy is annoyingly productive).
I know I was slacking off a bit and those numbers speak for themselves. While I generally want to write, ideas rarely make it all the way to a published post.
Like many others, “write more” is high up on my imaginary list of life improvements and although I don’t usually do new year’s resolutions, now feels like a good time to re-evaluate what’s stopping me there.
I came up with seven reasons that I use to justify why I’m not writing. In a confusing twist of perspective, I’m also going to try and talk myself out of them by explaining to you, dear Reader, why they are bullshit.
I don’t have time
Permalink to “I don’t have time”This is the big one, right? We all have other things to do, and writing takes time. In my case, I’ve been really swamped with client projects and other work last year.
I think if you actually want to write though, it’s more a lack of routine than a lack of time itself. People who consistently produce content have learned to make a habit out of it. I read “Atomic Habits” by James Clear a couple of months ago and its message kinda stuck with me. It’s about conditioning yourself to do certain things more often by building a routine.
Take 15 minutes every day before you check your email and just write. Or do it on your commute to work if possible! The trick is to use amounts of time that are so small you can’t possibly not fit them in your schedule. It may not be enough for a fully-fledged article, but enough to build a habit.
It’s also worth noting that your writing doesn’t always have to be well-crafted longform blogposts. It can just be a few paragraphs about your thoughts, linking out to other stuff. Chris does a great job at this, and others have recently adopted even shorter formats, mimicking social media posts in length.
I don’t have anything interesting to say
Permalink to “I don’t have anything interesting to say”The classic impostor syndrome comes out here. I don’t know anything special, so why bother?
The truth is that everyone has something interesting to say because everyone faces different challenges. You don’t have to go viral and make buzzword-riddled thinkpieces about the current hot topic - There’s enough sites who already do that, and AI will soon produce a shitton more of it.
A better plan is to write about what you know and experience in your day-to-day life instead. Authentic posts are always helpful, and you will solidify your own knowledge in the process too.
Here are a few common writing prompts and examples for blogposts I love to read:
- “I learnt something” (TIL)
Michelle Barker: Negative Animation Delay - “I noticed something”
Dave Rupert: I’m Shadow Banned by DuckDuckGo (and Bing) - “I built something”
Lynn Fisher: lynnandtonic.com Refresh - Year in Review
Sophie Koonin: 2022: The year in lists - Personal Stuff!
Cassie Evans: My typical day
I gotta fix [X] on my site first
Permalink to “I gotta fix [X] on my site first”This one is especially popular among developers. “How can I possibly write anything before the typography is perfect? How can I ever publish anything when comments are not implemented yet?” We love to tinker with our websites and that’s cool, but at some point it gets in the way of actually using your blog and creating content.
Despite what we tell ourselves, it really doesn’t matter too much how a blog looks or what features it has. People come for the content, and as long as they can read it, they’re happy. Throw in an RSS feed so everyone can use their own reader and you’re golden. It pains me to say it but Manuel is absolutely correct here.
And if he can be “redesigning in the open” for three years while churning out massive amounts of CSS knowledge, your site will be fine too. 😉
Others have already written about this
Permalink to “Others have already written about this”Sometimes I’ve got a great idea for a post, but an initial Google search reveals that someone else already beat me to it. The novelty has worn off and that other post is way better than what I could have come up with anyway, I tell myself.
That’s not a real reason of course, nobody has a monopoly on a subject. Others may have already covered the topic - but not in your voice, not from your perspective. You could write a post about the exact same thing and still provide valuable information the other author has missed. Or you could approach the subject from a different angle, for a different skill-level or for a different audience.
Another way is to read the material that is already available and take notes about all the questions you still have afterwards. Try to actually do the thing (write the code, use the app, whatever) and see what other information would have been helpful for you to have. Write that!
The moment for this has passed
Permalink to “The moment for this has passed”There are writing ideas that are inspired by some event or conversation. Maybe something big happened on the web or I’ve had a particularly interesting discussion on social media. So I sketch out a quick outline for a post and stick it in my drafts folder, thinking I’ll get back to it later.
Three weeks pass and that lonely draft sits around gathering dust, and by the time I remember it, the moment has passed. The conversation has moved on, and so the post is abandoned and eventually deleted.
The internet moves pretty fast and there’s always a “hot topic of the day”, but that doesn’t mean that nobody is interested in anything else. A beautiful thing about blogs is that they’re asynchronous. You can just write things and put them out there, and even if they don’t hit a nerve immediately, people can discover them in their own time.
Older posts can also get re-discovered years later and get a second wind, not to mention that people constantly search for specific things - and your post might be just what they’re looking for then! Some of my old posts about webrings and the IndieWeb have recently found readers again since Twitter has started going down the drain. You never know!
I can’t get it to sound right
Permalink to “I can’t get it to sound right”Most of the (tech) blogs I read are in English, even though its authors are from all over the world. For a non-native english speaker like myself, it can sometimes be daunting to write in a foreign language. This is a barrier when it comes to producing “polished” text - there’s extra brain cycles involved in getting your ideas to “sound” right.
This is probably not a big deal though. People don’t expect to read world-class literature when they come to check out a blogpost about “Lobster Mode”. As long as you can get your point across, it’s fine if you don’t use fancy words. It can also be an advantage: for an international audience, simple English might even be easier to understand.
That being said, this is a usecase where AI might actually be helpful! While LLMs like GPT-3 and co are useless at creating actual content or original thoughts, they’re great at making sentences sound nice. Tools like Jasper can rewrite your copy and improve the tone without changing the contained information. Sort of like prettier but for English prose.
Nobody’s going to read it anyway
Permalink to “Nobody’s going to read it anyway”Let’s be honest: nobody likes to shout into the void. Everyone wants their content to be seen, and social validation is the sweet sweet dopamine reward we all crave.
There’s nothing wrong with sharing your work on social media or popular orange link aggregators either, but sometimes there just won’t be much of a reaction after you publish. That can feel frustrating - but ultimately I think obesessing over vanity metrics is not worth it anyway. Just because something doesn’t make the frontpage of Reddit does not mean it’s not valuable.
Don’t underestimate how many people actively read personal blogs though! The web dev community is especially fond of RSS, and with the Fediverse gaining more and more popularity, original content on your own domain has a much better reach now than before.
Who’s gonna read your personal blog because it has an RSS feed? I’m gonna read your personal blog because it has an RSS feed. pic.twitter.com/mtcyKhEVet
— Chris Coyier (@chriscoyier) January 7, 2020
Right, I realize it’s a bit weird to write a post about how I don’t write posts. But I hope to push back on this in 2023 and find more time for writing. I also suspect that other people have similar reasons and maybe talking about them helps a bit.
In any case, that’s one more post in the bank!
Fiction writing updates
Just some updates on my fiction writing “adventures”.
Writing pace and schedule
My writing pace and schedule have not been very reliable since I started. I went through several months of failed draft attempts, in which nothing got published. What finally kicked me into gear was a story I committed to for an anthology. I drafted that story almost entirely on my AlphaSmart Neo last year, while visiting Glastonbury Tor. I wrote from the hill and it really got my creative juices flowing again.