dimhold.by

Writing

59 posts Archive →

September 1, 2026

15 years after Simple Made Easy: 0 of my 102 local variables were final in 2013 and 91.6% of the code I keep is const now. I chose neither

In may 2013 I started a repository to translate a Rich Hickey talk into Russian. It is still at 0%. That same week I committed synchronized collections to a Java server. I rebuilt that shape and measured it. The commit did not move the failure rate at all. Then I ran the checklist from Simple Made Easy over my own code. 0 of my 102 local variables were final in 2013 and 91.6% of the code I keep is const now. I chose neither.

11 min read

code quality types

December 26, 2022

A secret scanner found 2 secrets in typed notes and none in the Whisper transcript of the same call

I wrote an invented call with 11 private items, typed it as notes and ran the spoken version through espeak-ng, MBROLA and Whisper base and small. On the notes gitleaks 8.15.2 found the AWS key and the password. With Presidio 2.2.31 added, the tools caught 7 of 11 items. On the 4 transcripts the secret scanners found nothing. Whisper broke the items with a shape and kept the door code, the bank code, a back problem and a salary, which no tool flagged anywhere.

12 min read

machine learning git text and encodings

December 19, 2022

My January and December venvs gave GPT-2 the same 20,000 tokens. The logits changed in between

I rebuilt my January 2022 venv (torch 1.10.1, transformers 4.15.0) next to the December one (torch 1.13.1, transformers 4.25.1) and ran GPT-2 on the same prompts. Greedy, generate() and seeded sampling gave the same text, 200 of 200 openings over 20,000 steps. The logits moved by up to 0.000107, all in one step between torch 1.11.0 and 1.12.1: a new AVX2 fold in reduce_all changed the order softmax adds its 8 lanes.

19 min read

language models numbers reliability