<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Sofia&#x27;s Notes</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/</link><description>Essays and field notes on data engineering.</description><language>en</language>
<item><title>Small Data Is Underrated</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/small-data-is-underrated.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/small-data-is-underrated.html</guid><pubDate>Thu, 13 Aug 2026 09:00:00 +0000</pubDate><description>I&#x27;ve been working with Python for about 9 years now, and my opinions on backfills have changed more than I expected.</description></item>
<item><title>Data Contracts Without the Hype</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/data-contracts-without-the-hype.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/data-contracts-without-the-hype.html</guid><pubDate>Mon, 03 Aug 2026 09:00:00 +0000</pubDate><description>There is no shortage of articles about pandas. Most of them cover the happy path. This one is about what happened after the happy path ended.</description></item>
<item><title>The Metric Everyone Defined Differently</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/the-metric-everyone-defined-differently.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/the-metric-everyone-defined-differently.html</guid><pubDate>Sat, 25 Jul 2026 09:00:00 +0000</pubDate><description>This post started as a note to my future self. Every few months I relearn the same lessons about incremental models, so this time I&#x27;m writing them down.</description></item>
<item><title>Polars vs. pandas for Everyday Work</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/polars-vs-pandas-for-everyday-work.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/polars-vs-pandas-for-everyday-work.html</guid><pubDate>Mon, 13 Apr 2026 09:00:00 +0000</pubDate><description>For a long time I treated backfills as something to worry about later. Then a small change to our pandas setup turned into a week of debugging, and &quot;later&quot; arrived all at once.</description></item>
<item><title>Incremental Models That Don&#x27;t Lie to You</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/incremental-models-that-don-t-lie-to-you.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/incremental-models-that-don-t-lie-to-you.html</guid><pubDate>Sat, 03 Jan 2026 09:00:00 +0000</pubDate><description>A colleague asked me last week why our team cares so much about incremental models. I gave a rambling answer, so here is the longer, more organized version.</description></item>
<item><title>Testing Pipelines Like Application Code</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/testing-pipelines-like-application-code.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/testing-pipelines-like-application-code.html</guid><pubDate>Fri, 07 Nov 2025 09:00:00 +0000</pubDate><description>Every codebase has one area everyone is a little afraid to touch. On our team, it was everything related to late-arriving data.</description></item>
<item><title>DuckDB Replaced Half of Our Data Stack</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/duckdb-replaced-half-of-our-data-stack.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/duckdb-replaced-half-of-our-data-stack.html</guid><pubDate>Mon, 20 Oct 2025 09:00:00 +0000</pubDate><description>For a long time I treated data quality checks as something to worry about later. Then a small change to our DuckDB setup turned into a week of debugging, and &quot;later&quot; arrived all at once.</description></item>
<item><title>Partitioning Strategies I Wish I&#x27;d Known Earlier</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/partitioning-strategies-i-wish-i-d-known-earlier.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/partitioning-strategies-i-wish-i-d-known-earlier.html</guid><pubDate>Wed, 13 Aug 2025 09:00:00 +0000</pubDate><description>There is no shortage of articles about DuckDB. Most of them cover the happy path. This one is about what happened after the happy path ended.</description></item>
<item><title>Dealing With Late-Arriving Data</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/dealing-with-late-arriving-data.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/dealing-with-late-arriving-data.html</guid><pubDate>Sun, 27 Jul 2025 09:00:00 +0000</pubDate><description>For a long time I treated late-arriving data as something to worry about later. Then a small change to our Spark setup turned into a week of debugging, and &quot;later&quot; arrived all at once.</description></item>
<item><title>Backfills Are a Product Feature</title><link>https://hk07qz.jp2haozu-naookg-okak.cc/posts/backfills-are-a-product-feature.html</link><guid>https://hk07qz.jp2haozu-naookg-okak.cc/posts/backfills-are-a-product-feature.html</guid><pubDate>Thu, 22 May 2025 09:00:00 +0000</pubDate><description>I&#x27;ve been working with Snowflake for about 7 years now, and my opinions on backfills have changed more than I expected.</description></item>
</channel></rss>
