
The first iteration of the camera worked well for the first few plates, but it turned out to be too flimsy to stay in focus. I redesigned it to be more rigid by using bolts to attach the plate carrier…

Someone down the street threw out an old rear-projection television, so I tore the lenses out of it and made a camera out of one of them. It can capture images on cyanotype paper and cyanotype gelatine on glass. Rear-projection…

One of my favourite movie scenes is the assassination of Kurahara in Mishima: A Life in Four Chapters (1985) I think it’s one of most arresting scenes ever filmed. Yukio Mashima was one of the most important authors in post-war…

Wrote Tetris in 6502 assembly for the Commodore VIC-20. You can find it here. Collision detection is a mess, and the sound effects are primitive. Flicker is also a problem. The pros are able to synchronize rendering with the scan…

Flight of Avro CF-100s from 414 squadron, June 1969. Canadair CT-114 trainers, late 1960s. 26118 was lost in a fatal accident in 1978 while being operated as Snowbird 8.

I wrote a dumb utility to print a image to the console using Rust: https://github.com/paulmcgovern/ansi_image Rust is great, but I speak it with an accent. I’ve been working mostly with Python and JS for the last few years so returning…

Recent versions of the Windows console support RGB ANSI colors. Here’s a script that outputs an image to the console, useful for when you feel the need to beautify the user experience of some backup script. It repeatedly samples parts…

I came across some interesting ways to use common table expressions (CTE) in SQL Server and pass them on in the hope someone may find them useful. The first example shows how to use a CTE to update a table,…

Finished the year with a pair of small notebooks. I backed the cover fabric with rice paper and was careful to keep the non-stretchy dimension of the fabric running in the same direction as the paper grain. The backing turned…