~/talk

Getting Unstuck: Using the Scientific Method for Debugging

Talkat RubyConf 2017 · 2017-11-15..11-17· [testing]
slides:none on file

Makes debugging a reproducible experiment: gather facts, pick one question, form a hypothesis, design a precise procedure, run it and record annotated logs. Uses notebooks, whiteboards, stickies or the text editor alongside logs. Concrete examples: a process that stalls for 52 seconds where healthy runs take 3–4 seconds because shelling out to node hits a node buffer limit and never flushes; swapping Ubuntu VM images with Packer and Chef causes a month of failures unless isolated and iterated.

AI-written summary · about

  1. 0:00Intro
  2. 0:11Getting Unstuck: Using the Scientific Method For Debugging
  3. 0:25Who has ever gotten stuck while debugging?
  4. 0:49The Scientific Method Make your debugging a science experiment
  5. 6:12Gather Existing Knowledge
  6. 7:07Ask Questions
  7. 8:21Make a hypothesis An educated guess
  8. 9:03Design an Experiment
  9. 10:01Run the Experiment
  10. 11:43Come to a conclusion
  11. 12:30Circle Back
  12. 13:07Share what you learned
  13. 15:47Question: What part of the lifecycle is hanging? • Hypothesis: The sandboxed JS code is hanging
  14. 16:50Question: Maybe the data is too big • Hypothesis: When the data is too large, shelling out to node hangs
  15. 19:50Get teammates on the same page
  16. 20:55Good notes make it easier for your teammates to help you
  17. 21:13Writing down what you know helps organize your thoughts
  18. 22:05"How do I disprove this hypothesis?" is actionable
  19. 23:01Don't Repeat Yourself
  20. 24:46Each iteration moves you forward
  21. 25:28Story Time
  22. 27:21Two types of stuck
~/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.