Here’s a list of my projects, old and new.
DO52 Pro
I recently got a new keyboard off AliExpress, and been very happy with it! It is sold under the name DO52 Pro. The whole thing cost me only about £90 (about £40 for the keyboard, £20 for the keycaps, £20 for the switches, £5 for the hot-swap sockets and £5 for the batteries). Given it has a trackpoint, I think this is very good value for a mechanical keyboard.
Interactive Bootstraps
One of the things that helps1 my depression is having interesting projects to do. A long running one for me is bootstrapping a high level language with the maximum interactivity, rather than with some opaque binary blob.
The original inspiration came from the GNU Mes (Maxwell’s Equations for Software), but there are numerous other sources of inspiration, some I have probably forgotten.
Initially I started with a small stack based VM which uses printable ASCII characters as instructions, so could be typed, but quickly came across JONESFORTH, which at the same time is both a nice introduction to assembly programming, and an introduction to Forth, a language only slightly less minimal than my stack based printable ASCII interpreter, but is much more powerful.
Tooltracker
One very common way of tracking tools that I have now seen at several companies is a spreadsheet, or equivalent chat/channel, where when you borrow a piece of equipment, you are meant to update the tracking spreadsheet.
The problem with this is that this is easiest to do on your desktop, but when you sit down at your desktop your mind goes to using the tool you borrowed, and forget to update. Or you are borrowing it to go to somewhere else, so you can’t update it until you come back, again leaving a lot of scope for forgetting.
Wooden Stenoboard
Having access to a laser cutter can be very useful – while I was at the computer lab I had access to one and used it to make a keyboard suited for my fingers.
Conclusion: the natural resting position for fingers didn’t take into account the differences in reach/the awkwardness of pinky bottom/ring finger top row, especially since on my right hand the pinky and ring fingers are connected.
The firmware is available on my fork of qmk_firmware, branch kovirobi-steno-updated.
Steampunk Stentura 200 SRT
I had the fortune of snagging a cheap Stentura 200 SRT from eBay. I did end up using it for a while, even wrote my CompSci bachelors dissertation (both the software and the write-up) using it.
Later, I modified it to make it look more steam punk: put leather imitation key covers, repainted it; and I also replaced the internals with a Raspberry Pi (model 3B I think) to make it be more like a laptop and not require a serial port.
Bachelor's Dissertation
For my undergraduate degree I wrote a Scheme to Java byte-code compiler, which was pretty fun. The dissertation is available on GitHub and the compiler is in the same repo
It wasn’t terribly fast, but it did work, including first-class continuations (probably the biggest reason for the slowness is the stack representation).