the:chris:walker ↩

Fire

Ok, so this post isn’t really about fire. It’s actually a facepalm because I only just published the last post I wrote and the date on that was January last year…

Yeah, I don’t post much.

So I thought, maybe time to write another. Especially these catch up posts which retrospectively remind me of all the little projects I have been playing with/working on and which ones seemed important when.

But the fire thing: that’s because this weekend I identified whether the hole in a piece of wood was caused by an attempt to light a fire or not. Exciting stuff, I know. So I have decided to go professional, and you can contact me for a quote if you have a piece of wood with an unknown hole in it that you want me to make a judgement on. Prices very reasonable.

Moving on, let’s look at the last 18 months. Well, COVID happened and is kinda still happening. I have finally finished my masters and wrote a dissertation (note to self: never do that again!). My list of possible projects grows, and I have a whiteboard for what I could work on which I will use for reference:

whiteboard todo list
  • audio-canvas was a fun one, attempting to make good-looking music videos from just audio. Lots of audio processing and FFT and drawing, then piping output to ffmpeg. Vaguely working.
  • bookthing which I mentioned before, is kind of a self-hosted, less-community focussed book reading tracker / bookshelf software. I was using it as a dog-fooding for proc but have no idea where it stands now.
  • citadels is a current favourite. The board/card game cloned as a multiplayer web-based game. Not only fun to implement the game mechanics, but an excuse to use WebCrypto to make all state public in the game, but still restrict access to some information to only the relevant player. I also want to use the web presentation API to allow the “public” view on a big screen, while all other players can use their phones. So I want it to be playable with all people in the same room as well as over the internet with all players remote.
  • gush is a magnetissimo clone which I never really got anywhere with. Low-priority.
  • astris is the e-voting software I wrote for my dissertation and was actually quite interesting. Could do with some further work on the UI elements.
  • labyrinth the classic board game. I have implemented the engine and a basic TUI, would be cool to have a web-based UI.
  • money is a simple OFX import and transaction tagging app. Stores data in a local database, and allows tagging of transactions. Lots of auto-tagging features I would like to add, and graphs of spend over time.
  • parkrun-api is the result of slowly accessing all the publically available data from the Parkrun websites to expose in a GraphQL API. The main aim was to be able to set up Strava-like groups of runners and aggregate statistics for the group or between members of the group. The data and API works nicely, but then I got bored and never continued on to the rest. I do have all the Parkrun data up to maybe Jan last year, which is a nice dataset in itself.
  • proc typescript web-app framework. Mainly the evolution of ideas from my day job. The value add is to provide consistent way to pass around a per-request context which has handles to the application “globals” or “per-request” data. This abstraction allows better tracing, logging, metrics and dependency injection. It also provides a web-server and GraphQL helpers, consistent error wrappers, exception handling etc… haven’t touched it in a while though - could be stale.
  • traintracks is a solver for the Time2 TrainTracks puzzle. It’s pretty cool, but I wanted to make a recognition app, where you could point your phone at the puzzle and have an AR solution overlay à la Magic Sudoku I made the solver, but the image recognition stuff was not implemented. This would be a fun one to pick back up.
  • tto a bot for thetravelers.online, a great slow-paced, text-based MMO. This only had very early effort so far.
  • wheel-of-tea wow, this idea just sticks around. And there does exist a generic “wheel of names” web app, so I am not sure how worthwhile this is, but I do love the idea…
  • keyboard this isn’t a programming project, but I am halfway through building my own keyboard. Got to hand-wire it which I am slightly putting off, but it is another exciting project, and deserves a picture! I decided I really like the Das4 I use most of the time, including the numpad, but also for the USB ports and the dedicated media keys and rotary-encoder - super useful. I also like a split, but nothing too extreme. This keyboard (layout) is the result of those factors and a few cardboard prototypes…
Keyboard Mk5

Finally, the projects I wish to work on are citadels and keyboard. I think they will be the most fun, and I want to play citadels online (none of the existing online platforms appear to be FOSS).

PS. NB that opfs is not there. It is pretty much abandonware at this point, perkeep appears to do a better job. It was a very piece of software to work on, and maybe I will resurrect it, especially as I really need a way to get my photos off google onto somewhere with easy access to the data… I really hope I get to use the “photo-grid” layout algorithm I wrote for it as it was really cool.