from /proc to proc_macro

Oxide and Friends - A podcast by Oxide Computer Company

Categories:

Oxide and Friends Twitter Space: May 24, 2021from /proc to proc_macroWe’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 [1] and the other AHL [2][@3:16](https://youtu.be/85eApYSj3ic?t=196) Hockey Calder CupCharlotte CheckersGrand Rapids Griffins[@4:02](https://youtu.be/85eApYSj3ic?t=242) Roger Faulkner invented the /proc filesystemGerald Ford Presidential Library and MuseumGerald 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-fanRoger’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 FormWatchpoints, 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, trussBONUS: 1986 USENIX: A System Call Tracer in UNIXThe ptrace(2) system callptrace’s overloading of the wait(2) system callThe 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 zonesStack shenanigans breaking LXRed 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 WSLillumos on an M1? QEMU, ARM Cortex-M > It’s hard to get the machine really properly emulatedAWS 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. Apple XserveCHRPThe story of the stolen laptop. Little endian PowerPC OpenPOWER[@37:35](https://youtu.be/85eApYSj3ic?t=2255) Language H! NCRLanguage H: An informal overview ( part 1, part 2)The (other) D language[@39:12](https://youtu.be/85eApYSj3ic?t=2352) AADEBUG’03Postmortem Object Type Identification[@41:31](https://youtu.be/85eApYSj3ic?t=2491) It all comes back to awkBourne shell source code / Algol68 #definesThompson shellBryan’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://...