HNHacker News
TopNewBestAskShowJobs

ThierryBuilds

41 karma · joined December 22, 2025

Thierry here. I write about the mechanics of building reliable systems at BuildSoftwareSystems.com. My interests range from C++/Rust memory and OS internals to fault tolerance and microservices architecture. I’m mostly just fascinated by the journey from source code to machine code.
submissionscomments
ThierryBuilds··on When "More" Makes the System Worse
What really enabled Python to spread so much into scientific computing and AI is C/C++. Most if not all performance critical libraries are not really Python. They just expose a Python API
ThierryBuilds··on A Program Binary Becomes a Running Process
I spent some time digging into the internal mechanics of process creation. It's one thing to call gcc or click 'Run', but I wanted to document the actual transition from a static binary on disk to the memory layout of a live process.

I tried to contrast the POSIX fork/exec model with the Windows CreateProcess approach. I’d love to hear from anyone who has had to deal with the more obscure parts of these system calls, like clone() flags or Windows process attributes.

ThierryBuilds··on The Rust Strawberry Test
That is the only way to represent the empty slice (similar to &s[10..10]). Interesting though to see how LLMs are fooled by that edge case.
ThierryBuilds··on Open-Source Software in the Age of AI
A human will still be needed to review the AI generated PR, no?
ThierryBuilds··on My Hardest Bug Ever (2013)
I never had similar bug caused by hardware or compiler issue. But I had cases where I thought it could be the compiler.

This article shows that those cases are possible, even though they are very rare.

ThierryBuilds··on Revelation of Joseph (Syriac)
Which book is presented in the article?
ThierryBuilds··on Why I'm ignoring the "Death of the Programmer" hype
Then why is there a need for a developer, that supposedly writes poorer code, to check it?
ThierryBuilds··on Why I'm ignoring the "Death of the Programmer" hype
Do AI really write better React/JSX than devs?
ThierryBuilds··on The spectrum of isolation: From bare metal to WebAssembly
The article is not only about security. Thanks
ThierryBuilds··on The spectrum of isolation: From bare metal to WebAssembly
Agreed. Beyond security, we must consider other critical factors such as cost, ease of maintenance, and operational overhead.
ThierryBuilds··on The spectrum of isolation: From bare metal to WebAssembly
Thanks for the feedback. These are typical use cases where the convenience of higher level abstractions may be less important than the benefits of direct access to the hardware.
ThierryBuilds··on The spectrum of isolation: From bare metal to WebAssembly
Thank you for the feedback. I will definitely add them as example solutions for serverless.
ThierryBuilds··on The spectrum of isolation: From bare metal to WebAssembly
I wrote this because I kept seeing developers (myself included) confuse language-level isolation like Python venv with OS-level isolation like Docker. I wanted to trace the actual technical boundaries between them.

The article maps out the differences between common execution environments—from physical bare metal and VMs to containers, process sandboxes, and virtual environments—to create a mental model of where the "isolation boundary" actually sits for each tool.

ThierryBuilds··on I Cut My Docker Image by 99.7% (846MB to 2.5MB). Here Is the Full Breakdown
Great article! Thank you for sharing. Could these same strategies be applied to C programs?
ThierryBuilds··on Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%
Insightful. Many thanks.

Flat buffers is know to bloat client code. Was any trick used to mitigate that?

ThierryBuilds··on Newtype Index Pattern in Zig
Thanks for the clarification. Happy new year
ThierryBuilds··on Wait, You Can Unpack That with Structured Bindings?
C++ Has changed so much since C++11. It feels like it is picking features from every other language
ThierryBuilds··on Brave overhauled its Rust adblock engine with FlatBuffers, cutting memory 75%
I am curious to know what was the contribution of switching to FlatBuffers in that improvement.
ThierryBuilds··on Newtype Index Pattern in Zig
Thanks for your response. Wouldn't using the `_` in the enums somehow make almost all integers index "cartable" to the enums?
ThierryBuilds··on LLMs Are Not Fun
Balancing developer satisfaction with raw productivity is a critical trade-off. While the 'joy of coding' maintains long-term engagement, LLMs provide a necessary lift in throughput. I prefer a surgical approach: disabling LLMs for core logic to avoid 'auto-pilot' bias, while utilizing them for the high-friction work of documentation and unit testing.
ThierryBuilds··on Newtype Index Pattern in Zig
Nice Article. However I fail to understand how using the enum prevents the usage of the wrong index in a data structure. Can you explain further?
ThierryBuilds··on Rust: Using String and andstr in your APIs
Nice article. And the `Into` trick also accept &String
ThierryBuilds··on Go Scripting with Expr Lang
I’ve been using Go Expr for a while because it’s zero-dependency and fast, but I kept hitting walls that weren't obvious in the docs—like the fact that map keys in the script are treated as literals, or the "strict vs forgiving" difference between structs and maps.

I put together this deep dive into 10 specific gotchas to help others avoid the same debugging loops I got stuck in.

ThierryBuilds··on How capacity hints work in Go
On a different note, the syntax for capacity hints of slices vs map can be confusing. m := make(map[string]string, 16) VS a := make([]string, 16)

They look similar but the second argument do not have the same meaning.

I got bitten by it in my early days of Go