RSSAmplifier

Blog

Blog on Tyil

Recent content in Blog on Tyil

tyil.nlRSS feed ↗61 posts

Latest posts

My Homelab: TyilNET

In my last post, I noted that I was pretty happy with the current state of my homelab setup. In this post, I want to expand on what I have, and how I have it configured. The main part of the setup is a 15U server rack, with a 4U machine for simple storage , a 4U machine as dedicated database , and 1U with 3 NUCs for compute. Lastly, I use 2 raspberry pi machines to act as ingress machines. Apart…

Looking Back at 2025

I enjoyed making a post last year to reflect upon what’s keeping me busy, or what caused me to not be busy, so I was thinking to do it again! If you’re reading this, it turns out I went through with it. In general, the past year has been much better to me than the one before, at least on an emotional level. The relationship has progressed into becoming an engagement, and the work I put…

A Dashboard for my Homelab

I was hoping to make a final blog post this year detailing the latest changes I made to my homelab. However, while trying to finish up, I was looking for a small dashboard to list all the services I’m hosting so friends and family can get a nice overview. As such, you’re getting a blog post about my homelab’s dashboard instead! I’ve looked around for some pre-existing free…

Making My Own Lemonade Recipe

It appears to be November already, my Fedi timeline is full of people talking about how this is the month to do some writing if you are so inclined. I happen to have a blog, so I might just be the target audience of those calls to write more. Last weekend I also happened to spend some time to work on my own recipe for lemonade syrup, so I thought it might be nice to make a little blog post about…

Cookbook updates, now with Cocktails

Since last week, my fiancée and I decided to try getting into mixing cocktails. We both like food, and what better way to expand the potential for dinner parties than by adding drinks! As such, we’ve bought all the tools to get started, and we each got a book filled with recipes. She wants to focus more on the non-alcoholic variants, mocktails, whereas I’ll go for the alcoholic…

Managing Containers with Podman Quadlet

If you’ve read my blog posts before, you may know that I personally don’t like systemd all that much. In my experience, it breaks many things that used to work just fine from a user perspective, while adding not much new. Recently however, I looked into managing containers with it. I found out about Podman Quadlet, and it feels like a first neat way to use systemd to solve a problem. As far as I’m…

Trying out Wayland in 2025

Last month I tried out Wayland once more. I do this about once a year, to see if Wayland is actually ready yet for my use case. For most of my life now, I’ve been using X11 with a lot of pleasure. It is feature-rich, and a lot of different window managers exist for it to suit almost every use case I can envision for my systems. X11, however, is considered “old”, and therefore it…

Looking Back at 2024

Its a new year. Looking back at 2024, I noticed I didn’t really write much on my blog. I thought about what caused this lack of posts, and I found two big reasons. The first is that I’ve simply spent less time doing tech stuff, as I’ve been quite busy in my personal life. I’ve finished more work on my home, making it a much nicer place to live in. But more important than…

Bashtard v2.1.0

Its been about another year since I made a post about Bashtard, its 2.0.0 release . Today marks the 2.1.0 release , meaning I’ve gone almost a year without breaking backwards compatibility. To me, this is a very good sign. The release today isn’t as big as the 2.0.0 release was, mostly because most of the functionality I want to have is already present. Some new features were added…

Releasing Raku modules with fez

Last week I got a message on Matrix, asking me to update one of my Raku modules, Config::Parser::TOML . One of the dependencies had been updated, and the old one is no longer available through the module installer zef . Its not that big a change, and there are tests available, so its a reasonably small fix on itself. Recently I’ve set up Argo Workflows for my CI/CD desires, and I found this…

My New Server Rack: Nouki

After setting up mieshu , nouki is the next server to work on in my home rack. Nouki is intended to live as my main database server, mainly for PostgreSQL, but perhaps later on in life MySQL if I ever want a service that doesn’t support superiour databases. The setup for nouki is much simpler in that regard, the base system is almost identical. This server has ZFS with 2 NVMe disks running…

My New Server Rack: Mieshu

After saving up for a long while and thinking about what I want in my new home, I have finally taken the leap and gotten myself a server rack for home use. Its has a 15U capacity, which should be plenty to get started, but this same brand has larger racks too, in case I do want to upgrade it and keep the same style. That said, for now there’s only two 4U units in them, one for (file)…

Getting Emoji to Work in KDE on Debian

This is going to be a relatively short and uninteresting post for most, it’ll just document how to get emoji to work in KDE. While it will work with most applications out of the box, this doesn’t appear to work in Qt applications by default, including the notification panel. As I use my notifications for messages I get from my work chat, and I dislike seeing the squares, I set out to…

Bashtard v2.0.0

A little over a year ago I started on a project to create my own configuration management system. I’ve been disappointed with existing alternatives, such as Ansible, on the grounds that they don’t work all that well if you have a mix of different distros with different package managers, and sometimes even different paths to store data in. I’ve been having a lot of fun working on…

Finally, Templating in Bashtard!

In the past year, I’ve written Bashtard, a simple configuration system written in Bash to minimize the required dependencies, and to have a better system to handle different distributions/OSs in your cluster. Especially the past two months I’ve done quite a bit of work on it. I’ve worked out how to do reusable playbooks, generate a usable Debian package from the Makefile, extend…

Using Laminar for Self-hosted CI

I’ve hosted my own git repositories for quite a while, but I hadn’t found a simple self-hosted CI solution yet. I’ve tried several, and found them to be a bit too cumbersome to setup and actually put to use. The majority requires you to host a full “git forge”, such as GitLab or Gitea, in order to use their webhook functionality in order to trigger a CI build. This…

The Woes of AWSVPNClient

For my current $dayjob I am required to start using the AWS VPN Client. This is not a problem per se, however, this piece of software has given me some particular headaches. In this post, I want to air some frustrations that it has brought me in the past two days, trying to get this software working properly on Debian. GNU+Linux Support The AWS VPN Client has gotten an official client for…

Installing Gentoo with encrypted ZFS rootfs and EFIstub kernel

A little while ago, I got a new work laptop. As is customary, I installed my preferred GNU+Linux environment onto it. Consequently, a few people have asked me to detail my steps to get this system up and running, as they would like to try out a similar setup as I did. It’s also been a while since I made another blog post, so here’s killing two birds with one stone! Preparing disks Make…

Configuring my Machines with Bashtard

Over the past couple weeks I’ve been spending some time here and there to work on my own application for configuring my machines. Before this I’ve tried Ansible, but found it to be very convoluted to use, and requires a lot of conditionals if your machines aren’t all running the same base system. So I made something in Bash, with a few abstractions to make certain interactions…

A cookbook!

Last week, I’ve decided to add a cookbook to my website. I’ve thought about doing so for a while, but was rather hesitent since my website was mostly a tech-minded blog. However, this time around I’ve decided to simply add a cookbook, and have seperate RSS feeds for my blog posts and recipes , so that readers can decide what they want to follow. Now I can easily share any recipes…

Fixing ^w in tremc

I like collecting GNU+Linux ISOs. I’d like to think I have a pretty serious collection of these things. I have a pretty good and stable Internet connection, so I collect them in my torrent client, and let them seed pretty much forever, so other people can enjoy them too. For this hobby, I’m using Transmission , with tremc as the frontend. I’ve been using it for a while, but…

Deprecating ReiserFS

ReiserFS is getting deprecated from Linux , mostly due to it not being ready for the year 2038. This is a little sad, as I still use it on some systems for storing the Gentoo Portage tree, and the Linux kernel sources. It works well for this because it supports tail packing , a form of block suballocation, which can save disk space. So, what alternatives are there for ReiserFS? After asking around…

Updating NginX TLS settings for 2022

My blog (and pretty much every other site I host) is using Let’s Encrypt certificates in order to be served over https. Using any certificate at all is generally an upgrade when it comes to security, but your webserver’s configuration needs to be up to standard as well. Unlike the Let’s Encrypt certificates, keeping the configs up to date requires manual intervention, and is…

Trying out LibreWolf

Over the past week, I’ve been trying out LibreWolf as an alternative to mainline Firefox. I generally don’t hold a high opinion on any “modern” browser to begin with, but Firefox has been the least bad for quite some time. I used to actually like Firefox, but Mozilla has done their best to alienate their user base in search for profits, and is eventually left with neither.…

Managing Docker Compose with OpenRC

On one of my machines, I host a couple services using docker-compose . I wanted to start/restart/stop these using the default init/service manager used on the machine, openrc . This would allow them to start/stop automatically with Docker (which coincides with the machine powering on or off, respectively). I’ve set this up through a single docker-compose meta-service. To add new…

Raku is moving to Libera.chat

Earlier this week, the staff at the Freenode IRC network have resigned en masse, and created a new network, Libera. This was sparked by new ownership of Freenode . Due to concerns with the new ownership, the Raku Steering Council has decided to also migrate our IRC channels to Libera. This requires us to take a couple steps. First and foremost, we need to register the Raku project, to allow us a…

A New IRC::Client

The Raku programming language has a popular module for creating IRC bots, IRC::Client . However, it’s been stale for quite a while, and one of the bots I host, Geth , is having troubles on a regular basis. I’ve looked at the source code, and found a lot of neat tricks, but when maintaining a library, I generally want clean and straightforward code instead. To that end, I decided to…

Merging JSON in PostgreSQL

At my $day-job we have a lot of jsonb in our database. From time to time, I have to manually run a query to fix something in there. This week was one of those times. While you can pretty much do everything you need with regards to JSON editing with jsonb_se t, I thought it might be nice if I were able to merge a given JSON object into an existing object. This might be cleaner in some situations,…

Raku Modules in Gentoo Portage

The last couple of days I’ve been taking another look at getting modules for the Raku programming language into Gentoo’s Portage tree. Making new packages available in Gentoo is incredibly easy with their overlay system. The more complex part was Raku’s side of things. While most languages just have a certain directory to drop files in, Raku should use a CompUnit::Repository…

FreeBSD Email Server - Part 6: System Updates

Four years have past, and my FreeBSD email server has keps on running without any problems. However, some people on IRC have recently been nagging me to support TLSv1.3 on my mailserver. Since the installation was done 4 years ago, it didn’t do 1.3 yet, just 1.2. I set out to do a relatively simple system update, which didn’t go as smooth as I had hoped. This tutorial post should help…

Config 3.0

For those who don’t know, the Config module for the Raku programming language is a generic class to hold… well… configuration data. It supports Config::Parser modules to handle different configuration file formats, such as JSON , YAML and TOML . Up until now, the module didn’t do much for you other than provide an interface that’s generally the same, so you…

Lately in Raku

I’ve been working on some Raku projects, but each of them is just too small to make an individual blog post about. So, I decided to just pack them together in a slightly larger blog post instead. Binary Rakudo Star builds for GNU+Linux and FreeBSD A friend on IRC asked if it was possible to get Rakudo Star precompiled for ARM, since compiling it on his machine took forever. I took a look…

Setting Up a PGP Webkey Directory

A little while ago, a friend on IRC asked me how I set up a PGP webkey directory on my website. For those that don’t know, a webkey directory is a method to find keys through gpg ’s --locate-key command. This allows people to find my key using this command: gpg --locate-key p.spek@tyil.nl This is a very user-friendly way for people to get your key, as compared to using long IDs. This…

Running cgit on Gentoo

cgit , a web interface for git repositories, allows you to easily share your projects’ source code over a web interface. It’s running on my desktop right now, so you can see for yourself what it looks like. On Gentoo , the ebuild for this software can be found as www-apps/cgit . However, after installation, a number of configuration steps should be performed to make it accessible on…

Getting Things Done with App::GTD

A couple months ago, I was given a workshop at work about “getting things done”. There I was told that there exists a concept called “ Getting Things Done ”, or “GTD” for short, to help you, well, get things done. A number of web-based tools were introduced to assist us with following the rules laid out in the concept. The problem The tools that were introduced…

The SoC Controversy

Disclaimer Please keep in mind that the opinion shared in this blog post is mine and mine alone. I do not speak for any other members of the PerlCon organization team. Please do not address anyone but me for the positions held in this post. Those that know me are probably aware that I generally dislike to make political posts on my personal blog. I’d rather stick to technological arguments,…

The Power(ful Tooling) of Gentoo

People often ask me for my reasons to use Gentoo . Many perceive it as a “hard” distro that takes a lot of time. While it does come with a learning curve, I don’t perceive it as particularly “hard”, as the documentation is very thorough and the community is very helpful. And the tooling you get to maintain your system is far beyond what I’ve come across with any…

Perl 6 nightly Docker images

Due to the slow release of Rakudo Star (which actually did release a new version last month), I had set out to make Docker images for personal use based on the regular Perl 6 releases. But, as I discovered some memory related issues , and another branch with some possible fixes , I changed my mind to make them nightlies based on the master branches of all related projects instead. This way I could…

How to sign PGP keys

Having attended FOSDEM last weekend, I have been asked to help some people out with signing PGP keys. As it is an international gathering of users and developers of all levels of expertise, it’s a great event to get your key out in to the wild. While helping people out, I figured it might be even easier next time around to just refer to a small tutorial on my blog instead. Creating a PGP key…

Hackerrank Solutions: Python 3 and Perl 6 (part 1)

I recently started at a new company, for which I will have to write Python 3 code. To make sure I still know how to do basic stuff in Python, I started to work on some Hackerrank challenges . In this post, I will show solutions to some challenges to show the differences. I hope that I can show that Perl doesn’t have to be the “write only” language that many people make it out to…

Setting up PGP with a Yubikey

I’ve recently started a job where I am required to have above-average security practices in place on my machine. I already had some standard security in place, such as full disk encryption and PGP encrypted email, but I thought that this would be a good time to up my game. To accomplish this, I purchased a Yubikey to act as my physical security token. Additionally, I have a USB device which…

The Perl Conference in Glasgow

This year the European Perl Conference was hosted in Glasgow, and of course I’ve attended a number of presentations there. On some of these, I have some feedback or comments. These talks, and the feedback I have for them, are detailed in this blog post. note The first talk I cover is not so much about Perl, but more about politics, as the talk was mostly about the speaker’s ideology.…

Sparrowdo - Getting Started

Sparrowdo is a Perl 6 project to facilitate automatic configuration of systems. There’s a repository of useful modules to make specific cases easier to work with, but the Core DLS can already take care of many tasks. In this tutorial, I’ll guide you through setting up Sparrowdo, bootstrapping it onto your local system, writing a task and running it. Install Sparrowdo Sparrowdo is a…

Perl 6 - Introduction to application programming

In this tutorial, I’ll be guiding you through creating a simple application in Perl 6. If you don’t have Perl 6 installed yet, get the Rakudo Star distribution for your OS. Alternatively, you can use the Docker image . The application itself will be a simple dice-roller. You give it a number of dice to roll, and the number of sides the die has. We’ll start off by creating it as a…

Why Perl 6?

For about a year now, I’ve been working in Perl 6. Telling this to other people often brings about some confused faces. I’ve grown quite fond of Perl 6 the more I learn about it, yet the general developer community still seems to think Perl is a dirty word. In this article, I will detail some of the features that make me like Perl 6, and why I try to use it wherever possible. ==…

Funding Yourself As A Free Software Developer

I’ve been meaning to spend more time on developing free software, helping out new users on IRC and writing more tutorials to get others started. All of these cost time, and time is money - so I’ve set out to set up donation accounts. In the hopes of helping other developers who struggle to fund their work, I’ve written up this article to talk about my experience. This is a living…

On Cloudflare

Foreword Cloudflare is a threat to online security and privacy. I am not the first on to address this issue, and I probably will not be the last either. Sadly, people still seem to be very uninformed as to what issues Cloudflare actually poses. There also seems to be a big misconception about the benefits provided by using Cloudflare. I would suggest reading the article on Cloudflare by joepie91…

Setting up a Raspberry Perl

In this tutorial I’ll get you through setting up a Raspberry Pi with Perl 6 . I am using a Raspberry Pi 3 myself, but other versions should work fine too. However, older versions are slower, so it might take a bit longer to install completely. Note For those who have never had a Raspberry Pi before, you will need the following: Raspberry Pi board Power supply (5v 2A, micro USB) SD card of at…

Hacktoberfest 2017

This year I actively participated in the Hacktoberfest event, which is “a month-long celebration of open source software”. Ironic, given that the companies organising it don’t have their own software stack open source. I’ve found some issues to solve in Perl 6 projects, and that lead to trying to solve issues in some other projects, and eventually I got more PRs out than…

Perl 6 - Creating a background service

I’ve recently made some progress on Shinrin a centralized logging system in Perl 6. This has to run as service, which means that for most service managers it has to be able to run in the background. Note If you just want to get to the solution and don’t care for the details, just head straight to the full script . It’s not possible! After a lot of trying and talking with the…