41554 blogs · [ { "id": "01a0878e-ec01-72a6-bca7-302639878348", "title": "Replacing nvm with fnm for faster shell startup", "url": "https://joelkitching.com/writing/replace-nvm-with-fnm/", "published_at": "2026-01-15T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263a16373f", "title": "Split DNS for Tailscale MagicDNS + NextDNS on Linux", "url": "https://joelkitching.com/writing/tailscale-magicdns-nextdns-linux/", "published_at": "2026-01-11T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263aa70345", "title": "Arch Linux: inhibiting sleep triggered by lid switch", "url": "https://joelkitching.com/writing/arch-linux-inhibit-lid-switch-sleep/", "published_at": "2026-01-09T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263b5f5b30", "title": "The |& operator: piping stderr since 1978", "url": "https://joelkitching.com/writing/bash-pipe-ampersand-operator/", "published_at": "2025-12-22T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263c351a25", "title": "Hugo hides posts marked with current date", "url": "https://joelkitching.com/writing/hugo-hiding-today-posts/", "published_at": "2024-06-04T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263c957f33", "title": "Google Photos availability of ZIP exports", "url": "https://joelkitching.com/writing/google-photos-download-zip-availability/", "published_at": "2024-06-03T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263d405fba", "title": "Sharing fonts from host to docker instance", "url": "https://joelkitching.com/writing/docker-sharing-host-fonts/", "published_at": "2024-06-02T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263db99296", "title": "Printable HTML/CSS template for resume", "url": "https://joelkitching.com/writing/printable-html-template/", "published_at": "2024-06-01T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263e1f29d7", "title": "Installing Magisk and LSPosed on emulated Android", "url": "https://joelkitching.com/writing/installing_magisk_lsposed_on_emulated_android/", "published_at": "2024-05-27T16:00:00+00:00" }, { "id": "01a0878e-ec01-72a6-bca7-30263e3d05ba", "title": "Convert iPhone Live Photo to Google Photos motion photo", "url": "https://joelkitching.com/writing/create-google-photos-motion-photo/", "published_at": "2024-05-26T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e19edb5b34", "title": "Restarting a process when a signal is received", "url": "https://joelkitching.com/writing/restart-process-on-signal/", "published_at": "2024-04-09T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e19fb9bfa8", "title": "Using git clean in a deployment hook", "url": "https://joelkitching.com/writing/git-clean-deployment-hook/", "published_at": "2024-04-08T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e1a07cc071", "title": "Terminating a command early on matching stdout conditions", "url": "https://joelkitching.com/writing/terminate-command-on-stdout-conditions/", "published_at": "2024-03-24T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e1a136e4fa", "title": "Running SQL queries on CSV data", "url": "https://joelkitching.com/writing/sql-queries-on-csv/", "published_at": "2024-03-15T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e1a1583658", "title": "Creating a JSON database of photos and albums using Google Photos API", "url": "https://joelkitching.com/writing/google-photos-api-database/", "published_at": "2024-03-11T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e1a2429b1a", "title": "Unreasonable limitations of Google Photos API", "url": "https://joelkitching.com/writing/google-photos-api-limitations/", "published_at": "2024-03-03T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e1a2dd2831", "title": "Motion photos not recognized by Google Photos in shared albums", "url": "https://joelkitching.com/writing/google-photos-motion-shared-album/", "published_at": "2024-02-26T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e1a366d63b", "title": "Coding a simple algorithm with ChatGPT", "url": "https://joelkitching.com/writing/chatgpt-simple-algorithm/", "published_at": "2023-04-05T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e1a3c809c3", "title": "GNOME development with x11docker containers", "url": "https://joelkitching.com/writing/x11docker-gnome-containers/", "published_at": "2022-12-04T16:00:00+00:00" }, { "id": "01a0878e-ec02-71fd-a97d-00e1a4c12ad9", "title": "A brief foray into GNOME extension development", "url": "https://joelkitching.com/writing/gnome-extension-dev/", "published_at": "2022-11-25T16:00:00+00:00" } ] posts Claim your blog
Back to joelkitching.com
Blog · corpus.blog/blogs/joelkitching.com/posts

joelkitching.com

joelkitching.com

2026

2025

2024

2023

2022