Increasingly, 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!
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. This is the only talk that I have asked family and friends to watch, as it represents my truest self — or what I aspire that self to be, anyway.
Talks I have given, in reverse chronological order:
- 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.
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.