~/talk

Tackling Large Ruby Refactorings with Confidence (and Science!)

Talkat RedDotRuby 2015 · 2015-06-04..06-05· [ruby-on-rails]
links:none on file
slides:none on file

At GitHub a legacy permissions subsystem is rewritten into a new abilities system and instrumented with the open-source scientist library to dark‑run alternate code paths. The team generates abilities via migrators, runs 20,000 experiments per minute comparing control and candidate results, pushes mismatches to Redis, fixes data quality and order‑dependent bugs, tunes performance, and then ships; the new system runs in production with no persistent regressions.

AI-written summary · about

  1. 0:00Introduction
  2. 1:15Traditional refactoring
  3. 3:14GitHub Case Study
  4. 3:29GitHub Permissions
  5. 4:08Why
  6. 4:19Collaboration
  7. 4:58Permissions
  8. 6:51Repositories
  9. 7:38Transitional States
  10. 8:41Performance Degradation
  11. 9:47Change Permissions
  12. 10:11Rewrite the System
  13. 10:37Goals
  14. 11:17Testing
  15. 11:36Capabilities
  16. 12:16Test Coverage
  17. 13:08The Hack
  18. 14:21Science
  19. 16:42Caveat
  20. 17:00Spike
  21. 17:24The System
  22. 17:41Permission
  23. 17:58Cascading
  24. 18:30Implementing Abilities
  25. 19:19Adding Science
  26. 20:07Data Dashboard
  27. 20:55Graphs
  28. 21:12Performance Data
  29. 21:47Redis
  30. 23:36Data Quality Issues
  31. 24:51Mismatches
  32. 26:18Performance Problems
  33. 26:58Dark Shift
  34. 27:21Optimize Abilities
  35. 27:52Inference
  36. 28:19Shipping
  37. 28:33Rollout
  38. 30:13Backups
  39. 30:56Everything was green
  40. 31:40No mismatches
  41. 31:58The flip
  42. 32:09The science
  43. 32:35Abilities
  44. 32:58Scientist
  45. 33:14Questions
~/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.