~/talk

Machine Learning on Git: Hercules and His Labours

Talkat GoWayFest 2.0 2018 · on Friday, 2018-09-28· [machine-learning]
slides:none on file

A Go tool called Hercules computes line burndown using incremental blame on top of go-git, handling fuzzy renames, Myers diff, and interval trees to track which lines survive across years; Linux-scale repos run in about one hour versus days for the original Python tool. File-pair co‑occurrence becomes embeddings via SVD plus t-SNE to plot 3D clusters. Performance hotspots: file diff ~50% and tree comparison ~45% of runtime; memory vs speed trade-offs determine disk or in‑RAM modes.

AI-written summary · about

  1. 0:00Introduction and setup
  2. 1:10Limitations of GitHub analytics
  3. 2:56Line burndown analysis explained
  4. 5:01Hercules project origins
  5. 6:51Design goals for Hercules
  6. 8:19Git commit traversal challenges
  7. 11:40Naive vs incremental blame
  8. 13:06Git snapshots and file changes
  9. 15:41Handling fuzzy renames
  10. 19:24Diff algorithms and line intervals
  11. 22:44Performance optimizations
  12. 24:51Ownership plot analysis
  13. 26:36Overrides analysis
  14. 27:40Couples analysis and ML
  15. 31:13Go project structure lessons
  16. 33:43CLI tool challenges
  17. 35:52Go vs other languages
  18. 36:56Hercules features summary
  19. 37:45Q&A session
~/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.