Dynamite the Monoliths! Taming dependency cycles in a 20-year old...
summary
A Perl script analyzes a 20‑year‑old Audacity codebase (~280,000 LOC, tens of millions of downloads) to find and collapse dependency cycles so they can be broken. It parses includes, runs a strongly connected components algorithm, squashes them into a quotient graph, removes redundant edges and renders with Graphviz + Perl, while emitting a stderr trace of direct dependencies that names the exact surprising include to change; output drives concrete refactor commits during a release.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 0:50My projects
- 2:28Noncyclic
- 3:38Unhelpful picture
- 3:52Simplify the picture
- 4:18Clear as mud
- 4:37Where do I start
- 5:10Transformations
- 5:20Outro
related talks
47mExploring a complex codebase with AI
54mResolving technical debts in software architecture
41mDomain Re discovery Patterns for Legacy Code
32mKeeping your code strong
52mEscaping Developer Nightmares
51mGetting yourself out of trouble with anti-patterns
55mCI Pulled It, Prod Ran It: The Real Risk in Dependency, by GraphsIlkka Turunen
49mTreat Your Code as a Crime Scene
