Tooling Improvements, Catacloud Progress, and Reflections
Today was a mix of tooling improvements, work on Catacloud, and some long-term personal reflections.
Editor and Terminal Theme Enhancements
I've been working on a very simple light theme for my Neovim setup, which seems to be working fine. I also modified my Neovim configurations to dynamically pick either the light or dark theme based on the terminal's theme. This is quite useful because my workspace in the mornings has a lot of light and reflections on the screen, making a dark background hard to read. A light background significantly improves readability in such conditions.
My light terminal theme, derived from the Neovim theme, isn't perfect and needs some improvements, which I'll address at some point. I also spent time restructuring my dot files to be cleaner, so I no longer have to manually link all of them at once. The themes now seem stable, though the terminal themes still require more work.
Recording System Transition
I'm also testing a new recording system called "Asak," which is a terminal tool, replacing the GNOME recorder. This tool directly creates a WAV file without external dependencies, saving me processing time as it can be directly used by Whisper.
Job Processing Infrastructure and Catacloud Progress
Yesterday, I refined the job processing infrastructure proposal, which outlines new aggregates to track machine states for commissioning and decommissioning.
For Catacloud, I plan to implement the machine provisioning system. I want to support different backends for provisioning depending on the machine type. This might involve a trait on the machine type itself that implements a provision
method. One of the backends will be Hetzner, and I'll also add a local development backend for testing, likely using Docker to create new machines. This part is going to be complex.
Once the job processing pipeline and machine provisioning infrastructure are implemented, I'll need to integrate some of these events with the billing system. We want to charge based on how long machines are turned on, not just job duration. This will require focusing more on billing again.
I'm currently stuck on the implementation for Catacloud. Apart from cleaning up designs and reviewing them, I've implemented the aggregates and part of the saga, but it's not yet working. I hope to have it functional by the end of the week. I also need to update the supervisor as the job pulling mechanism will change. I'm considering adding a separate scheduling saga to allocate jobs to machines, distinct from the provisioning saga, to manage the complexity of machine pools and states.
Firefox Extension and Debugging Challenges
I added a new Firefox extension to visualize markdown, which makes writing markdown in Neovim much more convenient. While it doesn't automatically reload, I can easily refresh the page.
Blog Updates and Future Plans
I've spent a few hours updating the blog, transcribing, cleaning, and publishing journal entries from the last week. I noticed some styles in the blog aren't quite right, and I'd like to use the light style I created for my editor. I might add an option to toggle between dark and light modes, or even recognize the user's system theme preference. I'll add this to my backlog as I don't have time to implement it now.
Speaking of backlogs, I need a better system for appending tasks and tracking them. My current plain.so setup isn't ideal, even though I can deploy it locally. I need something as easy as my current recording process, perhaps extracting information from recordings to create or update tickets automatically. It needs to be something that doesn't get in the way and can provide reports on pending tasks and priorities.
Academic Aspirations and Financial Considerations
Over the last few days, I've been considering continuing my mathematics degree with the Open University. It's expensive, and I paused it when my daughter was born. Now that I have a bit more time, I'd like to go back. However, I'm valuing my time and want to avoid high-pressure environments, especially with my other projects like Catacloud. This means I can't afford high university fees.
My long-term vision (10-15 years from now) is to move into fundamental research and academia, ideally pursuing a PhD. I enjoy working on the edge of knowledge, exploring new things, and advancing knowledge rather than repetitive work. I believe academia is the right environment for me, despite its potential political and cultural issues. I know there isn't much money in it, but I'm primarily driven by the work itself.
I'm not sure if the Open University's cost is justified, especially given my current financial situation. I'm enjoying working at EBI due to its flexibility, hoping my personal projects will eventually provide more financial independence. I've also considered the Open University of Catalonia, which is cheaper, but I'm unsure if their degrees align with what I want to study. I might be wrong about needing a university route to publish and be part of a research group, but that's my impression from observing academia. I also question whether computation or mathematics is the right path for me. I find beauty in mathematics, but I'm not sure if I'm good at it. These are all doubts I'm currently grappling with.
EBI Work: Validation Engine and GFF3 Integration
Regarding EBI work, the validation engine seems to be working pretty much now. I need to migrate some validations to it. There's a question about validating headers, which are file-level validations that come before features. I might add a new specific validation type, perhaps only for GFF3, to handle header validation. This seems workable. I also need to integrate the GFF3 tool into the actual pipeline.