I haven't taken much time to sit down and write anything here for a while. I am on a new work schedule, so my after-work hours are usually a little drained. I said I would write more openly about things I am actively engaged with as far as projects, but I don't have a main project focus currently as there's too much going on in real life to think about big projects in that sense. Respectively, everything I write here on out may be considered skill enhancement learning so I can better my knowledge in various weak spots.
Further Reading
I dwell a lot on the current circumstances of the world, whether I'll have a job, whether I'll own a home one day, or if I'm really in control of my own destiny or am simply floating in whatever quagmire has been decided for my generation. I don't want to write anything that reflects on that too much, simply because: some things I have absolutely zero clue how it will pan out. There are optimists who are way more hopeful than me with the current technology, and I find myself on the pessimist side of the fence as someone who is consistently let down by all waves of new technologies.
Regardless, now is not the time for dwelling; it's better in my opinion to focus on new skills and problems that are within my domain. By the year end, I'd like to focus on some skills and readings to help me understand and refine my skills further. There are plenty of things for me to be excited about, so I'd rather write those down and how I choose to follow up on them.
Linear Algebra
I never learned linear algebra in a school setting. I've been using the 2D vector for maybe twenty plus years now and never really bothered to embrace an understanding of everything else linear algebra covers: systems of linear equations, matrix operations, eigenvectors, tensors, and the various applications for each of them.
I have some old textbooks that I acquired during my college years only because I had excess textbook money to spend and no classes to spend said money on. I made sure to acquire some math books that I wanted to invest in years after the fact; linear algebra, differential equations, discrete math, physics, and some other books I'm sure. I wasn't in these classes due to my major at the time, but I knew I would eventually cross paths with deeper math classes more likely outside my school years than anything. I would not say this was a long-term plan of mine, but more a curiosity I had because I was unsatisfied by my school classes.
While linear algebra sits among the books, I would also like to revisit all of these textbooks I have. I don't look at textbooks very often anymore since I'm not exactly a student, but these books are pretty nostalgic. Much of my interest in programming comes from a great interest in music itself, which I will get to in a moment.
Things I am interested in doing:
- Making some homework for myself and practicing some linear equation solves
- Learning how to use matrices correctly
- Learning what eigenvectors can do for various fields
- Make some programs in Rust to try some of these out for myself
- Playing a lot more with things like Octave or Julia perhaps. Maybe even Lean.
Infrastructure
While I tend to write about operating system builds with Guix, I don't really tend to view myself as someone as a master of all things infrastructure-related. My stack at home is trivial with a tunnel to my backend services like my website, but moving forward, I want to be better at visually planning these things out and practically deploying applications.
I've mentioned a number of times my migration from Docker to Podman, and to help me accomplish that, I have a new server set up with Podman ready to go. However, exposing it to the internet is a new challenge that I am trying to achieve some degree of independence with by leveraging Guix's benefits.
I have a VPS set up right now on the internet that I want to use to receive traffic and proxy it back to my home hardware, but I need to leverage Wireguard to create a secure connection between the two. Instead of relying on Cloudflare tunnels, this will be my new system moving forward: control of the connection tunnel front to back, with no more Cloudflare terminating my TLS handshakes.
I am nearly done setting it up, and once it's complete, I may purchase a secondary domain to complete an A/B swap-over as I de-couple my setup from Cloudflare. Once the setup feels ready to use, Cloudflare will be immediately purged from my home lab. Maybe not the smartest decision in the world to move from something as advanced as Cloudflare, but I believe I can support it for the time being.
Things to learn:
- Wireguard VPN fundamentals
- How to use iptables and packet filters
- Delivering subdomain traffic to pods
Music and Code
I haven't spent a lot of my life practicing music to the degree that I would like. I don't have an environment for it to occur on a regular frequency. I've let slip some of my guitar and piano skills I was starting to develop and practice, and it's on me for letting it fall through the cracks.
I think once I convert all my homelab infrastructure over to the new design, music will be a much more integral part of my life. I've always loved music and it makes up much of my personal identity, and while I can't say I'm a natural-born musician or song writer, the science behind it all for me is what makes it most unique and how it can tie into computers.
Probably over the next year or two, I want to pick up both a used electric guitar and used bass guitar and see if I can learn the ins and outs of guitar repair myself. I think it would be the most rewarding path forward, just like bikes as far as self-repair goes. I don't think they're entirely unapproachable, and I'm sure it'd be rewarding to take care of something for a very long time.
As for my collection of electronic instruments, once I can dig up some free time, I'd like to pursue more Rust-based MIDI instrument projects using Rust to create the software to run the MIDI layer. Normally I could use PureData or PlugData, but having hard-coded Rust programs helps too. But all this hinges upon how much more time I can dedicate. I think the physical instruments are much easier to embrace first since they're more involved.
Things to do:
- Build better habits for practice
- Invest time in learning guitar repair basics
- Fix up some really old projects of mine for future proofing
- Update my EP-133's firmware via WebUSB
Blog Changes
A recent issue that happened is Zola's migration to a new template engine system that inherently broke a good hundred plus websites on the internet overnight. Zola changed how their shortcode system works to embrace a new "components" system as part of the Tera template language that is used.
I am not against projects going in directions they believe in, but I do not believe in making gigantic breaking changes like this. I fully believe they could offer a legacy system to support shortcodes and call it unsupported while everyone slowly migrates things over to the new components system. That they didn't bother to do this is what annoys me. I know it's not a 1.0 project or anything, but this was something that people have been using for years.
I am impacted by this, and frankly, I think this marks the last time I seriously use Zola. I have been looking for an off-ramp for a while, even considering building my own again. But I don't want to deal with the hassle of hamstringing something together for me to require more time. I would actually build it off Tera's library as it is quite solid. The issue is that I simply cannot undergo all that effort myself.
While I believe Zola is a great platform to build a website off, my priorities have shifted largely in what I personally believe in. I think I could continue to use Zola and be fine, as an avid believer of Rust-powered technologies, but I am less interested in pursuing things like that and more interested in joining communities that I am interested in.
Haunt is one such project coming out of the Guile Scheme world. It's a Guile-based website builder made by nerds I respect. Maybe Haunt is not the perfect tool right now, but it's becoming increasingly convincing that it's something I think I could see myself using and contributing to. I used to use Frog, a static site generator in Racket, but that one sort of fell behind, and even the original author sort of stopped using it.
There are arguments to be made about the speed trade-offs of Rust versus Guile, such that Rust is definitely more bare-metal than a language like Guile, but speed is rarely the issue with my website. My issue lies in how much I feel I have to do to keep it going. There have been more changes to my Zola site because Zola forces the changes down our throats.
Haunt will be a change-over, but frankly I feel like I'm ready to leave the nest. I want to use things that are interesting to me, and Zola really isn't meeting that metric for me anymore.
Things to do:
- Build a new Haunt site with all my posts
- Convert metadata/templates over to Haunt if possible
- Write better scripts/aliases for writing posts
Road Ahead
Adjusting to my new schedule has proven challenging in what it permits me to accomplish. While I still bring my Surface Pro 7 with me most days, I sometimes feel the need to decouple myself from computers being involved in every waking moment of my life. I started bringing a moleskine notebook so I can start jotting down math problems, like I used to do for fun 10+ years ago.
I came down with a sickness I am still dealing with last week, but I am hoping to start immediately doing work changing everything here over to Haunt relatively soon. I will be copying this entire repo into a new folder and making the changes until I have a successful built site. The layout may change too based on how difficult it is to do the conversion.
Hoping by the end of the month, I will have my new homelab online and possibly under a new domain. I plan to self-host my own Git repositories with Forgejo to make that my online portfolio of sorts, and am still exploring what else I'd like to host online publicly. I think the interesting thing about adding a VPN to the mix is the ability to choose what I make public and what I would expose only to devices connected on the VPN, accessible only by IP addresses on the network. Something for me to consider.
So, next time I write here, this will be a new site in many different ways. Cheers!