Dev Diary 2022-01-18

Strangely enough, I’d started a few dev diaries over 2021, but never got around to publishing them. 2022 is starting out alright, so thought I’d share the latest (after accidentally clobbering the rough draft concatenating all the old diary links into this one, of course).

Since choosing Ruby as my default language, I’ve already re-written a few household programs (and even wrote a few new ones) and felt a bit of relief that I no longer need to keep extraneous details in my head. It’s also had the delightful effect of letting me dig a bit deeper into concepts that I’d wanted to play with, for example Artificial Neural Networks. It now appears I had a bit of analysis paralysis - there’s a lot of different machine-learning frameworks to try, such as PyTorch and TensorFlow, and the investment is never “just” the framework - it’s learning all the supporting libraries as well, and that seemed more than I was ever willing to try over a cup of coffee and an hour to kill (just trying to install one of these frameworks can be a bit of an ordeal). Since I could lean on Ruby, I took a stab playing with ruby-fann, and already have a few small neural nets to play with (and I didn’t spend more than an hour trying to get a basic net working). The ‘constraint’ of “Ruby first” has been paying handsome dividends, so I’ll be keeping with it until I get through my large list of computer-y things I want to learn.

I’ve nearly wrapped up going through decades of digital detritus with ddrescue and restic. ddrescue has been great for recovering data from rotting DVDs and CDs, and restic has worked great for de-duplicating all the crap. I think if I had known how much time I was going to sink into this project (at this point the effort is measured in weeks) I would have blanched at the idea, but not remembering what things are on a 10-year-old USB stick has freed up a bit of space in my head for other (more interesting) things.

Along with that file recovery effort has been a re-examining of and my other note-taking systems. Many of my notes pre-date my (now default) use of Markdown, which despite its flaws works well enough for everything I do now and foresee doing in the next 10-20 years. I spent time writing a bunch of Vim regex to clean up the markup on all the files, and also re-organized the files by topics and concepts instead of technologies (for the most part). Since I was generally grepping for stuff anyhow, keyword search remains easy, but for cases of “I don’t know exactly what I’m looking for” I’m in a much better spot. Again a case of the project taking longer than I’d expected, but the mental cycles freed have been a welcome dividend. I might even fix a few things on that domain that have been on the back burner for years.

I’m well overdue editing and getting the new Cyberdelia episode on Ruby 3.1 out the door, but it’s been a productive winter so far, just a matter of finding a few hours in the week.