56,966 blogs · [ { "id": "01a0cf3f-39a9-7291-ab80-3dd13419cdce", "title": "D2 diagramming", "url": "https://shom.dev/posts/20260919_d2-diagramming/", "published_at": "2026-09-20T06:08:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537478839d", "title": "Handworks 2026", "url": "https://shom.dev/posts/20260905_handworks-2026/", "published_at": "2026-09-06T06:29:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15374d29c15", "title": "In the market for assorted moldy fishes", "url": "https://shom.dev/posts/20260831_in-the-market-for-assorted-moldy-fishes/", "published_at": "2026-09-01T02:26:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15375b3ecf6", "title": "Any day diving is better than a day without diving", "url": "https://shom.dev/posts/20260830_any-day-diving-is-better-than-a-day-without-diving/", "published_at": "2026-08-31T03:17:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15376a75e91", "title": "Like tears in the rain", "url": "https://shom.dev/posts/20260829_like-tears-in-the-rain/", "published_at": "2026-08-30T03:57:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15377147b82", "title": "Fedi thread to blog post", "url": "https://shom.dev/posts/20260809_fedi-thread-to-blog-post/", "published_at": "2026-08-10T01:29:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537722c587", "title": "Big hopes for littleFedi", "url": "https://shom.dev/posts/20260808_big-hopes-for-littlefedi/", "published_at": "2026-08-09T03:35:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15377605239", "title": "Morning joy", "url": "https://shom.dev/posts/20260803_morning-joy/", "published_at": "2026-08-04T05:19:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c153784b70b6", "title": "I'm a cyclical hobbyist…", "url": "https://shom.dev/posts/20260801_i-m-a-cyclical-hobbyist-dot-dot-dot/", "published_at": "2026-08-02T00:54:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537864ec7a", "title": "The Hummingbird and The Hound", "url": "https://shom.dev/posts/20260730_the-hummingbird-and-the-hound/", "published_at": "2026-07-31T03:35:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537878fc8f", "title": "Let's Go", "url": "https://shom.dev/posts/20251228_let-s-go/", "published_at": "2025-12-28T08:48:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537977d4f3", "title": "Anatomy of a yak-shave", "url": "https://shom.dev/posts/20251129_anatomy-of-a-yak-shave/", "published_at": "2025-11-30T06:02:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537a027324", "title": "Phanpy custom build for self-hosting", "url": "https://shom.dev/posts/20251127_phanpy-custom-build-for-self-hosting/", "published_at": "2025-11-27T22:01:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537a6a9ea6", "title": "EXIF for Film Photos", "url": "https://shom.dev/posts/20250928_exif-for-film-photos/", "published_at": "2025-09-29T04:44:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537ab86440", "title": "Forgejo'ing forward", "url": "https://shom.dev/posts/20250907_forgejo-ing-forward/", "published_at": "2025-09-08T04:54:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537b08f4e4", "title": "Readeck: \"still delighted\" mini-review update", "url": "https://shom.dev/posts/20250818_readeck-still-delighted-mini-review-update/", "published_at": "2025-08-18T23:57:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537b0bcaf0", "title": "GoToSocial Custom CSS", "url": "https://shom.dev/posts/20250704_gotosocial-custom-css/", "published_at": "2025-07-04T09:01:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537b22ddbf", "title": "Bookmarking! I mean omnivoring! no, hoarding! no, bagging… wait, decking!?", "url": "https://shom.dev/posts/20250629_bookmarking-i-mean-omnivoring-no-hoarding-no-bagging-dot-dot-dot-wait-decking/", "published_at": "2025-06-30T05:59:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537be9846c", "title": "Undo finally clicked with vundo", "url": "https://shom.dev/posts/20250622_undo-finally-clicked-with-vundo/", "published_at": "2025-06-22T23:18:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537c2ad6a3", "title": "Five years on the Fedi", "url": "https://shom.dev/posts/20250609_five-years-on-the-fedi/", "published_at": "2025-06-10T04:52:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537c9dae46", "title": "A PineNote only 5-day weekend", "url": "https://shom.dev/posts/20250406_a-pinenote-only-5-day-weekend/", "published_at": "2025-04-07T05:00:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537d0e4296", "title": "How I accidentally got better at self-hosting and FOSS contributing", "url": "https://shom.dev/posts/20250401_how-i-accidentally-got-better-at-self-hosting-and-foss-contributing/", "published_at": "2025-04-02T05:00:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537ddc0357", "title": "Slimming the site slightly", "url": "https://shom.dev/posts/20250326_slimming-the-site-slightly/", "published_at": "2025-03-27T04:00:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537eb73d42", "title": "PineNote - Day One", "url": "https://shom.dev/posts/20250308_pinenote-day-one/", "published_at": "2025-03-09T03:55:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537ec42a60", "title": "Python, FastHTML, and Yak-shaving", "url": "https://shom.dev/posts/20250302_python-fasthtml-and-yak-shaving/", "published_at": "2025-03-02T07:12:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537f15ee1c", "title": "2024 in review", "url": "https://shom.dev/posts/20241231_2024-in-review/", "published_at": "2025-01-01T04:08:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1537f4d054f", "title": "Hosting a Valheim Plus server on a VPS with Podman and docker-compose", "url": "https://shom.dev/posts/20240818_hosting-a-valheim-plus-server-on-a-vps-with-podman-and-docker-compose/", "published_at": "2024-08-19T03:28:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538020243e", "title": "To our own detriment", "url": "https://shom.dev/posts/20240527_to-our-own-detriment/", "published_at": "2024-05-27T13:33:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538038c559", "title": "Enshittification protests beget more enshittification", "url": "https://shom.dev/posts/20240507_enshittification-protests-beget-more-enshittification/", "published_at": "2024-05-08T02:42:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538079bbde", "title": "In appreciation of podcasts", "url": "https://shom.dev/posts/20240430_in-appreciation-of-podcasts/", "published_at": "2024-05-01T04:54:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15380cdaded", "title": "Starting a webring in 2024", "url": "https://shom.dev/posts/20240417_starting-a-webring-in-2024/", "published_at": "2024-04-18T02:56:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15380f5d69e", "title": "2024 Total Eclipse Prep", "url": "https://shom.dev/posts/20240407_2024-total-eclipse-prep/", "published_at": "2024-04-08T01:40:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c153810c04c0", "title": "Joy is free and comes in small packages", "url": "https://shom.dev/posts/20240407_joy-is-free-and-comes-in-small-packages/", "published_at": "2024-04-07T06:02:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c153815a3a86", "title": "Using Kanata to remap any keyboard", "url": "https://shom.dev/start/using-kanata-to-remap-any-keyboard/", "published_at": "2024-03-28T21:51:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15381a10727", "title": "When open source goes source available", "url": "https://shom.dev/posts/20240327_when-open-source-goes-source-available/", "published_at": "2024-03-27T22:16:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15381fb87f0", "title": "Face lift", "url": "https://shom.dev/posts/20240216_face-lift/", "published_at": "2024-02-17T05:19:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c153822912ab", "title": "Writing system automation scripts and services", "url": "https://shom.dev/start/writing-system-automation-scripts-and-services/", "published_at": "2024-02-14T20:35:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538290a0fc", "title": "Alacritty Auto Theme Switcher", "url": "https://shom.dev/posts/20240213_alacritty-auto-theme-switcher/", "published_at": "2024-02-14T03:28:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15383821b1b", "title": "Firefox scrollbar size", "url": "https://shom.dev/posts/20240208_firefox-scrollbar-size/", "published_at": "2024-02-08T18:48:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15384783628", "title": "filmPoster with Gum Hugo photo post bliss?", "url": "https://shom.dev/posts/20240204_filmposter-with-gum-hugo-photo-post-bliss/", "published_at": "2024-02-05T00:49:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15384fbc4ab", "title": "How to get Started", "url": "https://shom.dev/posts/20240202_how-to-get-started/", "published_at": "2024-02-02T08:37:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15385799900", "title": "Alacritty: TOML and partial imports", "url": "https://shom.dev/posts/20240124_alacritty-toml-and-partial-imports/", "published_at": "2024-01-25T06:06:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538661eb9f", "title": "URL shortening for blog links natively in Hugo", "url": "https://shom.dev/posts/20240121_url-shortening-for-blog-links-natively-in-hugo/", "published_at": "2024-01-21T06:36:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15387523483", "title": "Tech debt for personal projects", "url": "https://shom.dev/posts/20240119_tech-debt-for-personal-projects/", "published_at": "2024-01-20T07:16:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15387bc5301", "title": "Film Photography", "url": "https://shom.dev/posts/20231207_film-photography/", "published_at": "2023-12-07T09:06:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15388af5b06", "title": "More eagles", "url": "https://shom.dev/posts/20230205_more-eagles/", "published_at": "2023-02-05T23:28:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15388e75fd0", "title": "Eagles in the \"backyard\"", "url": "https://shom.dev/posts/20230120_eagles-in-the-backyard/", "published_at": "2023-01-20T19:11:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15389a01d8b", "title": "Trigger site rebuild to update copyright", "url": "https://shom.dev/posts/20230101_trigger-site-rebuild-to-update-copyright/", "published_at": "2023-01-01T06:37:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c15389d23b5d", "title": "Let's Encrypt with acme.sh behind CPanel", "url": "https://shom.dev/posts/20221109_let-s-encrypt-with-acme-dot-sh-behind-cpanel/", "published_at": "2022-11-10T05:43:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538a526992", "title": "FOSS Woodworking", "url": "https://shom.dev/posts/20221019_foss-woodworking/", "published_at": "2022-10-19T06:50:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538a61e811", "title": "Fiddly Fig", "url": "https://shom.dev/posts/20221009_fiddly-fig/", "published_at": "2022-10-10T04:40:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538acff543", "title": "Fun with pipes", "url": "https://shom.dev/posts/20220919_fun-with-pipes/", "published_at": "2022-09-20T00:15:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538b5bc0a1", "title": "Markdown anchor linking on Github", "url": "https://shom.dev/posts/20220917_markdown-anchor-linking-on-github/", "published_at": "2022-09-18T07:11:00+00:00" }, { "id": "01a087e0-0bad-73f6-9cd1-c1538c1a54a5", "title": "Bonaire Art", "url": "https://shom.dev/posts/20220530_bonaire-art/", "published_at": "2022-05-30T16:26:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2017fb86b91", "title": "From fish on Gnome Terminal to zsh with Starship on Alacritty", "url": "https://shom.dev/posts/20220514_from-fish-on-gnome-terminal-to-zsh-with-starship-on-alacritty/", "published_at": "2022-05-14T22:01:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2017fca73a1", "title": "QMK caps word", "url": "https://shom.dev/posts/20220414_qmk-caps-word/", "published_at": "2022-04-15T01:59:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2018098cb57", "title": "Seahorse", "url": "https://shom.dev/posts/20220308_seahorse/", "published_at": "2022-03-09T03:53:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e201818e741c", "title": "Hugo photos with EXIF data", "url": "https://shom.dev/posts/20220128_hugo-photos-with-exif-data/", "published_at": "2022-01-29T07:42:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20181c11b04", "title": "Corne LP", "url": "https://shom.dev/posts/20220116_corne-lp/", "published_at": "2022-01-16T20:48:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20181e07ec4", "title": "OBS, virtual camera, guix", "url": "https://shom.dev/posts/20220111_obs-virtual-camera-guix/", "published_at": "2022-01-11T22:47:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20182c30463", "title": "Found Nemo!", "url": "https://shom.dev/posts/20220109_found-nemo/", "published_at": "2022-01-10T03:05:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20183c10f61", "title": "Water color paint key/legend", "url": "https://shom.dev/posts/20220108_water-color-paint-key-legend/", "published_at": "2022-01-08T23:48:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20183f5900f", "title": "Setting up Protonmail in Emacs", "url": "https://shom.dev/posts/20220108_setting-up-protonmail-in-emacs/", "published_at": "2022-01-08T18:04:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2018485b86b", "title": "\"Inverse literate\" config via org-transclusion", "url": "https://shom.dev/posts/20211230_inverse-literate-config-via-org-transclusion/", "published_at": "2021-12-30T23:32:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e201850231df", "title": "Doom Emacs config (deprecated)", "url": "https://shom.dev/posts/20211201_doom-emacs-config--deprecated/", "published_at": "2021-12-02T03:57:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e201852823e0", "title": "Highland Chewie", "url": "https://shom.dev/posts/20211129_highland-chewie/", "published_at": "2021-11-30T04:52:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2018554144a", "title": "Emacs which-key prefix labels", "url": "https://shom.dev/posts/20211122_emacs-which-key-prefix-labels/", "published_at": "2021-11-22T06:26:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2018554c4b2", "title": "Emacs custom configuration", "url": "https://shom.dev/posts/20211121_emacs-custom-configuration/", "published_at": "2021-11-21T23:35:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e201860f2559", "title": "Sony A7c initial customization", "url": "https://shom.dev/posts/20211026_sony-a7c-initial-customization/", "published_at": "2021-10-27T05:52:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20186e228c1", "title": "org-bars view for outlining/folding", "url": "https://shom.dev/posts/20211023_org-bars-view-for-outlining-folding/", "published_at": "2021-10-24T04:37:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e201877fb5ce", "title": "Wine and CrossOver to use Lightroom on Linux", "url": "https://shom.dev/posts/20211016_wine-and-crossover-lightroom/", "published_at": "2021-10-16T05:07:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20187caf7fb", "title": "Fully automated deployment", "url": "https://shom.dev/posts/20211005_fully-automated-deployment/", "published_at": "2021-10-05T10:53:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2018823703a", "title": "Static-site", "url": "https://shom.dev/posts/20210910_static-site/", "published_at": "2021-09-11T01:29:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20189214301", "title": "Framework", "url": "https://shom.dev/posts/20210901_framework-first-impressions/", "published_at": "2021-09-02T00:25:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20189869cba", "title": "Video Editing", "url": "https://shom.dev/posts/20210808_video-editing/", "published_at": "2021-08-08T21:00:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e20189c0186d", "title": "Termux + Emacs", "url": "https://shom.dev/posts/20210807_termux-emacs/", "published_at": "2021-08-07T20:59:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2018a918d0d", "title": "Latte Art", "url": "https://shom.dev/posts/20210802_latte-art/", "published_at": "2021-08-03T00:11:00+00:00" }, { "id": "01a087e0-0bae-72a0-b079-e2018b40e5b8", "title": "Gemini Capsule", "url": "https://shom.dev/posts/20210802_gemini-capsule/", "published_at": "2021-08-03T00:00:00+00:00" } ] posts Claim your blog
Back to shom.dev
Blog · corpus.blog/blogs/shom.dev/posts

shom.dev

shom.dev

2026

2025

2024

2023

2022

2021