~/talk

Investigative Metaprogramming

Talkat RubyConf 2019 · 2019-11-18..11-20· [ruby]
github:bhaibel
slides:none on file

Sees a concrete claim: an obscure Rails error that would take weeks becomes solvable in hours by inserting runtime instrumentation. Notices the actual bug is a frozen hash and the thing that matters is where it freezes not the stacktrace. Uses tracepoint API and prepend to override methods to record events, instruments the freeze method and toggles conditional binding.pry breakpoints, stores results in a temp initializer or global, and pinpoints the problematic association change.

AI-written summary · about

  1. 0:00Intro
  2. 1:31The Problem
  3. 2:02The Failed Tests
  4. 4:08Defining Metaprogramming
  5. 4:38Agenda
  6. 5:26Definitions
  7. 6:37Send with variables
  8. 7:00Modify academic definition
  9. 7:24If vs send
  10. 8:20Ruby interpreter
  11. 9:17Class macros
  12. 10:34Define method
  13. 11:09Definition
  14. 11:51Program Structure
  15. 12:23Pragmatics
  16. 14:09Tools
  17. 14:47Code Bases
  18. 15:27The Correct Tool
  19. 16:56Classics
  20. 18:21Methods
  21. 19:28Expanding your understanding
  22. 20:19Recording
  23. 20:32Tracepoint
  24. 21:21KalamaTree
  25. 21:51Where to put it
  26. 22:28Reviewing
  27. 23:28Solving real problems
  28. 24:16Investigative metaprogramming
  29. 24:55Reviewing problems
  30. 25:31Recording problems
  31. 25:50Reflection problems
  32. 26:06Stack trace
  33. 28:06About Betsy
~/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.