Linux, programming and closing technical debts
![]()
I was kind of absent from updates and stuff for like a year now, maybe more. Now that I’ve got more time to write this status update; I guess I could provide the details of what I was doing recently.
Diving deep into Linux
I’ve updated all my devices (apart from my mobile phone, but I probably would eventually) to work with Linux, namely Arch, (although I’m thinking about switching to Artix in a year or so) because I was sick of Windows getting more and more enshittified with horrible things and malpractices that became impossible to ignore.
I’ve had an experience working with Linux on my laptop for about 6 years now, but switching to it on my PC and the rest of devices became somewhat pivotal in changing my workflow and view on everything related to computers in general. I’m not going to dive deep into details about how I use my operating system in this post, I’ll probably write more about that in a separate post.
Despite the switch to a new operating system, I’ve managed to make all the specialized 3D content creation software (Substance Painter, Zbrush) work perfectly on my new machine via WINE and Proton. Although I try to rely more and more on open-source software and do a lot of the stuff that I did in Zbrush in Blender now, as I think that its sculpting features matured enough to substitute it completely.
Learning Bash, Lua, C and getting slowly better at general programming
In the recent two years I became more passionate about studying general programming and slowly getting better at it. Mostly I was driven by necessity, as I needed to automate more and more things and get better at getting things that I did manually previously.
The quality of the code I write is getting better bit by bit; I tend not to write an infinite scrolls of code now and compartmentalize everything into different components\modules and be more smart. Think less of syntax but more about the structure and future maintainability of the projects that I’m working on.
Due to switching to Arch Linux and me taking the hard route of writing my own system config and choosing tools one by one, I have become better at writing scripts in Bash. I can’t say I’m an expert, but I’m getting better at it every day, and that learning progress is driven due to my newly acquired passion of doing everything in terminal mostly.
I got better at lua too, I’ve been writing configs for various programs I use (Neovim, Hyprland, etc.) from scratch on my own these years and I’m ashamed to admit that up until recent months I didn’t even read official Lua documentation or any of the Lua programming books.
Recently, because my config files for Neovim and Hyprland became more complicated, I’ve decided that I need to get better at it and read official docs and do some exercises from the book released by original Lua programming language creator Roberto Ierusalimschy. It helped me understand this weird but awesome little embedded programming language.
During the recovery period after my surgery earlier this year, I’ve enrolled in Harvard’s CS50 course and started learning more about C, and I actually really liked it. I still need to get back to finishing the course because I’ve finished only a couple of chapters and did some of my own studies on C. The good thing about the course is that its progress stays and gets transferred, so that you can finish it at your own pace anytime you want.

Neovim and ‘Everything Terminal’
As I mentioned earlier, I try to do most of the things related to the text in my terminal. And that means that inevitably I will be using text editors like Neovim, which became my newfound passion. As I’ve said, I wrote my own configuration for it from scratch and I had immense fun learning that tool, and I keep on discovering new things every single day I use it as my config files get more and more refined and robust.
Neovim became a total substitute for IDE and other note-taking applications a year after I’ve started using neovim on a daily basis. I’ve noticed that I’ve completely stopped using IDEs and note-taking apps like VSCodium (the open-source version of VSCode that I used to work in) and LogSeq (another open-source “Obsidian-like” note-taking tool). Basically Neovim and my terminal became the ultimate tools to finish any job done. Neovim is truly a tool to “rule them all” in my current arsenal.
Apart from neovim, I’ve automated a lot of things with a multitude of bash scripts that I wrote to either manage my minimalist Arch system or automate things I do. But, I’ll probably dwell on that in a separate post. So yeah, these days I’ve adopted a philosophy of doing things in the terminal. I manage my filesystem mostly in the terminal, tasks, calendars, heck, I even check my e-mail via terminal these days…
Getting rid of technical debt
Before I could proceed with publishing new work for my portfolio and videos for my YouTube channel, I needed to get rid of some technical debts. Namely, I always wanted for my content to be understood and noticed by both English and Russian audiences. The latter group was kind of omitted, because previously my whole website was tied to ArtStation’s services, but after transferring content and writing this website from scratch using Hugo framework, localization became an easy thing to do.
The only thing that was left to do is to translate a couple of my previous videos related to 3D graphics from my main English YouTube channel and to upload those to a new channel for the Russian audience. If you’re interested in the results, you can subscribe to it here:
Subscribe to MeshvoidRU YouTube channel
Further work
Now that all the technical debts have been kind of gotten rid of, I will concentrate on releasing more content on my main YouTube channels. Expect some surprises!