The perfect strace command

Posted on Fri 17 October 2025 in Operating Systems, Debugging • Tagged with Operating Systems, Debugging

The Linux utility strace is essential for diagnosing process–kernel interactions, but its default output is often unusable. The key to effective debugging is using a specific set of flags that transform raw system call data into a structured, time‑stamped, and annotated log.

According to Avikam Rozenfeld in this presentation, here is the essential command template, followed by a breakdown of why each flag is critical:

strace -f -s 256 -o trace.log -tt -T -y <your_command_here>

Flags and why they matter:

  • -f — Follow children
    Purpose: Trace child processes spawned by fork/clone.
    Key benefit: Ensures you trace the entire application flow (e.g., piped commands).

  • -s 256 — Increase string size
    Purpose: Increase the string output limit (default 32 bytes) to 256 bytes.
    Key benefit: Prevents truncation of file paths and data being read or written.

  • -o — Output to file
    Purpose: Redirect all strace output to a specified log file (e.g., trace.log).
    Key benefit: Separates trace output from the program's standard output for easier analysis.

  • -tt — Precise timestamp
    Purpose: Prefix every line …


Continue reading

To build a new OS, or not to build a new OS?

Posted on Sun 07 September 2025 in Operating Systems, Software Development • Tagged with Operating Systems, Software Development, Linux, Omarchy, John Carmack, DHH

To build a new OS, or not to build a new OS?

There's a fascinating debate in the software world about whether it still makes sense to create a new general-purpose operating system from scratch.

The Pragmatic View

On one side, you have figures like John Carmack. In a recent discussion on X, he argued that building a new OS is often impractical. The cost, short lifespan, and developer burden rarely justify the effort, a lesson he learned from opposing Meta's custom XR OS.

The Idealistic View

On the other side is the spirit of the ultimate craftsman. This is captured perfectly in a joke by DHH during this presentation:

"People who are really serious about software should make their own operating system."

He's riffing on a famous quote by Alan Kay about hardware, but the message is clear: the ultimate challenge for a software purist is to build the whole stack.

A Middle Ground: Omarchy

Interestingly, DHH's own work offers a third path. He hasn't built an entirely new OS. Instead, he created Omarchy …


Continue reading