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