Fabrefact

a blog by Sara Farquharson

what i'm reading: July 12

Starting to feel a little more on top of life—I restarted my bullet journal and exercise routine this week! Too early to see if it’ll stick, but feels nice for now.

Despite that, I don’t feel particularly on top of my reading list. Have yet to solve the work laptop problem and have the nagging feeling that I’m losing links from…my iPad maybe? I also have a bunch of actual blog posts half-written that…someday I will get to. Someday.

A friend of mine started doing charitable donations every Sunday, so I’m taking it as motivation to set up more recurring monthly donations. Last week I added WISH Drop-In Centre, and this week will be The Human Utility. What ways are you finding to do good in the world?

Papers

  • Distributed consent and its impact on privacy and observability in social networks by Juniper Lovato, Antoine Allard, Randall Harp, Laurent Hébert-Dufresne proposes additional privacy settings for social networks that could limit this ability of third parties to build profiles of non-consenting individuals entirely from their social connections. The authors emphasise that this is only one piece of a multi-faceted approach to rethinking privacy on the internet. I liked this because it contained easy-to-explain descriptions of the current issues with how consent is managed online.

Articles

  • Bookmarking Read Rust for later reference. Guess I need a blogroll?

Programming language details

  • I don’t remember where I found this link about escaping strings using Cow in Rust but now I know a little more about using strings and Rust’s Cow 🐄 enum.

  • Jon Bodner posits that Go is a boring language, and that’s a good thing. I like reading about philosophical choices behind programming language design, because it helps in using that language’s strengths.

  • Matthias Endler reviews how programming changed in the 2010s, which captures some of the seismic shifts that made it disorienting to try to re-enter the tech world after a decade absence!

  • This Live Code Stream collection of tips for writing more “pythonic” code contains some bits I’d never encountered before, since I don’t spend a lot of time in Python. The more languages I dabble in, the more I appreciate resources that explicitly tell you how to write idiomatic code!

How to do a technical thing

  • Julia Evans explains the entr command-line tool, which allows you to run commands every time your files change, even if your build tools don’t natively support that—without having to dig into the bowels of inotify!

  • Travis Downs' article on Concurrency Costs was a fascinating look at optimising concurrency strategies, though it assumes an understanding of concurrency primitives and more fluency in C++ than I possess. Bookmarking to review in the future after absorbing more content on this topic.

  • I’m rewriting a lost work project in Go partly because I don’t know how to write an API client in Go and want to learn, so I ran across Carl M. Johnson’s Writing Go CLIs With Just Enough Architecture at exactly the right time.

  • Erin Shepherd posted a tweet thread about a fascinating distributed debugging challenge that illustrates how hard it can be to reason about distributed systems.

Being human in tech

Performance tracking

Systems design

Documentation