<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>‍Federico Ragona</title><link>/</link><description>Recent content on ‍Federico Ragona</description><generator>Hugo</generator><language>en</language><copyright>Business entity: Mapaaa, KvK number: 81030436, VAT number: NL003519066B46</copyright><lastBuildDate>Thu, 19 Feb 2026 19:43:42 +0100</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml"/><item><title>Hosting a Forgejo Runner on Scaleway</title><link>/posts/2026/02/19/forgejo-runner-scaleway/</link><pubDate>Thu, 19 Feb 2026 19:43:42 +0100</pubDate><guid>/posts/2026/02/19/forgejo-runner-scaleway/</guid><description/></item><item><title>What Your Bluetooth Devices Reveal About You</title><link>/links/20260215-what-your-bluetooth-devices-reveal-about-you/</link><pubDate>Mon, 16 Feb 2026 19:34:52 +0100</pubDate><guid>/links/20260215-what-your-bluetooth-devices-reveal-about-you/</guid><description/></item><item><title>The AI vampire</title><link>/links/20260213-the-ai-vampire/</link><pubDate>Fri, 13 Feb 2026 09:55:12 +0000</pubDate><guid>/links/20260213-the-ai-vampire/</guid><description/></item><item><title>We mourn our craft</title><link>/links/20260208-we-mourn-our-craft/</link><pubDate>Sun, 08 Feb 2026 13:20:37 +0000</pubDate><guid>/links/20260208-we-mourn-our-craft/</guid><description/></item><item><title>First-principles debugging for leaders</title><link>/links/20260123-first-principles-debugging-for-leaders/</link><pubDate>Fri, 23 Jan 2026 05:50:18 +0000</pubDate><guid>/links/20260123-first-principles-debugging-for-leaders/</guid><description/></item><item><title>Life is poker, not chess</title><link>/links/20250929-life-is-poker-not-chess/</link><pubDate>Mon, 29 Sep 2025 17:47:57 +0000</pubDate><guid>/links/20250929-life-is-poker-not-chess/</guid><description/></item><item><title>Gather, decide, execute: reflecting on my daily system</title><link>/links/20250430-gather-decide-execute/</link><pubDate>Wed, 30 Apr 2025 07:30:48 +0000</pubDate><guid>/links/20250430-gather-decide-execute/</guid><description/></item><item><title>Migrating a service with feature flags</title><link>/posts/2025/02/07/migrating-a-service-with-feature-flags/</link><pubDate>Fri, 07 Feb 2025 22:09:05 +0100</pubDate><guid>/posts/2025/02/07/migrating-a-service-with-feature-flags/</guid><description/></item><item><title>Managing Python workspaces with uv</title><link>/posts/2024/12/18/managing-python-workspaces-with-uv/</link><pubDate>Wed, 18 Dec 2024 07:31:13 +0100</pubDate><guid>/posts/2024/12/18/managing-python-workspaces-with-uv/</guid><description/></item><item><title>Why you suck at giving feedback</title><link>/links/20241028-why-you-suck-at-giving-feedback/</link><pubDate>Mon, 28 Oct 2024 06:59:13 +0000</pubDate><guid>/links/20241028-why-you-suck-at-giving-feedback/</guid><description/></item><item><title>Migrating my Pocket bookmarks to Obsidian</title><link>/posts/2024/07/07/migrating-my-pocket-bookmarks-to-obsidian/</link><pubDate>Sun, 07 Jul 2024 22:20:10 +0200</pubDate><guid>/posts/2024/07/07/migrating-my-pocket-bookmarks-to-obsidian/</guid><description/></item><item><title>My home-baked bookmark manager</title><link>/posts/2024/07/06/my-homebaked-bookmark-manager/</link><pubDate>Sat, 06 Jul 2024 23:00:00 +0200</pubDate><guid>/posts/2024/07/06/my-homebaked-bookmark-manager/</guid><description/></item><item><title>Bookmark'd (2024)</title><link>/projects/bookmarkd/</link><pubDate>Sat, 06 Jul 2024 08:00:00 +0200</pubDate><guid>/projects/bookmarkd/</guid><description>macOS app to store HTML pages as Markdown in an Obsidian vault</description></item><item><title>Building a BFT JSON CRDT</title><link>/links/20240615-why-i-write-copy/</link><pubDate>Wed, 03 Jul 2024 06:15:27 +0200</pubDate><guid>/links/20240615-why-i-write-copy/</guid><description/></item><item><title>estimating and reclaiming bloat in PostgreSQL</title><link>/posts/2024/06/29/estimating-and-reclaiming-bloat-in-postgresql/</link><pubDate>Sat, 29 Jun 2024 11:58:10 +0200</pubDate><guid>/posts/2024/06/29/estimating-and-reclaiming-bloat-in-postgresql/</guid><description/></item><item><title>Explaining PostgreSQL's EXPLAIN command</title><link>/posts/2024/06/29/explaining-postgresql-explain-command/</link><pubDate>Sat, 29 Jun 2024 11:08:33 +0200</pubDate><guid>/posts/2024/06/29/explaining-postgresql-explain-command/</guid><description/></item><item><title>Estimating unique visitors in near realtime: HyperLogLog</title><link>/posts/2024/06/17/hyperloglog/</link><pubDate>Mon, 17 Jun 2024 20:04:14 +0200</pubDate><guid>/posts/2024/06/17/hyperloglog/</guid><description/></item><item><title>Consistency over Perfectionism</title><link>/posts/2024/06/15/consistency-over-perfectionism/</link><pubDate>Sat, 15 Jun 2024 22:02:43 +0200</pubDate><guid>/posts/2024/06/15/consistency-over-perfectionism/</guid><description/></item><item><title>Why I write</title><link>/links/20240615-why-i-write/</link><pubDate>Sat, 15 Jun 2024 17:34:34 +0200</pubDate><guid>/links/20240615-why-i-write/</guid><description/></item><item><title>python's global interpreter lock</title><link>/posts/2024/04/15/python-global-interpreter-lock/</link><pubDate>Mon, 15 Apr 2024 04:39:42 +0200</pubDate><guid>/posts/2024/04/15/python-global-interpreter-lock/</guid><description/></item><item><title>concurrency in python 3.x</title><link>/posts/2024/03/25/concurrency-in-python3/</link><pubDate>Mon, 25 Mar 2024 22:08:50 +0100</pubDate><guid>/posts/2024/03/25/concurrency-in-python3/</guid><description/></item><item><title>goroutines' memory management</title><link>/posts/2023/01/19/goroutines-memory-management/</link><pubDate>Fri, 19 Jan 2024 15:10:41 +0100</pubDate><guid>/posts/2023/01/19/goroutines-memory-management/</guid><description/></item><item><title>go garbage collector</title><link>/posts/2023/01/25/go-garbage-collector/</link><pubDate>Fri, 15 Dec 2023 22:55:38 +0100</pubDate><guid>/posts/2023/01/25/go-garbage-collector/</guid><description/></item><item><title>Inspecting binary Protobuf data</title><link>/posts/2023/12/07/inspecting-binary-protobuf-data/</link><pubDate>Thu, 07 Dec 2023 23:19:31 +0100</pubDate><guid>/posts/2023/12/07/inspecting-binary-protobuf-data/</guid><description/></item><item><title>Writing a DNS Sinkhole and running it on a Raspberry Pi</title><link>/posts/2023/11/02/writing-a-dns-sinkhole/</link><pubDate>Thu, 02 Nov 2023 22:33:44 +0200</pubDate><guid>/posts/2023/11/02/writing-a-dns-sinkhole/</guid><description/></item><item><title>DNS Sinkhole (2023)</title><link>/projects/dns-sinkhole/</link><pubDate>Thu, 02 Nov 2023 08:00:00 +0200</pubDate><guid>/projects/dns-sinkhole/</guid><description>systemd service to block access to configured domains</description></item><item><title>Remapping Caps Lock on a Keychron keyboard</title><link>/posts/2023/11/01/remapping-caps-lock-on-keychron-keyboard/</link><pubDate>Wed, 01 Nov 2023 12:23:43 +0100</pubDate><guid>/posts/2023/11/01/remapping-caps-lock-on-keychron-keyboard/</guid><description/></item><item><title>Ark (2023)</title><link>/projects/ark/</link><pubDate>Sat, 30 Sep 2023 08:00:00 +0200</pubDate><guid>/projects/ark/</guid><description>Client/server CLI application to organize and deduplicate media files</description></item><item><title>Archiving and deduplicating media files</title><link>/posts/2023/09/30/archiving-and-deduplicating-media-files/</link><pubDate>Sat, 30 Sep 2023 07:54:58 +0200</pubDate><guid>/posts/2023/09/30/archiving-and-deduplicating-media-files/</guid><description/></item><item><title>Parsing Tiff EXIF entries</title><link>/posts/2023/08/08/parsing-tiff-exif-entries/</link><pubDate>Tue, 08 Aug 2023 14:33:17 +0200</pubDate><guid>/posts/2023/08/08/parsing-tiff-exif-entries/</guid><description/></item><item><title>Extracting the original datetime from Canon and Olympus photos</title><link>/posts/2023/07/29/extracting-photo-original-datetime/</link><pubDate>Sat, 29 Jul 2023 18:02:00 +0200</pubDate><guid>/posts/2023/07/29/extracting-photo-original-datetime/</guid><description/></item><item><title>TIFF Parser (2023)</title><link>/projects/tiff-parser/</link><pubDate>Sat, 29 Jul 2023 08:00:00 +0200</pubDate><guid>/projects/tiff-parser/</guid><description>Library to parse EXIF metadata from TIFF-compatible files</description></item><item><title>Model the absence of values in Protobuf</title><link>/posts/2023/03/09/model-field-absence-in-protobuf/</link><pubDate>Thu, 09 Mar 2023 18:00:47 +0100</pubDate><guid>/posts/2023/03/09/model-field-absence-in-protobuf/</guid><description/></item><item><title>Technical Writing</title><link>/posts/2023/02/24/technical-writing/</link><pubDate>Sat, 04 Feb 2023 22:02:55 +0100</pubDate><guid>/posts/2023/02/24/technical-writing/</guid><description/></item><item><title>Use ACM Certificate in gRPC Connection</title><link>/posts/2022/11/27/use-acm-certificate-in-grpc-connection/</link><pubDate>Sun, 27 Nov 2022 20:55:34 +0100</pubDate><guid>/posts/2022/11/27/use-acm-certificate-in-grpc-connection/</guid><description/></item><item><title>AWS Database Migration Service: Replication Task Failed</title><link>/posts/2022/10/03/aws-dms-mysql-replication-task-failed/</link><pubDate>Mon, 03 Oct 2022 12:46:53 +0200</pubDate><guid>/posts/2022/10/03/aws-dms-mysql-replication-task-failed/</guid><description/></item><item><title>Resume</title><link>/resume/</link><pubDate>Mon, 26 Sep 2022 19:35:39 +0200</pubDate><guid>/resume/</guid><description/></item><item><title>Today We Die a Little</title><link>/posts/2022/09/26/today-we-die-a-little/</link><pubDate>Mon, 26 Sep 2022 19:35:39 +0200</pubDate><guid>/posts/2022/09/26/today-we-die-a-little/</guid><description/></item><item><title>Chaos Testing With Toxiproxy</title><link>/posts/2022/09/25/chaos-testing-with-toxiproxy/</link><pubDate>Sun, 25 Sep 2022 21:22:40 +0200</pubDate><guid>/posts/2022/09/25/chaos-testing-with-toxiproxy/</guid><description/></item><item><title>Using Docker Compose with TestContainers-go</title><link>/posts/2022/09/23/testcontainers-go/</link><pubDate>Fri, 23 Sep 2022 19:52:38 +0200</pubDate><guid>/posts/2022/09/23/testcontainers-go/</guid><description/></item><item><title>Gitlab security jobs in Merge Request pipelines</title><link>/posts/2022/09/06/gitlab-security-jobs-in-mr-pipelines/</link><pubDate>Tue, 06 Sep 2022 20:33:04 +0200</pubDate><guid>/posts/2022/09/06/gitlab-security-jobs-in-mr-pipelines/</guid><description/></item><item><title>Spike testing with k6</title><link>/posts/2022/09/01/spike-testing-with-k6/</link><pubDate>Thu, 01 Sep 2022 07:58:12 +0200</pubDate><guid>/posts/2022/09/01/spike-testing-with-k6/</guid><description/></item><item><title>The 5 Elements of Effective Thinking</title><link>/posts/2022/03/21/the-5-elements-of-effective-thinking/</link><pubDate>Mon, 21 Mar 2022 18:15:35 +0200</pubDate><guid>/posts/2022/03/21/the-5-elements-of-effective-thinking/</guid><description/></item><item><title>How to Take Smart Notes</title><link>/posts/2022/01/25/how-to-take-smart-notes/</link><pubDate>Tue, 25 Jan 2022 20:12:34 +0200</pubDate><guid>/posts/2022/01/25/how-to-take-smart-notes/</guid><description/></item><item><title>Running a Half Marathon, after a few years</title><link>/posts/2021/10/18/amsterdam-marathon/</link><pubDate>Mon, 18 Oct 2021 20:26:51 +0200</pubDate><guid>/posts/2021/10/18/amsterdam-marathon/</guid><description/></item><item><title>The days are long but the decades are short</title><link>/links/20211012-the-days-are-long-but-the-decades-are-short/</link><pubDate>Tue, 12 Oct 2021 21:52:32 +0200</pubDate><guid>/links/20211012-the-days-are-long-but-the-decades-are-short/</guid><description/></item><item><title>Backup Readwise highlights to AWS S3</title><link>/posts/2021/09/26/readwise-s3/</link><pubDate>Sun, 26 Sep 2021 21:00:00 +0200</pubDate><guid>/posts/2021/09/26/readwise-s3/</guid><description/></item><item><title>🏃🏻‍♂️ Keep running</title><link>/posts/2021/08/27/keep-running/</link><pubDate>Fri, 27 Aug 2021 00:09:14 +0200</pubDate><guid>/posts/2021/08/27/keep-running/</guid><description/></item><item><title>Database migration with AWS DMS</title><link>/posts/2021/08/19/database-migration-with-aws-dms/</link><pubDate>Thu, 19 Aug 2021 21:13:06 +0200</pubDate><guid>/posts/2021/08/19/database-migration-with-aws-dms/</guid><description/></item><item><title>Testing With Gnomock</title><link>/posts/2021/06/02/go-testing-with-gnomock/</link><pubDate>Wed, 02 Jun 2021 22:41:14 +0200</pubDate><guid>/posts/2021/06/02/go-testing-with-gnomock/</guid><description/></item><item><title>Protobuf and Go</title><link>/posts/2021/06/01/protobuf-and-go/</link><pubDate>Tue, 01 Jun 2021 23:08:14 +0200</pubDate><guid>/posts/2021/06/01/protobuf-and-go/</guid><description/></item><item><title>Gloomhaven Battle Tracker (2020)</title><link>/projects/ghbattletracker/</link><pubDate>Tue, 29 Dec 2020 08:00:00 +0200</pubDate><guid>/projects/ghbattletracker/</guid><description>iOS app to keep track of Gloomhaven characters&amp;rsquo; statistics</description></item><item><title>Kafka Producer: timeout configuration</title><link>/posts/2020/11/16/kafka-producer-timeout-configuration/</link><pubDate>Mon, 16 Nov 2020 21:43:07 +0100</pubDate><guid>/posts/2020/11/16/kafka-producer-timeout-configuration/</guid><description/></item><item><title>Module Composition in Terraform</title><link>/posts/2020/09/28/module-composition-in-terraform/</link><pubDate>Mon, 28 Sep 2020 23:02:07 +0200</pubDate><guid>/posts/2020/09/28/module-composition-in-terraform/</guid><description/></item><item><title>Qvault.io: Go Mastery course review</title><link>/posts/2020/09/24/qvault-go-mastery-course/</link><pubDate>Thu, 24 Sep 2020 15:02:59 +0200</pubDate><guid>/posts/2020/09/24/qvault-go-mastery-course/</guid><description/></item><item><title>Creating and mounting an Azure data lake in Databricks via Terraform</title><link>/posts/2020/09/16/mount-azure-data-lake-in-databricks-via-terraform/</link><pubDate>Wed, 16 Sep 2020 21:44:27 +0200</pubDate><guid>/posts/2020/09/16/mount-azure-data-lake-in-databricks-via-terraform/</guid><description/></item><item><title>Documenting architecture decisions</title><link>/links/20200819-documenting-architecture-decisions/</link><pubDate>Wed, 19 Aug 2020 14:13:26 +0200</pubDate><guid>/links/20200819-documenting-architecture-decisions/</guid><description/></item><item><title>Setting up a monorepo in Gitlab</title><link>/posts/2020/08/08/setting-up-monorepo-in-gitlab/</link><pubDate>Sun, 09 Aug 2020 10:23:47 +0200</pubDate><guid>/posts/2020/08/08/setting-up-monorepo-in-gitlab/</guid><description/></item><item><title>Avro: silent coercion of floats to ints</title><link>/posts/2020/08/03/avro-silent-coercion-of-floats-to-ints/</link><pubDate>Mon, 03 Aug 2020 21:36:15 +0200</pubDate><guid>/posts/2020/08/03/avro-silent-coercion-of-floats-to-ints/</guid><description/></item><item><title>Setup CodeReady Containers for OpenShift 4.x with internal image registry</title><link>/posts/2020/08/01/setup-crc-with-internal-image-registry/</link><pubDate>Sat, 01 Aug 2020 21:21:51 +0200</pubDate><guid>/posts/2020/08/01/setup-crc-with-internal-image-registry/</guid><description/></item><item><title>Avro: unions &amp; default values</title><link>/posts/2020/07/30/avro-unions-and-default-values/</link><pubDate>Thu, 30 Jul 2020 15:38:11 +0200</pubDate><guid>/posts/2020/07/30/avro-unions-and-default-values/</guid><description/></item><item><title>Cuttlefish (2020)</title><link>/projects/cuttlefish/</link><pubDate>Tue, 07 Jul 2020 08:00:00 +0200</pubDate><guid>/projects/cuttlefish/</guid><description>Switch environments according to current working directory in fish shell</description></item><item><title>Switching profiles with Fish shell</title><link>/posts/2020/06/07/switching-profiles-with-fish-shell/</link><pubDate>Sun, 07 Jun 2020 07:32:20 +0200</pubDate><guid>/posts/2020/06/07/switching-profiles-with-fish-shell/</guid><description/></item><item><title>Simple Made Easy</title><link>/links/20200605-simple-made-easy/</link><pubDate>Fri, 05 Jun 2020 08:48:02 +0200</pubDate><guid>/links/20200605-simple-made-easy/</guid><description/></item><item><title>Agile Camp NL: first align, then discuss</title><link>/posts/2019/11/19/agile-camp-nl-first-align-then-discuss/</link><pubDate>Tue, 19 Nov 2019 23:41:05 +0100</pubDate><guid>/posts/2019/11/19/agile-camp-nl-first-align-then-discuss/</guid><description/></item><item><title>Editors, editors ...</title><link>/posts/2019/09/16/editors-editors/</link><pubDate>Mon, 16 Sep 2019 19:10:05 +0100</pubDate><guid>/posts/2019/09/16/editors-editors/</guid><description/></item><item><title>Scalafmt for Sublime Text 3 (2017)</title><link>/projects/sublime-scalafmt/</link><pubDate>Fri, 15 Sep 2017 08:00:00 +0200</pubDate><guid>/projects/sublime-scalafmt/</guid><description>Sublime Text 3 plugin to format Scala files</description></item><item><title>Spacemacs for the Scala developer</title><link>/posts/2015/06/21/spacemacs-as-scala-ide/</link><pubDate>Sun, 21 Jun 2015 22:04:18 +0200</pubDate><guid>/posts/2015/06/21/spacemacs-as-scala-ide/</guid><description/></item><item><title>From Vim to Spacemacs...?</title><link>/posts/2015/06/18/from-vim-to-spacemacs/</link><pubDate>Thu, 18 Jun 2015 06:30:59 +0200</pubDate><guid>/posts/2015/06/18/from-vim-to-spacemacs/</guid><description/></item><item><title>Scala.js: first impressions</title><link>/posts/2015/06/10/scalajs-first-impressions/</link><pubDate>Wed, 10 Jun 2015 23:30:05 +0200</pubDate><guid>/posts/2015/06/10/scalajs-first-impressions/</guid><description/></item><item><title>Evaluate Scala code in a REPL with Vim, Tmux and Slimux</title><link>/posts/2015/06/01/scala-vim-tmux-slimux/</link><pubDate>Mon, 01 Jun 2015 21:30:05 +0200</pubDate><guid>/posts/2015/06/01/scala-vim-tmux-slimux/</guid><description/></item><item><title>Vi-mode in fish shell on OSX</title><link>/posts/2015/03/22/vimode-fishshell-osx/</link><pubDate>Sun, 22 Mar 2015 21:21:05 +0200</pubDate><guid>/posts/2015/03/22/vimode-fishshell-osx/</guid><description/></item></channel></rss>