Fun article discussing the early development of autocorrect, blacklisting unwanted words and working out what to correct: https://www.wired.com/2014/07/history-of-autocorrect/
(Also contains this remarkable comment: "As someone who typed the entire first draft of his book on a phone...")
Related Posts
Learning software development through playing and contributing to a MUD: https://tashian.com/articles/how-i-learned-to-program/
I'm having fun writing a simple type checker, but I'm learning firsthand why syntax-directed checking doesn't work. It prevents inference.
My checker catches real bugs, but it can't handle cases like this:
[1, 2].map(fun(x) { x + 1; })
I think I need bidirectional checking.
On thinking of books like software, treating them as evolving artifacts, and URLs versus paper book publishers: https://cs.brown.edu/~sk/Memos/Books-as-Software/