Newsletter 64 – 06/2025

Featured

Everything I know about good system design“The hard part about software design is state”, everybody has some advice about system design, this post give some simple concepts to remember when while design a new system without digging deep into specific technologies.

How to Think About Time in Programming – Time is one of the most difficult things not only in programming but for the entire humankind. I always share posts talking about time in programming, because I feel that this is a interesting problem that most people don’t know how it works or how to work with this. This post is a walkthrough about time in programming.

Writing Toy Software Is A Joy – I’m a huge fan of the approach of do yourself to learn how one thing work. I found it as the easiest and most effective to learn programming over the years (what works for me maybe can’t work for you, but we should always try). This post give a comprehensive of projects and estimated amount of time to learn and reinforce some programming concepts.

Field Notes From Shipping Real Code With Claude – Some real notes and guides about how to ship real code with Claude. This guide can also work as a guide on how to work with any LLM.

MISC

How Databases Store Your Tables on Disk – Interesting walkthrough on how databases store your data into disk in a efficient way to make it searchable later.

What is the competitive advantage of authors in the age of LLMs? – In the age of LLMs how technical authors will surive with so much content easy available to be used on LLMs? Writing data packs can be a solution.

Too Many Open Files – A simple and efficient post to understand more about open files and how your operation system deals with it.

LLMs are mirrors of operator skill – If the current interview model are broke by LLMs and these agents are the future of programming, should we start evaluate LLM skills as part of the interview process?

Lessons From 9 More Years of Tricky Bugs – What if every developer track most tricky bugs found and solved by many years? This developer did it and found some interesting results.

[ On | No ] syntactic support for error handling“For the foreseeable future, the Go team will stop pursuing syntactic language changes for error handling. We will also close all open and incoming proposals that concern themselves primarily with the syntax of error handling, without further investigation.”

DNS Does Not Have to be Hard – DNS is one of the most important protocols that we use everyday on the internet. It’s very common to have misconceptions about how it works, even being very simple. This post explains it in a easy way.

MCP: An (Accidentally) Universal Plugin System – Brilliant reflection about MCP protocol and how it become a universal plugin system.