56,966 blogs · [ { "id": "01a08748-b69e-7171-a30b-74abe11ae189", "title": "Omarchy and my Security Sweet Spot", "url": "https://blog.fidelramos.net/software/omarchy-security-sweet-spot", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac526d3ac6e", "title": "Custom git trailers with Magit", "url": "https://blog.fidelramos.net/software/emacs-custom-magit-trailers", "published_at": "2026-08-12T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5276244e5", "title": "Supply-chain hygiene for Emacs: LLM review of package upgrades", "url": "https://blog.fidelramos.net/software/emacs-straight-ai-review", "published_at": "2026-08-08T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac527f6a25f", "title": "2026 Resolutions Review", "url": "https://blog.fidelramos.net/personal/new-years-resolutions-2026-review", "published_at": "2026-07-04T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5283eec3d", "title": "Vibe Coding Escapades: Venice.ai KDE widget", "url": "https://blog.fidelramos.net/software/vibe-coding-escapades-venice-kde-widget", "published_at": "2026-06-25T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac528f28742", "title": "Self-hosted Tailscale, Part 4: Tailscale-Only Web Services", "url": "https://blog.fidelramos.net/software/tailscale-4-web-services", "published_at": "2026-06-04T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac529714373", "title": "Vibe Coding Escapades: pelican-copy-code plugin", "url": "https://blog.fidelramos.net/software/vibe-coding-escapades-pelican-copy-code", "published_at": "2026-05-26T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac529e8a5ab", "title": "Vibe Coding Escapades", "url": "https://blog.fidelramos.net/software/vibe-coding-escapades", "published_at": "2026-05-24T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52a4723b5", "title": "Self-hosted Tailscale, Part 3: Syncthing over Tailscale", "url": "https://blog.fidelramos.net/software/tailscale-3-syncthing", "published_at": "2026-05-18T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52b38fb46", "title": "How I Sandbox my AI Agents", "url": "https://blog.fidelramos.net/software/how-i-sandbox-ai-agents", "published_at": "2026-05-14T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52b87f420", "title": "Self-hosted Tailscale, Part 2: Ad-blocking DNS", "url": "https://blog.fidelramos.net/software/tailscale-2-ad-blocking-dns", "published_at": "2026-05-11T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52c59d801", "title": "Self-hosted Tailscale, Part 1: Headscale and clients", "url": "https://blog.fidelramos.net/software/tailscale-1-headscale-and-clients", "published_at": "2026-05-05T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52c644565", "title": "Pre-establishing SSH master connections for Ansible, or using OnlyKey with Ansible without losing your mind", "url": "https://blog.fidelramos.net/software/ansible-ssh-master-connections", "published_at": "2026-04-07T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52d4326b6", "title": "Announcing Reflex, a Pelican theme", "url": "https://blog.fidelramos.net/software/announce-reflex-theme", "published_at": "2026-02-16T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52e398dcb", "title": "Self-hosted Home, Part 1: Design and Planning", "url": "https://blog.fidelramos.net/software/self-hosted-home-1", "published_at": "2026-01-25T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52f2af492", "title": "New Year's Resolutions for 2026", "url": "https://blog.fidelramos.net/personal/new-years-resolutions-2026", "published_at": "2026-01-08T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52f51f1a4", "title": "Periodic script to back up installed OS packages", "url": "https://blog.fidelramos.net/software/backup-installed-packages", "published_at": "2025-12-08T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac52fa5c9ab", "title": "Responsible education in computing", "url": "https://blog.fidelramos.net/software/computing-education-1", "published_at": "2025-11-09T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5303f37db", "title": "2025 Resolutions Review", "url": "https://blog.fidelramos.net/personal/new-years-resolutions-2025-review", "published_at": "2025-07-17T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac530b87eed", "title": "Now with self-hosted comments", "url": "https://blog.fidelramos.net/software/self-hosted-comments", "published_at": "2025-02-10T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac53150ce17", "title": "New Year's Resolutions for 2025", "url": "https://blog.fidelramos.net/personal/new-years-resolutions-2025", "published_at": "2025-01-06T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5324e72d1", "title": "New Year's Resolutions for 2024", "url": "https://blog.fidelramos.net/personal/new-years-resolutions-2024", "published_at": "2024-01-01T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac532875183", "title": "My homelab setup", "url": "https://blog.fidelramos.net/software/homelab", "published_at": "2023-12-29T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5338607be", "title": "Migrating to fish shell", "url": "https://blog.fidelramos.net/software/fish-shell", "published_at": "2023-12-07T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5341243f1", "title": "Replacing Nginx with Caddy in Docker Compose", "url": "https://blog.fidelramos.net/software/switch-nginx-caddy-docker-compose", "published_at": "2023-11-09T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5341cc724", "title": "Automating Python code quality", "url": "https://blog.fidelramos.net/software/python-code-quality", "published_at": "2023-06-23T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5350fb468", "title": "Public record: my BTC bet with tripu", "url": "https://blog.fidelramos.net/cryptocurrency/btc-bet", "published_at": "2023-05-06T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5352f4109", "title": "Privacy-respecting self-hosted Web Analytics", "url": "https://blog.fidelramos.net/software/privacy-respecting-self-hosted-web-analytics", "published_at": "2022-05-27T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac536067449", "title": "My free-software photography workflow", "url": "https://blog.fidelramos.net/photography/photography-workflow", "published_at": "2022-03-31T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac5365a2576", "title": "Web browser add-ons I use", "url": "https://blog.fidelramos.net/software/web-browser-addons", "published_at": "2022-02-23T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac53671b7f4", "title": "Nextcloud CardDAV and CalDAV discovery with DNS records", "url": "https://blog.fidelramos.net/software/nextcloud-caldav-carddav-dns", "published_at": "2022-02-17T00:00:00+00:00" }, { "id": "01a08748-b69f-735a-a7a4-3ac537165e60", "title": "Unlocking a LUKS-encrypted partition on boot with an USB drive", "url": "https://blog.fidelramos.net/software/unlock-luks-usb-drive", "published_at": "2019-10-13T00:00:00+00:00" } ] posts Claim your blog
Back to blog.fidelramos.net
Blog · corpus.blog/blogs/blog.fidelramos.net/posts

blog.fidelramos.net

blog.fidelramos.net

2026

2025

2024

2023

2022

2019