Welcome to the Dev section of my blog with development related articles.
In my previous post about the operating systems I use, I wrote:
And although it uses the Gnome desktop, it has some custom modifications I would like to deactivate (since I started using Fedora Silverblue, I got to love the stock Gnome desktop).
I didn’t know (and I honestly didn’t searched for solutions before), but it’s possible to use Vanilla GNOME with Wayland on Ubuntu. It’s just a matter of one command:
Yesterday, GitLab sent an email to all users (and wrote a blog post) telling that they are updating their terms & services (to which you have to agree) to include a new third party service to track and analyze the behavior of their users, so that they better understand how their users interact with GitLab.
That understandably created a lot of backlash from users who don’t want to get tracked. Sure, GitLab needs a way to see which features get used in which way, but it’s probably not necessary to use a third party service to accomplish this task.
If you want to use Linux applications on Windows you have multiple options. Using the Windows version of the application if it’s available, cross-compile the app, use a VM or Docker, or use the Windows Subsystem for Linux with a X Server.
A small and lightweight WSL distro is Alpine, which is also quite popular in the Docker world. It’s based on musl, uses busybox and just contains the most important things to be functional.
This is just a quick post, I mainly write for myself, in case it should happen to me again. I temporarily broke my Fedora Silverblue installation for the second time by running the command:
sudo rpm-ostree ex livefs --i-like-danger after I installed a new package.
One has to append --i-like-danger for a reason, but I didn’t want to hear. I wanted to try the new package directly without rebooting my PC.
Today I want to share one of my own projects: distro.tools.
distro.tools is a small but growing collection of scripts to manage your Linux distribution. Currently most of the scripts are made to install the latest versions of specific software on your computer, but it’s planned to include scripts for all different kind of needs.
Some time ago (actually many months ago), I found myself trying to automate the setup of my laptop, in case I need to reinstall everything.
One of the most visited pages on my blog is about how to automatically backup Docker volumes. In that post I use the Docker image blacklabelops/volumerize. Unfortunately that image is deprecated since March 2019 and not longer maintained.
Under the hood the volumerize image is using the GNU program duplicity, which is an awesome software, but also has its downsides. Especially the model of full backups and incremental backups comes from a time where backups where mainly made to tapes (just append new files all the time).
I generally prefer dark user interfaces wherever possible. My phone is set to a dark mode (as far as there is a dark mode in Android Pie), apps like Telegram are set to dark mode and on the desktop I prefer dark modes too. But the most important software I use everyday is a web browser. And most websites don’t support a dark mode yet (because there was no native browser feature for that until recently).
This blog is a static website hosted on Netlify. As static site builder, I use the awesome Hugo, which is written in Go and amazingly fast. This page with currently more than 300 pages build in less than 500ms.
But as the name “static” suggest - just static files that are served by a simple HTTP server - it doesn’t have a dynamic backend with the option to schedule posts, so scheduling isn’t possible the same way it is with systems like WordPress.
A few months ago, I tried to learn Go. I did it just out of curiosity and because I heard many great things about this programming language. I also use much software, which is written in Go, like the generator for my websites (Hugo), Git server (Gitea), feed reader (Miniflux) or Docker. All are written in Go and have in common, that they have an incredible performance and are really easy to setup, because it’s possible to compile everything to a single statically linked executable.
A few weeks ago PostgreSQL 11 was released with a few new features and probably also a lot of improvements and bug fixes since the last release. Although I don’t really have the need to update to the latest version (I just use PostgreSQL as database for my Nextcloud and Miniflux installations), I wanted to migrate it though, to have everything up to date and probably profit from those smaller improvements.