Pointers (May 2023)
As seen on the internet, May 2023:
- From way back in 2019, but new to me: Herb Caudill’s Lessons from 6 Software Rewrite Stories. Concludes that the best way to launch a rewrite is not as an in-place replacement, but as a competitor to your existing system. If the new thing is any good, people will switch; if it sucks, just unlaunch it. Of course, this advice only applies if you have the luxury of maintaining two or more systems, which might be true for a lot of user-facing programs but usually isn’t for internal libraries and infrastructure.
- From a Mastodon thread by Dan Luu about trends in software development practice, a text transcription of a talk about Windows NT development. Common to both: you can never go wrong lowering iteration time and minimizing the impact of errors.
- Rich Hickey’s “Design in Practice” from Clojure Conj 2023, with lots of sound advice, the easiest to follow being to never design and implement in the same day. (I’ve learned the hard way that, if there’s not at least one shower between idea and code, the result is almost always more complicated than necessary.)
- As an obvious fan of plainly-styled web pages, I was primed to enjoy this analysis of “Prof. Dr. Style”, the minimalist homepage format common to academics. (Not to knock the wall-of-text “Dr. Bronner, Ph.D.” style, also fun.)
- A clever information presentation trick from a post on John D. Cook’s blog: if you think the user is going to want to reason about how numbers are related, show the numbers alongside their factorizations. For example, showing there are 24 = 23 3 newlines and 1440 = 25 32 5 total characters in a file lets you quickly figure out that there are 60 characters per line — at least on average, but probably exactly so, given the unlikelihood of the average number of characters per line being an integer.
- Curb Your High School nails it.
- Slide to Unlock a game about, of all things, unlocking your phone. Literally delightful.