<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on Stephan Rayner</title>
    <link>https://stephan-rayner.github.io/posts/</link>
    <description>Recent content in Posts on Stephan Rayner</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 15 Apr 2025 10:41:09 -0400</lastBuildDate>
    <atom:link href="https://stephan-rayner.github.io/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>📝 Rewriting a Git Commit Message</title>
      <link>https://stephan-rayner.github.io/posts/rewritegitcommit/</link>
      <pubDate>Tue, 15 Apr 2025 10:41:09 -0400</pubDate>
      <guid>https://stephan-rayner.github.io/posts/rewritegitcommit/</guid>
      <description>&lt;p&gt;So you started contributing to a new project and have an excellent contribution to make. You code it up, test it, and wrap it up in a commit. You are exceedingly proud of yourself and then you realize that your commit message is a little unclear and also you have a typo.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-plaintext&#34; data-lang=&#34;plaintext&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;fiz: typo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;There is something ironic about this commit isn&amp;rsquo;t there 😏. Let&amp;rsquo;s fix this message, we can address the typo and make the message more expressive. Perhaps we can make the message something like the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>DuckDB Has Replaced JQ For Me</title>
      <link>https://stephan-rayner.github.io/posts/jq2duckdb/</link>
      <pubDate>Thu, 30 Jan 2025 11:35:42 -0500</pubDate>
      <guid>https://stephan-rayner.github.io/posts/jq2duckdb/</guid>
      <description>&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;
&lt;p&gt;Processing JSON Lines (JSONL) data on the command line has traditionally been done using JQ, but its specialized syntax and limited functionality can make complex data operations challenging. Many developers need a more powerful and intuitive tool for JSON processing tasks.&lt;/p&gt;
&lt;h2 id=&#34;a-solution&#34;&gt;A Solution&lt;/h2&gt;
&lt;p&gt;DuckDB provides a SQL-based alternative to JQ that offers better performance, familiar syntax, and more advanced features for processing JSONL data. Let&amp;rsquo;s explore how DuckDB can replace JQ for common JSON processing tasks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Column-Oriented vs Row-Oriented Databases: How to Avoid Looking Silly</title>
      <link>https://stephan-rayner.github.io/posts/columnvsrowdb/</link>
      <pubDate>Sun, 26 Jan 2025 15:20:51 -0400</pubDate>
      <guid>https://stephan-rayner.github.io/posts/columnvsrowdb/</guid>
      <description>&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;
&lt;p&gt;The motivation for this article comes from my time at a comically dysfunctional mobile game studio and particularly a rather brash &amp;ldquo;VP of Core Tech&amp;rdquo; who once went on at length longly, loudly, and publicly, about how poor a decision it was for the analytics department (not in any way shape or form connected to his division, responsibility, or experience) I lead to choose a SQL based database to use as our datalake. Given that we had chosen BigQuery, I was deeply confused by his rantings. That is to say, I was deeply confused until I realised he had conflated SQL with relational database management systems typically used for CRUD (Create, Read, Update, and Delete) operations. BigQuery is many things but that is absolutely not one of them, and by the end of this article you will understand why, when to use a tool like it, and importantly when not to.&lt;/p&gt;</description>
    </item>
    <item>
      <title>This is Why I Write</title>
      <link>https://stephan-rayner.github.io/posts/intro/</link>
      <pubDate>Fri, 27 Dec 2024 23:10:42 -0500</pubDate>
      <guid>https://stephan-rayner.github.io/posts/intro/</guid>
      <description>&lt;h2 id=&#34;ive-been-lucky&#34;&gt;I&amp;rsquo;ve Been Lucky&lt;/h2&gt;
&lt;p&gt;Over the years, I’ve been incredibly fortunate to work alongside some excellent engineers. The opportunities I had early in my career to learn from these talented people shaped me into who I am today. Beyond their technical skills, their passion for what they were teaching made me rethink what it was to be a good engineer. I now believe that engineering (of all kinds) is a much more interpersonal discipline where knowledge sharing should be the principal indicator of a great engineer.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
