4 July 2023
Ever have that feeling that you might run across something on the web and hope you can find it again someday?
Yeah, me too.
So I built my own linkroll.
tl;dr: If you’re just interested in the linkroll, you can find it at This Might Be Useful, which I often abbreviate as TMBU.
August 2023 Update: I’ve since renamed TMBU to ericscouten.link. I’ve updated the links accordingly, but the name lives on in some related code as you’ll see below.
Things you’ll find there:
Yes, I know there are linkroll solutions out there. I’ve even used a couple of them over time (notably Digg, once upon a time).
Call me an old curmudgeon, but I’m increasingly of the opinion that I want to own my own content and not have my online presence be subject to anyone else’s business whims, which is why my links are self-hosted and not on anyone else’s platform.
Since we all have our own notions of what such a site should entail, let me share my goals (✅) and non-goals (❌) for this site:
A lot of my content these days comes from a well-curated list of follows on Mastodon. Theoretically, I could search posts and boosts on Mastodon to accomplish most of my linkroll goal, except for three things:
So I built my own linkroll.
Someone close to me asked me why I wouldn’t just use browser bookmarks. Which also almost works, but …
So I built my own linkroll.
A significant part of the art of being a programmer is to identify relevant technology that already exists and figure out how to combine it in the most minimal new way. I’d say I found some pretty good off-the-shelf components to use.
And, of course, I did build a few new pieces.
Almost all of my web presences these days (including this one) are built using Zola, a super-fast static-site generator built in the Rust programming language. The only current exception is my primary site, ericscouten.com, and I have plans for a Zola-based makeover soon.
Zola neatly satisfies most of the design goals I listed above and I built the core of the site using Zola several months ago using templates that I had built for my other sites, including this one. I use Netlify to automatically deploy and build my site, but could pretty quickly move elsewhere if the platform stops working for whatever reason.
The source code for the site is available on GitHub @ scouten/ericscouten.link. If you look at the commit history, you’ll see a big burst of energy from when I started the site in mid-February until early March.
And … then … nothing.
🦗 crickets 🦗
Well, the typically workflow was that I’d see something on Mastodon, typically on my iPhone, using the delightful Ivory client from Tapbots.
I’d e-mail myself a copy of the link when I found it and then circle back later, read that e-mail, and manually convert that into a Zola post and push it to GitHub.
What happened was that manually part began to feel tedious. Really tedious.
By the time I circled back to the posts a couple of days ago, I had more than 100 such messages and there was no way I was going to do this manually.
So, having a bit of time to myself this week thanks to a summer vacation (read: Adobe’s excellent sabbatical program), I built a tool that would read my (purpose-specific) inbox, parse out some relevant bits from the message, and write most of the desired Zola post.
I’m making this tool available via open-source (GitHub: scouten/tmbu-worker).
A couple of quick notes about this tool:
This tool wouldn’t have been possible without the following open-source crates:
Thank you to the authors of these crates!
Using this automation enabled me to change the time it took me to prepare a new bookmark from 10-20 minutes per post to roughly 3 minutes per post. That makes it really close to sustainable. I cleared the 100+ message backlog in just a couple of days, and expect to keep up with new “might be useful” content going forward.
You can see more of my travel stories without having to check back randomly to see if I’ve posted something new.
Thank you for following along!