4 minute read

This post is a statement, a collection of my resolutions for 2022, in the hope that I’ll come back here in December and that I’ll be able to write a positive wrap-up article describing how I have accomplished my goals, which pitfalls I fell into and how I overcame them.

pitfall
Graphical depiction of me overcoming pitfalls throughout 2022

Integrating Project Tracking in my daily workflow

I have a lot of ongoing projects either privately, academically or retro-computing wise: I’ve never bothered to actually track my progress until I realized I was making the same mistakes over and over again. At that point, I decided to open this blog, hoping that it would help me track what I do: it does, but I’m a goddamn perfectionist and it takes me forever to write and publish a post, which kills my productivity. Moreover, I can’t use a public blog to track private matters! I decided to press on until I’d find a new solutions, so now I have a couple of repositories for public and personal stuff (which is a problem in its own right since I don’t like keeping personal stuff in the cloud).

In 2020-2021 I was exposed to Redmine for the first time through IRAlab, the robotics lab I work with: I didn’t like it at first, it seemed so antiquate and hard to use, and our specific installation was plagued by years of (debatable) internal policy. Since I’ve been tasked with migrating the lab’s Redmine instance to a new server, I’ve decided to try and set it up on my server using Podman for fun (and profit): it was a great experience! I’ve become acquainted with how it works, and I’ve realized I can use it to log my progress both publicly and privately without writing lengthy blog posts.

Moreover, Redmine offers a solid time-tracking system, a calendar and advanced tools like wikis and repository integration: now that it comes with Markdown, I have no excuse not to use it!

Acquiring new programming skills

In the past few days, I’ve been thinking about what I could do to improve my programming skills: I could learn a new language like Rust, I thought, that’s an increasingly popular language and it’s going to be good for me in the long run!

Well… I’m not sure about that. See, I’m one of those folks who want to get things done by yesterday morning, so I often don’t bother diving into programming unless it’s really necessary: for what I do, 99.5% of the code I need has already been written, and I make do with calling it from handy shell scripts. For the same reason, I often don’t need anything other than C, C++ and Java: they are so popular that you can be sure that if you need a specific tool it’s been written in either of those languages.

But Jack, what about Python? It’s everywhere! – I despise Python: I don’t like the language, I don’t like the syntax, I don’t like what people do with it. Yet it’s so simple I’ve been able to repeatedly translate Python code in C++ (plus Bash for automation) quite effortlessly.

There are a few notable exceptions:

  • I’ve been relearning some Common Lisp, I use it for trying out algorithms: the language is extremely simple and stable, and the CLHS (Common Lisp HyperSpec, aka documentation) is quite detailed even if it’s incredibly convoluted and ugly. CL allows me to be expressive while keeping it simple, without having to bother about objects, types, allocation and all of that boilerplate that break the already feeble connection I have with computational theory.

  • I don’t do much (read: at all) web development, but if I did, I’d probably use Ruby. Ruby is one of the first languages I learned and I have a deep connection with it, plus the existence of excellent tools such as Rails and RubyMine makes it extremely simple to just dive into it, just look at this:

    ["Apples", :pear, 42].each { |i|
        tmp = i.to_s + " is a " + i.class.to_s;
        print tmp;
        print ", " unless i.class == Integer }; puts
    

    Yields: Apples is a String, pear is a Symbol, 42 is a Integer. Magic!

Ultimately, this paragraphs boils down to: if a programming language is a hammer, you shouldn’t learn to aimlessly hammer down nails, but rather how to make a table first, then how to use the hammer to tie it all together second… only if you need to make a hundred tables a month you’ll see the true benefits of mastering the use of the hammer(s).

Reassessing the state of the collection

I’m currently in the process of moving, and my collection had to be relocated too: unfortunately, the new location is not as big as I’d want it to be, and I had to stop acquiring new hardware. This might actually be a good thing, since my collecting habits were becoming a bit… exaggerated.

In 2022 I’ve decided to focus on:

  • Cataloging and documenting what I have
  • Acquiring spares for systems that need them
  • Wrapping up ongoing restorations

This will have to wait till I’m fully done relocating, so it’s kind of a long-term project.