Night of 10-16: no browser on the laptop, GitHub's computers instead
2026-10-16 21:00 to 2026-10-17 00:50 MDT, Claude, while Matthew was away and then asleep. No crash since the 20:53 freeze.
The rule tonight
- After the 20:53 freeze (the crash log's 35th row), Matthew's word: no browser on the laptop. Every browser run went to GitHub Actions instead: the Dress Up branches' tests, the pictures, page screenshots. The laptop ran one pinned job at a time (
taskset -c 0-3 nice -n 10,dune -j 4): builds, node test runs, ffmpeg. - Learned: GitHub's ubuntu-24.04 image has Chrome but no ffmpeg, and a job-level
ifcannot read the matrix.
Done and live
^ticket(181), the dashboard moved to matthewhammer.org/hazel/dashboard/, in the homepage's repository.dashboard/site_publish.pycommits it there with git's plumbing (never touching the checkout), at most every ten minutes, as the homepage's Pages build takes about two. The old addresses redirect with their#ticket-N. The homepage's checkout is now usually behind its origin: pull before pushing there.^ticket(182), a gallery of these notes at matthewhammer.org/hazel/work-notes/: a card per note with a picture drawn for it, a summary, its next steps and the chips and hover cards. A new note needs its entry inwork-notes/gallery.jsonand a picture indashboard/gallery_art.py, thennotes_gallery.py.^ticket(183), the pictures of 2026/10/17: Dress Up 0.0.94, with a new folder of the friend climbing each place's ladder (18 pictures), made on GitHub's computers. A control run of 0.0.90 found GitHub's Chrome draws what the laptop's drew, though not byte for byte (264 of 349 the same, 73 off by a few anti-aliased pixels, 12 caught at another moment of an animation). The workflow is on kids-choice-games'archive-183branch; it can be started by hand once it is on main.^ticket(164)closed on Matthew's word, after his 🧪 runs of 0.0.94 on the Ubuntu laptop (Intel i7) and the iPad.
Hazel
^ticket(156), the trial merge of #2469 into #2635 (trial/2635-up-to-date,9e7258b55b): its 11 new CI failures are fixed. Key.mk read an optional tagName; OutlineRename's module path; and two places where #2469's cell code had never met #2635's syntax: a run ofhint "…" test … endtests (the mvu docs) and ado x <- e inblock (splice-row.hz). Fast checks now fail only on the 10 expected tests (DefStaticsParity per member, Editing.TableDecorations). Full tests were still running at 00:50.^ticket(18), views in the worker, coded with Matthew's defaults (perf/2635-views-in-worker-costly,ee885708ac, pushed for CI, no PR): only the costly livelit views (8 ms or more on the page) on the screen run in the worker. The tests pass; nothing is measured yet, as that needs a browser.
Dress Up
^ticket(160)settled on GitHub's computers: the on-screen controller costs nothing we can see. Walking the forest three times each way, holding the on-screen arrows averaged 55.7 frames a second, and the game controller with it hidden 57.4, with a spread of 5.7 between its own runs. No shadow, layer or see-through change mattered. An earlier note of mine said it cost about 5 frames a second; that run never showed the controller (a connected game controller hides it) and sat inside the noise. Only the kids' devices can decide now.- Branches built and green on GitHub, each waiting on Matthew's review:
collisions-176,flash-177,postcards-43,diagonals-144,speedlog-166,bgtab-167,measure-179,objects-180, andci(the tests' workflow). The next Dress Up report,^du_report(3), is drafted onreport-003, not pushed.
Waiting on Matthew
- Review and merge the Dress Up branches above (then
^ticket(178), splitting the game into files, can start), and publish^du_report(3)(the draft, onreport-003). ^ticket(18): a daytime browser run to measure Full Body's main thread and Kids' Choice's release, against #2635.^ticket(160): the forest on the iPad and the Ubuntu laptop, held arrows against keys or a controller.^ticket(183)'s workflow onto kids-choice-games' main, if days should be made on GitHub from now on.
Next
^ticket(156): read the trial branch's Full tests, and HeadlessRows there.^ticket(18): measure the views in the worker in a browser, by day, and choose the threshold.- Merge the reviewed Dress Up branches, one at a time, each with its version.