The Curious Engineer

All blogs / Linux / Unix

Hugo's weblog on WhyNotHugo (雨果)

whynothugo.nl

Recent content in Hugo's weblog on WhyNotHugo (雨果)

Linux / UnixSoftware / engineering practiceSecurity

Posts
161 from 6 Aug 2014 to 26 Oct 2026
Posting
weekly (34 in the last year)
Kind
personal blog
Feed
https://whynothugo.nl/posts.xml

2026 28

  1. Status update 2026-10
  2. Cutting files is a broken abstraction
  3. Use rsync to compare large directory trees
  4. Stacked PRs: fixing abstractions with more layers of abstraction
  5. Status update 2026-08
  6. Transactional system upgrades without compromise
  7. The brief history of lsp_lines.nvim
  8. ImapGoose: detecting wake-up from sleep
  9. Status update 2026-07 & 2026-08
  10. 98% isn't very much
  11. Status update 2026-06
  12. Ignore DNSSEC if you like MITM attacks
  13. A radiator only cares about the temperature of incoming air
  14. Input methods in GTK4 apps on Wayland
  15. Introducing µlock
  16. Status update 2026-05
  17. Status update 2026-04
  18. On GitHub's downfall
  19. Separating researcher from knowledge
  20. Deprecation plan for vdirsyncer
  21. Status update 2026-03
  22. Creating an XDG_RUNTIME_DIR
  23. Pacman syndrome
  24. Status update 2026-02
  25. Entrenching American corporations into local European payments
  26. They and them as singular pronouns
  27. You don't need a Neovim plugin manager
  28. Working with Git inside Vim

2025 32

  1. Resolve .local mDNS domains via avahi using unbound
  2. Programmatically provision Alpine VMs with tiny-cloud
  3. Status update 2025-11
  4. Too much less is not too much more
  5. Translation models between English and Chinese
  6. ImapGoose status update: v0.3.2
  7. Introducing ImapGoose
  8. Status update 2025-10
  9. Status update 2025-09
  10. Unaccountable systems
  11. I'm really happy with my Pinetime
  12. GPTs and feeling left behind
  13. Status update 2025-07
  14. Boycotting is about supporting an alternative
  15. Connecting to Bluetooth hotspot
  16. Status update 2025-04
  17. Man pages are great, man readers are the problem
  18. HDR on the Steam Deck
  19. Status update 2025-03
  20. Unemployment is not the problem
  21. Goodbye mutetab
  22. Change in GTK's default font
  23. Design for Google CalDAV support in pimsync
  24. ab-bday: generate icalendar events for birthdays in vcard
  25. Status update 2025-02
  26. Gamma correction and blending fonts in linear space
  27. One year of using the web with web fonts disabled
  28. Breaking the dependency treadmill
  29. Status update 2025-01
  30. Simple optional dependencies via meta-packages
  31. Why I don't use TikTok
  32. Soju failing with "too many open files"

2024 31

  1. URLs and percent encoding
  2. Exporting photos from an iPhone
  3. Pimsync status update 2024-12
  4. Injecting project versions into builds
  5. Vdirsyncer status update 2024-11: renaming to pimsync
  6. Snooze: a simpler cron
  7. Vdirsyncer status update 2024-10: security audit
  8. Vdirsyncer status update 2024-09
  9. Transcribing audio with whisper.cpp
  10. Writing an emoji input method, part 1
  11. Dark mode is not about aesthetics
  12. Status update 2024-08
  13. Unix domain socket support for vdirsyncer
  14. Quickly render the Clipboard as a QR code
  15. Typing non-English characters
  16. Introducing wlhc: wayland hot corners
  17. Editing filenames and directories in Vim
  18. Status update 2024-06
  19. IRC is great for public spaces
  20. Notes on saving coredumps
  21. SSH as a sudo replacement
  22. Status update, May 2024
  23. Growing my root partition to the left
  24. Darkman portal configuration
  25. Vdirsyncer status update, March 2024
  26. Notes on s6
  27. My 'lock-and-sleep' script
  28. vdirsyncer: rewriting status management
  29. Nine months of Xendmail
  30. Setting up an IRC bouncer (soju) on OpenBSD
  31. Extended usages of the primary selection

2023 34

  1. vdirsyncer: preparing for alpha version
  2. Specification and development status for valarmd
  3. vdirsyncer status update, November 2023
  4. Measuring test coverage in Rust
  5. Setting a battery charge threshold
  6. Setting up an Alpine Linux workstation
  7. vdirsyncer status update, October 2023
  8. A configuration format for vdirsyncer v2
  9. Debugging a non-functional pylsp
  10. vdirsyncer status update, August 2023
  11. Building and running sway-master
  12. vdirsyncer status update, July 2023
  13. Extending an expired GPG key
  14. senpai: a modern IRC terminal client
  15. vdirsyncer status update, June 2023
  16. Understanding the XDG access portal
  17. vdirsyncer status update, May 2023
  18. Introducing davcli
  19. DNS-based discovery for CalDav and CardDav
  20. libdav live test results
  21. Tracking dotfiles
  22. Installing postmarketOS on a OnePlus 6 with an encrypted filesystem
  23. Thoughts on sendmail in 2023
  24. vdirsyncer status update 2023-03
  25. AI-assisted computer interfaces of the future
  26. Notes on Podman
  27. Using a Yubikey for both GPG and TOTP
  28. In praise of Alpine and apk
  29. OpenWrt with KPN fibre optics
  30. vdirsyncer: looking for hosted Dav servers
  31. icalendar bug at NS International
  32. Setting up IRC redirects
  33. Notes on ruff
  34. Notes on pre-commit

2022 19

  1. Selection / clipboard cheatsheet
  2. Copying with Super+C
  3. Systemd, locking and sleeping
  4. How the clipboard works
  5. Shotman 0.2 development update part 2
  6. Shotman 0.2 development update part 1
  7. My packaging policy
  8. Please verify it's you
  9. Meson for Python applications
  10. Announcing caffeine-ng v4.0.0
  11. Using a Yubikey for GPG
  12. Quick and simple VMs with qemu
  13. The Murena Lies
  14. Status update, May 2022
  15. How I secure my setup with a YubiKey
  16. Open source platforms for open source software
  17. Fairphone: please lead by example!
  18. A vdirsyncer rewrite
  19. Introducing darkman v1.0.0

2021 6

  1. I like that Signal is looking for sponsors
  2. Running Eve-Online on Linux/Wayland
  3. The issue with flatpak's permissions model
  4. How disk encryption works
  5. My desktop-wide microphone mute toggle
  6. A simple boot setup with SecureBoot

2020 2

  1. Zoom screen sharing on ArchLinux
  2. What is git?

2016 3

  1. Spotify review
  2. Using FreeOTP with Battle.net
  3. Using letsencrypt with HKPK

2015 5

  1. I'm giving up on IM
  2. Start small, then grow
  3. Introducing Todoman
  4. Open source your website
  5. Opensmtpd and dovecot with a shared SQL database

2014 1

  1. Performing backups the right way