Journal entries
One year of using the web with web fonts disabled
2025-02-10
#accessibility
#web
#fonts
Breaking the dependency treadmill
2025-01-24
#programming
#sustainability
#rust
Status update 2025-01
2025-01-22
#status-update
#pimsync
Simple optional dependencies via meta-packages
2025-01-17
#packaging
#alpine
Why I don't use TikTok
2025-01-16
Soju failing with "too many open files"
2025-01-09
#openbsd
#soju
#notes
URLs and percent encoding
2024-12-27
#caldav
#webdav
#http
Exporting photos from an iPhone
2024-12-22
#iphone
#how-to
Pimsync status update 2024-12
2024-12-16
#status-update
#vdirsyncer
#pimsync
Injecting project versions into builds
2024-12-16
#development
#rust
#git
Vdirsyncer status update 2024-11: renaming to pimsync
2024-11-14
#status-update
#vdirsyncer
#pimsync
Snooze: a simpler cron
2024-11-12
#open-source
Vdirsyncer status update 2024-10: security audit
2024-10-19
#vdirsyncer
#status-update
Vdirsyncer status update 2024-09
2024-09-29
#vdirsyncer
#status-update
Transcribing audio with whisper.cpp
2024-09-22
#tts
#experiment
#how-to
Writing an emoji input method, part 1
2024-09-18
#wayland
#input-method
#keyboard
Dark mode is not about aesthetics
2024-09-10
#dark-mode
#ux
#ui
#usability
#accessibility
Status update 2024-08
2024-08-20
#vdirsyncer
#status-update
Unix domain socket support for vdirsyncer
2024-08-19
#vdirsyncer
#design
Quickly render the Clipboard as a QR code
2024-08-08
#qr
#desktop
#clipboard
Typing non-English characters
2024-07-12
#notes
#input-method
#keyboard
Introducing wlhc: wayland hot corners
2024-07-11
#wayland
Editing filenames and directories in Vim
2024-07-02
#tools
#open-source
Status update 2024-06
2024-06-30
#status-update
#vdirsyncer
IRC is great for public spaces
2024-06-25
#irc
#instant-messaging
#internet
Notes on saving coredumps
2024-06-24
#notes
#experiment
SSH as a sudo replacement
2024-06-13
#experiment
#notes
Status update, May 2024
2024-05-28
#status-update
#vdirsyncer
Growing my root partition to the left
2024-05-27
#alpine
#how-to
#btrfs
Darkman portal configuration
2024-04-09
#desktop
#linux
#darkman
Vdirsyncer status update, March 2024
2024-03-29
#vdirsyncer
#status-update
Notes on s6
2024-03-25
#s6
#open-source
#notes
My 'lock-and-sleep' script
2024-02-26
#sway
#open-source
#wayland
vdirsyncer: rewriting status management
2024-01-27
#vdirsyncer
#status-update
Nine months of Xendmail
2024-01-16
#open-source
#email
#status-update
Setting up an IRC bouncer (soju) on OpenBSD
2024-01-12
#irc
#bouncer
#openbsd
#soju
Extended usages of the primary selection
2024-01-06
#idea
#selection
#desktop
#linux
#xorg
#wayland
vdirsyncer: preparing for alpha version
2023-12-21
#vdirsyncer
#status-update
Specification and development status for valarmd
2023-11-30
#open-source
#calendar
#plan
vdirsyncer status update, November 2023
2023-11-27
#open-source
#status-update
#vdirsyncer
Measuring test coverage in Rust
2023-11-27
#how-to
#rust
Setting a battery charge threshold
2023-11-24
#hardware
#openrc
#alpine
Setting up an Alpine Linux workstation
2023-11-19
#how-to
#linux
#desktop
#alpine
vdirsyncer status update, October 2023
2023-11-01
#open-source
#status-update
#vdirsyncer
A configuration format for vdirsyncer v2
2023-10-05
#status-update
#vdirsyncer
#open-source
Debugging a non-functional pylsp
2023-09-05
#lsp
#neovim
#open-source
vdirsyncer status update, August 2023
2023-08-26
#status-update
#vdirsyncer
#open-source
Building and running sway-master
2023-08-04
#sway
#open-source
#alpine
vdirsyncer status update, July 2023
2023-07-17
#status-update
#vdirsyncer
#open-source
Extending an expired GPG key
2023-07-13
#security
#open-source
#gpg
#yubikey
senpai: a modern IRC terminal client
2023-07-05
#open-source
#irc
vdirsyncer status update, June 2023
2023-06-30
#open-source
#status-update
#vdirsyncer
Understanding the XDG access portal
2023-06-20
#open-source
#xdg-desktop-portal
#flatpak
vdirsyncer status update, May 2023
2023-05-27
#open-source
#status-update
Introducing davcli
2023-05-01
#open-source
#vdirsyncer
#status-update
DNS-based discovery for CalDav and CardDav
2023-04-30
#open-source
#vdirsyncer
libdav live test results
2023-04-27
#vdirsyncer
#status-update
Tracking dotfiles
2023-04-18
#dotfiles
Installing postmarketOS on a OnePlus 6 with an encrypted filesystem
2023-04-12
#linux-mobile
#open-source
#how-to
#qemu
Thoughts on sendmail in 2023
2023-03-30
#open-source
#email
vdirsyncer status update 2023-03
2023-03-28
#vdirsyncer
#status-update
AI-assisted computer interfaces of the future
2023-03-23
#sci-fi
#tng
#interfaces
Notes on Podman
2023-03-15
#notes
#open-source
Using a Yubikey for both GPG and TOTP
2023-03-13
#yubikey
#notes
#gpg
In praise of Alpine and apk
2023-02-18
#open-source
#linux
#alpine
OpenWrt with KPN fibre optics
2023-02-11
#networking
#notes
vdirsyncer: looking for hosted Dav servers
2023-01-30
#vdirsyncer
#open-source
icalendar bug at NS International
2023-01-22
#journal
#icalendar
#bug
Setting up IRC redirects
2023-01-20
#irc
#instant-messaging
#notes
Notes on ruff
2023-01-20
#development
#open-source
#python
Notes on pre-commit
2023-01-12
#development
#open-source
#python
Selection / clipboard cheatsheet
2022-12-03
#clipboard
Copying with Super+C
2022-11-04
#history
#clipboard
Systemd, locking and sleeping
2022-10-26
#open-source
#desktop
How the clipboard works
2022-10-21
#desktop
#programming
#clipboard
Shotman 0.2 development update part 2
2022-10-04
#open-source
#status-update
#shotman
#wayland
Shotman 0.2 development update part 1
2022-08-28
#open-source
#status-update
#shotman
#wayland
My packaging policy
2022-08-13
#open-source
Please verify it's you
2022-07-28
#satire
Meson for Python applications
2022-07-26
#open-source
Announcing caffeine-ng v4.0.0
2022-07-12
#open-source
#release
Using a Yubikey for GPG
2022-07-11
#security
#open-source
#yubikey
#gpg
Quick and simple VMs with qemu
2022-07-01
#open-source
#how-to
#notes
#qemu
Status update, May 2022
2022-05-27
#open-source
How I secure my setup with a YubiKey
2022-05-07
#security
#open-source
#yubikey
Open source platforms for open source software
2022-04-29
#open-source
#ethics
#sustainability
A vdirsyncer rewrite
2022-04-18
#vdirsyncer
#open-source
#sponsors
Introducing darkman v1.0.0
2022-02-25
#darkman
#open-source
#desktop
I like that Signal is looking for sponsors
2021-12-14
#signal
#open-source
#sustainability
Running Eve-Online on Linux/Wayland
2021-12-07
#gaming
#linux
#steam
#guide
The issue with flatpak's permissions model
2021-11-26
#packaging
#linux
#flatpak
#security
#isolation
How disk encryption works
2021-09-03
#linux
#desktop
#security
My desktop-wide microphone mute toggle
2021-06-16
#linux
#desktop
#kiss
#meet
#discord
A simple boot setup with SecureBoot
2021-06-11
#boot
#uefi
#linux
#sbctl
#kiss
Zoom screen sharing on ArchLinux
2020-06-14
#unix
#zoom
#wayland
What is git?
2020-03-25
#tech
Spotify review
2016-11-29
#review
#tech
#rant
Using FreeOTP with Battle.net
2016-11-23
#security
#battle.net
Using letsencrypt with HKPK
2016-02-07
#tls
#security
#internet
I'm giving up on IM
2015-09-22
#rant
#instant-messaging
#internet
Start small, then grow
2015-04-06
#development
Introducing Todoman
2015-03-30
#unix
#getting things done
#caldav
Open source your website
2015-03-17
#open-source
Opensmtpd and dovecot with a shared SQL database
2015-02-15
#opensmtpd
#dovecot
Performing backups the right way
2014-08-06
#backups
#unix