~/talk

Refinements - The Worst Feature You Ever Loved

Talkat RubyDay 2016 · 2016-11-25..11-26· [ruby]
slides:none on file

Refinements aim to make monkey patching local by letting code declare and using scoped method overrides, but early dynamic scoping makes method lookup invalidate the method cache and costs about a 20% slowdown. Changing to lexical scoping preserves performance but prevents refinements from reactivating when a class is reopened, breaks interactive eval (pry/IRB line-by-line), and removes the Rails/DSL convenience use cases, so the feature exists but rarely gets adopted.

AI-written summary · about

  1. 0:00Introduction to refinements
  2. 3:11What is monkey patching
  3. 8:57Problem refinements solve
  4. 12:09How refinements work
  5. 15:00Dynamic scope issues
  6. 18:41Confusing and dangerous behavior
  7. 21:00Performance impact of refinements
  8. 25:56Lexical scope solution
  9. 31:22Trade-offs of lexical scope
  10. 34:44Final verdict on refinements
~/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.