(31 Aug at 22:57)
|Hello! It's vacation season around here, this time a trip to see some vaccinated and covid-tested friends in northern Michigan on a lake. I thought maybe I'd get some recreational programming done while I was up there, but the atmosphere was a bit more like kids, commotion and party than it was like meditative retreat with just a typewriter and an acoustic guitar, but that was okay too.|
Earlier in the month, I worked on adding stuff to my bespoke machine learning setup ("tom7flow"), since I have recurring urges to use this for wacky projects, and a specific thing in mind to try for Destroy FX (of course this very hacking distracted me from just finishing the one last piece of the Buffer Override UI, after which we can just release those bad boys!). I added support for convolutional layers, a classic trick for reducing the number of parameters by repeating the same pattern over and over. For example when trying to do some processing of a NES video frame, of size 256x240, instead of having a layer with 256x240 "pixels" on it with independent weights, you might instead learn weights for an 8x8 block but repeat that 32x30 times. In fact I revived some earlier failed NES ML project (it looks like I never posted about it?) as an example to develop with, and I can at least show you the pretty ways that it distorts NES graphics:
I love those dirty pixels. I even "wasted" an additional afternoon building a real-time version that lets me play games through the model at 60fps (also with sound; unnecessary!), and then played glitchy Nintendo games for a while. Unnecessary! And speaking of pixels, with my new high-DPI monitor I've been futzing again with the fonts I use, and I've decided to go back to the venerable FixedSys (my all-time favorite bitmap font), but to use it at 2x size. I like the giant fonts for my aging eyes, but also to reduce the visual distractions when I'm writing or programming. (To be clear the draw of a big high-resolution monitor for me personally is mostly about the visual quality of images, video, and games, not about 'screen real estate' to pack full of blinkenlights and multi-pane IDEs.) In order to revive this font I manually converted it to a fake-bitmap TTF (using previously described convenient tech) and fixed some of the few flaws with the font (e.g. I think the  characters descend lower than they should) and added some missing unicode characters that I'd like to have around, yielding FixederSys. I managed to get it rendering perfectly in emacs, and I'm really happy with it now! Since I'm using it at 2x, I have in mind that I may be able to improve this font further using the increased bitmap resolution, while still keeping the chunky pixel character that I admire. So I will try that out on some rainy day.
In media news, I finished up Sniper Ghost Warrior II: Contracts: Ghost Killer Snipe Wars or whatever, which was what I was in the mood for, I guess. I finally got around to playing Ghost Trick since they fixed some serious playability issues on iOS. It was creative and great and I endorse the consensus that it's an oft-overlooked gem. Then I started Filament, which is a pretty neat puzzle game that I'm enjoying so far, although I'm not sure I will 100% this one with Psychonauts 2 just sitting there teasing me to be played!