41554 blogs · [
{
"id": "01a087d7-2665-70bf-b7a5-8fb4aab00b19",
"title": "Running Headscale on my own infra (and finally killing my WireGuard setup)",
"url": "https://rogs.me/2026/08/running-headscale-on-my-own-infra-and-finally-killing-my-wireguard-setup/",
"published_at": "2026-08-03T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4ab4c9355",
"title": "How I got Claude certified (and how you can too)",
"url": "https://rogs.me/2026/07/how-i-got-claude-certified-and-how-you-can-too/",
"published_at": "2026-07-19T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4abb3d169",
"title": "Running Fallout London on Bazzite",
"url": "https://rogs.me/2026/06/running-fallout-london-on-bazzite/",
"published_at": "2026-06-10T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4abf07e1c",
"title": "How I configured OpenClaw's multi-model setup (so you don't have to)",
"url": "https://rogs.me/2026/04/how-i-configured-openclaws-multi-model-setup-so-you-dont-have-to/",
"published_at": "2026-04-08T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4abf75acc",
"title": "I patched GSD, and why you should patch it too",
"url": "https://rogs.me/2026/04/i-patched-gsd-and-why-you-should-patch-it-too/",
"published_at": "2026-04-06T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4ac49546f",
"title": "Anthropic is pushing away its paying customers",
"url": "https://rogs.me/2026/04/anthropic-is-pushing-away-its-paying-customers/",
"published_at": "2026-04-04T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4ad31dca9",
"title": "OpenCode as a server: AI agents that work while I sleep",
"url": "https://rogs.me/2026/04/opencode-as-a-server-ai-agents-that-work-while-i-sleep/",
"published_at": "2026-04-02T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4adf711a6",
"title": "How I deploy my projects to a single VPS with Gitea, NGINX and Docker",
"url": "https://rogs.me/2026/03/how-i-deploy-my-projects-to-a-single-vps-with-gitea-nginx-and-docker/",
"published_at": "2026-03-15T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4ae4e2c1d",
"title": "Adding analytics to my blog",
"url": "https://rogs.me/2026/02/adding-analytics-to-my-blog/",
"published_at": "2026-02-18T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4af2dbc05",
"title": "Use your Claude Max subscription as an API with CLIProxyAPI",
"url": "https://rogs.me/2026/02/use-your-claude-max-subscription-as-an-api-with-cliproxyapi/",
"published_at": "2026-02-13T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4af6a1563",
"title": "Claude Code from the beach: My remote coding setup with mosh, tmux and ntfy",
"url": "https://rogs.me/2026/02/claude-code-from-the-beach-my-remote-coding-setup-with-mosh-tmux-and-ntfy/",
"published_at": "2026-02-10T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4afaddf63",
"title": "Introducing: YAMS (Yet Another Media Server)!",
"url": "https://rogs.me/2023/01/introducing-yams-yet-another-media-server/",
"published_at": "2023-01-20T12:57:48+00:00"
},
{
"id": "01a0e261-4544-703a-97f6-6beaa30f82e9",
"title": "rogs joined Hotline Webring",
"url": "https://rogs.me/",
"published_at": "2023-01-17T14:55:38+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b0acd429",
"title": "Removing comments from my blog",
"url": "https://rogs.me/2023/01/removing-comments-from-my-blog/",
"published_at": "2023-01-14T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b16b1836",
"title": "Using MinIO to upload to a local S3 bucket in Django",
"url": "https://rogs.me/2021/01/using-minio-to-upload-to-a-local-s3-bucket-in-django/",
"published_at": "2021-01-10T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b1de563f",
"title": "How to create a celery task that fills out fields using Django",
"url": "https://rogs.me/2020/11/how-to-create-a-celery-task-that-fills-out-fields-using-django/",
"published_at": "2020-11-29T18:48:48+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b2a5f739",
"title": "How I got a residency appointment thanks to Python, Selenium and Telegram",
"url": "https://rogs.me/2020/08/how-i-got-a-residency-appointment-thanks-to-python-selenium-and-telegram/",
"published_at": "2020-08-02T00:00:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b346ad8e",
"title": "How to search Google without using Google, the self-hosted way",
"url": "https://rogs.me/2020/06/how-to-search-google-without-using-google-the-self-hosted-way/",
"published_at": "2020-06-22T13:07:12+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b35cf830",
"title": "De-Google my blog - How to blog in 2020 without Google",
"url": "https://rogs.me/2020/05/de-google-my-blog-how-to-blog-in-2020-without-google/",
"published_at": "2020-05-20T13:41:56+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b3d75061",
"title": "How I manage multiple development environments in my Django workflow using Docker compose",
"url": "https://rogs.me/2020/05/how-i-manage-multiple-development-environments-in-my-django-workflow-using-docker-compose/",
"published_at": "2020-05-13T14:36:48+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b48d0f9f",
"title": "Secure your Django API from DDoS attacks with NGINX and fail2ban",
"url": "https://rogs.me/2020/04/secure-your-django-api-from-ddos-attacks-with-nginx-and-fail2ban/",
"published_at": "2020-04-26T14:36:39+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b4e17da9",
"title": "My mom was always right | Rant on social media",
"url": "https://rogs.me/2020/04/my-mom-was-always-right-rant-on-social-media/",
"published_at": "2020-04-25T15:35:53+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b5aa6793",
"title": "How to search in a huge table on Django admin",
"url": "https://rogs.me/2020/02/17/how-to-search-in-a-huge-table-on-django-admin/",
"published_at": "2020-02-17T21:08:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b5e31a33",
"title": "De-Google my life - Part 5 of ¯ (ツ)_/¯: Backups",
"url": "https://rogs.me/2019/11/27/de-google-my-life-part-5-of-_-tu-_-backups/",
"published_at": "2019-11-27T23:30:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b5f40f08",
"title": "De-Google my life - Part 4 of ¯ (ツ)_/¯: Dokuwiki & Ghost",
"url": "https://rogs.me/2019/11/20/de-google-my-life-part-4-of-_-tu-_-dokuwiki-ghost/",
"published_at": "2019-11-20T22:29:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b6e19c0a",
"title": "De-Google my life - Part 3 of ¯ (ツ)_/¯: Nextcloud & Collabora",
"url": "https://rogs.me/2019/03/29/de-google-my-life-part-3-of-_-tu-_-nextcloud-collabora/",
"published_at": "2019-03-28T23:07:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b7ca5f96",
"title": "De-Google my life - Part 2 of ¯ (ツ)_/¯: Servers and Emails",
"url": "https://rogs.me/2019/03/22/de-google-my-life-part-2-of-_-tu-_-servers-and-emails/",
"published_at": "2019-03-23T01:03:00+00:00"
},
{
"id": "01a087d7-2665-70bf-b7a5-8fb4b868d1ba",
"title": "De-Google my life - Part 1 of ¯ (ツ)_/¯: Why? How?",
"url": "https://rogs.me/2019/03/15/de-google-my-life-part-1-of-_-tu-_-why-how/",
"published_at": "2019-03-15T19:59:00+00:00"
}
] posts Claim your blog