~/talk

To Rewrite, or Not to Rewrite, That Is the Question

Talkat OpenJS World 2023 · on Tuesday, 2023-05-09· [software-architecture]
slides:none on file

A Raspberry Pi plugin for Johnny-Five (raspberry-io) is decomposed into about ten npm packages and its last core module is rewritten after failed four times and finally completed in Feb 2019. Successful rewrites rely on solid types and comprehensive preexisting tests, incremental releases (alpha/beta/RC), clear changelogs and upgrade guides, CI and code mods. Rewrites fall into full/partial/heavy/light categories, expect a few regressions and plan phased rollouts and observability.

AI-written summary · about

  1. 0:00Start
  2. 16:27Determine consequences from regressions
  3. 22:10Craft solid types before rewriting
  4. 23:24Test Driven Development is your best friend
  5. 25:38Create alpha, beta, and release candidates
  6. 31:45Write changelogs and upgrade guides
  7. 33:49Don't let perfect be the enemy of good
~/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.