41554 blogs · [ { "id": "01a0d903-f33a-7210-afeb-5cfae9e99740", "title": "EuroBSDCon 2026: conference notes", "url": "https://jan.systems/posts/eurobsdcon-2026-conf-notes/", "published_at": "2026-09-17T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ecde0608a", "title": "☀️ Now, summer 2026", "url": "https://jan.systems/posts/now-2026-summer/", "published_at": "2026-08-26T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ecea00751", "title": "I migrated my repos to my home server – forge.jan.systems", "url": "https://jan.systems/posts/forge-jan-systems/", "published_at": "2026-08-23T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ecf8ed1e8", "title": "Linux OCI containers as plain FreeBSD jails (without Podman)", "url": "https://jan.systems/posts/linux-oci-containers-as-jails/", "published_at": "2026-08-10T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ecff28ef3", "title": "🌱 Now, spring 2026", "url": "https://jan.systems/posts/now-2026-spring/", "published_at": "2026-04-12T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed0ec6463", "title": "A home server journey, part 5: Ansible", "url": "https://jan.systems/posts/home-server-part-5/", "published_at": "2025-12-26T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed19268cd", "title": "A home server journey, part 4: Networking", "url": "https://jan.systems/posts/home-server-part-4/", "published_at": "2025-12-24T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed243ff59", "title": "A home server journey, part 3: Installation", "url": "https://jan.systems/posts/home-server-part-3/", "published_at": "2025-12-23T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed2bf8167", "title": "❄️ Now, winter 2025", "url": "https://jan.systems/posts/now-2025-winter/", "published_at": "2025-12-16T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed34dd520", "title": "EuroBSDCon 2025: conference notes", "url": "https://jan.systems/posts/eurobsdcon-2025-conf-notes/", "published_at": "2025-10-17T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed44ad7fb", "title": "🍁 Now, fall 2025", "url": "https://jan.systems/posts/now-2025-fall/", "published_at": "2025-10-05T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed5164804", "title": "A home server journey, part 2: Hardware", "url": "https://jan.systems/posts/home-server-part-2/", "published_at": "2025-10-04T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed5a4614d", "title": "A home server journey, part 1: Motivation", "url": "https://jan.systems/posts/home-server-part-1/", "published_at": "2025-06-30T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed5bdd8e2", "title": "☀️ Now, summer 2025", "url": "https://jan.systems/posts/now-2025-summer/", "published_at": "2025-06-15T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed5c6a03c", "title": "My pile of incomplete projects", "url": "https://jan.systems/posts/pile-of-incomplete-projects/", "published_at": "2025-04-28T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed605bd56", "title": "jan.systems tech stack retro/prospective", "url": "https://jan.systems/posts/tech-stack-retro-prospective/", "published_at": "2025-04-28T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed6ae42ae", "title": "MacOS: Opening Git commit prompt in active GUI editor", "url": "https://jan.systems/posts/macos-opening-git-commit-prompt-in-active-gui-editor/", "published_at": "2025-01-29T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed6ff0572", "title": "Path-conditional config and SSH key signing in `git`", "url": "https://jan.systems/posts/git-path-conditional-config-and-ssh-key-signing/", "published_at": "2024-12-21T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed7e51093", "title": "🍁 Now, fall 2024", "url": "https://jan.systems/posts/now-2024-fall/", "published_at": "2024-12-10T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed8c8eb1c", "title": "🌞 Now, summer 2024", "url": "https://jan.systems/posts/now-2024-summer/", "published_at": "2024-07-18T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed8df4f3e", "title": "Subjective review: Miru", "url": "https://jan.systems/posts/subjective-review-miru/", "published_at": "2024-07-14T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed9401edb", "title": "Managing dotfiles in `git`", "url": "https://jan.systems/posts/managing-dotfiles-in-git/", "published_at": "2024-07-08T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed9ab5520", "title": "Opening multiple DB tunnels with AWS SSM", "url": "https://jan.systems/posts/opening-multiple-db-tunnels-with-aws-ssm/", "published_at": "2024-06-26T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ed9e79206", "title": "It doesn't mean that", "url": "https://jan.systems/posts/it-doesnt-mean-that/", "published_at": "2024-05-16T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edadee371", "title": "Directory aware `git`", "url": "https://jan.systems/posts/directory-aware-git/", "published_at": "2024-05-07T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edae7de93", "title": "ATK16 – My homegrown computer", "url": "https://jan.systems/posts/atk16-my-homegrown-computer/", "published_at": "2024-05-01T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edbc95698", "title": "🌱 Now, spring 2024", "url": "https://jan.systems/posts/now-2024-spring/", "published_at": "2024-04-22T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edcafa215", "title": "Automatic slideshows with reveal-unfold.js", "url": "https://jan.systems/posts/unfold/", "published_at": "2024-04-21T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edd5bf353", "title": "QCon London 2024 takeaways", "url": "https://jan.systems/posts/qcon-london-2024-takeaways/", "published_at": "2024-04-20T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edd6ec97e", "title": "Cookbook", "url": "https://jan.systems/posts/cookbook/", "published_at": "2024-03-28T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ede297d86", "title": "Cassettes", "url": "https://jan.systems/posts/cassettes/", "published_at": "2024-03-27T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edf0d430b", "title": "Deploying the garden", "url": "https://jan.systems/posts/deploying-the-garden/", "published_at": "2024-03-26T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edf619e2f", "title": "Diddle, a minimalist event scheduler", "url": "https://jan.systems/posts/diddle-event-scheduler/", "published_at": "2024-03-12T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301edfe2f5a6", "title": "There's an RSS feed now", "url": "https://jan.systems/posts/theres-an-rss-feed-now/", "published_at": "2024-02-15T00:00:00+00:00" }, { "id": "01a0878b-2052-70b8-a19c-301ee05ceeeb", "title": "❄️ Now, winter 2023", "url": "https://jan.systems/posts/now-2023-winter/", "published_at": "2023-01-30T00:00:00+00:00" } ] posts Claim your blog
Back to Jan Tuomi
Blog · corpus.blog/blogs/jan.systems/posts

Jan Tuomi

jan.systems

2026

2025

2024

2023