Discover this podcast and so much more

Podcasts are free to enjoy without a subscription. We also offer ebooks, audiobooks, and so much more for just $11.99/month.

from /proc to proc_macro

from /proc to proc_macro

FromOxide and Friends


from /proc to proc_macro

FromOxide and Friends

ratings:
Length:
66 minutes
Released:
May 24, 2021
Format:
Podcast episode

Description

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 Cup
Charlotte Checkers
Grand Rapids Griffins


[@4:02](https://youtu.be/85eApYSj3ic?t=242) Roger Faulkner invented the /proc filesystem
Gerald 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-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. 
Apple Xserve
CHRP


The story of the stolen laptop. Little endian PowerPC OpenPOWER

[@37:35](https://youtu.be/85eApYSj3ic?t=2255) Language H! 
NCR
Language H: An informal overview ( part 1, part 2)


The (other) D language

[@39:12](https://youtu.be/85eApYSj3ic?t=2352) 
AADEBUG’03
Postmortem Object Type Identification


[@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


Tcl

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
Released:
May 24, 2021
Format:
Podcast episode

Titles in the series (100)

Oxide hosts a weekly Twitter Space where we discuss a wide range of topics: computer history, startups, Oxide hardware bringup, and other topics du jour. These are the recordings in podcast form. Join us Mondays at 5pm PT for an hour or so to catch us live.