24 May 2021/01:05:50
from /proc to proc_macro
Oxide and Friends Twitter Space: May 24, 2021
from /proc to proc_macro
We’ve been holding a Twitter Space weekly on Mondays at 5p for about an hour. In addition to Bryan Cantrill and Adam Leventhal, speakers included Brian Cantrell (not making that one up!), Nima Johari, Joshua Clulow, Laura Abbott, and Tom Lyon. The recording is here.
(Did we miss your name and/or get it wrong? Drop a PR!)
Some of the topics we hit on, in the order that we hit them:
- The other Adam Leventhal  and the other AHL 
- [@3:16](https://youtu.be/85eApYSj3ic?t=196) Hockey
- [@4:02](https://youtu.be/85eApYSj3ic?t=242) Roger Faulkner invented the /proc filesystem
- Gerald Ford Presidential Library and Museum
- Gerald Ford inaugural address (including its most famous line, “our long national nightmare is over”) > I went in a Gerald Ford cynic, and came out a Gerald Ford super-fan
- Roger’s “The Process File System and Process Model in UNIX System V” paper
- [@7:43](https://youtu.be/85eApYSj3ic?t=463) “I am on a mission from God to make programs debuggable”
- AVL trees and linked lists > Performance is the root of all evil.
- Trace Normal Form
- Watchpoints, libwatchmalloc > Watchpoints are magical, when they work. It feels like a superpower.
- [@11:37](https://youtu.be/85eApYSj3ic?t=697) > Roger made this incredible contribution about debugging infrastructure > being an attribute of a production system.
- strace, truss
- BONUS: 1986 USENIX: A System Call Tracer in UNIX
- The ptrace(2) system call
- ptrace’s overloading of the wait(2) system call
- The German word that we’re seeking: Misappropriation-of-mechanism-in-a-seemingly-clever way-but-is-ultimately-a-disaster > ptrace is the x86 of system calls
- [@16:45](https://youtu.be/85eApYSj3ic?t=1005) A long-coming apology..
- Linux branded zones (LX)
- “Method and system for child-parent mechanism emulation via a general interface” patent > You have to be bug-for-bug compatible.
- LX vfork/signal bug that broke golang > vfork: unsafe at any speed, toxic in any quantity
- [@20:16](https://youtu.be/85eApYSj3ic?t=1216) Upstart’s problematic use of ptrace(2)
- Celebrating Joshua getting ptrace correct for LX branded zones
- Stack shenanigans breaking LX
- Red zone, segmented stacks
- [@24:39](https://youtu.be/85eApYSj3ic?t=1479) The application was fishing in its own stack..
- Clozure Common Lisp, mcontext > These kinds of lies just don’t nest. Magic does not layer well.
- [@28:56](https://youtu.be/85eApYSj3ic?t=1736) Windows Subsystem for Linux WSL
- illumos on an M1?
- QEMU, ARM Cortex-M > It’s hard to get the machine really properly emulated
- AWS Mac minis
- [@33:55](https://youtu.be/85eApYSj3ic?t=2035) It’s kind of amazing that Apple has never had much interest in the server space.
- The story of the stolen laptop. Little endian PowerPC
- [@37:35](https://youtu.be/85eApYSj3ic?t=2255) Language H!
- The (other) D language
- [@41:31](https://youtu.be/85eApYSj3ic?t=2491) It all comes back to awk
- Bourne shell source code / Algol68 #defines
- Thompson shell
- Bryan’s 2007 Dtrace review, Google TechTalk ~80mins
- [@48:07](https://youtu.be/85eApYSj3ic?t=2887) Dtrace language inspiration
- Dtrace clones > It was all based on us exploring some phenomenon, > something being kind of a pain in the ass or impossible, > and inventing something that was easy to use.
- Architectural review board: “This reminds us a lot of awk..” > What’s the most powerful one-liner you can crank out with awk?
- CUDA, Bluespec
- [@52:35](https://youtu.be/85eApYSj3ic?t=3155) Rust proc_macros
- C preprocessor
- Rust macro_rules! > Reading about it for the first time, it felt like the forbidden fruit
- INTERCAL which might have been co-invented by Tom’s brother?!
- Plan 9
(Did we miss anything? PRs always welcome!)
Our next Twitter Space will be on May 31st, 2021 at 5p Pacific. This time for real: we’ll be kicking off the discussion with Silicon Cowboys (the real-life Halt and Catch Fire) on the rise of Compaq – and their aspiration to be a different kind of company. Join us; we always love to hear from new speakers!