Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Crescent Wrenches, Socket Sets, and Other Tools For Debugging

Crescent Wrenches, Socket Sets, and Other Tools For Debugging

Software exists in a constant state of failure, facing pressure on many fronts - malicious intruders, hapless users, accidental features, and our own limits of imagination all conspire to bring our system to a screeching halt. Untangle even the most tangled of Gordian Knots by building your own toolkit for inquiry, by relying on the simplest technique of all: asking “why?"

F4d5752d6f4f839083cf810ad2c3a911?s=128

Kerri Miller

July 01, 2016
Tweet

Transcript

  1. C R E S C E N T W R

    E N C H E S , S O C K E T S E T S , A N D O T H E R T O O L S F O R D E B U G G I N G H O W T O B U I L D A T O O L K I T O F I N Q U I RY @kerrizor CodeConf 2016
  2. @kerrizor CodeConf 2016

  3. @kerrizor CodeConf 2016

  4. @kerrizor CodeConf 2016 I H AV E A F E

    W H O B B I E S …
  5. @kerrizor CodeConf 2016

  6. @kerrizor CodeConf 2016

  7. @kerrizor CodeConf 2016

  8. W H Y W O N ’ T T H

    E E N G I N E S TA R T ? @kerrizor CodeConf 2016 ! " ⚡ $ FUEL AIR SPARK PRESSURE
  9. T H E S C I E N T I

    F I C M E T H O D @kerrizor CodeConf 2016 • Ask A Question • Do Background Research • Construct a Hypothesis • Test Your Hypothesis by Doing an Experiment • Analyze Your Data and Draw a Conclusion • Communicate Your Results
  10. T H E S C I E N T I

    F I C M E T H O D @kerrizor CodeConf 2016 • Ask A Question • Do Background Research • Construct a Hypothesis • Test Your Hypothesis by Doing an Experiment • Analyze Your Data and Draw a Conclusion • Communicate Your Results
  11. T H E S C I E N T I

    F I C M E T H O D @kerrizor CodeConf 2016 • Ask A Question • Do Background Research • Construct a Hypothesis • Test Your Hypothesis by Doing an Experiment • Analyze Your Data and Draw a Conclusion • Communicate Your Results
  12. T H E S C I E N T I

    F I C M E T H O D @kerrizor CodeConf 2016 • Ask A Question • Do Background Research • Construct a Hypothesis • Test Your Hypothesis by Doing an Experiment • Analyze Your Data and Draw a Conclusion • Communicate Your Results
  13. T H E S C I E N T I

    F I C M E T H O D @kerrizor CodeConf 2016 • Ask A Question • Do Background Research • Construct a Hypothesis • Test Your Hypothesis by Doing an Experiment • Analyze Your Data and Draw a Conclusion • Communicate Your Results
  14. T H E S C I E N T I

    F I C M E T H O D @kerrizor CodeConf 2016 • Ask A Question • Do Background Research • Construct a Hypothesis • Test Your Hypothesis by Doing an Experiment • Analyze Your Data and Draw a Conclusion • Communicate Your Results
  15. T H E S C I E N T I

    F I C M E T H O D @kerrizor CodeConf 2016 “ ” THE REAL PURPOSE OF THE SCIENTIFIC METHOD IS TO MAKE SURE NATURE HASN’T MISLEAD YOU INTO THINKING YOU KNOW SOMETHING YOU DON’T ACTUALLY KNOW. - ROBERT M. PRISIG
  16. PERFORMANCE TIME @kerrizor CodeConf 2016

  17. PERFORMANCE TIME @kerrizor CodeConf 2016

  18. PERFORMANCE TIME @kerrizor CodeConf 2016

  19. PERFORMANCE TIME @kerrizor CodeConf 2016

  20. PERFORMANCE TIME @kerrizor CodeConf 2016

  21. PERFORMANCE TIME @kerrizor CodeConf 2016

  22. @kerrizor CodeConf 2016

  23. @kerrizor CodeConf 2016

  24. @kerrizor CodeConf 2016

  25. + @kerrizor CodeConf 2016

  26. @kerrizor CodeConf 2016

  27. @kerrizor CodeConf 2016

  28. @kerrizor CodeConf 2016

  29. @kerrizor CodeConf 2016

  30. client.domain_name.each do @kerrizor CodeConf 2016

  31. • Queue a Resque job • Bill client on internal

    accounting system client.domain_name.each do @kerrizor CodeConf 2016
  32. • Queue a Resque job • Bill client on internal

    accounting system • Use [company]'s CC to renew domain client.domain_name.each do @kerrizor CodeConf 2016
  33. • Queue a Resque job • Bill client on internal

    accounting system • Use [company]'s CC to renew domain • If registrar returns an error, retry client.domain_name.each do @kerrizor CodeConf 2016
  34. • Queue a Resque job • Bill client on internal

    accounting system • Use [company]'s CC to renew domain • If registrar returns an error, retry • After 3 attempts, requeue and exit client.domain_name.each do @kerrizor CodeConf 2016
  35. @kerrizor CodeConf 2016

  36. (600 domains * $3 profit) - (~60 hours @ $100/hr)

    @kerrizor CodeConf 2016
  37. T H E S C I E N T I

    F I C M E T H O D @kerrizor CodeConf 2016 “ ” WHEN YOU CHANGE THE WAY YOU LOOK AT THINGS, THE THINGS YOU LOOK AT CHANGE. - DR. WAYNE W. DYER
  38. @kerrizor CodeConf 2016

  39. @kerrizor CodeConf 2016

  40. @kerrizor CodeConf 2016

  41. @kerrizor Keep Ruby Weird 2015 @kerrizor CodeConf 2016