~/talks

Kevlin Henney

what they talk about

all 25 in the filters

where they keep going back

all 32 in the filters

on a stage with

all 17 in the filters

who talks about the same things

titleconferencedate
The Past, Present and Future of Programming LanguagesVoxxed Days CERN 20262026-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…
Talk on
The Past, Present and Future of Programming LanguagesVoxxed Days Ticino 20262026-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…
Talk on
Modular Monoliths and Other FacepalmsNDC London 20262026-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…
Talk on
Ye Cannae Change the Laws of PhysicsGOTO Copenhagen 20252025-09-29
Argues that physical limits shape software: demonstrates FizzBuzz via infinite Haskell lists to show mathematical infinities are constructs not physical…
Talk on
The Way the Future WasGOTO Copenhagen 20252025-09-29
Four short histories run through specific claims and failures: optimistic 20th‑century futures like fully automated luxury space communism fail by distribution…
Talk on
The Past, Present and Future of Programming LanguagesNDC TechTown 20252025-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…
Talk on
Lambda? You Keep Using that LetterCraft Conference 20252025-05-29
Lambda calculus originates with Alonzo Church (1936) and proves undecidability while giving a syntax where everything is a function; numbers become Church…
Talk on
The Past, Present and Future of Programming LanguagesACCU 20252025-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…
Talk on
Agility ≠ Speed - Agile DevelopmentACCU 20252025-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…
Talk on
97 Things Every Java Programmer Should KnowJfokus 20252025-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…
Talk on
Adventures in SpacetimeNDC London 20252025-01-27
Explains that ordering in distributed systems is fundamentally partial and shows the actual Lamport algorithm: keep a counter, increment on send, include…
Talk on
Adventures in SpacetimeBuild Stuff 20242024-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…
Talk on
Program with GUTsTestFlix 20242024-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…
Talk on
The Past, Present & Future of Programming LanguagesGOTO Copenhagen 20242024-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…
Talk on
97 Things Every Java Prog. Should KnowGOTO Copenhagen 20242024-09-30
Practical, specific takeaways: learn IntelliJ shortcuts and integrations—Alt+Enter, live templates, debugger, Git and Gradle support—to stop thinking about…
Talk on
Platform Engineering: A Deep Dive ConversationGOTO Copenhagen 20242024-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…
Talk on
20+ Years in Tech: Things We Wish We Knew SoonerGOTO Copenhagen 20242024-09-30
Conversation claims that putting ideas out freely accelerates adoption, shows concrete tech lessons: uses Advent of Code to compare languages, predicts…
Talk on
Program with GUTSCraft Conference 20242024-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…
Talk on
Technical NeglectCraft Conference 20242024-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…
Talk on
The Data Abstraction TalkACCU 20242024-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…
Talk on
Technical NeglectNDC London 20242024-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…
Talk on
Architecture as KnowledgeBuild Stuff 20232023-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…
Talk on
6 impossible thingsMeeting C++ 20232023-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…
Talk on
The Case for Technical ExcellenceAgile meets Architecture Berlin 20232023-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…
Talk on
Metaphors We Code ByCraft Conference 20232023-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 on
Talk Six Impossible ThingsKotlinConf 2023 Day 22023-04-25
Covers six concrete impossibilities: finite computer representations (IEEE 754 and an actual binary-search overflow bug from adding high+low), limits of…
Talk on
Gilding the Rose: Refactoring-Driven DevelopmentACCU 20232023-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…
Talk on
C++ And Beyond: DiscussionACCU 20232023-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 on
Talk Six Impossible ThingsKotlinConf 20232023-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…
Talk on
Refactoring Is Not Just ClickbaitNDC London 20232023-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…
Talk on
Code?DevTernity 20222022-12-08
A practical tour through what “code” actually is: historical encodings (Church numerals, Lambda calculus), spacecraft failures from bad runtime choices (Apollo…
Talk on
Refactoring Is Not Just ClickbaitBuild Stuff 20222022-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…
Talk on
Agility ≠ SpeedBuild Stuff 20222022-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…
Talk on
Software Architecture for Developers (3-hour workshop)Build Stuff 20222022-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…
Talk on
The Fuller StackFull Stack Europe 20222022-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…
Talk on
Refactoring Is Not Just ClickbaitNDC Oslo 20222022-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…
Talk on
Midnote: For the Sake of ComplexityC++ on Sea 20222022-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…
Talk on
Structure and Interpretation of Test CasesGOTO Amsterdam 20222022-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…
Talk on
#FAILGOTO Amsterdam 20222022-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…
Talk on
Non-Functional CodingCraft Conference 20222022-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…
Talk on
Agility ≠ SpeedCraft Conference 20222022-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…
Talk on
Keynote: Six Impossible ThingsVoxxed Days Bucharest 20222022-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…
Talk on
Six Impossible ThingsBuild Stuff 20212021-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…
Talk on
Programming with GUTsMeeting C++ 20212021-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…
Talk on
#FAILGOTO Copenhagen 20212021-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()…
Talk on
Plenary: Six Impossible ThingsCppCon 20212021-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…
Talk on
Beyond the Known KnownsiSAQB Software Architecture Gathering – Digital 20212021-10-11
Argues that architecture is an executable organization of knowledge and that software development runs on incomplete, often invisible assumptions; uses Ariane…
Talk on
Ten years, but not decayedAgile on the Beach 20212021-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…
Talk on
Structure and Interpretation of Test CasesC++ on Sea 20212021-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…
Talk on
Refactoring Is Not Just ClickbaitCraft Conference 20212021-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…
Talk on
Keynote: It Depends..ACCU 2021 Online2021-03-10
Argument: it depends — expertise shows rules are context‑dependent, not absolute. Uses Dreyfus stages and pattern thinking to compare concrete examples: string…
Talk on
Lambda? You Keep Using that LetterJfokus 20212021-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…
Talk on
Code as RiskBuild Stuff 20202020-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…
Talk on
Concurrent Affairs: Procedural Programming UnlockedCode Mesh LDN 20202020-11-05
Argues procedural techniques power modern concurrency by showing concrete lineage and implementations: coroutines date to 1958, structured parallel blocks…
Talk on
Software Is DetailsGOTOpia Europe 20202020-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…
Talk on
Paradigms Lost, Paradigms Regained: Programming with Objects and Functions and MoreNDC TechTown 20202020-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…
Talk on
Lambda? You Keep Using that LetterC++ on Sea 20202020-07-15
Lambdas originate in 1930s lambda calculus and mean variable + abstraction + application, not “make a language functional”; Church shows numbers as functions…
Talk on
Lambda? You Keep Using that LetterNDC London 20202020-01-27
Starts from Church 1936 and traces concrete artifacts: the three core lambda constructs are variables, abstraction, application, closures are lambdas that…
Talk on
Full Stack Development: What Does It Really Mean?Build Stuff 20192019-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…
Talk on
Agility ≠ SpeedDutch PHP Conference 20192019-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…
Talk on
The Error of our WaysVoxxed Days CERN 20192019-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…
Talk on
What Do You Mean?ACCU 20192019-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++…
Talk on
Agility ≠ SpeedNDC Copenhagen 20192019-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…
Talk on
Lightning Talk: ListC++ on Sea 20192019-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…
Lightning on
Structure and Interpretation of Test CasesNDC London 20192019-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…
Talk on
Small Steps, Giant Leaps: Engineering Lessons from ApolloNDC London 20192019-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…
Talk on
Top 3 Most Viewed GOTO Chicago TalksGOTO Chicago 20182018-04-24
These talks were recorded at GOTO Chicago 2018. #gotocon #gotochgo http://gotochgo.com 3. Alena Hall - Distributed Data Stores on…
Talk on
Old Is the New NewGOTO Chicago 20182018-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…
Talk on
Procedural Programming: It’s Back? It Never Went AwayACCU 20182018-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…
Talk on
Engineering SoftwareJfokus 20182018-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…
Talk on
Refactoring to ImmutabilityNDC London 20182018-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…
Talk on
Procedural Programming: It Never Went AwayBuild Stuff 20172017-11-15
Argues procedural programming never went away and many modern features actually originate in 1960s languages: Algol 68 orthogonality (closures, void, compound…
Talk on
Declarative thinking, declarative practiceMeeting C++ 20172017-11-09
Compares imperative vs declarative with concrete C++ rewrites using ranges, transforms, iterators and lazy evaluation to produce first hundred squares, parses…
Talk on
Move Slow and Mend ThingsDevoxx Belgium 20172017-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…
Talk on
Thinking Outside the Synchronisation QuadrantACCU 20172017-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…
Talk on
Thinking Outside the Synchronisation QuadrantNDC London 20172017-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…
Talk on
Functional C++NDC London 20172017-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…
Talk on
Clean Coders Hate What Happens to Your Code When You Use These Enterprise Programming TricksNDC London 20172017-01-16
Argument: common enterprise habits — needless factories, verbose imports, cargo‑cult patterns, Singleton configuration and excessive comments — systematically…
Talk on
Worse Is Better, for Better or for WorseBuild Stuff 20162016-11-16
Revisits Richard Gabriel’s “worse is better” claim that simpler, smaller implementations win by trading completeness for correctness and speed, arguing for…
Talk on
Functional C++Build Stuff 20162016-11-16
Argues that applying functional techniques to modern C++ yields clearer, safer, testable code without losing runtime performance: uses std::function and…
Talk on
The architecture of uncertaintyO'Reilly Software Architecture Conference 2016 - London, United Kingdom2016-10-19
Argues that the common response to uncertainty — piling on abstractions and flexibility — usually makes systems worse and more complex rather than…
Talk on
Small Is BeautifulGOTO Copenhagen 20162016-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…
Talk on
Declarative Thinking, Declarative PracticeACCU 20162016-04-20
Argues that declaring intent often beats scripting mechanics, showing Make as declarative language, list comprehensions and lazy infinite ranges to avoid…
Talk on
Keynote: Codemotion Rome - March 28th: Tanenbaum. Henney. Ballard.Codemotion Rome 20152015-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…
Talk on
Functional Programming You Already KnowCodemotion Rome 20152015-03-25
Argues that familiar tools already embody functional ideas: Excel as dataflow (cells re-evaluate declaratively), Python reduce and library factorials replace…
Talk on
Intervista a Kevlin HenneyCodemotion Rome 20152015-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…
Talk on
Charting a Course Through Enterprise ArchitectureGOTO Copenhagen 20142014-09-25
Panel argues Enterprise architecture moves from diagrams to experiments: companies build an Enterprise Data Hub (one unified store, often Hadoop) to give…
Talk on
Worse Is Better, for Better or for WorseGOTO Aarhus 20132013-09-30
Argues that the successful pattern is deliberate minimal invention: prioritize simple, small, fast implementations that interoperate with existing tools over…
Talk on
Worse Is Better, for Better or for WorseDutch PHP Conference 20132013-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…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.