~/talk

Configuration, Extension, Maintainability

Talkat CppCon 2021 · on Sunday, 2021-10-24· [engineering-leadership]
slides:none on file

Argues that granular knobs become a maintenance tax: Hyrum’s Law bites, tests won’t catch timing/regressions, and defaults get petrified — examples include inexplicable settings like 256 bytes or 256 MB per-reader across ~1k files and the myth that 80% of cycles live in 10% of code. Recommends outcome-oriented controls (use an enum to optimize for cpu/io/memory), runtime feature flags for gradual rollout, and migration patterns like stamping legacy defaults; proposes intent-focused enums instead of leaking buffer and async internals.

AI-written summary · about

  1. 0:00Introduction
  2. 3:34Centralization
  3. 5:17Configuration is an abstraction
  4. 6:28Abstract examples
  5. 7:05User requests
  6. 7:39Buffer size
  7. 8:17Is that the right answer
  8. 11:12Design Philosophy
  9. 12:24Compiler Detection
  10. 13:20Configuration
  11. 14:39Thermostat
  12. 15:50Microwave
  13. 16:26Popcorn
  14. 19:39Control outcomes
  15. 20:26Command line flags
  16. 20:38Optimization settings
  17. 22:19Buffer buffered reading interface
  18. 25:20Configuration based on intent
  19. 28:51Hirams Law
  20. 30:05Leaks
  21. 30:36Memory Budget
  22. 31:50Questions to ask yourself
  23. 34:02Haunted graveyard
  24. 36:28Is granular configuration bad
  25. 37:03Configuration should be orthogonal
  26. 37:54Refactoring migration
  27. 38:17Number of threads
  28. 39:04Default visibility
  29. 40:59Feature flags
  30. 42:42Level of abstraction
  31. 43:06Defining context
  32. 44:26Class hierarchy
  33. 45:24Extension in C
  34. 45:48Stand Accumulate
  35. 47:22Command Line Parsing
  36. 48:48Conclusion
  37. 49:46Highlevel analysis
  38. 50:15Dynamic configuration
  39. 51:29External to semantics
  40. 52:19Generic vs narrow interfaces
  41. 52:59G flags
  42. 54:48Outliers
  43. 55:16Accepting Defaults
  44. 57:14Exploitable Properties
  45. 59:01Invariance
  46. 59:22Dedeprecating knobs
~/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.