<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Duckdb on ferkakta.dev</title><link>https://ferkakta.dev/tags/duckdb/</link><description>Recent content in Duckdb on ferkakta.dev</description><generator>Hugo</generator><language>en-US</language><copyright>Copyright fizz.</copyright><lastBuildDate>Thu, 02 Apr 2026 08:00:00 -0500</lastBuildDate><atom:link href="https://ferkakta.dev/tags/duckdb/index.xml" rel="self" type="application/rss+xml"/><item><title>I replaced the AWS CLI completer with a datalake</title><link>https://ferkakta.dev/aws-completer-datalake-replacement/</link><pubDate>Thu, 02 Apr 2026 08:00:00 -0500</pubDate><guid>https://ferkakta.dev/aws-completer-datalake-replacement/</guid><description>&lt;p&gt;I needed to tell someone in Italy my availability in their timezone, typed &lt;code&gt;TZ=&lt;/code&gt; and hit tab, and &lt;a href="https://ferkakta.dev/blog/zsh-completions-vocabulary-construction-kit/"&gt;discovered a completer that&amp;rsquo;s apparently been sitting in zsh since the Pleistocene&lt;/a&gt;. That made me finally look at how completion actually works: &lt;code&gt;#compdef&lt;/code&gt;, the dispatch table, &lt;code&gt;_files&lt;/code&gt;, the whole vocabulary kit I&amp;rsquo;d been leaning on for years without really seeing. And in the middle of that I remembered the thing that had made me write off tab completion in the first place: &lt;code&gt;aws_completer&lt;/code&gt;, the Python-spawning hog that claims every argument position and still makes a mockery of my left pinky finger when it innocently asks for a filename, interrupting to say: &lt;em&gt;but wait, are you sure you don&amp;rsquo;t want to marry one of my 428 eligible daughters first?&lt;/em&gt;&lt;/p&gt;</description></item><item><title>FinOps portfolio: 71 tickets over 5 years</title><link>https://ferkakta.dev/finops-portfolio/</link><pubDate>Wed, 01 Apr 2026 15:30:00 -0500</pubDate><guid>https://ferkakta.dev/finops-portfolio/</guid><description>&lt;p&gt;My first finops ticket was called &amp;ldquo;Optimize the AWS infrastcuture.&amp;rdquo; The typo is still there. That was 2021 — a one-person infrastructure team at a startup that didn&amp;rsquo;t have the word finops in its vocabulary and didn&amp;rsquo;t know it needed one.&lt;/p&gt;
&lt;p&gt;Five years later I went looking for every cost-related ticket I&amp;rsquo;d ever created. I expected maybe thirty. I found 71, spread across 8 Jira projects, touching every layer of the stack from EBS volumes to LLM inference spend. Nobody asked me to create a finops practice. I just kept looking at the bill and refusing to pay for things that didn&amp;rsquo;t earn their keep.&lt;/p&gt;</description></item></channel></rss>