fasterthanlime on Technical Blogging
Bear in mind: fasterthanlime writes hot (and hilarious) takes on Rust, Linux, Go and whatever else crosses their racing mind
Following up on “Writing for Developers: Blogs That Get Read” and writethat.blog, we’re sharing the perspectives of expert tech bloggers: why they write, how they tackle writing challenges, and their lessons learned.
This time, let’s hear from Amos Wenger, a.k.a fasterthanlime. Amos’ posts are featured in our book chapters on The Bug Hunt and Thoughts on Trends blog post patterns.
Amos describes their content as “long-form, didactic and exploratory — and often an excuse to teach Rust!” If you’ve ever read a super fun (and somewhat irreverent) Rust deep dive with Cool Bear commentary, that’s unmistakably Amos. For example:
Beyond blogging, Amos shares hilarious takes on highly technical topics via video.
Take it away, Amos…
Why did you start blogging – and why do you continue?
I genuinely cannot remember why I started, because I've been blogging for about 15 years! That's just what the internet was like back then? It wasn't weird for people to have their own website — it was part of maintaining your online identity. We're starting to see that come back in that post-Twitter era, folks value having their own domain name more, and pick up blogging again.
I can say, though, that in 2019 I started a Patreon to motivate me to take writing more seriously — I'm reluctant to call it "blogging" at this point because some of my longer articles are almost mini-books! Some can take a solid hour to go through. At the time, I was sick of so many articles glossing over particulars: I made it my trademark to go deep into little details, and not to be afraid to ask questions.
What has been the most surprising impact of blogging for you?
I certainly didn't expect my blog posts to be used for internal training at various big companies, but I guess it makes sense! That one's a little bittersweet because, okay, I get name recognition, but that's a form of payment my landlord doesn't allow.
Another that's more heartwarming is: I've been speaking up about my own mental health journey a bunch in articles and videos, and occasionally at conferences people approach me and thank me for talking about it, because it compelled them to seek help. That I'm extremely happy about, and it motivates me to keep talking about depression, medication, etc. — even though it makes me a little less employable each time :)
What blog post are you most proud of and why?
Probably the "Making our own executable packer" series — I started out just trying to find out what was in ELF files (the executable format used by Linux), then how they're loaded, then went "well, it can't be _that_ hard to have code compressed on-disk and decompress it on launch," but then I added a bunch of constraints like "no writing the resulting executable to disk," and suddenly you're solving the same problem as malware authors: how do I map, load, and run code all in-memory without leaving a trace on-disk.
In the middle there, I had little confidence it was all going to work, but sure enough, eventually it did (I always thought to myself, "worst case, I can read UPX's source code” [and I did!], but I'm afraid it didn't help much). That explains why the series is kinda long and there's a lot of "fixing my earlier mistakes/assumptions" in it. Still, I taught myself something from scratch for it and a lot of people were along for the ride.
What post was the most difficult to write and how did you tackle it?
That would be "Proc macro support in rust-analyzer for nightly rustc versions." The article itself wasn't hard to write per se, it was more about all the work that needed to happen before/around the piece (sorry for side-stepping the question a lil' bit). It required coordinating the rustc and rust-analyzer teams, just a lot of human interaction for very little actual technical work, actually, but the end result is pretty cool: rust-analyzer works for any rustc nightly versions now (thanks to a new component shipped with rustup). It used to break every couple nightly releases, and it even broke if you had a rustc nightly pinned!!
Any lessons learned that you want to share with the community?
Building your own blogging software is totally fine actually. I've been doing it for five years and it's pretty decent by now. Of course it helps that maybe a third of my content is actually about how I built my own blogging software.
All kidding aside, mhhh: when people tell you to write about things you're passionate about, it's not just wishful thinking "if you build it they will come" type of stuff. It's also that if you build something you really hate (but you think is going to be successful), and they do come, then you're stuck maintaining that. It's like how in dating there's a fine line between projecting a positive image, but also being authentic, to avoid having to keep up a charade if they actually fall for you.
So it's not like, "following your heart magically makes for a successful business," it's more like "the chances it works are slim anyways, might as well do it some way you enjoy."
Your advice for people just getting started with blogging?
I've read "write what you wish you could read" a bunch as advice and I think I generally agree with it? It can be hard to get that initial set of eyes to look at your stuff, so maybe try finding a community, a group of people who can give you legitimate feedback. It's going to be hard to find people who are willing to give honest feedback (less so in Europe), but it's important.
Me, I'm my own worst critic, but I keep having to remind myself that blog articles are not like software projects. I'm not going to have to keep maintaining articles forever — I spend a finite amount of time on them, do my best, and if I feel like revisiting the topic later, I can do that! Obsessing forever has an opportunity cost: while you're trying to perfect that one piece, there are so many others you're not writing. It can be hard to find a balance: setting deadlines for yourself helps — sometimes.
A few blogs that you particularly enjoy?
Is this where we all link to Bartosz Ciechanowski's blog?
— the interactive bits in there are always incredible.
There's actually no one I obsessively check up on, I trust that the good stuff will rise to the top on aggregators like Hacker News. Even though the comments in there are... hazardous to your mental health, that's how I keep current.
The main reason I don't read a lot of other people's stuff is because it ends up discouraging me from writing my own. If I see someone else cover topic X, I tend to stop before I've even started, even if I would've approached it completely differently and it would've been complementary. It's not a zero-sum game.
Anything else you want to add?
If you do syntax highlighting on your blog, please pay attention to the color scheme and use something like tree-sitter to parse code, not regular expressions (no highlight.js!). Also, JPEG-XL, webp, AVIF, etc. are things now, please use them. Thanks for coming to my TED talk.
***
Stay tuned for more tech blogger spotlights mixed in with the monthly writethat.blog updates.