Neil Blakey-Milner

Weeknotes: 2025-W20

Published: , updated:


Summary

Finished up my 3D printing cabinets (except, you know, finish), and move them to their new home and stash stuff in them. Started working on my utility room organization, adding some cleat-mounted wall panel organizers using mostly wire holders. Made some minor progress on my entryway mini-bench project.

Photos

(Based more on time of processing than time of taking…)

Even more dichromatism


ack to basics


Cleat-mounted wall panel in utility room

Enjoying

Newly discovered

Highlights

If there’s an if condition inside a function, consider if it could be moved to the caller instead … a function might check precondition inside and “do nothing” if it doesn’t hold, or it could push the task of precondition checking to its caller, and enforce via types (or an assert) that the precondition holds. With preconditions especially, “pushing up” can become viral, and result in fewer checks overall, which is one motivation for this rule of thumb.

In a codebase I thankfully rarely had to look at, there were hundreds of functions that took a string that represented some entity, and supported at least 3 major ways that the entity was named. Every one of those functions had a decorator that would normalize this.

In my codebase, I just created an entity class that could be instantiated with one of three different functions for each of the formats of strings, and then all functions took an entity of that class.

Tangentially related, in a codebase I looked at fairly reasonably, it was littered with if verbose-style and if prod-style conditions - these were surprisingly easy to replace with taking interfaces instead. The objects would do the logging/debug/whatever if needs be, leaving the calling code oblivious to the special cases. Again, the caller would be doing that lifting.

How To Have Amazing Tool Organization Using Scraps of Electrical Wire - Herrick Kimball

How To Have Amazing Tool Organization Using Scraps of Electrical Wire - Herrick Kimball

So simple - I’ve already made more holders using this method than I have in the past few years.


Weekend Update: Colin Jost and Michael Che Swap Jokes for Season 50 Finale - Saturday Night Live

Weekend Update: Colin Jost and Michael Che Swap Jokes for Season 50 Finale - Saturday Night Live

The Weekend Update end-of-season joke swap not only is a highlight of the year, but they seem to be leaning harder into it every time…


The New Fog Sudoku Rule We LOVE! - Cracking The Cryptic

The New Fog Sudoku Rule We LOVE! - Cracking The Cryptic

“Each constraint type may not contain repeated digits in the puzzle” is a great new variant rule that works well with dynamic fog. This sudoku video is also relatively straightforward and short, so should be enjoyable to many.