<?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>Knoden</title>
    <link>https://knoden.com/</link>
    <description>Recent content on Knoden</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Sat, 19 Sep 2026 16:45:00 -0400</lastBuildDate>
    <atom:link href="https://knoden.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Even a Family Needs Real Separation</title>
      <link>https://knoden.com/pim/multiuser-profile-isolation/</link>
      <pubDate>Sat, 19 Sep 2026 16:45:00 -0400</pubDate>
      <guid>https://knoden.com/pim/multiuser-profile-isolation/</guid>
      <description>PIM&amp;rsquo;s multi-user support isn&amp;rsquo;t a login screen bolted on top — it&amp;rsquo;s real separation, enforced at the database and vector-store level, for a household or small team sharing one PIM Server.</description>
    </item>
    <item>
      <title>Bringing What You Already Have Into PIM</title>
      <link>https://knoden.com/pim/contacts-calendar-import/</link>
      <pubDate>Sat, 19 Sep 2026 16:40:00 -0400</pubDate>
      <guid>https://knoden.com/pim/contacts-calendar-import/</guid>
      <description>Contacts and Calendar can now read your existing vCard/Thunderbird address book and .ics calendar files, the same way Mail already reads a local mbox — so switching to PIM doesn&amp;rsquo;t mean starting from zero.</description>
    </item>
    <item>
      <title>Trying to Find Out If Anyone&#39;s Using PIM</title>
      <link>https://knoden.com/tech/pim/finding-out-if-anyone-uses-pim/</link>
      <pubDate>Sat, 19 Sep 2026 16:40:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/finding-out-if-anyone-uses-pim/</guid>
      <description>We wanted a simple answer to a simple question — is anyone actually downloading and running PIM? — and found that neither GitLab nor Ollama Cloud can tell us.</description>
    </item>
    <item>
      <title>When &#39;Seen&#39; Forgets What It Saw</title>
      <link>https://knoden.com/tech/pim/rss-seen-tracking-fix/</link>
      <pubDate>Sat, 19 Sep 2026 16:40:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/rss-seen-tracking-fix/</guid>
      <description>RSS&amp;rsquo;s beat-the-market review flagged a real resurfacing risk in how PIM tracks which articles you&amp;rsquo;ve already seen. Here&amp;rsquo;s the actual fix, and the two other flagged gaps that turned out not to be gaps at all.</description>
    </item>
    <item>
      <title>A Form Whose Only Job Is to Become an Event</title>
      <link>https://knoden.com/tech/pim/forms-unification/</link>
      <pubDate>Sat, 19 Sep 2026 16:35:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/forms-unification/</guid>
      <description>Why PIM&amp;rsquo;s form contract lives in the shared events module instead of a JavaFX widget library, and how a sealed interface makes forgetting to teach the GUI a new field type a compile error instead of a runtime gap.</description>
    </item>
    <item>
      <title>A Quote Character in a Project Name</title>
      <link>https://knoden.com/tech/pim/xss-shaped-bug-pattern/</link>
      <pubDate>Sat, 19 Sep 2026 16:30:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/xss-shaped-bug-pattern/</guid>
      <description>The same XSS-shaped bug showed up three times in one week — once pre-existing, once freshly reintroduced while building a new feature, and once finally caught before it shipped at all.</description>
    </item>
    <item>
      <title>Not Everything That Looks Alike Should Be Shared</title>
      <link>https://knoden.com/tech/pim/mail-im-thread-unification/</link>
      <pubDate>Sat, 19 Sep 2026 16:25:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/mail-im-thread-unification/</guid>
      <description>Asked to fully share Mail and IM&amp;rsquo;s thread-handling code, we found the two were genuinely alike in some places and genuinely different in others — and only unified the parts that were actually the same.</description>
    </item>
    <item>
      <title>Kanban and Gantt, Where They Actually Fit</title>
      <link>https://knoden.com/pim/plan-tools-visualizations/</link>
      <pubDate>Sat, 19 Sep 2026 16:20:00 -0400</pubDate>
      <guid>https://knoden.com/pim/plan-tools-visualizations/</guid>
      <description>Asked twice whether Plan&amp;rsquo;s apps have the visualizations Trello, Asana, and Motion do, we went app by app and built the ones the underlying data actually supports — and skipped the ones it doesn&amp;rsquo;t.</description>
    </item>
    <item>
      <title>What&#39;s Changed Since Hello, World</title>
      <link>https://knoden.com/knoden/whats-changed-since-hello-world/</link>
      <pubDate>Sat, 19 Sep 2026 15:35:00 -0400</pubDate>
      <guid>https://knoden.com/knoden/whats-changed-since-hello-world/</guid>
      <description>An update on where PIM actually stands, a little over two months after our first post.</description>
    </item>
    <item>
      <title>AI Is the Edge, Not the Excuse</title>
      <link>https://knoden.com/pim/beat-the-market-review/</link>
      <pubDate>Sat, 19 Sep 2026 15:20:00 -0400</pubDate>
      <guid>https://knoden.com/pim/beat-the-market-review/</guid>
      <description>A standing rule — every PIM app has to match its category&amp;rsquo;s best tool on the ordinary mechanics before AI counts for anything — sent us through all 13 apps to find out where PIM was actually still behind.</description>
    </item>
    <item>
      <title>Mail Wasn&#39;t Actually Extracted Yet</title>
      <link>https://knoden.com/tech/pim/mail-second-extraction/</link>
      <pubDate>Sat, 19 Sep 2026 15:15:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/mail-second-extraction/</guid>
      <description>The August extraction moved Mail&amp;rsquo;s code out of PIM core. A second pass, a few weeks later, found most of what moved didn&amp;rsquo;t actually belong there.</description>
    </item>
    <item>
      <title>The Part of Email PIM Actually Fixes</title>
      <link>https://knoden.com/pim/mail-ai-advantage/</link>
      <pubDate>Sat, 19 Sep 2026 14:30:00 -0400</pubDate>
      <guid>https://knoden.com/pim/mail-ai-advantage/</guid>
      <description>A closer look at why PIM Mail exists shows the old inbox-list problem isn&amp;rsquo;t really the point — the AI woven through every email is.</description>
    </item>
    <item>
      <title>The Output Area&#39;s First Visualization Also Fixed a Dead Command</title>
      <link>https://knoden.com/tech/pim/calendar/</link>
      <pubDate>Thu, 06 Aug 2026 16:15:50 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/calendar/</guid>
      <description>Building Calendar&amp;rsquo;s day/month view settled what the output area is for, chose HTML over native widgets on purpose, and along the way fixed a command that had never actually worked.</description>
    </item>
    <item>
      <title>RSS Closes Out the Extraction Series</title>
      <link>https://knoden.com/tech/pim/rss/</link>
      <pubDate>Tue, 04 Aug 2026 17:00:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/rss/</guid>
      <description>The simplest of the three comm extractions, and the one that finally emptied PIM core&amp;rsquo;s generated-entity pipeline.</description>
    </item>
    <item>
      <title>Welcome to the PIM Blog</title>
      <link>https://knoden.com/pim/welcome/</link>
      <pubDate>Tue, 04 Aug 2026 16:59:15 -0400</pubDate>
      <guid>https://knoden.com/pim/welcome/</guid>
      <description>What this blog is for, and a bit of why PIM exists in the first place.</description>
    </item>
    <item>
      <title>Where Core Ends and a Pimi App Begins</title>
      <link>https://knoden.com/tech/pim/pimi_policy/</link>
      <pubDate>Tue, 04 Aug 2026 16:40:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/pimi_policy/</guid>
      <description>The rule for what stays in PIM core, what moves into a pimi module, and how to leave room for a second variant of the same app.</description>
    </item>
    <item>
      <title>Extracting Mail Exposed a Real Architectural Wrinkle</title>
      <link>https://knoden.com/tech/pim/mail/</link>
      <pubDate>Tue, 04 Aug 2026 16:25:49 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/mail/</guid>
      <description>Why pulling Mail out of PIM core needed a trick no earlier app extraction did.</description>
    </item>
    <item>
      <title>IM Was the First App to Leave comm</title>
      <link>https://knoden.com/tech/pim/im/</link>
      <pubDate>Tue, 04 Aug 2026 15:30:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/im/</guid>
      <description>Extracting IM turned out lighter than expected — no third-party dependency, no generated persistence, and one bug from the previous extraction along for the ride.</description>
    </item>
    <item>
      <title>Notes Set the Pattern for Everything After It</title>
      <link>https://knoden.com/tech/pim/notes/</link>
      <pubDate>Tue, 04 Aug 2026 15:00:00 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/notes/</guid>
      <description>The simplest possible extraction, chosen first on purpose — and the point where the plan changed from finishing one module to moving everything.</description>
    </item>
    <item>
      <title>Switching to a Better Local Model</title>
      <link>https://knoden.com/tech/pim/ai_models/</link>
      <pubDate>Sun, 02 Aug 2026 19:56:11 -0400</pubDate>
      <guid>https://knoden.com/tech/pim/ai_models/</guid>
      <description>Why PIM&amp;rsquo;s default AI model is moving from gemma4 to mistral-nemo.</description>
    </item>
    <item>
      <title>Hello, world</title>
      <link>https://knoden.com/knoden/hello-world/</link>
      <pubDate>Sun, 12 Jul 2026 20:09:38 -0400</pubDate>
      <guid>https://knoden.com/knoden/hello-world/</guid>
      <description>Why we started building PIM, and what&amp;rsquo;s coming next.</description>
    </item>
    <item>
      <title>About</title>
      <link>https://knoden.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://knoden.com/about/</guid>
      <description>&lt;p&gt;Knoden builds privacy-first personal software. Its first product is &lt;strong&gt;PIM&lt;/strong&gt;: a personal
information manager that puts your journal, todos, work log, calendar, and mail in one place —
and gives you an AI assistant that actually knows the whole picture, without shipping any of it to
someone else&amp;rsquo;s servers.&lt;/p&gt;
&lt;h2 id=&#34;why-we-built-this&#34;&gt;Why we built this&lt;/h2&gt;
&lt;p&gt;Most people&amp;rsquo;s personal data is scattered — a todo app here, a calendar there, a journal in a
notebook or a separate note-taking app, work notes somewhere else entirely, and now,
increasingly, an AI chatbot that knows none of it unless you paste your whole life into a browser
tab. And if you do that, it&amp;rsquo;s sitting on somebody else&amp;rsquo;s server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get PIM</title>
      <link>https://knoden.com/get-pim/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://knoden.com/get-pim/</guid>
      <description>&lt;p&gt;PIM currently supports &lt;strong&gt;Linux only&lt;/strong&gt; (Ubuntu/apt-based distributions); macOS and Windows
support is planned after initial testing feedback. There are three separate installers — pick the
one that matches how you want to run PIM, there&amp;rsquo;s no in-installer choice to make.&lt;/p&gt;
&lt;h2 id=&#34;pim-desktop&#34;&gt;PIM (desktop)&lt;/h2&gt;
&lt;p&gt;Everything in one process, all-in-one: the JavaFX app, the AI assistant, and your data, all local
to this machine.&lt;/p&gt;
&lt;p&gt;On first launch, PIM walks you through a one-time setup wizard for your database (a private,
embedded option for solo use, or a shared one for family/team use) and for
&lt;a href=&#34;https://ollama.com/&#34;&gt;Ollama&lt;/a&gt;, the local AI runtime PIM&amp;rsquo;s assistant features depend on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>License &amp; Terms</title>
      <link>https://knoden.com/terms/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://knoden.com/terms/</guid>
      <description>&lt;h2 id=&#34;current-status-pre-10&#34;&gt;Current status: pre-1.0&lt;/h2&gt;
&lt;p&gt;PIM is in early testing. The builds on the &lt;a href=&#34;https://knoden.com/get-pim/&#34;&gt;Get PIM&lt;/a&gt; page are free to download and run
for your own personal use. Source code isn&amp;rsquo;t public yet — all rights to it are reserved while PIM
is under active development. Redistributing, modifying, reverse-engineering, or creating
derivative works from these builds isn&amp;rsquo;t permitted during this period.&lt;/p&gt;
&lt;h2 id=&#34;at-10&#34;&gt;At 1.0&lt;/h2&gt;
&lt;p&gt;Once PIM reaches 1.0, the full source will be released under the GNU Affero General Public
License v3.0 (AGPL-3.0) — free and open, including the right to run your own modified version, as
long as source for that version stays available under the same terms. This page will link
straight to it once that happens.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
