Good Things Weekly Roundup - 2024-06-30
Things I read, watched, and enjoyed this past week
(data saved to/pulled from Readwise Reader)
Youtube Videos



A16z - Marc Andreessen on Building Netscape & the Birth of the Browser
Posy - Sun Chasing
Akuto Studio - Chord Machine AKT-0.1 - First Demo Video
Thomas Flight - in Praise of Great Exposition
Audiobooks
Note, titles may be wrong (looks like an audible/readwise issue), images should be accurate tho
Finished this audiobook this week! 50 hours of Will Durant read by Grover Gardner. Really, really excellent.
Articles
Articles I Read All the Way Through
Open Source Is Neither a Community nor a Democracy
DHH/hey.com
Click for generated summary
Using open source software doesn’t give you a vote on project direction; it’s a gift with freedom of use. Open source projects are usually led by a small group of dedicated contributors, not a democratic community. Open source operates on productive effort, not entitlement, with users free to choose among alternatives.
DHH makes a firm case that Open Source is driven by core contributors and users of the software who lack the ability/interest to contribute don’t have (and shouldn’t have) any voting power about the direction of the project. Pretty strong case. I can only imagine what kind of feedback he deals with as the Rails creator/contributor.
The Economics of Writing Technical Books
Gregor Hohpe
Click for generated summary
The text discusses how much money you can earn from writing technical books and the various publishing options available to authors. It also explores different distribution channels and their impact on author royalties, highlighting the potential earnings from self-publishing versus traditional publishing. Overall, the text emphasizes the importance of understanding book economics and sales strategies for authors looking to make money from their technical books.
Nice, honest, open overview of the economics of technical book writing from an author’s perspective. As you would expect, technical book author’s aren’t doing it for the money. An interesting tidbit is that it looks like the wonderful book Designing Data-Intensive Applications by Kleppmann is doing quite well (~100-500k royalties/year). This makes it one of the top revenue-producing books in the category. Well deserved, and I would hope Kleppmann receives even more. That book is easily the best technical book I’ve ever read, and has meaningfully contributed to my career advancement.
A Bunch of Programming Advice I’d Give to Myself 15 Years Ago
mbuffett.com
Click for generated summary
The author shares programming advice based on their experience to help others improve faster. It’s essential to consider ways to prevent common mistakes in coding to save time and mental effort. Finding the right balance between speed and quality is key in software development.
Really great advice and very well-written. Resonates strongly with my experience programming for 10+ years now.
‘I’m Good, I Promise’: The Loneliness of the Low-Ranking Tennis Player
Conor Niland
Click for generated summary
Life as a low-ranking tennis player can be tough, with long stretches of loneliness and intense competition. Traveling the world for tournaments can be isolating, even among fellow players. Despite the challenges, there can be moments of connection and support among players on the tour.
Entertaining piece, albeit quite dark. A reminder that what we imagine is an amazing life (professional/full-time tennis player) can often be a different story up close, especially in fields where the spoils are distributed insanely unevenly for the top top vs just the top. Makes me feel happy to have gone into software lol.
Nyt Connections
New York Times
Click for generated summary
The New York Times offers a game to group words together based on a common theme. Players create four groups of four words each. The game challenges players to find connections between the words in each group.
Not an article. A fun word game that I’ve been playing. Saved to Reader for fun.
Welcome to the Code Galaxies, Commander
Andrei Kashcha
Click for generated summary
This text introduces different package managers for various programming languages. It includes package managers for JavaScript, PHP, Ruby, Go, Python, .NET, R, Debian, Fedora, Arch Linux, Brew, Rust, and Elm. Each package manager is designed to help developers easily manage and install libraries and dependencies for their projects.
Amazing website documenting a “shape” of open-source software communities. Models repositories as stars in a galaxy, with connections between stars based on a dependency relationship. Cool to think about how each star represents the work of one or more real people.
Note, only really works when viewed on a laptop/desktop.
A Cloud-Scale Characterization of Remote Procedure Calls
micahlerner.com
Click for generated summary
This paper analyzes Remote Procedure Calls (RPCs) in Google’s hyper-scale systems, focusing on factors affecting RPC latency and performance. The research uncovers insights such as RPC performance growth over time, varying RPC sizes, and the significant impact of RPC traffic on storage systems. Overall, the study provides valuable data for optimizing RPCs and suggests focusing on specific operations for the highest impact.
Really excellent blog, several high-quality posts like this one. Overall, not a ton of takeaways, but a good writeup from a paper analyzing data from a million billion trillion RPC calls at Google. One interesting stat was that the top 10 most common calls account for like 95+% of all the calls out of thousands of RPC definitions. Outliers dominate in various measures.
Articles I Saved but Didn’t Read
It’s Getting Harder to Die
_https://www.facebook.com/PloughPublishing_
Click for generated summary
Prepare for death decisions early, stay out of the hospital if feasible, and consider the ethics of life support removal based on age and medical condition. Conversations about dying well with loved ones and medical professionals are crucial for a peaceful transition and avoiding unnecessary medical interventions. Prioritize patient comfort and quality of life over prolonged high-tech medical treatments as death approaches.
Papers
Build Systems a La Carte
Click for generated summary
The text discusses different aspects of build systems, such as key design choices, correctness, and dynamic dependencies. It offers a framework to understand and compare build systems using abstract and precise representations implemented in Haskell code. The text also highlights the importance of minimal rebuilding, correctness, and the use of dynamic dependencies in different types of build systems.
Partially Read
Dremel: Interactive Analysis of Web-Scale Datasets
Click for generated summary
Dremel is a system designed for fast analysis of large datasets by using columnar data layout and execution trees. It can handle aggregation queries on massive tables in seconds and supports interactive analysis of nested data efficiently. Dremel’s innovative column-striped storage reduces CPU costs and enables quick processing of queries without translating them into MapReduce jobs.
Good read, though some parts were fairly complicated/took me a while to process. I think the big takeaway is that Dremel answers the question of “What if MapReduce was specialized for analytics use-cases.” The big optimization is, where MapReduce operates on rows, Dremel organizes data on disk as columns. And there’s some special wizardry to store nested data structures (i.e. Protobufs) in column format efficiently.
Process finished with exit code 0