Library
An incomplete list of media I've consumed. Most are formative, some are included for completeness, and occasionally there's something that's still on my todo list.
Technical
Blogs
- Avery Penwarr / apenwarr - https://apenwarr.ca/log/
- Patrick McKenzie / patio11 - https://www.kalzumeus.com/ and https://www.bitsaboutmoney.com/
- Julia Evans / b0rk - https://jvns.ca/
- Dan Luu / danluu - https://danluu.com/
- rachelbythebay - https://rachelbythebay.com/
- Amos Wenger / fasterthanlime - https://fasterthanli.me/
- Bartosz Ciechanowski - https://ciechanow.ski/ - a master class in interactive graphics
- Hillel Wayne - https://www.hillelwayne.com/
- Google / C++ Tip of the Week - https://abseil.io/tips/
- Google / Testing on the Toilet - https://testing.googleblog.com/
- High Scalability - https://highscalability.com/
- Will Larson / lethain - https://lethain.com/ and https://staffeng.com/
- Murat Buffalo - https://muratbuffalo.blogspot.com/
- Cindy Sridharan - https://copyconstruct.medium.com/
- Memos, collected by Sriram Krishnan - https://sriramk.com/memos/
- Daniel Lemire - https://lemire.me/blog/
- Raymond Chen - https://devblogs.microsoft.com/oldnewthing/
Articles
Why you need a "WTF Notebook" (2021)
There's a very specific reputation I want to have on a team: "Nat helps me solve my problems. Nat get things I care about done."
What Every Systems Programmer Should Know About Concurrency (2020)
Async Rust Is A Bad Language (2023)
Used pervasively, Arc gives you the world’s worst garbage collector.
People lie on surveys and focus groups, often unwittingly (2004)
The majority of consumers who buy computers claim that personal finance management is one of the top three reasons they are purchasing a PC. They’ve been claiming this for more than a decade. But only somewhere around 2% of consumers end up using a personal finance manager.
How Figma’s databases team lived to tell the scale (2024) and The growing pains of database architecture (2023)
Limit potential availability impact to <1 minute
ABP Privacy Infra, Long Range Investments (Facebook internal, 2021)
Latency Numbers Every Programmer Should Know
AFAIK this originates from a talk that Jeff Dean gave in 2010; the numbers have changed slightly in the decade+ since, but it largely still holds. You can also find it on High Scalability and sre.google.
-
some people think that there could be simple rules for Internet content that are easy to apply
StackOverflow Update: 560M Pageviews A Month, 25 Servers, And It's All About Performance (2014)
How we migrated our PostgreSQL database with 11 seconds downtime (2024) - Gov.UK's story of migrating from one RDS Postgres DB to another.
-
The core problem is that MySQL claims to implement Repeatable Read but actually provides something much weaker.
PostgreSQL's fsync() surprise (2018)
If that happens to a PostgreSQL server, the result can be silent corruption of the database
A Few Billion Lines of Code Later (2010)
Parsing is considered a solved problem. Unfortunately, this view is naïve, rooted in the widely believed myth that programming languages exist.
No Silver Bullet (1986) - a discussion of the fundamental challenges involved in creating software.
Supercomputing's Monster in the Closet (2016) - found via this Twitter thread
Jaguar had 360 terabytes of main memory [and] was logging ECC errors at a rate of 350 per minute.
The Hardest Program I've Ever Written (2015) - the story of
dartfmt
The hardest program I’ve ever written, once you strip out the whitespace, is 3,835 lines long. That handful of code took me almost a year to write. [...] I deleted 20,704 lines of code over that time.
Caches, Modes, and Unstable Systems (2021)
So our system has two stable loops. One's a happy loop where the cache is full [...] The other is a sad loop, where the cache is empty, and stays empty
The Tyranny of Structurelessness (1972)
As long as the structure of the group is informal, the rules of how decisions are made are known only to a few and awareness of power is limited to those who know the rules.
Things You Should Never Do, Part 1 (2000) - Joel Spolsky talking about the Netscape rewrite
The Elves Leave Middle Earth - Sodas Are No Longer Free (2009)
Better Context Menus with Safe Triangles (2023), found via this Tweet
Talks
Jeff Dean - Building Software Systems at Google and Lessons Learned (2010)
Robert Kennedy - Life in the Trenches of healthcare.gov (2014)
Books
- Tanya Reilly - The Staff Engineer's Path
- Martin Kleppman - Designing Data-Intensive Applications
I originally put this together back when I was at Google, trying to collate the publicly available resources I knew about so that I had something to point to when people asked me about life at Google. I don't update this much anymore.
- Call Me Ishmael (2012) - Mike Bland reflects on the challenges involved in encouraging Google engineers to test their code (Mike's blog also talks about internal infra like TAP, Forge, etc., and even for Googlers the stuff about the history of the Testing Grouplet is a great read).
- Why Google Stores Billions of Lines of Code in a Single Repository (2016) - a primer on google3's scale, both technical and organizational, and the solutions that Google has built around it
- Site Reliability Engineering (2016) and its followup, The Site Reliability Workbook (2018), which discuss the art of maintaining production systems.
- Modern Code Review: A Case Study at Google (2018) - qualitative analysis of code review practices at Google (there's also CodeFlow: Improving the Code Review Process at Microsoft (2018), which is another mostly qualitative discussion, although they do have some very interesting stats).
- The Datacenter as a Computer (2018) - I'm not sure if I got anything specifically useful from this, but in general I found it to be a nice overview of the challenges involved in operating a modern datacenter.
- Software Engineering at Google (2020) - still haven't read this
- 25 Years of Warehouse-Scale Computing (2024)
- Code Search, but for OSS: https://cs.opensource.google/
Personal
Fiction
- N. K. Jemisin's "The Broken Earth" trilogy
- pirateaba's The Wandering Inn
Niches
Industries (non-software)
Outdoors
- gear: REI, Moosejaw, Backcountry, Expertvoice
- navigation: Gaia, CalTopo, OnX, Fatmap
- https://www.vdiffclimbing.com/
- https://www.redbull.com/int-en/shows/reel-rock-1
Other
- Hardware: McMaster-Carr, Grainger, OnlineMetals
- Electronics: Digikey, Mouser
- Stationery: JetPens, MUJI, others that I haven't used
- https://thecentercolumn.com/
- WiFi: https://www.wiisfi.com/