https://www.youtube.com/watch?v=FihU5JxmnBg
- clear problem statement
- efficient hypothesis
- good eperiments
- useful observations
- writing it all down
something more descriptive than "it didn't work"
steps you took what you expected what actually happened.
Don't sweat naming
- divide & conquer
- decrease & conquer
- bisection
- interval halving
- proportional reduction
We want to take the problem space and reduce it to find the answer.
WRITE IT DOWN Single most important point of his talk.
- write the problem statment
- hypotheses
- what experiment should show
- why experiment een makes sense
- observations
The history of debugging is "OMG C has so many pitfalls" Not a level of abstraction you need to be working at.
In clojure & Java it's always GC
- OOM is typically unexpected
- OOM can happen anywhere
- OOM can appear as almost any other exception
- near-OOM dramatically impacts scheduling
- OOM related problems cascade
good docs for debugging are
- short
- specifications
Why Programs Fail Guide to Systematic Debugging
Write programs that automate the scientific method for debugging.