Increasingly, some people have expressed the strange urge to binge-watch my presentations. This potentially self-destructive behavior seems likely to have unwanted side-effects like spontaneous righteous indignation, superfluous historical metaphor, and near-lethal exposure to tangential anecdote — and yet I find myself compelled to enable it by collecting my erstwhile scattered talks. While this blog entry won’t link to every talk I’ve ever given, there should be enough here to make anyone blotto. That said, should you find yourself thirsty for more, check out the bonus tracks that consist of recorded conversations that I have had over the last few years.
To accommodate the more recreational watcher as well as the hardened addict, I have also broken my talks up into a a series of trilogies, with each following a particular subject area or theme. In the the future, as I give talks that become available, I will update this blog entry. And if you find that a link here is dead, please let me know!
Before we get to the list: if you only watch one talk of mine, please watch Principles of Technology Leadership (slides) presented at Monktoberfest 2017. And if you only watch two talks, please additionally watch Coming of Age (slides) presented at Monktoberfest 2022. These are the only talks that I have asked family and friends to watch, as they represent my truest self — or what I aspire that self to be, anyway.
Talks I have given, in reverse chronological order:
- The Forgotten Operator (slides): Talk given at the Southern California Linux Expo on March 17, 2023 on the forgotten on-premises operator, motivating what we have built at Oxide. Historical aside: this was the day that SVB was failing, and as a company that had all of its cash at SVB and needed to wire payroll early the next week, the topic was very much on my mind!
- Sharpening the Axe: The Primacy of Toolmaking (slides): Talk given at P99 CONF 2022 on my deeply-held belief that toolmaking should be encouraged — and that (brace yourself!) engineers should be trusted to make the right decisions with respect to how much time they spend on toolmaking versus building the underlying artifact.
- Coming of Age: Developing young technologists without robbing them of their youth (slides): Talk given at Monktoberfest 2022 in Portland, Maine. This was a really meaningful presentation for me, and will be one that has joined Principles of Technology Leadership in that I have asked friends and family to watch it.
- I have come to bury the BIOS, not to open it: The need for holistic systems (slides): Talk given at OSFC 2022 on September 19, 2022 in Gothenburg, Sweden — including a demo of an Oxide compute sled booting! On the one hand, the significance of our approach can be hard to appreciate, but on the other, it was not lost on everyone. We also talked about this on the Holistic Boot episode of Oxide and Friends.
- Predicting the Present (slides): Talk given at Scylla Summit 2022, coming on the heels of our Predictions 2022 episode of Oxide and Friends, I took the opportunity to explore something I have long believed — that predictions tell us more about the present than the future.
- The Coming Firmware Revolution (slides): Talk given at the Open Source Firmware Foundation’s mini-summit in San Jose in 2021 that continues to build on a couple of themes, not least that no_std is Rust’s killer feature.
- Rust, Wright’s Law, and the Future of Low-Latency Systems (slides): Talk given as a keynote at the inaugural P99 CONF 2021. This talk teases Hubris; for more details on that, see Cliff Biffle’s outstanding On Hubris and Humility talk at OSFC 2021.
- Hardware/Software Co-design: The Coming Golden Age (slides): Talk given as the first day closing keynote at RailsConf 2021. It’s a tribute to the conference organizers that they were not just supportive but enthusiastic about a talk that didn’t so much as mention Rails! This talk very much captures our engineering zeitgeist at Oxide — that software and hardware should be designed together, and that this will become a broadening trend over the coming years.
- Tockilator: Deducing Tock execution flows from Ibex Verilator traces (slides): Talk given on Tockilator at Oxidize 1K, a virtual conference quickly arranged for March 20, 2020 as the world had shut itself down due to the COVID-19 pandemic.
- Soul of a New Machine: Rethinking the Server-Side Computer (slides): Talk given at Stanford’s Computer Systems Colloquium (EE380) on February 26, 2020 about what we’re up to at Oxide Computer Company.
- No Moore Left to Give: Enterprise Computing After Moore’s Law” (slides and transcript): Talk given at QCon NYC in 2019 on the end of Moore’s Law — and foreshadowing some of what we’re up to at Oxide Computer Company.
- Andreessen’s Corollary: Ethical Dilemmas in Software Engineering (slides): Talk given at the incomparable Craft in Budapest in May 2019. Given software’s increasingly deep integration into society, this is a crucially important topic — and one that I find that software engineers are refreshingly eager to tackle, despite its inherent ambiguity! In addition to this presentation, please see the (updated!) ACM Code of Ethics, and take note of IEEE’s Guidelines for Engineers Dissenting on Ethical Grounds, with thanks to Theo Schlossnagle for pointing them out!
- Visualizing Systems with Statemaps (slides): Talk given at the first Observability Practitioners Summit in December 2018 describing my work on statemaps. This was a great event, and I heartily recommend checking out all of the talks!
- Platform values, Rust, and implications for systems software (slides): Talk given at Scale by the Bay in November 2018 that captures some of my love affair with Rust.
- Is it time to rewrite the operating system in Rust? (slides): Talk given at QConSF in November 2018 wondering about rewriting the operating system in Rust.
- The Summer of Rust: An informal talk (i.e., no slides) given at the nascent Systems We Run meetup in August 2018 describing my initial exploration of Rust — prefaced with a meandering journey through my relationships with programming languages. Rust has grown only more compelling as I’ve started to use it seriously, and there is much more to come on this; I would not be at all surprised if this talk ends up being the first in a trilogy yet to come!
- The Hurricane’s Butterfly: Debugging Pathologically Performing Systems (slides): A presentation given at Jane Street in January 2018 on the challenges of performance debugging. This is the third talk in the Debugging Trilogy.
- Papers We Love: ARC After Dark (slides): Talk given at Papers We Love in San Francisco in October 2017 on the adaptive replacement cache. This is the third talk in the Beloved Trilogy.
- Principles of Technology Leadership (slides): The aforementioned talk presented at Monktoberfest 2017. I am grateful to Stephen O’Grady and James Governor from Red Monk for not only creating unique and important venues for talks like this, but for explicitly asking (daring?) me to present on this topic. This talk is the third talk in the Software Values Trilogy, and may well be the most important talk I have ever presented.
- Zebras All the Way Down: The engineering challenges of the data path (slides): Presentation given at Uptime 2017. This is the second talk in the Debugging Trilogy, and one that brought upon myself a(nother) curse of broken firmware.
- Platform as reflection of values: Joyent, node.js, and beyond (slides): Presentation given at Node Summit 2017. I had to be coaxed into this talk to a degree because we ourselves at Joyent had developed such a complicated relationship with Node.js. To the credit of the organizers, they wanted me to explore that complexity (and bluntly, divergence), which I did here. I confess to setting somewhat of a deliberate trap starting at 18:57 — one that the audience gleefully leapt into — and if you turn the sound all the way up and listen very closely, you can hear gasps as the trap snaps shut. This is the second talk in the Software Values Trilogy.
- Debugging under fire: Keeping your head when systems have lost their mind (slides): This opening keynote from GOTO 2017 recounted one of our most spectacular outages at Joyent, and explores more generally how one debugs during periods of extraordinary strain. This is the first talk in the Debugging Trilogy.
- Down memory lane: Two decades with the slab allocator (slides): I liked Papers We Love so much, I was inspired to organize Systems We Love, a conference that we put on in San Francisco in 2016. Systems We Love was emphatically double-blind; even though I served as the organizer, getting a talk accepted was far from a given! I felt lucky that my talk was accepted, and that I had the opportunity to share the stage with so many incredible presenters. This is the second talk in the Beloved Trilogy.
- The State of Cloud 2016: The whirlwind of creative destruction (slides): The opening keynote for the second day of Structure 2016, and would have likely been an unexceptional talk on the state of cloud computing were it not for the national shock the evening before: Donald Trump won the 2016 US Presidential Election. When it became clear to the country what was happening (around 10p Pacific), it also became clear to me personally that I simply could not go on a stage first thing the next morning and pretend like nothing had happened — I had to speak to this. I couldn’t get immediate hold of the conference organizer, so I tweeted out my intention. Sometime after midnight, I reached the conference organizer (who himself was in a state of shock over the election) and explained what I wanted to do. To his credit, he gave me his blessing, and this talk was the result — the first talk in the Software Values Trilogy.
- Oral tradition in software engineering: Passing the craft across generations (slides): After Roger Faulkner passed away, Stephen O’Grady approached me about speaking to how the craft of software engineering is passed from one generation to another. I (obviously?) loved this idea, and this incredibly fun talk at Monktoberfest 2016 was the result. Presumably it’s the only time that an audience at a technical conference said “Robin laid an egg” in unison?
- The Container Revolution: Reflections After the First Decade (slides): The closing keynote at HashiConf 2016, and the third talk in the Container Trilogy.
- A Wardrobe for the Emperor: Stitching practical bias into systems software research (slides): The opening keynote at the 2016 USENIX Annual Technical Conference (audio only). I have something of a spotty history at USENIX, having openly questioned its putative practicality — and then having been treated to an explicit disclaimer from them that no one else seems to have earned. In this talk, I tried to both reflect on the challenges of bringing academics and practitioners formally together, and to propose models for future engagement; Systems We Love was me attempting to take my own advice.
- dtrace.conf(16): DTrace state of the union (slides): My opening remarks for dtrace.conf(16), the 2016 instantiation of our quadrennial DTrace conference, perhaps most notable for its personal medical overshare starting around 19:37.
- Papers We Love: Jails and Zones (slides): I was honored to be asked to present at Papers We Love in New York in February 2016 — and then doubly honored to be given what I feel is the best introduction of all time by Ryan Zezeski. Given the enthusiasm for containers, I turned the way-back dial to talk about jails and zones — looking at two papers that have proved to be very prescient. This is the first talk in the Beloved Trilogy.
- Run containers on bare metal already! (slides): Talk given at Velocity in 2015. I had been giving presentations like this for much of 2015, and I had vowed that this would be it — I had become somewhat sick of myself, and honestly wasn’t particularly looking forward to giving this talk. (Indeed, I had been talked into submitting to Velocity at all — and the title wasn’t mine, which is very unusual for me.) Ironically given that I was dreading it at some level, of the talks that I gave on containers in 2015, this was the one that people watched the most. This is the second talk in the Container Trilogy.
- A crime against common sense (slides): As I mention in this talk, implementing LX-branded zones has provided content for ten thousand lightning talks — but this is the one I picked for my lightning talk at Surge 2015. This is the third talk in the Surge Lightning Trilogy.
- Leaping the chasm from proprietary to open: A survivor’s guide (slides): My talk from OSCON 2015 that served as an update after we at Joyent open sourced our stack. This is the third talk in the Open Source Trilogy.
- Running Aground: Debugging Docker in production (slides): Talk given at DockerCon 2015, where this talk garnered 24K views (second only among DockerCon 2015 talks to Jess Frazelle’s fun talk on container hacks) — but for reasons I don’t understand, both Jess’s talk and mine were delisted by Docker, Inc. in early 2018. Fortunately, they made the video available to me to repost, because I think that much of the content of this talk remains relevant — especially the maritime disasters, which are clearly timeless!
- Docker and the future of containers in production (slides): This talk was given at a meetup in Seattle in January 2015 and represents a couple of exciting technologies coming together (the core of what would become Triton). This is the first talk in the Container Trilogy.
- The Dream is Alive! Running Linux containers on an illumos kernel (slides): Talk given at Surge 2014 on our work reviving and finishing LX-branded zones for SmartOS. Because the setting was informal (it was an illumos meetup within Surge) and the meter wasn’t running, this one is filled with particularly wide-ranging rants of a myriad of fresh semantic wounds.
- Bringing the Unix philosophy to Big Data (slides): A talk given at a meetup in New York in January 2014, shortly after I had given a shorter version at FutureStack 2013 (but this talk was more informal and demo-intensive).
- Leadership Without Management: Scaling Organizations by Scaling Engineers (slides): A talk that I gave at Surge 2013 that incorporated what I felt I had learned after three years as Joyent’s VP of Engineering. Importantly, this talk doesn’t tell you how to do it with respect to engineering leadership — it tells you how not to do it, at least from my perspective. I still stand by essentially all of it, especially with respect to anti-patterns like stack ranking, on which I feel history has broadly vindicated my view. That said, I would love at some point to do an update on the many mistakes I have made in the intervening years — of which there have been plenty.
- tail -fml: Lightning talk given at Surge 2013 and the second talk in the Surge Lightning Trilogy.
- Corporate Open Source Anti-patterns (slides): Talk that I first gave at FISL 2012 and then gave again (with better audio and video) at the Liferay Symposium in October of 2012. This is the second talk in the Open Source Trilogy.
- Dynamic Languages in Production: Progress and Open Challenges (slides): A talk I gave with my colleague Dave Pacheco at GOTO 2012 in Aarhus, Denmark. I know some look askance at it, but for the right presenter pair, I think it can work really well — and this presentation with Dave remains a personal favorite.
- bfs ta wtf?!: Lightning talk given at Surge 2012 and the first talk in the Surge Lightning Trilogy.
- DTrace in the non-global zone (slides): After dtrace.conf(12), I realized that we really needed to make much better progress on allowing DTrace in the non-global zone; this talk describes that work, and is the third talk in the DTrace Trilogy.
- dtrace.conf 2012: DTrace state of the union (slides): dtrace.conf is our quadrennial conference on DTrace, and this was my opening remarks in 2012, our second DTrace conference.
- CTO vs. VP of Engineering (slides): A talk given with Jason Hoffman (Joyent’s CTO at the time) when I was Joyent’s VP of Engineering. While there are plenty of rough elements in this talk, I still emphatically agree with our most important conclusion: that the CTO and VP of Engineering are a team that work together to foster innovation — and (today as Joyent’s CTO) I feel lucky today to have a terrific teammate in Angela Fong (Joyent’s VP of Engineering).
- Fork Yeah! The Rise & Development of illumos (slides): An infamous talk in that it was heavily disclaimed by the venue at which I presented it. This talk — which outlines the history of illumos starting with the SunOS to Solaris transition — remains my most-watched talk, surely because of its unvarnished representation of Oracle starting around 33:00. This is the first talk in the Open Source Trilogy.
- Porting KVM to SmartOS (slides): This is a tad dated in that we in SmartOS are currently moving beyond KVM to bhyve, but it remains a tale of porting an intricate and important body of software.
- Instrumenting the real-time web: Node.js, DTrace and the Robinson Projection (slides): This is a talk from Velocity 2011 for which the video hasn’t historically been publicly available. Amusingly, this includes me using DTrace live on stage to (accidentally!) discover a (very early!) Bitcoin miner using the Joyent Public Cloud. (I didn’t know that it was Bitcoin at the time; it was explained to me by an attendee after the fact.) This talk is the second in the DTrace Trilogy.
- DTrace Review: This Google tech talk has the distinction of being the first time I gave a talk that then showed up on the Internet — and I (fittingly?) shot my mouth off a little more than usual. In particular, I implicitly picked a fight in my introduction that was (regardless of its intellectual merits) amateurish and sloppy — though it ultimately yielded an interesting discussion. Its rough intro aside, this talk remains an appropriate introduction to DTrace, and it is the first talk in the DTrace Trilogy.
Trilogies of talks
As with anyone, there are themes that run through my career. While I don’t necessarily give talks in explicit groups of three, looking back on my talks I can see some natural groupings that make for related sequences of talks.
In late 2016 and through 2017, it felt like fundamental values like decency and integrity were under attack; it seems appropriate that these three talks were born during this turbulent time:
- The whirlwind of creative destruction (2016)
- Platform as reflection of values (2017)
- Principles of Technology Leadership (2017)
While certainly not the only three talks I’ve given on debugging, these three talks present a sequence on aspects of debugging that we don’t talk about as much:
A common theme across my Papers We Love and Systems We Love talks is (obviously?) an underlying love for the technology. These three talks represent a trilogy of beloved aspects of the system that I have spent two decades in:
- Papers We Love: Jails and Zones (2016)
- Systems We Love: The slab allocator (2016)
- Papers We Love: ARC After Dark (2017)
While my career started developing proprietary software, I am blessed that most of it has been spent in open source. This trilogy reflects on my experiences in open source, from the dual perspective of both a commercial entity and as an individual contributor:
- Fork Yeah! (2011)
- Corporate Open Source Anti-patterns (2012)
- Leaping the chasm from proprietary to open (2015)
I have given many (too many!) talks on containers and containerization, but these three form a reasonable series (with hopefully not too much overlap!):
- The future of containers in production (2015)
- Run containers on bare metal! (2015)
- The Container Revolution (2016)
Another area where I have given many more than three talks, but these three form a reasonable narrative:
For its six year run, Surge was a singular conference — and the lightning talks were always a highlight. My lightning talks were not deliberately about archaic Unixisms, it just always seemed to work out that way — an accidental narrative arc across several years.
If you’ve somehow been left looking for more (!), here are (again, in reverse chronological order) various conversations that that I’ve had in various places. This list isn’t exhaustive, so if I’m missing a favorite, please let me know!
- Oxide and Friends, (mostly) every Monday. Despite some challenges, we have broadly loved Twitter Spaces — and Adam and I run a space regularly that we record and make available first on YouTube and then (with about a week delay) as the Oxide and Friends podcast. Look to our Twitter feeds for updates; we would love to have you join us — and be sure to check out the archives because there are some bangers in there!
- The Changelog, Episode 496, June 2022. I had so much fun with Jerod and Gerhard: not only did they ask terrific questions, I got to nerd out on one of my favorite
documentariesshows, Silicon Valley.
- Why Hardware Matters with Equinix Metal, August 2021. It’s always a fun conversation with Jeremy — and we got to educate Mark on what outdoor plumbing is.
- ACM ByteCast, Episode 17, June 2021. I have long believed in the role of the ACM in supporting and uplifting the practitioner, and I was honored to be asked as a guest on a podcast that I myself have enjoyed as a listener! I found Rashmi Mohan‘s questions to be very insightful, and I really enjoyed the resulting conversation.
- The Data Center Podcast, March 2021. A wide-ranging conversation with Yevgeniy Sverdlik that hit on lots of things Oxide, from our idiosyncratic compensation to some of the details of what we’re building.
- FOSSA podcast, Episode 1, March 2021. Konstantin and I came up at the same time, and have seen the same history unfold with respect to the rise of open source — and, as it turns out, we were both 1980s-era aspiring shareware tycoons! This conversation inspired Matt Asay to write an interesting piece on the social contract of open source.
- Chats with James, Episode 6, January 10, 2021. I have known James from embedded Rust, and it is not surprising that this conversation hit those notes — but we also went both deeper and broader.
- Edgemesh Performance Talks with Jack Loveless (part 1, part 2, part 3), June 2020. It’s always fun to talk with Jake, and this wide-ranging conversation was no exception — plus ambient birdsong from Jake’s backyard!
- On Sun Microsystems, DTrace, and Shouting in the Data Center with Ben Sigelman of Lightstep, April 2020. I have known Ben for many years, and I daresay that his work in distributed tracing and my work in single-system instrumentation have influenced one another. This was a wide-ranging conversation in which I reveal one of my life’s early rejections: being deprived the opportunity to so much as interview with Data General!
- On the Metal, the podcast that we created as part of starting Oxide Computer Company. We adored these conversations, and have opened them up in our Oxide and Friends Twitter Space.
- Innovate @Open conversation with Gordon Haff and Steven Vaughan-Nichols, March 2020. I have known Gordon and Steven for about as long as I’ve been in the industry, so it was fun to be on Gordon’s podcast debating with Steven about what the world would look like without Linux. Despite having lived through the same revolutions, our answers were pretty different: I see a world only modestly different (running on a BSD derivative rather than Linux), where Steven sees a Back to the Future Part II-esque post-apocalyptic wasteland in which we all run
Biff’sBill’s operating system. Listen for yourself and be your own judge!
- Screaming in the Cloud, Episode 93, January 2020. I have always been a fan of Corey Quinn’s podcast; it was fun to be a guest along with Steve and Jess talking about Oxide!
- Corecursive, Episode 24, December 2018. I met Adam at Scale by the Bay in November of 2018, and listened to a few episodes of Corecursive before he had me on — it’s a great (and recommended!) podcast for software engineers emboldened to venture from the well-trodden path!
- Joyent fireside chat: Cache me if you can, July 2017. I’m not sure if this long and wide-ranging conversation with Jake Loveless is exactly why I should never have a podcast or exactly why I should have one — but it’s definitely one of those. (Probably the former.) That said, I do think that Lin Manuel Miranda should pick up a Barbarians at the Gate musical as his next project — though I am less certain about a Mystery Science Theater 3000 on The Day After…
- Arrested DevOps: Old Geeks Yell at Cloud, May 2017. A fun (?) panel in which Andrew nearly trolled me into a stupor; if you want to entertain yourself by making me sound out-of-my-mind drunk, start watching here at 0.5X speed. This panel (in which we yelled so much that the conference told us to, in fact, stop yelling at the cloud) proved to be a foreshock for my talk on Principles of Technology Leadership.
- Joyent fireside chat: Reflections on Systems We Love, April 2017. An incredibly fun conversation with Jess Frazelle on the eve of her move to New York City, where we hit on everything from sidecar containers and the power (and peril!) of bash to A Tribe Called Quest and Larry McVoy aphorisms.
- Developer on Fire, Episode 198, January 2017. David did a great job collecting the many random references that I dropped in another (yet another?) wide-ranging conversation.
- BSD Now, Episode 163: Return of the Cantrill, October 2016. Allan Jude brought me back one final time, presumably to get me on the record one final (and unwitting) time in the pre-Trump era.
- Arrested DevOps, Fireside chat”, September 2016. A conversation with my friend Bridget Kromhout that hits on skeuomorphs, the “Docker fork” (remember that?!), and (of course?) Alanis Morissette.
- BSD Now, Episode 117: The Cantrill Strikes Back, November 2015. Allan Jude had me back, presumably to troll me with systemd?
- BSD Now, Episode 103: Ubuntu Slaughters Kittens, August 2015. I had talked with Allan Jude about it for years, but this was the first time I went on BSD Now and clearly had too much fun. In hindsight, the moment that I flipped the double bird was the moment that I forever lost moral authority with my children, who somehow managed to find that clip online and have never let me live it down.