Kevlin Henney
where else to find them
what they talk about
all 25 in the filters
where they keep going back
- NDC London8 editions2017–2026
- Build Stuff8 editions2016–2024
- ACCU8 editions2016–2025
all 32 in the filters
on a stage with
- Trisha Gee2×
- Alena Hallonce
- Andrew S. Tanenbaumonce
all 17 in the filters
who talks about the same things
- Ben Deane32 talks
- Venkat Subramaniam243 talks
- Victor Ciura50 talks
- John Hughes15 talks
- Kate Gregory27 talks
- Einar W. Høst30 talks
| title | conference | date |
|---|---|---|
| The Past, Present and Future of Programming Languages | Voxxed Days CERN 2026 | 2026-02-10 |
Main claim: mainstream languages change slowly — the top five unchanged for six years across TIOBE/RedMonk/IEEE, with Python roughly ten times the use of many… | ||
| The Past, Present and Future of Programming Languages | Voxxed Days Ticino 2026 | 2026-02-05 |
Main claim: mainstream programming languages evolve slowly and remain dominated by 20th‑century designs; TIOBE’s top 10 accounts for 70% of TIOBE and the top… | ||
| Modular Monoliths and Other Facepalms | NDC London 2026 | 2026-01-26 |
Argues that modular monolith is rebranding rather than a new style, tracing modularity back to the 1960s and showing the same principles reappear; documents… | ||
| Ye Cannae Change the Laws of Physics | GOTO Copenhagen 2025 | 2025-09-29 |
Argues that physical limits shape software: demonstrates FizzBuzz via infinite Haskell lists to show mathematical infinities are constructs not physical… | ||
| The Way the Future Was | GOTO Copenhagen 2025 | 2025-09-29 |
Four short histories run through specific claims and failures: optimistic 20th‑century futures like fully automated luxury space communism fail by distribution… | ||
| The Past, Present and Future of Programming Languages | NDC TechTown 2025 | 2025-09-22 |
Languages evolve slowly and the mainstream set stays surprisingly stable: TIOBE/RedMonk show a top five unchanged across years and most popular languages… | ||
| Lambda? You Keep Using that Letter | Craft Conference 2025 | 2025-05-29 |
Lambda calculus originates with Alonzo Church (1936) and proves undecidability while giving a syntax where everything is a function; numbers become Church… | ||
| The Past, Present and Future of Programming Languages | ACCU 2025 | 2025-04-01 |
Main claim: mainstream languages change slowly and incumbents dominate; empirical evidence shows C/Java/Python/C++ persist in top ranks and of 100 languages… | ||
| Agility ≠ Speed - Agile Development | ACCU 2025 | 2025-04-01 |
Argues that agility is not raw speed but the ability to change direction and respond, claiming teams optimize speed not velocity and often measure rate instead… | ||
| 97 Things Every Java Programmer Should Know | Jfokus 2025 | 2025-02-03 |
Collection of 97 short practical rules assembled from 73 contributors and finished in 2020; highlights include using learn your IDE features like custom live… | ||
| Adventures in Spacetime | NDC London 2025 | 2025-01-27 |
Explains that ordering in distributed systems is fundamentally partial and shows the actual Lamport algorithm: keep a counter, increment on send, include… | ||
| Adventures in Spacetime | Build Stuff 2024 | 2024-11-13 |
Argues that software is the slowest medium and models networks/software with a measurable refractive index (ideal time vs actual time), demonstrates CAP… | ||
| Program with GUTs | TestFlix 2024 | 2024-10-19 |
Asserts that the common pattern of one test per method is wrong and increases test maintenance debt, demonstrates concrete examples using a stack to show one… | ||
| The Past, Present & Future of Programming Languages | GOTO Copenhagen 2024 | 2024-09-30 |
Argues that language change is slow: mainstream toolchains and surveys show the top 10 are >2/3 of usage and the top 5 hold ~55%, most popular languages… | ||
| 97 Things Every Java Prog. Should Know | GOTO Copenhagen 2024 | 2024-09-30 |
Practical, specific takeaways: learn IntelliJ shortcuts and integrations—Alt+Enter, live templates, debugger, Git and Gradle support—to stop thinking about… | ||
| Platform Engineering: A Deep Dive Conversation | GOTO Copenhagen 2024 | 2024-09-30 |
Argues platform engineering succeeds by changing behavior not piling on tools, using don't feed the pigeons as the rule: stop enabling brittle developer… | ||
| 20+ Years in Tech: Things We Wish We Knew Sooner | GOTO Copenhagen 2024 | 2024-09-30 |
Conversation claims that putting ideas out freely accelerates adoption, shows concrete tech lessons: uses Advent of Code to compare languages, predicts… | ||
| Program with GUTS | Craft Conference 2024 | 2024-05-30 |
Argues that good unit tests are specifications and documentation, not just pass/fail checks, and demonstrates concrete patterns in JUnit (including JUnit 5… | ||
| Technical Neglect | Craft Conference 2024 | 2024-05-30 |
Main claim: legacy problems come from an absence of upkeep — technical neglect — not from the debt metaphor itself; unmanaged work accumulates and multiplies… | ||
| The Data Abstraction Talk | ACCU 2024 | 2024-04-17 |
Argument: code must hide representation and expose a precise API, or accidental leaks and brittle changes follow. Examples: Mars Curiosity uses VxWorks and C99… | ||
| Technical Neglect | NDC London 2024 | 2024-01-29 |
Argues that technical neglect — the absence of upkeep and attention — causes the drag labelled as technical debt, not the reverse. Cites measurements: about… | ||
| Architecture as Knowledge | Build Stuff 2023 | 2023-11-15 |
Claims that architecture is codified knowledge and that the code base is an executable record of team beliefs, demonstrated with a simplified in‑memory library… | ||
| 6 impossible things | Meeting C++ 2023 | 2023-11-12 |
Six precise traps decide whether a talk is worth watching: a reproducible claim like IEEE‑754 subtraction is functionally complete or the concrete fix midpoint… | ||
| The Case for Technical Excellence | Agile meets Architecture Berlin 2023 | 2023-10-05 |
Argues that continuous technical excellence materially increases agility by lowering cost of change, and that technical debt is an effect caused by neglect… | ||
| Metaphors We Code By | Craft Conference 2023 | 2023-05-18 |
Argues metaphors shape code and team choices with concrete examples: OS UI terms like windows/folders/recycle bin traced to 1980s design; naming mismatches in… | ||
| Talk Six Impossible Things | KotlinConf 2023 Day 2 | 2023-04-25 |
Covers six concrete impossibilities: finite computer representations (IEEE 754 and an actual binary-search overflow bug from adding high+low), limits of… | ||
| Gilding the Rose: Refactoring-Driven Development | ACCU 2023 | 2023-04-19 |
Walks the Gilded Rose kata from a tangled C# updateQuality method (16 ifs, 3 elses, quality assigned up to four times, indentation level 6) to a tested… | ||
| C++ And Beyond: Discussion | ACCU 2023 | 2023-04-19 |
Greatest obstacle is C++'s accumulated backward compatibility: concrete proposals use modules and epoch/dialect techniques to let new syntax map to the same… | ||
| Talk Six Impossible Things | KotlinConf 2023 | 2023-04-12 |
Six concrete impossibilities get examined with examples and code: IEEE 754 isn’t real numbers illustrated by floating point quirks, a 1983 Java binary‑search… | ||
| Refactoring Is Not Just Clickbait | NDC London 2023 | 2023-01-23 |
Argues that refactoring is a design process not just an IDE shortcut, citing Martin Fowler’s definition and Bill Opdyke’s thesis, and shows concrete examples… | ||
| Code? | DevTernity 2022 | 2022-12-08 |
A practical tour through what “code” actually is: historical encodings (Church numerals, Lambda calculus), spacecraft failures from bad runtime choices (Apollo… | ||
| Refactoring Is Not Just Clickbait | Build Stuff 2022 | 2022-11-09 |
Argues that refactoring is a continuous design activity not just IDE shortcuts, with automated tools handling many renames and extract methods but leaving a… | ||
| Agility ≠ Speed | Build Stuff 2022 | 2022-11-09 |
Argues that agility is responsiveness not raw speed, showing how metrics mislead: 1,000,000 vs 100,000 lines of code reveals which team wrote tests, refactored… | ||
| Software Architecture for Developers (3-hour workshop) | Build Stuff 2022 | 2022-11-09 |
Workshop argues architecture is significant design decisions (measured by cost of change) and shows how to prove those decisions by building, measuring and… | ||
| The Fuller Stack | Full Stack Europe 2022 | 2022-10-05 |
Argues that “full stack” must include hardware, physics and people, not just front- and back-end frameworks, and classifies software into S/P/E classification… | ||
| Refactoring Is Not Just Clickbait | NDC Oslo 2022 | 2022-09-26 |
Argues that refactoring is a design process not a menu shortcut: automated extract method and rename are common and useful, but many teams neglect extract… | ||
| Midnote: For the Sake of Complexity | C++ on Sea 2022 | 2022-07-05 |
Argues that most complexity is accidental and avoidable, cites concrete failures: a CORBA-style iterator that forces a network roundtrip per element, the… | ||
| Structure and Interpretation of Test Cases | GOTO Amsterdam 2022 | 2022-06-12 |
A practical guide to structuring unit tests that shows concrete rules, examples and numbers: implements the leap year rule with four mutually exclusive… | ||
| #FAIL | GOTO Amsterdam 2022 | 2022-06-12 |
Compilation of real failures shows concrete causes and fixes: public displays reveal ATMs on old Windows; a C time zero yields 1969 timestamps and PayPal… | ||
| Non-Functional Coding | Craft Conference 2022 | 2022-06-02 |
Refactors the Gilded Rose kata to concentrate all state changes into single assignment and then to a declarative pattern‑matching rule set, showing the… | ||
| Agility ≠ Speed | Craft Conference 2022 | 2022-06-02 |
Argues agility is not raw speed and recommends measuring velocity is speed and direction rather than story points that end up as time versus time. Shows a 60… | ||
| Keynote: Six Impossible Things | Voxxed Days Bucharest 2022 | 2022-03-23 |
Argues six concrete impossibilities: no physical infinities so IEEE 754 encodes symbols like NaN — blamed for a driverless car steering failure — and floating… | ||
| Six Impossible Things | Build Stuff 2021 | 2021-11-17 |
Six concrete claims and counterexamples: floating point NaN and infinity cause real failures (a MATLAB-controlled racecar steers into a wall), a classic binary… | ||
| Programming with GUTs | Meeting C++ 2021 | 2021-11-10 |
Material claims C++ teams can have GUTs that survive refactor and undefined behaviour by focusing on precise claims not vague topics. It implements a toy… | ||
| #FAIL | GOTO Copenhagen 2021 | 2021-11-08 |
Ten years of concrete failures and fixes: airport matrix screens reveal Windows 2000 evidence, a mall deployment exposes a TensorFlow face analyzer, a C time()… | ||
| Plenary: Six Impossible Things | CppCon 2021 | 2021-10-24 |
Six concrete limits emerge: integer overflow and IEEE 754 NaN cause steering controls to go to NaN and crash a race car; epoch and time APIs return -1 and send… | ||
| Beyond the Known Knowns | iSAQB Software Architecture Gathering – Digital 2021 | 2021-10-11 |
Argues that architecture is an executable organization of knowledge and that software development runs on incomplete, often invisible assumptions; uses Ariane… | ||
| Ten years, but not decayed | Agile on the Beach 2021 | 2021-09-02 |
A concise retrospective claims software craft not decayed after a decade, comparing concrete changes in practices, tooling, hiring and culture since the first… | ||
| Structure and Interpretation of Test Cases | C++ on Sea 2021 | 2021-06-30 |
Argues that good tests are readable specifications not build ornaments, defines a unit test as behavior whose pass/fail is solely determined by test and unit… | ||
| Refactoring Is Not Just Clickbait | Craft Conference 2021 | 2021-06-02 |
Claim: refactoring is a design process not a shortcut key, it preserves behavior while improving developmental quality and often succeeds only when intent and… | ||
| Keynote: It Depends.. | ACCU 2021 Online | 2021-03-10 |
Argument: it depends — expertise shows rules are context‑dependent, not absolute. Uses Dreyfus stages and pattern thinking to compare concrete examples: string… | ||
| Lambda? You Keep Using that Letter | Jfokus 2021 | 2021-02-09 |
Lambdas originate with Alonzo Church in 1936 and rest on three laws: variables abstraction application; they can encode numbers (Church numerals) so zero, one… | ||
| Code as Risk | Build Stuff 2020 | 2020-11-11 |
Argues that code is measurable risk: third‑party and transitive dependencies break builds as with the left‑pad incident on npm, dynamic packages let attackers… | ||
| Concurrent Affairs: Procedural Programming Unlocked | Code Mesh LDN 2020 | 2020-11-05 |
Argues procedural techniques power modern concurrency by showing concrete lineage and implementations: coroutines date to 1958, structured parallel blocks… | ||
| Software Is Details | GOTOpia Europe 2020 | 2020-09-15 |
Argument that small, repeated choices become the system's physics: execution architecture (threading, event vs time‑triggered) and naming or API choices shape… | ||
| Paradigms Lost, Paradigms Regained: Programming with Objects and Functions and More | NDC TechTown 2020 | 2020-08-31 |
Argues that paradigms are tools not religions, then shows concrete examples: implements a stack as a C# wrapper, as an opaque C ADT, and as a stack implemented… | ||
| Lambda? You Keep Using that Letter | C++ on Sea 2020 | 2020-07-15 |
Lambdas originate in 1930s lambda calculus and mean variable + abstraction + application, not “make a language functional”; Church shows numbers as functions… | ||
| Lambda? You Keep Using that Letter | NDC London 2020 | 2020-01-27 |
Starts from Church 1936 and traces concrete artifacts: the three core lambda constructs are variables, abstraction, application, closures are lambdas that… | ||
| Full Stack Development: What Does It Really Mean? | Build Stuff 2019 | 2019-11-13 |
Search of LinkedIn shows ~7000 “full stack” results and the talk reframes the phrase into concrete CS tools and gotchas: ADTs and stacks, Hoare triples and… | ||
| Agility ≠ Speed | Dutch PHP Conference 2019 | 2019-06-06 |
Agility means the ability to change direction, not raw throughput: measuring progress by velocity or story points produces story point inflation and gaming… | ||
| The Error of our Ways | Voxxed Days CERN 2019 | 2019-05-01 |
A tour of concrete failures: a DOS TCP/IP error and a Dutch rail site leaking Java NullPointerException show how encapsulation breaks; a trading firm loses… | ||
| What Do You Mean? | ACCU 2019 | 2019-04-10 |
Argues that software is fundamentally a system of codified knowledge, not just machine instructions, and shows concrete failures when meaning is missing: C++… | ||
| Agility ≠ Speed | NDC Copenhagen 2019 | 2019-03-27 |
Argues agility means the ability to change direction fast not raw throughput, so velocity has direction and story points often become time‑against‑time… | ||
| Lightning Talk: List | C++ on Sea 2019 | 2019-02-04 |
A C++ demo builds a Church-encoded list using lambdas and nested closures so push and pop return new lists instead of mutating state, implementing head/rest… | ||
| Structure and Interpretation of Test Cases | NDC London 2019 | 2019-01-30 |
Argues that good unit tests act as readable specifications, not mere framework exercises, using JUnit 5, Catch and parameterized/data-driven tests to show what… | ||
| Small Steps, Giant Leaps: Engineering Lessons from Apollo | NDC London 2019 | 2019-01-30 |
Fifty years after 1969 the talk lays out eleven concrete engineering lessons: the Apollo Guidance Computer runs at 2.0 MHz with 32 words of 15‑bit memory… | ||
| Top 3 Most Viewed GOTO Chicago Talks | GOTO Chicago 2018 | 2018-04-24 |
These talks were recorded at GOTO Chicago 2018. #gotocon #gotochgo
http://gotochgo.com
3. Alena Hall - Distributed Data Stores on… | ||
| Old Is the New New | GOTO Chicago 2018 | 2018-04-24 |
Most so‑called new ideas are just old ones repackaged: Lisp ships garbage collection by 1960, Algol 68 has closures and expression‑oriented syntax, Ward… | ||
| Procedural Programming: It’s Back? It Never Went Away | ACCU 2018 | 2018-04-11 |
Argues that procedural programming remains relevant and explains why with concrete artifacts: an Algol 68 leap-year example and small testing harness that… | ||
| Engineering Software | Jfokus 2018 | 2018-02-05 |
Argues that most so‑called new practices trace back to the 1968 NATO Garmisch work: iterative design, interlaced testing, modular subsystems sized for months… | ||
| Refactoring to Immutability | NDC London 2018 | 2018-01-15 |
Shows concrete refactor steps: replace singletons by pass a clock or a time value so tests become pure, turn setters into replace setters with with-methods… | ||
| Procedural Programming: It Never Went Away | Build Stuff 2017 | 2017-11-15 |
Argues procedural programming never went away and many modern features actually originate in 1960s languages: Algol 68 orthogonality (closures, void, compound… | ||
| Declarative thinking, declarative practice | Meeting C++ 2017 | 2017-11-09 |
Compares imperative vs declarative with concrete C++ rewrites using ranges, transforms, iterators and lazy evaluation to produce first hundred squares, parses… | ||
| Move Slow and Mend Things | Devoxx Belgium 2017 | 2017-11-06 |
Argues that speed without direction wastes effort: velocity is displacement with direction not just speed, so use OODA/PDCA loops to treat architecture and… | ||
| Thinking Outside the Synchronisation Quadrant | ACCU 2017 | 2017-04-24 |
Argues that concurrency is not just locks but a 2×2 state/ownership model (the synchronisation quadrant is only one corner) and shows concrete alternatives… | ||
| Thinking Outside the Synchronisation Quadrant | NDC London 2017 | 2017-01-16 |
Argument shows why mutable shared state sits in a costly synchronisation quadrant and gives concrete C++ remedies: replace ad‑hoc threads+locks with channels… | ||
| Functional C++ | NDC London 2017 | 2017-01-16 |
Argues C++11 features like std::function and lambdas let code move toward immutability and one‑way data flow; shows concrete idioms (value types with… | ||
| Clean Coders Hate What Happens to Your Code When You Use These Enterprise Programming Tricks | NDC London 2017 | 2017-01-16 |
Argument: common enterprise habits — needless factories, verbose imports, cargo‑cult patterns, Singleton configuration and excessive comments — systematically… | ||
| Worse Is Better, for Better or for Worse | Build Stuff 2016 | 2016-11-16 |
Revisits Richard Gabriel’s “worse is better” claim that simpler, smaller implementations win by trading completeness for correctness and speed, arguing for… | ||
| Functional C++ | Build Stuff 2016 | 2016-11-16 |
Argues that applying functional techniques to modern C++ yields clearer, safer, testable code without losing runtime performance: uses std::function and… | ||
| The architecture of uncertainty | O'Reilly Software Architecture Conference 2016 - London, United Kingdom | 2016-10-19 |
Argues that the common response to uncertainty — piling on abstractions and flexibility — usually makes systems worse and more complex rather than… | ||
| Small Is Beautiful | GOTO Copenhagen 2016 | 2016-10-03 |
Argues that smaller, constrained systems are easier to reason about, maintain and discard, citing concrete counterexamples: a ZX81 chess program that fits in… | ||
| Declarative Thinking, Declarative Practice | ACCU 2016 | 2016-04-20 |
Argues that declaring intent often beats scripting mechanics, showing Make as declarative language, list comprehensions and lazy infinite ranges to avoid… | ||
| Keynote: Codemotion Rome - March 28th: Tanenbaum. Henney. Ballard. | Codemotion Rome 2015 | 2015-03-25 |
Three short keynotes show concrete claims and demos: Bluemix APIs and Watson for rapid app composition, a Bluemix-built Lucas Oil raceboat system streaming… | ||
| Functional Programming You Already Know | Codemotion Rome 2015 | 2015-03-25 |
Argues that familiar tools already embody functional ideas: Excel as dataflow (cells re-evaluate declaratively), Python reduce and library factorials replace… | ||
| Intervista a Kevlin Henney | Codemotion Rome 2015 | 2015-03-25 |
Argues that small fits in our head: smaller modules reduce maintenance, change effort and accidental legacy, while oversized designs create dead code and… | ||
| Charting a Course Through Enterprise Architecture | GOTO Copenhagen 2014 | 2014-09-25 |
Panel argues Enterprise architecture moves from diagrams to experiments: companies build an Enterprise Data Hub (one unified store, often Hadoop) to give… | ||
| Worse Is Better, for Better or for Worse | GOTO Aarhus 2013 | 2013-09-30 |
Argues that the successful pattern is deliberate minimal invention: prioritize simple, small, fast implementations that interoperate with existing tools over… | ||
| Worse Is Better, for Better or for Worse | Dutch PHP Conference 2013 | 2013-06-07 |
Argues that narrower, rock‑solid designs beat “complete” ones by example: the original wiki in 200 lines of Perl proves tiny, extendable code spreads; 1995 PHP… | ||
| nothing matches | ||