Codementor Events

This Week In Tech: Software Archaeology & EBWiki

Published Apr 30, 2023
This Week In Tech: Software Archaeology & EBWiki

This past week was spent exploring the EBWiki codebase, which I hadn’t paid much attention to over the past year or so. The project has had multiple pieces included, some complete and some not. The first priority is to upgrade Rails versions and see how the site performs

In the past week, I’ve used the Rails Upgrade Guide to migrate the platform to a more recent version. I do want to distinguish between a platform upgrade and data upgrade, which I have not covered yet, as I have no desire to make long term unilateral decisions about the case data we have collected.

Upgrading the app allows us to have a better grasp on security and platform upgrades. We can also use new built-in functionality to replace code that we created.

Clean out code? The thing that matters the most to developers? Heresy, some would say. That’s an emotional response to a necessity in software maintenance & development. I can cop to having overly emotional, judgemental responses to coding, styles, IDEs and other trivial matters. I’ve extolled the virtues of Jetbrains products to be just as productive in Visual Studio Code over time.

This piece from Code Magazine on emotional code covers the ways that emotions do pervade industries and realms, especially in places where emotions “don’t belong”. One learning experience for myself and emotional code involves the pieces of code in EBWikiI was sure to complete and integrate that…well, weren’t completed. Diving back into this, I see code for mapping libraries I installed that we don’t currently use. Setting up the development environment in 2023 involves learning technology that I pooh-poohed previously.

2023 Local EBWiki Development with WSL 2, Docker and Visual Studio Code, a.k.a. "How Do You Like Me Now?"

Humble pie doesn’t taste so bad.

In EBWiki’s case, much of the code involving history and versioning data hasn’t made the transition smoothly, so I created a separate ticket to manage that upgrade.

In regards to Tidying First, I won’t say I followed this advice hook, line & sinker or verbatim. The upgrade had priority, so that was my focus initially. At the same time, I needed to make small fixes to have tools like CodeClimate, brakeman and dependabot work correctly with the current repository. I’ve also plugged up an intermittent test failure that had messed up some upgrade builds. I plan on mixing these different sized tasks to help with developer momentum and keeping engaged; it’s easier when there are victories to celebrate in between frustrating moments.

Discover and read more posts from Mark Nyon
get started