<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>emre şahin's digital garden 🍃 - Gemini</title>
    <link>https://emresahin.net/tags/gemini/</link>
    <description>Posts in the Gemini tag</description>
    <language>en</language>
    <managingEditor>contact@emresahin.net (Emre Şahin)</managingEditor>
    <lastBuildDate>Tue, 29 Sep 2026 14:57:43 +0000</lastBuildDate>
    <atom:link href="https://emresahin.net/tags/gemini/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>bits 21</title>
      <published>2025-09-28T18:00:14+00:00</published>
      <updated>2025-09-28T18:00:14+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Sun, 28 Sep 2025 18:00:14 +0000</pubDate>
      <link>https://emresahin.net/bits-21/</link>
      <guid isPermaLink="true">https://emresahin.net/bits-21/</guid>
      <description>I wanted to get the number of word changes between commits in my blog. I asked for a git-diff-based Nushell pipeline from Gemini. Gemini proposed this: git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length What I ended up ...</description>
      <category>bits</category>
      <category>programming</category>
      <category>Gemini</category>
      <category>nushell</category>
      <category>git</category>
      <category>regex</category>
      <category>LLM</category>
      <content:encoded><![CDATA[<p>I wanted to get the number of word changes between commits in my blog. I asked for a git-diff-based Nushell pipeline from Gemini.</p>
<p>Gemini proposed this:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length
</code></pre>
<p>What I ended up doing:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -a "{+" "" | str replace -a "+}" "" | str replace -a ' ' "\n" | lines | length
</code></pre>
<p>I notice LLMs tend to err on the side of complexity. I don’t know if this is due to their training to spit out as many tokens as possible, but using regular expressions when a simple string replacement may suffice is a good sign that they may be adding more complexity than necessary.</p>]]></content:encoded>
    </item>
    <item>
      <title>bits 20</title>
      <published>2025-09-28T17:52:31+00:00</published>
      <updated>2025-09-28T17:52:31+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Sun, 28 Sep 2025 17:52:31 +0000</pubDate>
      <link>https://emresahin.net/bits-20/</link>
      <guid isPermaLink="true">https://emresahin.net/bits-20/</guid>
      <description>I wanted to get the number of word changes between commits in my blog. I asked for a git-diff-based Nushell pipeline from Gemini. Gemini proposed this: git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length What I ended up ...</description>
      <category>bits</category>
      <category>programming</category>
      <category>Gemini</category>
      <category>nushell</category>
      <category>git</category>
      <category>regex</category>
      <category>LLM</category>
      <content:encoded><![CDATA[<p>I wanted to get the number of word changes between commits in my blog. I asked for a git-diff-based Nushell pipeline from Gemini.</p>
<p>Gemini proposed this:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length
</code></pre>
<p>What I ended up doing:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -a "{+" "" | str replace -a "+}" "" | str replace -a ' ' "\n" | lines | length
</code></pre>
<p>I notice LLMs tend to err on the side of complexity. I don’t know if this is due to their training to spit out as many tokens as possible, but using regular expressions when a simple string replacement may suffice is a good sign that they may be adding more complexity than necessary.</p>]]></content:encoded>
    </item>
    <item>
      <title>bits 19</title>
      <published>2025-09-28T17:42:11+00:00</published>
      <updated>2025-09-28T17:42:11+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Sun, 28 Sep 2025 17:42:11 +0000</pubDate>
      <link>https://emresahin.net/bits-19/</link>
      <guid isPermaLink="true">https://emresahin.net/bits-19/</guid>
      <description>I wanted to get the number of word changes between commits in my blog. I asked for a git-diff-based Nushell pipeline from Gemini. Gemini proposed this: git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length What I ended up ...</description>
      <category>bits</category>
      <category>programming</category>
      <category>Gemini</category>
      <category>nushell</category>
      <category>git</category>
      <category>regex</category>
      <category>LLM</category>
      <content:encoded><![CDATA[<p>I wanted to get the number of word changes between commits in my blog. I asked for a git-diff-based Nushell pipeline from Gemini.</p>
<p>Gemini proposed this:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length
</code></pre>
<p>What I ended up doing:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -a "{+" "" | str replace -a "+}" "" | str replace -a ' ' "\n" | lines | length
</code></pre>
<p>I notice LLMs tend to err on the side of complexity. I don’t know if this is due to their training to spit out as many tokens as possible, but using regular expressions when a simple string replacement may suffice is a good sign that they may be adding more complexity than necessary.</p>]]></content:encoded>
    </item>
    <item>
      <title>bits 18</title>
      <published>2025-09-28T17:22:48+00:00</published>
      <updated>2025-09-28T17:22:48+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Sun, 28 Sep 2025 17:22:48 +0000</pubDate>
      <link>https://emresahin.net/bits-18/</link>
      <guid isPermaLink="true">https://emresahin.net/bits-18/</guid>
      <description>I wanted to get the number of word changes between commits in my blog. I asked for a git-diff-based Nushell pipeline from Gemini. Gemini proposed this: git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length What I ended up ...</description>
      <category>bits</category>
      <category>programming</category>
      <category>Gemini</category>
      <category>nushell</category>
      <category>git</category>
      <category>regex</category>
      <category>LLM</category>
      <content:encoded><![CDATA[<p>I wanted to get the number of word changes between commits in my blog. I asked for a git-diff-based Nushell pipeline from Gemini.</p>
<p>Gemini proposed this:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length
</code></pre>
<p>What I ended up doing:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -a "{+" "" | str replace -a "+}" "" | str replace -a ' ' "\n" | lines | length
</code></pre>
<p>I notice LLMs tend to err on the side of complexity. I don’t know if this is due to their training to spit out as many tokens as possible, but using regular expressions when a simple string replacement may suffice is a good sign that they may be adding more complexity than necessary.</p>]]></content:encoded>
    </item>
    <item>
      <title>bits 17</title>
      <published>2025-09-28T17:20:37+00:00</published>
      <updated>2025-09-28T17:20:37+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Sun, 28 Sep 2025 17:20:37 +0000</pubDate>
      <link>https://emresahin.net/bits-17/</link>
      <guid isPermaLink="true">https://emresahin.net/bits-17/</guid>
      <description>I wanted to calculate the number of words added between commits in my blog posts. I asked Gemini for a Nushell pipeline based on git diff : It proposed the following: git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length H...</description>
      <category>shell</category>
      <category>productivity</category>
      <category>Gemini</category>
      <category>nushell</category>
      <category>git</category>
      <category>regex</category>
      <category>ai</category>
      <content:encoded><![CDATA[<p>I wanted to calculate the number of words added between commits in my blog posts. I asked Gemini for a Nushell pipeline based on <code>git diff</code>:</p>
<p>It proposed the following:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length
</code></pre>
<p>However, I ended up using this simplified version:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -a "{+" "" | str replace -a "+}" "" | str replace -a ' ' "\n" | lines | length
</code></pre>
<p>I’ve noticed that LLMs often lean toward overly complex solutions. I’m not sure if this is due to being trained to generate as many tokens as possible, but using regular expressions where a simple string replacement would suffice is often a sign of unnecessary complexity.</p>]]></content:encoded>
    </item>
    <item>
      <title>bits 16</title>
      <published>2025-09-28T17:15:52+00:00</published>
      <updated>2025-09-28T17:15:52+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Sun, 28 Sep 2025 17:15:52 +0000</pubDate>
      <link>https://emresahin.net/bits-16/</link>
      <guid isPermaLink="true">https://emresahin.net/bits-16/</guid>
      <description>I wanted to get the number of word changes between commits in my blogs. I asked for a git diff based nushell pipeline from Gemini: Gemini proposed this: git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length What I ended up...</description>
      <category>bits</category>
      <category>Gemini</category>
      <category>nushell</category>
      <category>git</category>
      <category>regex</category>
      <category>LLM</category>
      <category>workflow</category>
      <content:encoded><![CDATA[<p>I wanted to get the number of word changes between commits in my blogs. I asked for a <code>git diff</code> based nushell pipeline from Gemini:</p>
<p>Gemini proposed this:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -r '\{\+|\+\}' '' | str join " " | str words | length
</code></pre>
<p>What I ended up doing:</p>
<pre><code class="language-nushell">git diff --word-diff=plain -- "*.md" | rg -o '\{\+(.*?)\+\}' | str replace -a "{+" "" | str replace -a "+}" "" | str replace -a ' ' "\n" | lines | length
</code></pre>
<p>I notice LLMs tend to err on the side of complexity. I don’t know if this is due to their training to spit as many tokens as possible, but using regular expressions when a simple single replace may suffice is a good sign that they may be adding more complexity than necessary.</p>]]></content:encoded>
    </item>
  </channel>
</rss>
