July 2021


I am extremely excited that we have finally returned to the office after fifteen months. The office underwent renovations during that time as well, improving our space. I know this is contrary to the current narrative in the programming industry, but I actually strongly prefer working from the office. I like going out and seeing people face-to-face; I like taking the subway, and I like having the opportunity to go walk around the city while I’m down there. Though, to be honest, I haven’t been doing a lot of that, since it’s so dang hot outside.

But the real biggest perk to working from the office is that I can come home and not be just utterly exhausted. Working from home, it was impossible for me to write code for honestly way more hours than I should have been and then turn and think about any projects that I want to work on for my own sake. And really, it was kind of a struggle to even do the things that I had to do just to keep the gears turning in my life. Working from the office, though, I come home and for the most part I’ve been filled with energy and ready to take on, well, just about anything.

It’s been a balancing act, but I really prefer this balancing act to the one before, so I’m very grateful to be back. Let’s hope that my fears are unfounded and we won’t have to go back to working from home again.

Rik Signes and I worked together to create a Fastmail-specific interface for a Vestaboard splitflap board installation, which you see when you first walk into the office. We have a slack bot that we interface with for a lot of things around the company, so Rik wrote the ability to manage what gets posted to the board (so that someone couldn’t hog the board or immediately overwrite something that someone else has put up, for example). I wrote a frontend for people to be able to edit and preview their messages before they’re posted. I think it turned out pretty great!

A split-flap board displaying 'Good morning, Fastmail,' overlaid on a rainbow
The Vestaboard in action

In other news, earlier in the month, I took another trip up to Rhode Island, making it two trips in the span of about a month. This time, M came up with me; we drove up and back and stayed in a hotel in Providence. This was for a more sad occasion, but we still managed to really enjoy ourselves and make the trip feel like a real trip and not an obligation.


Here’s this month’s installment of the playlist! I hope you enjoy it. Here’s the article, and here’s the playlist on Spotify:


I’m still on my Good Sudoku kick, developing new strategies to attempt to rank higher each day in the daily good and arcade modes. I’ve also picked up Desert Golfing again, which is a great way to pass a minute or two, here and there. At the tail end of the month, I started playing SongPop Party, the immensely addictive music trivia game: a song plays, and you guess which song it is (or, sometimes, the artist) as quickly as possible. There are playlists within genres; the online “arena” mode is fun, because you have a one-in-four chance of your playlist being selected, and while I do feel like I have a bit of an advantage in any of the “rock” playlists, there are some that are a bit out there — like, for example, when I somehow managed to win a match where someone selected only Avril Lavigne songs.


I wrote an application framework for AWS! The first iteration of this is a sort of “microblog” which lives here: https://dev.joewoods.dev/posts/

I still need to figure out more ways to get those little posts I’ve been making out there more so that I’m not just entirely talking to myself, but I’m sure that will come later. I did give it an RSS feed, though, because you gotta have an RSS feed.

This project has not only been a really great learning experience, but I’m also really glad to have this sort of base application that I can use to really quickly iterate on ideas. I plan to just let it run without tinkering too much for a very short break — hopefully only as long as it takes me to wrap up a small project for failbetter — and then shore things up and add a few more features.

AWS is … interesting. I’ve really bought into the philosophy of abstracting away the hardware, but there’s a huge gap between the entry-point application and a production-ready application using AWS. The documentation is, unfortunately, lacking in a lot of ways, and each service’s web interface has its quirks, some of which are actually quite difficult to work around.

Building something with AWS ultimately feels like building a kit car, bridging together radically different components with semi-theoretical knowledge of how they work under the hood. I tried to count all of the AWS services that this admittedly small project touches, and kind of gave up; I think, right now, I’m sitting at something like 8.5.

And even for all of the AWS complications happening in the backend, the frontend is absurdly simple — raw, no-framework javascript, using Vite as the test and build system. It rules.

You should definitely expect to hear more about this framework soon!

Other than that project, I think the only other code of note I wrote outside work was this little toy project to grab a random message from a Discord channel.


I wrapped up The Crow Road by Iain Banks late this month. Like I mentioned last month, this is a re-read for me — I don’t think it really gripped me as much as it did the first time around, which is kind of a shame. Even if I’m realizing that this is no longer my favorite novel ever written, there’s a long list of novels he’s written — mostly under the name Iain M. Banks — which would then fall into contention for the number one place in my esteem. I don’t really know what it was the first time around — maybe this is another one of those cases where I expected perfection, and instead got something very good, but because my expectations weren’t met, I ended up disappointed? Who knows!

Closing out the month, I made a small amount of progress into Lurkers by Sandi Tan — more to come on that front next month!


This month, failbetter published:


  • I typed 760,000 keys and clicked 132,090 times.
  • I listened to 1,068 songs.
  • 5 albums escaped from the Album Gauntlet.
  • I wrote 23,720 words in my personal journal.

That’s it! Thanks for reading. Feel free to get in touch with me any time at joewoods@fastmail.com.