Working Notes: a commonplace notebook for recording & exploring ideas.
Home. Site Map. Subscribe. More at expLog.
A long, somewhat jet-lagged week; I did wrap up some loose ends happily.
Tidy First? is a short-yet-deep book by Kent on choosing the right time to refactor software. I've found Kent's books extremely valuable for building taste, and thinking through second- and third- order consequences of decisions.
The most fascinating part of the book was the discussion on the value of optionality in terms of thinking about the tradeoffs for cleaning up now vs later, and of shipping features now or later. I use a variant of this argument to encourage developer experience engineers to ship now instead of later; the knock on effects of force-multiplying so many others almost always makes the tradeoff valuable.
The bit that was surprising -- and yet, resonates perfectly -- was
Constantine's Equivalence, cost(software) ~= cost(change) ~= coupling
over
the lifetime of the project. The cost to get started is almost negligible in the
grand scheme of things; and the cost of change is influenced by the design:
design for flexibility and the projects hums along smoothly, adapting to the
world.
Sometimes I have invested in extremely strongly coupled software with the intention of keeping it short lived (prototypes, particularly) -- which does satisfy the math modeled here as well.
I re-started reading Kill it With Fire and started How to Make Things Faster, both of which have a host of strategies to drive valuable technical change in a business environment.
The list of tools includes several I haven't yet used, and should plan to spend some time with so I can use them in anger when I need to.
Reading the HN discussion pointed to a discussion on strace (which I love to use) and the cost of running strace (something I hadn't internalized) -- discussed here. There are several important details on strace in the article, not least of which include:
On the bottom of San Francisco bay are several thousand unused straces, which were intended for Y2K issues that never arose, and so were scuttled.
I've been trying to find the write way to set up for a writing project related to Mechanical Sympathy; after playing with different tools I found Zettlr to be remarkably pleasant for the project itself.
Highlights included a minimal interface, Zettelkasten style links and VIM bindings, making it the perfect editor. The interface was also fairly snappy, and the Bordeaux is beautifully elegant.
— Kunal