what i'm reading: June 28
For some reason writing these link posts takes an incredible amount of time—I intended to write a bunch of code today and instead read a few articles, segments of several books, and set up a Twitch channel. (Guess I can’t really blame the latter on this post.)
At some point I will have to figure out a convenient method of communicating all the links I read on my work computer to my personal laptop, but that’s now a problem for July.
Books
-
Finished Broad Band (audiobook) and moved on to a different aspect of unequal treatment of computing history with Charlton D. McIlwain’s Black Software: The Internet and Racial Justice, from the AfroNet to Black Lives Matter (audiobook).
-
Finally got my backordered copy of How to be an Antiracist by Ibram X. Kendi, which looks to be an engaging read. Thinking of asking if anyone at work wants to book club it.
-
Impulse read Anne McCaffrey’s Dragonsong and Dragonsinger the other night, after a discussion about how a lot of SFF that was formative to our younger selves turns out to be extremely problematic. These two aren’t as cringey as some other classic McCaffrey.
-
Enjoying Building Evolutionary Architectures by Neal Ford, Rebecca Parsons, and Patrick Kua, but I keep reading it late at night, when I can only read a few pages before I’m too sleepy for the highly conceptual language.
-
Gave in to temptation to start Cyrille Martraire’s Living Documentation: Continuous Knowledge Sharing by Design even though I’m still reading another tech book. I’m just so excited to read about how to make better documentation!
Articles
-
Coincidental to my recently learning what a trie is, I discovered Henry Robinson’s summary of a paper on Adaptive Radix Trees, complete with implementation details. Tempted to try implementing this in Rust?
-
Apparently Microsoft is officially throwing their support behind Rust for writing mission-critical software because of its improved memory safety over C++. C and C++ have been the dominant low-level systems languages since I first learned to program, so this feels momentous!
-
Really love Clare Liguori’s deep dive into automating continuous deployment at Amazon, which has a ton of useful things to think about regarding deployment and automated rollbacks.
-
Ipsita Agarwal digs into some of the particular design challenges of building a mobile payments app for an Indian market
-
In Slack someone suggested using “DP” to write a sudoku solver, and since I had no idea what that meant I ended up reading this intro to dynamic programming, which is clear, but still not enough for me to feel capable of applying it.
-
I was intrigued enough by Stephen Anderson’s Facilitating Structures that I joined his Mighty Minds Club, hoping to find more insights and tools to get better at facilitating discussions.
-
I liked Jason Yip’s Twitter thread about how changing people’s behavior to change the culture is more effective than the reverse.
-
Heard about some recent trouble with website certificates but don’t understand the details of Certificate Authorities very well, so I appreciated Scott Helme’s overview of the impending doom of expiring root CAs. Through this I also learned about the new W3C Reporting API!
-
Denis Bakhvalov just announced a new book on performance analysis and tuning which sounds very interesting! Unfortunately there’s no publication date, but Bakhvalov claims it will be released as a free PDF, so I’ll be keeping my eye out.
-
Jacob Gabrielson writes a compelling article about the perils of “fallback” mechanisms in distributed systems.
Papers
- Given that I’m in the middle of trying to gather metrics using—among other tools—SonarQube, I felt compelled to read Are SonarQube Rules Inducing Bugs? by Valentina Lenarduzzi, Francesco Lomio, Heikki Huttunen, and Davide Taibi. In summary: the authors found that SonarQube’s severity ratings do not necessarily reflect the actual likelihood of a rule violation to be a bug, but that is far from showing that blindly following static code analysis rules causes bugs.