from /proc to proc_macro

Oxide and Friends · 25 May 2021 · 1h 05m · Episode 4

What this episode covers

Bryan Cantrill, Adam Leventhal, and other former Sun Microsystems engineers discuss the history and technical challenges of debugging infrastructure, focusing on Roger Faulkner's invention of the /proc filesystem and the subsequent development of ptrace and DTrace. They detail the complex emulation of Linux branded zones (LX) in Solaris, explaining how the need to emulate ptrace and handle stack switching for Go led to significant debugging pain points and 'magic' that did not layer well. The conversation also covers the design philosophy behind DTrace, its inspiration from the OCaml language, and the modern application of these concepts in Rust's proc macros for creating domain-specific languages with robust error handling.

Mentioned

Companies
Oxide Computer Company, Sun Microsystems
Products
Solaris, Linux
Tools
DTrace, ptrace, strace, QEMU
Also
Rust, OCaml

Other shows on the same ground, closest first.

  • Embedded.fm · 58m

    141: Malevolent and Trying to Trick You

    Julia Evans, a software engineer at Stripe, discusses using Linux system-level tools like `strace`, `perf`, and `top` to debug applications as black boxes. She explains how `strace` reveals system calls to understand program behavior without reading source code, and how `perf top` identifies CPU-intensive functions like garbage collection. Evans also shares her philosophy on debugging, emphasizing the importance of maintaining confidence and understanding that computers are logical machines, even when bugs seem impossible.

  • Embedded.fm · 1h 12m

    215: Heisenbugs

    Guest Alvaro Prieto joins hosts Alicia White and Christopher White to discuss the fundamentals of debugging embedded systems, distinguishing between software debuggers, hardware programmers, and microprocessor debug support. They cover the evolution from print-based debugging to using tools like GDB, LLDB, and Visual Studio Code, while explaining the roles of hardware interfaces like J-Tag, SWD, and Trace. The conversation highlights the trade-offs between open-source toolchains (GCC, OpenOCD) and paid professional IDEs (Keil, IAR, Code Composer Studio), emphasizing how paid tools simplify setup for complex chip architectures. Prieto also shares anecdotes about his personal projects, including a cheese-aging cave and a new reverse engineering podcast.

  • The Amp Hour · 1h 49m

    An Interview with Piotr Esden-Tempski

    Piotr Esden-Tempski, founder of One Bit Squared, discusses the development of open-source hardware and software tools for embedded systems, specifically the Blackmagic Probe and OneBitC board. He explains the technical rationale behind creating these tools, citing licensing issues with STMicroelectronics libraries and the need for robust, open debugging capabilities like GDB integration. The conversation covers the hardware design of the Lisa series autopilots, the software architecture of Paparazzi UAV, and the community-driven growth of the Blackmagic Probe project following a successful Kickstarter.

  • The Amp Hour · 57m

    Finding Hardware Flaws with Laura Abbott

    Laura Abbott, an engineer at Oxide Computer, discusses her accidental discovery of a buffer overflow vulnerability in the ROM update mechanism of the NXP LPC55S69 microcontroller while working on Oxide's server root of trust. She explains how Oxide is rebuilding the server from the ground up with a focus on hardware security, utilizing their open-source operating system Hubris and the Rust programming language to mitigate risks like memory safety issues. The conversation covers the architecture of the server's secure components, including the service processor and TrustZone-M, as well as the challenges of remote hardware debugging and contributing to the Linux kernel community.

  • Embedded.fm · 1h 38m

    200: Oops

    Hosts Alicia and Christopher White celebrate the 200th episode of Embedded.fm with a panel of former guests: Alvaro Prieto, Andrei Chichak, Elizabeth Brenner, Chris Svec, and Chris Gammell. The group discusses their favorite embedded tools, including Saleae logic analyzers, Digilent Analog Discovery, Beyond Compare, and HP16C calculators, while sharing humorous field stories and interview anecdotes. They reflect on the joys of working in embedded systems, such as seeing products on retail shelves and the satisfaction of debugging complex hardware-software interactions.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by Oxide and Friends. The episode itself belongs to its publisher.