<?xml version="1.0" ?>
<rss version="2.0">
  <channel>
    <title>Joshua Oliphant's Digital Garden</title>
    <link>https://joshuaoliph.com</link>
    <description>A digital garden of ideas, notes, and learnings</description>
    <language>en-us</language>
    <lastBuildDate>Sun, 19 Apr 2026 01:29:39 -0000</lastBuildDate>
    <item>
      <title>TIL: Shorter Embedding Body Improves Semantic Search Recall</title>
      <link>https://joshuaoliph.com/til/2026-03-24-shorter-embedding-body-improves-recall</link>
      <description>[🌿 Budding] Last week I ran a set of &lt;a href=&quot;https://github.com/anthropics/claude-code-plugins&quot;&gt;autoloop&lt;/a&gt; experiments on my Obsidian vault recommender, comparing different text preparation strategies for embedding. I wanted to find out how much the input format affects recall when you're using sentence-transformers to surface related notes.</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/til/2026-03-24-shorter-embedding-body-improves-recall</guid>
      <category>embeddings</category>
      <category>semantic-search</category>
      <category>autoloop</category>
      <category>obsidian</category>
      <category>python</category>
    </item>
    <item>
      <title>Taming AI-Generated Test Sprawl with Autoloop Coverage Analysis</title>
      <link>https://joshuaoliph.com/notes/2026-03-24-taming-ai-test-sprawl-autoloop</link>
      <description>[🌿 Budding] I ran &lt;code&gt;pytest --co -q&lt;/code&gt; on &lt;a href=&quot;https://github.com/joshuaoliphant/forkhub&quot;&gt;ForkHub&lt;/a&gt; one morning and counted 489 tests. The project had maybe 12 source files. Something had gone sideways, I had started noticing this kind of test pileup in other projects too.</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2026-03-24-taming-ai-test-sprawl-autoloop</guid>
      <category>python</category>
      <category>claude-code</category>
      <category>testing</category>
      <category>ai</category>
      <category>automation</category>
      <category>pytest</category>
    </item>
    <item>
      <title>TIL: Wiki-links Are High-Quality Embedding Fuel</title>
      <link>https://joshuaoliph.com/til/2026-03-23-wiki-links-are-high-quality-embedding-fuel</link>
      <description>[🌲 Evergreen] Last week I was running &lt;a href=&quot;https://anoliphantneverforgets.com/til/2026-03-24-taming-ai-test-sprawl-autoloop&quot;&gt;autoloop&lt;/a&gt; optimization experiments on my &lt;a href=&quot;https://github.com/JoshuaOliphant/vault-recommender&quot;&gt;vault recommender&lt;/a&gt;, trying to improve recall. I wrote about how a &lt;a href=&quot;https://anoliphantneverforgets.com/til/2026-03-24-shorter-embedding-body-improves-recall&quot;&gt;shorter embedding body improves semantic search recall&lt;/a&gt;. One of the variables I tested was what text gets sent to the embedding model. When I included wiki-links as a &lt;code&gt;Related:&lt;/code&gt; field in the embedding input, recall@10 jumped from 0.91 to 0.97; the single largest improvement in fifteen experiments.</description>
      <pubDate>Mon, 23 Mar 2026 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/til/2026-03-23-wiki-links-are-high-quality-embedding-fuel</guid>
      <category>embeddings</category>
      <category>semantic-search</category>
      <category>python</category>
      <category>ai</category>
    </item>
    <item>
      <title>Hexagonal Agents: What If Your App's Business Logic Was an AI Agent?</title>
      <link>https://joshuaoliph.com/notes/2026-03-18-hexagonal-agents</link>
      <description>[🌲 Evergreen] I was listening to a podcast (I think it was the Latent Space episode &quot;Retrieval after RAG&quot;) and it got me thinking about JSONL files. I have all these JSONL files laying around from various projects that I'm not using, particularly from Claude Code usage. I've wanted to build event-driven agents for a while but kept struggling with what events to hook into. Somewhere in that thread of thought, I realized the architecture pattern I learned at my first engineering job maps onto agentic applications in a clean way.</description>
      <pubDate>Wed, 18 Mar 2026 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2026-03-18-hexagonal-agents</guid>
      <category>ai</category>
      <category>architecture</category>
      <category>htmx</category>
      <category>software-development</category>
      <category>llm</category>
      <category>claude</category>
      <category>web-development</category>
    </item>
    <item>
      <title>Brooklet: The SQLite of Event Streaming</title>
      <link>https://joshuaoliph.com/notes/2026-03-15-brooklet-sqlite-of-event-streaming</link>
      <description>[🌿 Budding] I've been using Claude Code heavily since it came out, and one thing I noticed is that every session gets quietly recorded as a JSONL file:</description>
      <pubDate>Sun, 15 Mar 2026 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2026-03-15-brooklet-sqlite-of-event-streaming</guid>
      <category>claude-code</category>
      <category>python</category>
      <category>jsonl</category>
      <category>event-streaming</category>
      <category>library-design</category>
    </item>
    <item>
      <title>Silencing peon-ping for Quick Claude Code Tasks</title>
      <link>https://joshuaoliph.com/til/2026-03-07-peon-ping-silent-window</link>
      <description>[🌿 Budding] I use &lt;a href=&quot;https://github.com/JoshuaOliphant/claude-plugins&quot;&gt;peon-ping&lt;/a&gt; to get desktop notifications and sound alerts when Claude Code finishes a task. It's great for longer sessions where I context-switch while waiting — but it gets noisy fast when you're running &lt;code&gt;/loop&lt;/code&gt; poll cycles that complete in seconds.</description>
      <pubDate>Sat, 07 Mar 2026 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/til/2026-03-07-peon-ping-silent-window</guid>
      <category>claude-code</category>
      <category>automation</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Vibe Code Alert - Andrej Karpathy on LLM Council</title>
      <link>https://joshuaoliph.com/notes/2025-11-30-vibe-code-alert-andrej-karpathy-llm-council</link>
      <description>[🌲 Evergreen] &lt;a href=&quot;https://github.com/karpathy/llm-council&quot;&gt;Andrej Karpathy - LLM Council&lt;/a&gt;</description>
      <pubDate>Sun, 30 Nov 2025 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2025-11-30-vibe-code-alert-andrej-karpathy-llm-council</guid>
      <category>vibe-coding</category>
      <category>ai</category>
      <category>llm</category>
      <category>andrej-karpathy</category>
    </item>
    <item>
      <title>Today I created my first Claude Agent skill</title>
      <link>https://joshuaoliph.com/til/2025-10-29-claude-agent-skills</link>
      <description>[🌿 Budding] Earlier this week Anthropic released &lt;a href=&quot;https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills&quot;&gt;Agent Skills&lt;/a&gt;. I've been reading about them all week, and today I finally built one myself. I've been using a tool called Mochi for spaced repetition, but not as much as I'd like to because it's a bit tedious to create cards, and I've been intending to create some AI tool or process to make it easier. So I created an agent skill for it, and even created my own plugin marketplace to store it. I'm sure I'll create more plugins.</description>
      <pubDate>Sun, 19 Oct 2025 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/til/2025-10-29-claude-agent-skills</guid>
      <category>ai</category>
      <category>claude</category>
      <category>claude code</category>
      <category>anthropic</category>
      <category>agent skills</category>
    </item>
    <item>
      <title>Uv has a killer feature you should know about</title>
      <link>https://joshuaoliph.com/bookmarks/2025-1-14-uv-has-a-killer-feature</link>
      <description>[🌱 Seedling] Uv has a killer feature you should know about</description>
      <pubDate>Tue, 14 Jan 2025 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/bookmarks/2025-1-14-uv-has-a-killer-feature</guid>
      <category>uv</category>
      <category>python</category>
    </item>
    <item>
      <title>What is in a DNS DKIM record?</title>
      <link>https://joshuaoliph.com/bookmarks/2025-03-28-what-is-in-a-dns-dkim-record</link>
      <description>[🌲 Evergreen] What is in a DNS DKIM record?</description>
      <pubDate>Sun, 19 Apr 2026 01:29:39 -0000</pubDate>
      <guid>https://joshuaoliph.com/bookmarks/2025-03-28-what-is-in-a-dns-dkim-record</guid>
      <category>dns</category>
      <category>dkim</category>
      <category>email</category>
    </item>
    <item>
      <title>Quoting Stephen West</title>
      <link>https://joshuaoliph.com/notes/2025-03-16-quoting-stephen-west-</link>
      <description>[🌲 Evergreen] What is happiness but a certain kind of harmony between a person and the life they lead?</description>
      <pubDate>Sun, 19 Apr 2026 01:29:39 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2025-03-16-quoting-stephen-west-</guid>
      <category>productivity</category>
      <category>chaos</category>
    </item>
    <item>
      <title>Quoting Elizabeth Filips</title>
      <link>https://joshuaoliph.com/notes/2025-03-16-quoting-elizabeth-filips</link>
      <description>[🌲 Evergreen] Instead of 1% improvements, aim for large leaps in progress (5%, 500%, or even 5000%) fueled by intense passion.  This approach allows for faster learning and deeper focus, also known as deep work.</description>
      <pubDate>Sun, 19 Apr 2026 01:29:39 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2025-03-16-quoting-elizabeth-filips</guid>
      <category>productivity</category>
      <category>chaos</category>
    </item>
    <item>
      <title>Prioritize deep work over incremental improvement</title>
      <link>https://joshuaoliph.com/notes/2025-03-16-prioritize-deep-work-over-incremental-improvement</link>
      <description>[🌿 Budding] This resonated with me because I also struggle to make incremental improvements. My natural tendency is to work hard on projects that I'm deeply interested in, and then likely not touch them for a long time (if ever). But the knowledge that I gain from working deeply like this tends to be very useful in other projects, conversations, etc.</description>
      <pubDate>Sun, 19 Apr 2026 01:29:39 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2025-03-16-prioritize-deep-work-over-incremental-improvement</guid>
      <category>productivity</category>
      <category>deep work</category>
    </item>
    <item>
      <title>Scaling Postgres Databases with Liquibase on Kubernetes</title>
      <link>https://joshuaoliph.com/notes/2023-09-06-Notes-Postgres-Database-Scaling-with-Liquibase-on-Kubernetes</link>
      <description>[🌲 Evergreen] I recently dived into scaling stateful applications in Kubernetes, focusing particularly on Postgres databases. My current project also integrates Liquibase for database migrations, which led me to explore its impact on scaling. Here are the consolidated notes from my research.</description>
      <pubDate>Wed, 12 Feb 2025 19:43:37 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2023-09-06-Notes-Postgres-Database-Scaling-with-Liquibase-on-Kubernetes</guid>
      <category>notes</category>
      <category>scaling</category>
      <category>postgres</category>
      <category>databases</category>
      <category>liquibase</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Markdown Link Content Scraper</title>
      <link>https://joshuaoliph.com/notes/2024-12-26-markdown-link-content-scraper</link>
      <description>[🌲 Evergreen] For a list of all my projects, visit my &lt;a href=&quot;https://anoliphantneverforgets.com/projects&quot;&gt;projects page&lt;/a&gt;.</description>
      <pubDate>Thu, 26 Dec 2024 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2024-12-26-markdown-link-content-scraper</guid>
      <category>web-scraping</category>
      <category>notebookllm</category>
      <category>fastapi</category>
      <category>claude</category>
      <category>ai</category>
    </item>
    <item>
      <title>Making programming more fun with an ai generated debugger</title>
      <link>https://joshuaoliph.com/bookmarks/2024-12-24-making-programming-more-fun-with-an-ai-generated-debugger</link>
      <description>[🌲 Evergreen] Making programming more fun with an ai generated debugger</description>
      <pubDate>Tue, 24 Dec 2024 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/bookmarks/2024-12-24-making-programming-more-fun-with-an-ai-generated-debugger</guid>
      <category>ai</category>
    </item>
    <item>
      <title>Making programming more fun with an ai generated debugger</title>
      <link>https://joshuaoliph.com/notes/2024-12-04-quoting-geoffrey-litt</link>
      <description>[🌲 Evergreen] &lt;a href=&quot;https://www.geoffreylitt.com/2024/12/22/making-programming-more-fun-with-an-ai-generated-debugger.html&quot;&gt;Geoffrey Litt&lt;/a&gt;</description>
      <pubDate>Tue, 24 Dec 2024 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2024-12-04-quoting-geoffrey-litt</guid>
      <category>ai</category>
    </item>
    <item>
      <title>FOMO is not a strategy</title>
      <link>https://joshuaoliph.com/bookmarks/2024-12-04-fomo-is-not-a-strategy</link>
      <description>[🌲 Evergreen] FOMO is not a strategy</description>
      <pubDate>Tue, 03 Dec 2024 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/bookmarks/2024-12-04-fomo-is-not-a-strategy</guid>
      <category>ai</category>
    </item>
    <item>
      <title>Self-updating Profile README</title>
      <link>https://joshuaoliph.com/bookmarks/2024-11-04-self-updating-profile-readme</link>
      <description>[🌲 Evergreen] I am going to try to build a version of this for myself.</description>
      <pubDate>Sun, 03 Nov 2024 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/bookmarks/2024-11-04-self-updating-profile-readme</guid>
      <category>automation</category>
      <category>readme</category>
      <category>github</category>
    </item>
    <item>
      <title>Week Notes 2024#5</title>
      <link>https://joshuaoliph.com/notes/2024-11-04-week-notes-20245</link>
      <description>[🌲 Evergreen] It has been a little over a month, time got away from me.</description>
      <pubDate>Sun, 03 Nov 2024 00:00:00 -0000</pubDate>
      <guid>https://joshuaoliph.com/notes/2024-11-04-week-notes-20245</guid>
      <category>blog</category>
      <category>openapi</category>
      <category>click</category>
      <category>watching</category>
      <category>reading</category>
    </item>
  </channel>
</rss>
