
Debugging with the Scientific Method - Stuart Halloway
About this video
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.
Why it appears in the archive
HN recommends it as a talk that changed how people debug, worth rewatching periodically.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
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. [VIDEO]
Read original comment ↗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 [VIDEO]
Read original comment ↗Stuart Halloway from the Clojure community has some great a talks using the REPL to debug. Links: Debugging with the Scientific Method - Stuart Halloway ( [VIDEO] ) REPL DEBUGGING: NO STACKTRACE REQUIRED ( [LINK] ) scope-capture ( [LINK] )
Read original comment ↗Stu Halloway (also a member of the Clojure core team) has a couple of great talks on using the scientific method in programming: [VIDEO] [LINK]
Read original comment ↗