Debugging with the Scientific Method - Stuart Halloway
ClojureTV4 HN recommenders · recommended in 4 months, 2015–2023
talk · intermediate · evergreen · 2015–2023 on HN
Stuart Halloway of Cognitect argues for debugging with the scientific method: form hypotheses, try to falsify them, and write everything down. The talk is given to the Clojure community but applies to any language.
HN recommends it as a talk that changed how people debug, worth rewatching periodically.
Up next
8 mo on HN"Propositions as Types" by Philip Wadler
Strange Loop Conference
9 HN recommender · 2015–2026
3 mo on HNNeutron movie of coffee making
Anders Kaestner
3 HN recommender · 2021–2024
15 mo on HNRailsConf 2014 - All the Little Things by Sandi Metz
Confreaks
15 HN recommender · 2015–2025
11 mo on HN"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
12 HN recommender · 2014–2024
11 mo on HN🚀 TDD, Where Did It All Go Wrong (Ian Cooper)
DevTernity Conference
11 HN recommender · 2018–2024
11 mo on HNBret Victor - Inventing on Principle
Rui Oliveira
12 HN recommender · 2013–2025
11 mo on HNSolving Problems the Clojure Way - Rafal Dittwald
Clojure/north
10 HN recommender · 2019–2025
11 mo on HNDebugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017
GOTO Conferences
8 HN recommender · 2018–2025
10 mo on HN"Performance Matters" by Emery Berger
Strange Loop Conference
12 HN recommender · 2019–2025
10 mo on HNA Tour of the Acme Editor
Russ Cox
11 HN recommender · 2012–2026
8 mo on HNTech Talk: Linus Torvalds on git
Google
9 HN recommender · 2007–2023
9 mo on HN"How NOT to Measure Latency" by Gil Tene
Strange Loop Conference
9 HN recommender · 2015–2026
4 comments from Hacker News
This talk, "Debugging with the Scientific Method" changed how I debug problems. I try to watch it once every year or two. tl;dr, when debugging people naturally form a hypothesis about what is going wrong and then set about gathering evidence to support or refute that hypothesis. When you do so unconciously you are very prone to biases of all sorts, most importantly confirmation bias. When you do so mindfully, and Write It All Down then you are much more likely to a) come up with an evidence gathering exercise which will usefully falsify your hypothesis, and b) respect the gathered evidence, reject the now false hypothesis, and move on to a new one. ▶ this video
Stu Halloway (also a member of the Clojure core team) has a couple of great talks on using the scientific method in programming: ▶ this video link
Stuart Halloway from the Clojure community has some great a talks using the REPL to debug. Links: Debugging with the Scientific Method - Stuart Halloway ( ▶ this video ) REPL DEBUGGING: NO STACKTRACE REQUIRED ( link ) scope-capture ( link )
I think your criticisms are definitely valid. The learning curve is steep (intentionally so) but definitely worth it. Your programs will become more reliable and you'll get more done as a consequence. Please push through! The error messages are terrible, and there are a lot of ongoing conversations about them at the moment in the Clojure community[1]. The Clojure[script] toolchain does tend to be all-in but there's work happening now to break that up — stay tuned. StackOverflow and the Clojure Slack channel also full of people who know how to fix issues :) Stick with it, when you'll have an "ah-ha!" moment soon enough! [1]: This talk is a good backstory as to why the errors are so bad, and useful no matter what language you use ▶ this video