

From Software 1.0 (code) to 2.0 (weights) to 3.0 (prompts): Karpathy's case that natural language is becoming the new programming interface, with LLMs as the new computer.

The Linear CEO on why software quality is something a company has to value out loud — and how Linear's process keeps the bar from drifting as it scales.

LeCun's case against autoregressive LLMs as a path to general intelligence, and his alternative agenda built around world models, JEPA, and energy-based inference.

Linear adopted local-first to make the app feel instant — and ended up with a team that ships faster than the architectures it replaced. Artman on what fell out of the decision.

After years of talking about design in the abstract, Hickey demystifies the actual practice — the concrete moves and habits that turn 'design' from a noun into a verb.

Karpathy builds and trains a decoder-only Transformer from first principles, following Attention Is All You Need, ending at the core of nanoGPT.

A one-hour, general-audience tour of what LLMs are, how they're trained, where they're going, and the new class of security problems they create.

The pretraining → SFT → reward modeling → RLHF pipeline behind ChatGPT-class assistants, plus practical mental models for prompting and using them well.

Harris revisits the SPA-vs-MPA argument through the lens of edge runtimes — and pushes back on the idea that SSR-everywhere is a victory for users.

Vogels makes the case that loose coupling and event-driven architecture aren't a style choice — they're how the world actually works.

Jack Rusher argues that most of our languages are still, accidentally, designed around the punchcard — and shows what a living programming environment could look like instead.

Rich Harris pushes back on the SPA-vs-MPA dichotomy and sketches transitional apps — server-rendered, JS-enhanced, and progressively interactive.

Years after CRDTs went mainstream, Kleppmann revisits the awkward corners — moving list items, deletions, garbage collection — that papers gloss over.

Newman and Fowler talk through the cases where microservices earn their keep — and the much larger set where they don't.

Howard revisits the foundations of Paxos and shows that the quorum intersection requirement we all took as gospel is more flexible than the original paper let on.

Sasa Juric on what actually makes the BEAM special — isolated processes, message passing, supervision — and how those primitives produce systems that stay up while the world burns around them.

Rich Harris introduces Svelte 3 and argues that reactivity belongs in the compiler, not the runtime — the talk that crystallised the case for disappearing frameworks.

Surma makes the case that the web is the only platform that still pretends threads do not exist — and shows how to move work off the main thread with workers.

Sophie Alpert builds a tiny React renderer live on stage, demystifying reconciliation by writing it from scratch.

Abramov on what DRY actually costs once you've lived with a too-clever abstraction — and why writing the same code twice is sometimes the right answer.

Kingsbury takes a flamethrower to databases that promise more than they deliver, and shows how Jepsen catches them lying about consistency.

Treat reframes consistency, latency, and partial failure as user-facing concerns — and shows what good distributed-system UX looks like.

What you learn when you implement a Kafka-style log yourself: replication, leader election, fsync semantics, and the limits of 'just use a queue.'

Hickey takes aim at Maybe/Optional and the conflation of optionality with absence — arguing that wrapping types is the wrong place to encode 'I might not give this to you.'

Jake Archibald walks through the browser event loop — tasks, microtasks, requestAnimationFrame, and the surprising ways the runtime interleaves your work with rendering.

Dan Abramov demos the React team's first sketches of async rendering and Suspense — the prototypes that would later become Concurrent Mode.

Ryan Dahl revisits the design decisions he wishes he could undo in Node — and uses the postmortem to introduce Deno.

Addy Osmani breaks down what shipping a megabyte of JavaScript actually costs on real devices — parse, compile, execute, and everything in between.

Andrew Clark and Brian Vaughn unveil React.lazy, Suspense, and Concurrent Mode — and the scheduler that makes interruptible rendering possible.

The React Conf 2018 keynote where Sophie Alpert and Dan Abramov introduce Hooks and explain why class components had become a dead end.

Karpathy's argument that large chunks of conventional code are being replaced by learned weights — and what that means for the tools, infrastructure, and skills around them.

Majors on why instrumenting your services is a developer responsibility — and why high-cardinality, event-based data beats dashboards of pre-aggregated metrics.

Henney goes back to the sixties to show that 'procedural' was never the slur we made it into — and that much of what we call modern style is older than we think.

Hickey on the fact that the language inside your process is rarely the language between your processes — and what that should imply for system design.

A pragmatic protocol for keeping a multi-service transaction consistent without two-phase commit, built on a fault-tolerant log of compensating actions.

Why the metrics-and-logs playbook from the LAMP era falls apart the moment your system becomes a dynamic mesh of services you can't predict in advance.

Cantrill on the engineering of the data path — the unglamorous, decade-long work of building software that holds onto your bytes when everything else is on fire.

Rich Hickey on what a decade of Clojure has taught him about the kinds of problems most production code is actually trying to solve — and why static type systems aren't the answer he keeps hearing about.

Simon Peyton Jones traces Haskell from a research curiosity to an industrial language — and is candid about which ideas mattered and which ones didn't.

Niko Matsakis on Rust's ownership system — what it actually is at the type level, and how the same idea underwrites memory safety, data-race freedom, and the borrow checker's stubbornness.

Lin Clark explains what WebAssembly actually is, why it is fast, and what it means for the browser as a runtime — in her signature illustrated style.

David Khourshid argues that most UI bugs are state machines you wrote without noticing — and shows what changes when you write them on purpose.

Why every platform — language, OS, runtime — encodes a particular ordering of competing virtues, and why a good fit is really an alignment of values.

Cantrill on the discipline of debugging production systems in real time — staying analytical when the pager is screaming and the business is bleeding.

How a simple visualization of sampled stack traces became the default lens for CPU profiling — and how Gregg uses it to find real wins in real systems.

Bob Martin walks through 60 years of programming history and argues that almost nothing has actually changed.

Steve Klabnik tells the story of how Rust got from Graydon Hoare's side project to a 1.0 release — and the design culture that made the language what it became.

A tour of the algorithms that let independent replicas converge without a coordinator — and why CRDTs are the cleanest answer we have.

Hickey on versioning, breaking changes, and the quiet violence we do to downstream users when we 'fix' our APIs in place.

Hadi Hariri on our industry's restless faith that the next language, framework, or platform will finally fix everything — and why it never does.

Brendan Eich on inventing JavaScript in ten days, the politics that shaped it, and the long arc from Mocha to modern ECMAScript.

Lea Verou live-codes ten things you didn't know you could do in CSS — flexible ellipses, bouncy transitions, pure-CSS patterns, and more.

Paul O'Shannessy implements a stripped-down React on stage to make the diffing algorithm and the component model legible.

Cantrill on how the craft is actually transmitted — stories, mentors, war anecdotes — and what gets lost when we pretend software is purely a written discipline.

An unusually candid TED conversation in which Torvalds describes himself as an engineer, not a visionary, and explains the temperament behind Linux and Git.

Kevlin Henney dissects seven things programmers do reflexively — noisy comments, getters and setters, lego-naming — and what to do instead.

Kleppmann argues we've been thinking about databases backwards: the log is the source of truth, and the database is just a materialized view of it.

Stateless services are easy to scale but expensive to use. McCaffrey makes the case for putting state back in the service — and shows how Scuba, Ringpop, and Orleans do it.

Philip Wadler on the Curry–Howard correspondence — the deep, surprising equivalence between mathematical proofs and computer programs.

Robert Griesemer on the design choices behind Go — its lineage from Oberon, its deliberate omissions, and the discipline of saying no to features other languages embraced.

Sandi Metz on the hidden defaults and conditional checks that quietly accumulate in object-oriented code — and how naming the 'nothing' is what unlocks better designs.

Paul Irish demonstrates the RAIL model and walks through diagnosing real performance problems live in Chrome DevTools.

Ilya Grigorik explains what HTTP/2 actually changes on the wire — multiplexing, prioritisation, server push — and which old optimisations you should stop doing.

Brendan Gregg's tour of the Linux observability toolbox — what each tool measures, when to reach for it, and a methodology for going from 'it's slow' to a real answer.

A visual, almost-cartoon walkthrough of how JavaScript actually schedules work — and the talk that taught a generation of frontend devs how their runtime really behaves.

Joe Armstrong, the creator of Erlang, on why our software is in such a state — and a handful of unfashionable ideas about what to do about it.

Mike Acton on how modern CPUs really work, and why most of what 'clean code' calls good is actively at war with performance.

An honest tour of what ZooKeeper is good for, what it isn't, and the operational pain of running a consensus system in anger.

Hamilton pulls back the curtain on the physics, power, networking, and custom silicon that make planet-scale cloud economically possible.

Cockcroft on how Netflix actually moved off the datacenter — and why microservices are a tool for shipping faster, not for being fashionable.

Lamport on why writing a specification before you write code is the difference between engineering and guessing — and why TLA+ exists to make that possible.

Young walks through the idea that mutating state is a lossy compression of history — and what you get back when you stop throwing the events away.

Bonér on what 'reactive' actually means once you take it past the buzzword: responsive, resilient, elastic, message-driven systems built on actors.

Hickey extracts the essence of map and filter from the collections they were trapped in — and shows what falls out when transformations become first-class, context-free things.

Brian Goetz on what it's like to evolve Java for nine million developers — where the real constraints come not from type theory but from compatibility, mental models, and the slow patience of language design.

Bjarne Stroustrup walks through the same program in C++84, C++98, C++11, and C++14 — using the diff to show what C++ is actually about, and what changes when the language grows.

Nada Amin on metaprogramming taken to its logical extreme — almost an hour of live coding through interpreters of interpreters, where the line between programs and data dissolves.

Sebastian Markbåge argues that great libraries shrink — they teach you patterns instead of adding APIs, and they hand functionality back to the language whenever they can.

Bret Victor, in costume as a 1973 researcher, surveys the ideas the field once had — and the ones we quietly stopped pursuing.

Tom Scott on why every program that touches time eventually breaks — a beloved 10-minute survey of the worst landmines in the calendar.

Brad Frost lays out the methodology that named atoms, molecules, organisms, templates, and pages — the vocabulary most modern design systems still borrow from.

Hettinger reworks ordinary Python code into the idiomatic version, pattern by pattern — the talk that taught a generation what Pythonic actually means.

Why immutable values are the right substrate for systems that interact, communicate, and last.

A keynote retread of the Simple Made Easy thesis — sharpened, condensed, and aimed squarely at Rubyists.

How drawing functional cores and imperative shells turns hard-to-test systems into easy-to-test ones.

Bret Victor on the principle that creators deserve an immediate connection to what they create — and a demo reel that still feels years ahead of the tools we ship today.

A short, pointed argument that most classes in Python codebases want to be functions — and a useful checklist for when an object is actually pulling its weight.

A bracing, funny, slightly bitter talk on legacy code, technical debt, and the fact that no clean rewrite stays clean.

Rob Pike untangles two words the industry has spent decades confusing — using Go and a stack of gophers.

Rob Pike on goroutines and channels as primitives, and how a handful of small composable patterns add up to a coherent model for concurrent programs.

Richard Cook unpacks his classic essay live: there is no root cause, safety is something people continuously create, and catastrophe is the alignment of many small latent failures.

Rich Hickey emphasizes simplicity's virtues, and argues that we conflate easy with simple — at a real cost.

A short, sharp exchange where SPJ explains why starting from safety and reaching for usefulness is a fundamentally different journey than starting from usefulness and reaching for safety.

Rob Pike walks through the lexer he built for Go's text/template package — a small masterclass in using state functions and channels to write a parser that reads like prose.

Martin Odersky on Scala's design tensions — fusing object-oriented and functional ideas without letting the surface area explode.

Cantrill tells the story of OpenSolaris, the Oracle acquisition, and how the kernel engineers behind ZFS, DTrace, and Zones carried the work forward into illumos.

Don Knuth takes unscreened audience questions for an hour — on Wikipedia, on what's next in CS, on his most memorable mistakes, on how to write programs you can still read in twenty years.

On the underrated practice of stepping away from the keyboard — and how to think hard about a problem before writing a single line.

A historical look at what 'software engineering' was originally proposed to mean — and why what we practice today is barely related.

Jeff Dean walks through three generations of Google infrastructure and the numbers every backend engineer should know by heart.

Hickey's foundational case against pervasive state and mutability, and a glimpse at the ideas that would later become Clojure's identity model.

Two Googlers on insecurity, ego, and why the best engineers are the ones who can collaborate without pretending to know everything.

Crockford's walkthrough of the language — its good parts, its bad parts, and the historical accidents that produced both.

Tony Hoare apologises for inventing the null reference in ALGOL W in 1965 — and traces the decades of crashes, bugs, and security holes that decision quietly seeded.

The Java Collections architect distills decades of API design into a tight set of heuristics. Still the canonical reference on the subject.

Linus visits Google in 2007 to explain — bluntly — why distributed version control is the right model, why CVS and Subversion are not, and how git's data model falls out of that.

Guy Steele's celebrated keynote — delivered using only one-syllable words at first — on what a language must let its users extend.

Alan Kay's OOPSLA keynote on how far we still are from the medium computers could be — and how much of what we call 'OOP' missed the point.

Richard Hamming's 1986 lecture on how to do truly important work — courage, focus, the company you keep, and what separates a great career from a competent one.

Captain Grace Hopper's restored 1982 NSA lecture — including the nanoseconds wire demo — on why the future of computing is about people and information as much as machines.

Doug Engelbart's 1968 demo that introduced hypertext, the mouse, video conferencing, real-time collaborative editing — most of what you'd recognize as a personal computer.
Jump to a talk or filter by speaker.