9 September 2026
From past chats
Let your own photo library choose the format
Before comparing camera bodies, sample perhaps thirty photographs you like and thirty that disappointed you, then extract focal length, ISO, shutter speed, aperture, and lens. Group the failures by what actually went wrong: insufficient reach, motion blur, noisy shadows, missed focus, awkward depth of field, or simply leaving the camera at home. That turns “full frame or not?” into a weighted requirements list. Full frame only deserves extra weight if the failures it addresses occur often enough to justify the larger lenses and total kit. A useful follow-up question is: which photographs can your present camera not make, rather than which specification would be pleasant to own?
Compare photographs at equivalent output
Try a controlled comparison before attaching too much meaning to sensor labels. Match angle of view and depth of field, use the same shutter speed, and compare both files at the same final display or print size rather than at 100% pixel view. Then repeat with the aperture opened as far as each system permits; that second run reveals the creative and low-light flexibility a larger format can buy. The DPReview studio scene is useful for a first pass, but borrowing or renting the leading candidate for an evening and a walk will test autofocus, handling, and carrying weight that charts cannot. Would a visible improvement survive your normal export size?
- DPReview: equivalence in a nutshell
- DPReview studio scene comparison
- Cambridge in Colour: digital camera sensor sizes
From the homepage
Give byte values a boundary contract
Adding byte slices to a configuration language is a good moment to specify their boundary behaviour, not just their in-memory type. Write down whether ordinary strings are always UTF-8 text, which Base64 alphabet and padding forms are accepted, whether non-canonical encodings are rejected, and how empty bytes differ from a missing or null value. Keep hashes as raw bytes internally and choose a textual representation only at I/O boundaries. A compact table test plus a fuzz target for bytes -> encode -> parse -> bytes should expose the awkward cases quickly. One follow-up worth deciding explicitly: must parsing preserve the writer’s original spelling, or only the resulting byte value?
Prototype responsive code as a publishing contract
For responsive Go snippets, make a tiny fixture page with three deliberately awkward examples—a long call chain, a composite literal, and a comment—and inspect it at narrow, article, and desktop widths. Keep one canonical gofmt version in the HTML and RSS; treat width-specific golines output as progressive enhancement so copying, indexing, and feed readers retain stable source. The first experiment can compare horizontal scrolling, pre-wrap, and an explicit width selector before attempting automatic replacement. Define success as readable output whose copy button always yields compiling code. Is automatic reformatting genuinely clearer, or would a reader-controlled “compact layout” switch be more predictable?