For the last couple of months I’ve been working on a hobby project to get insights in my banking transactions. Developing and using this application was always only on my local machine. The goal is, however, to make it usable for the public. So it needs to be deployed somewhere.
As I’m learning Kubernetes, it’s only logical to deploy my application on a nice Kubernetes cluster. The first step is to deploy the application to a locally running Kubernetes cluster. I could then pick it up and deploy is somewhere else. As it turns out, it’s really easy to create a Docker image and a kubernetes manifest using Quarkus extensions.
This week I’ve been tinkering a lot with Neovim. I wanted to use it as my main editor for Obsidian notes. Because Obisidian notes are just text in Markdown format, it opens up a lot of possibilities.
Formatting was more of a bonus feature I stumbled upon, than something I thought of before. But now I have the formatting feature enabled, I really like it! I can just start typing and the note ends up formatted neatly.
Today I challenged myself to put my newly aquired kubernetes knowledge to the test. The challenge was to move the running Roon application from Docker to the Kubernetes cluster. Roon is an amazing piece of software to catalog local music, stream music, and manage audio devices across the house. The biggest hurdle was to find out which ports were being used for local discovery and device management needed for the app itself. With some trial and error and searching the internet, things slowly started working. I’m still learning about persistent storage in Kubernetes. Roon also needs some storage locations to be able to run, so that was something to tinker with a bit as well.
For my nice littler home setup, I’m running a couple of Docker containers with Home Assistant and Roon (for the audio enthousiasts). As I’m building my knowledge about Kubernetes, it would be nice to run those containers on a new shiny Kubernetes cluster.
The plan was to install k3s on Arch Linux, but that wasn’t a smooth ride. Something that happens more if you’re used to working with Linux. But that’s a good thing! It forces you to investigate and gain deeper understanding about some internals of the system. To figure out why the cluster was restarting over and over, I started by investigating the logs with journalctl.
New year’s resolutions are pretty controversial nowadays. Many people say that setting goals at the beginning of the new year is a recepe for disaster: “I’ll go to the gym x times per week”, which will fail horribly somewhere in march. The last couple of years I wasn’t waiting until january 1st to start with some new healthy habit.
This year I think a bit different on the matter. Although I know it takes a lot of persistence to keep a good habit going for a long period of time, I want to challenge myself a bit more with some goal setting. This helps myself to keep focussed and this post is one of the ways to hold myself accountable. So here it goes…
Building a side project is an excellent way to try out some new technology. On the other hand: it’s also nice to actually make some progress on the ideas in your head. That’s why I tend to lean on my current expertise and do some exploration from there.
In the past I’ve worked a lot with Java Enterprise Edition, so I’m very familiar with stuff like Jax-RS and the Dependency Injection library CDI. Nowadays we don’t want to run our application in a complex Application Server, but just run it as a standalone jar. The most popular application framework to use for this is Spring Boot, but I also want to try something different. Quarkus is comparable to Spring Boot, but it’s based on the Java Enterprise standards. I’ve worked a couple of hours with it now and my first impression is very positive. It leverages the components I already know and provides a very nice developer experience.
For a developer it’s really valuable to keep exploring new ideas and technology outside your day-to-day job. To achieve this, it’s very common to have a project on the side. Having a project on the side comes with various benefits:
In my spare time I like to read about finances. The “Financially Independent” community really intrigues me. Having good insight in where our money is spent is important to me. That’s why I’m building some tooling to provide me that insight. Ofcourse there are different tools out there that could help me with that, but they always lack some feature. Besides: building the thing yourself is waaay more fun.