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

Renaissance of the arts

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


Date
June 30, 2024