Most applications we use today are fancy web pages, wrapped up in a desktop shell. Many people even forgo desktop builds, instead opting to run webapps simply as another tab in their web browser (Ex: Slack, Discord, Notion). Personally, I prefer to have dedicated windows opened for my essential tools. As a result, I love using nativefier to create desktop versions of my favorite web-based applicatons. The only problem is… it can be a pain to setup. Lets fix that.
Over the past few months, I started to play Minecraft (Java) on my desktop again. After upgrading my graphics card, I wanted to install some shaders. However, unlike when I was in college, I now install and play minecraft using flatpak. While flatpak makes installing minecraft convenient, it also complicates enabling mods like Optifine. So… here’s how it’s done :) .
While on vacation the other week, the only laptop I brought along was my macbook pro. That being said, I still wanted the ability to jump into Linux while I was away. I needed to virtualize. I’ve used VirtualBox in the past, and while it’s fine for running headless installs, I find that it is not a great experience on macOS when trying to run a full desktop environment. So I downloaded the free trial of parallels desktop 15, and honestly… it was great. Afterwards, I was motivated to improve the experience of VMs running on my (Linux) desktop.
Not too long ago, I added some basic testing for my website. Now when I push changes to my website’s source repo, automated tests run to verify that the site’s pages are being served, and that the (markdown) links are not broken. It works well enough through the 450 or so generated tests. However, one recent afternoon I realized… I should parallelize them.
In my previous post, I created a systemd unit file to define an application as a service, and configured it to auto-start on my server. I’ve been making a big push to define the provisioning of all my homelab machines/VMs using automation. So the last step in setting up my FoundryVTT server, is to automate the process. Fortunately, creating a systemd unit file is quite easy to do using ansible.
Recently, I’ve been hosting a Foundry VTT server (a
nodejs app) in a virtual machine on my home network. I would start the
application inside a
tmux session, by
executing a CLI command which worked… fine. However, if the VM restarted or
the applications crashed, I had to ssh in and manually run the command again. So,
to better automate this tedious task, I created a unit file to
define the foundry server as a systemd service. Here’s how.
Gnome is the default desktop environment for many Linux distributions, including my distro of choice, Fedora. When Gnome 3 was first released, I had to install a bunch of extensions to get a functional experience. These days, between becoming more familar with the Gnome workflow, and the Gnome team ironing out the rougher edges of the DE, I don’t need nearly as many extensions to get going. However, there are still three which I do not think I could live without.
Over the past year or two, my notes and planning systems have been a bit of a jumble. It started when I attempted to switch everything to joplin notes… only to eventually switch back to org-mode (for my work notes) a few months later. Around that same time, I also started using trello to organize my personal and home life task boards. This system has worked well, but feels very disjointed. My notes, goals, and tasks are spread all over the place. This might all be about to change. I’ve started using Notion.