Skyz 2.0 Release

Het heeft wat langer geduurd dan verwacht door wat gezondheidsgerelateerde problemen, maar Skyz 2.0 is nu officieel gelanceerd.

Zoals ik al eerder vermelde is er niet zo veel veranderd. De reden voor de update was het herschrijven van de gehele codebase in Django. Ik heb wel enkele kleine UI-wijzigingen gedaan (zo kan je nu locaties als favoriet markeren), maar de site is voor de rest hetzelfde.

De hostingprovider Pixelhosting sponsort nu ook de hostinginfrastructuur.

Dynamische login banners in Linux

Ik was een aantal servers aan het herinstalleren met Debian Trixie, en ik dacht dat het wel leuk was als ik een dynamische login banner maakte die wat nuttige informatie toont na het inloggen.

Zet het volgende in /etc/update-motd.d/20-sysinfo

#!/bin/bash

echo "----------------------------------------"
echo "System Information as of: $(date)"
echo "Hostname: $(hostname)"
echo "Uptime  : $(uptime -p)"
echo "Load    : $(cat /proc/loadavg)"
echo "Memory  : $(free -h | awk '/Mem:/ { print $3 " / " $2 }')"
echo "Disk    : $(df -h / | awk '/\// { print $3 " / " $2 }')"
echo "IP Addr : $(hostname -I | awk '{ print $1 }')"
echo "Users   : $(who | wc -l) logged in"
echo "----------------------------------------"

En maak het vervolgens uitvoerbaar (chmod +x /etc/update-motd.d/20-sysinfo)

Als je nu inlogt, zou je systeeminformatie moeten zien.

Cachen met Apache en mod_cache

Een van de eenvoudigste manieren om de performantie van een drukke website te verbeteren is om caching toe te voegen. Er zijn verschillende manieren waarmee dit kan gebeuren: Je kan objecten cachen in code (met Memcached en Redis), of je kan de responses cachen met Varnish, Nginx of in dit geval met Apache’s mod_cache. Ik raad dit op zich niet aan in productie, maar omdat ik Apache gebruik als webserver leek het me een leuk experiment, zonder veel extra configuratie te moeten toevoegen.

Lees verder

Filezilla has Directory filters

Today I discovered filezilla has a feature “directory list filters” to exclude certain directories/files: (View > Directory list filters (cmd+I on macos)). You can use this to exclude files like .git, or .DS_Store (you have to add .DS_Store)

I’m using filezilla since the dawn of time, yet I only discovered this now.

Skyz 2.0 Rewrite update: July 2025

Update 2025-07-05: Ik heb de update uitgesteld tot Augustus. Ik wil wachten tot ik de nieuwe infrastructuur getest heb op de komende Debian 13 release.

6 maanden geleden ben ik aan de rewrite van Skyz 2.0 gestart. De rewrite is bijna af dus ik post even een update. Er is nog geen vaste releasedatum (ik wil dat het goed is). Ik verwacht dat het ergens volgende week of midden augustus gereleased word (te zien hoeveel ik kan afkrijgen ik kan doen voordat ik op vakantie vertrek).

Lees verder

Automatische HTTPS met Apache

HTTPS is de dag van vandaag een must voor een website. Er zijn tools om certificaten automatisch aan te vragen (certbot etc), en webservers die gekend zijn om dit automatisch te doen (zoals Caddy), maar wist je dat je met Apache ook geen nood hebt voor Certbot? Met mod_md kan je apache automatisch HTTPS certificaten laten aanvragen via ACME (hetzelfde systeem dat Certbot en de caddy server gebruiken).

Lees verder

Coderunner.app en python virtual environments

Ik ben de laatste tijd wat aan het experimenteren met CodeRunner als mijn IDE, maar ik stuitte op 1 probleem: Ik gebruik Python Virtual Environments maar Coderunner gebruikte deze standaard niet. Gelukkig is er niets dat je niet kan oplossen met wat scripting en code, en CodeRunner laat je toe een compilatiescript te gebruiken voor het uitvoeren.

Als Python compiler script kan je het volgende gebruiken:

# Initialize the current directory
dir="$(pwd)"

# Search up to three parent directories
for i in {1..4}; do
	# Check if the .venv directory exists
	if [[ -d "$dir/.venv" ]]; then
		echo "$dir/.venv/bin/activate"
		exit 0
	fi
	# Move up one directory
	dir="$(dirname "$dir")"
done

# If no .venv is found, print a message and exit with non-zero status
echo "No .venv directory found within the current or parent directories."
exit 1

Vervolgens moet je het volgende toevoegen als compiler commando

source $compiler; python3 $filename

Viola, als je nu een script uitvoert binnen CodeRunner, gebruikt het automatisch de juiste .venv!