Debugging with the Scientific Method - Stuart Halloway
ClojureTV4 HN recommenders · recommended in 4 months, 2015-2023
25K views · 10 years ago · talk · evergreen
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.
33:06REBL - Stuart Halloway
ClojureTV
25K views • 7 years ago
1:02:26Solving Problems the Clojure Way - Rafal Dittwald
Clojure/north
87K views • 7 years ago
36:14Barliman: trying the halting problem backwards, blindfolded - William Byrd, Greg Rosenblatt
ClojureTV
8K views • 9 years ago
41:09ClojureScript for Skeptics - Derek Slager
ClojureTV
72K views • 10 years ago
40:00"Agility & Robustness: Clojure spec" by Stuart Halloway
Strange Loop Conference
25K views • 10 years ago
50:01Simplicity Ain't Easy - Stuart Halloway
ClojureTV
24K views • 13 years ago
45:31Bruce Hauman - Developing ClojureScript With Figwheel
ClojureTV
56K views • 11 years ago
1:07:22Invited Talk - Guy Steele
ClojureTV
39K views • 9 years ago
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
176K views • 9 years ago
1:03:29Maybe Not - Rich Hickey
ClojureTV
181K views • 7 years ago
33:32Condition Systems in an Exceptional Language - Chris Houser
ClojureTV
16K views • 10 years ago
47:17John Hughes - Testing the Hard Stuff and Staying Sane
ClojureTV
39K views • 12 years ago
36:42Bottom Up vs Top Down Design in Clojure - Mark Bastian
ClojureTV
29K views • 10 years ago
40:48Andy Keep - Writing a Nanopass Compiler
ClojureTV
29K views • 12 years ago
53:56Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure
jasonofthel33t
119K views • 13 years ago
1:28:59Clojure for Lisp Programmers Part 1 - Rich Hickey
ClojureTV
25K views • 13 years ago
1:48:13Clojure for Java Programmers Part 1 - Rich Hickey
ClojureTV
131K views • 13 years ago
4:46Debugging Lisp: fix and resume a program from any point in the stack - how Common Lisp stands out.
vindarel
5K views • 3 years ago
37:15Stuart Halloway - Narcissistic Design
Reaktor
29K views • 9 years ago
39:15The Maximal Graph - Wilker Silva
ClojureTV
8K views • 6 years ago
4 comments from Hacker News
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
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
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