<?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>hi, it&#39;s mike</title>
    <link>https://mike.puddingtime.org/tags/asystem/</link>
    <description>Recent content on hi, it&#39;s mike</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>mike@puddingtime.org (mike)</managingEditor>
    <webMaster>mike@puddingtime.org (mike)</webMaster>
    <copyright>© 2026, mike</copyright>
    <lastBuildDate>Fri, 15 May 2026 18:14:39 +0000</lastBuildDate>
    <atom:link href="https://mike.puddingtime.org/tags/asystem/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Adventures in DAV</title>
      <link>https://mike.puddingtime.org/posts/2026-05-15-adventures-in-dav/</link>
      <pubDate>Fri, 15 May 2026 18:14:39 +0000</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2026-05-15-adventures-in-dav/</guid>
      <description>I&amp;rsquo;ve been working on standalone versions of my contact and task management apps as part of a bigger push on my whole notion about where inference can be useful. The mobile part has been a drag. I don&amp;rsquo;t want to get into the weeds of making native apps, but don&amp;rsquo;t like what I&amp;rsquo;ve gotten with PWAs.</description>
      <content:encoded><![CDATA[<p>It finally occurred to me last night that CalDAV and CardDAV are whole-ass standard protocols, and that Apple Reminders and Contacts speak them. Do they speak every piece of the task or contact spec I&rsquo;ve created? No, but they don&rsquo;t need to, because there are ways to either work within the conventions of those standards to express what&rsquo;s unique about my tools, or I can decide that isn&rsquo;t part of the mobile spec, where capture or reading are more important than managing.</p>
<p>So I added CalDAV and CardDAV servers to the task and contact management tools. It took a little back and forth to get it all working, but it is now, so I get decent mobile interfaces, &ldquo;Hey Siri&rdquo; to make new tasks, and my contacts live in a standard store there are plenty of tools to manage, not out on an island.</p>
<p>Which lets me get back to the bigger project, which is the lifting the abstraction layer and graph for tasks, contacts, mail, events, notes, etc. into its own service.</p>
<p>v1 was a hard-coded hairball of personal apps and external services. This version has an Archetype/Provider model for tasks, contacts, messages, and notes that can accept standard Oauth/API connections, MCPs, or piggyback on a local daemon if you need to get at your stuff with a local script via a tunnel.</p>
<p>The external provider coverage is thin right now: Google Mail, Google Calendar, and Fastmail. Last night I went ahead and signed up for Todoist so I can build my first external task provider with a standard API. Obsidian recently released a CLI, so that&rsquo;s a candidate for a daemon-driven notes provider PoC. Apple Messages is another candidate for a daemon provider, too.</p>
<p>I also moved the idea of &ldquo;receptors&rdquo; — inference-driven behavioral interpreters that consume metadata from the task, contact, event, and note archetypes — into a Markdown/YAML-driven spec you can build with a skill. There are some out-of-the-box ones:</p>
<ul>
<li>priority inflation</li>
<li>task avoidance</li>
<li>contact neglect</li>
<li>task staleness</li>
</ul>
<p>When they&rsquo;re triggered, they propose some kind of action: resetting the priority, bumping the deadline, reaching out to someone you haven&rsquo;t, or deciding something doesn&rsquo;t belong on the list after all.</p>
<p>Those all seem like useful things anyone could benefit from, but I think other people have other struggles particular to them, so the SKILL.md that helps you build a receptor has an interview component, and can introspect the system to understand what archetypes/providers are enabled and available to help with your particular thing you&rsquo;re trying to deal with.</p>
<p>It was interesting to see someone else <a href="https://www.oreilly.com/radar/gyms-for-them-mirrors-for-us/">pulling on this thread</a> a few days ago.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Bridging Obsidian and aCloud</title>
      <link>https://mike.puddingtime.org/posts/2026-04-26-bridging-obsidian-and-acloud/</link>
      <pubDate>Sun, 26 Apr 2026 17:30:47 -0700</pubDate><author>mike@puddingtime.org (mike)</author>
      <guid>https://mike.puddingtime.org/posts/2026-04-26-bridging-obsidian-and-acloud/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://photos.smugmug.com/photos/i-wbLDfnf/0/MNCwdnhHqhN83VRjJzsP2RT8qj9ZHrbfdf89mbPDF/XL/i-wbLDfnf-XL.png&#34; class=&#34;glightbox&#34; data-gallery=&#34;post-c59370def36ec352195c0e5d773fba4d&#34;&gt;&lt;img src=&#34;https://photos.smugmug.com/photos/i-wbLDfnf/0/MNCwdnhHqhN83VRjJzsP2RT8qj9ZHrbfdf89mbPDF/XL/i-wbLDfnf-XL.png&#34; alt=&#34;Obsidian sidebar showing aCloud connections&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;aCloud is my project-in-transition for keeping track of tasks, contacts, ideas, and previously notes. It doesn&amp;rsquo;t really do anything with notes anymore, because I don&amp;rsquo;t have any particularly strong ideas about notes, and how I keep them has changed a lot over time.&lt;/p&gt;
&lt;p&gt;I do have ideas about how I want to process tasks that is less a breakthrough idea than it is a reflection on years of having tasks, and years of not liking most of my options for one reason or another. And I have an idea about managing contacts that comes down to, &amp;ldquo;I&amp;rsquo;m bad at it, and I&amp;rsquo;d like a tool that makes it easier to manage relationships.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://photos.smugmug.com/photos/i-wbLDfnf/0/MNCwdnhHqhN83VRjJzsP2RT8qj9ZHrbfdf89mbPDF/XL/i-wbLDfnf-XL.png" class="glightbox" data-gallery="post-c59370def36ec352195c0e5d773fba4d"><img src="https://photos.smugmug.com/photos/i-wbLDfnf/0/MNCwdnhHqhN83VRjJzsP2RT8qj9ZHrbfdf89mbPDF/XL/i-wbLDfnf-XL.png" alt="Obsidian sidebar showing aCloud connections" loading="lazy"></a></p>
<p>aCloud is my project-in-transition for keeping track of tasks, contacts, ideas, and previously notes. It doesn&rsquo;t really do anything with notes anymore, because I don&rsquo;t have any particularly strong ideas about notes, and how I keep them has changed a lot over time.</p>
<p>I do have ideas about how I want to process tasks that is less a breakthrough idea than it is a reflection on years of having tasks, and years of not liking most of my options for one reason or another. And I have an idea about managing contacts that comes down to, &ldquo;I&rsquo;m bad at it, and I&rsquo;d like a tool that makes it easier to manage relationships.&rdquo;</p>
<p>I also have an idea about all these things, which is that I&rsquo;d like them to live in some kind of graph, that I&rsquo;d like the graph to be agnostic about which tool I&rsquo;m using to manage these things, and that I&rsquo;d like to be able to surface the graph in whatever tools I&rsquo;m using to interact with the graph.</p>
<p>The &ldquo;in-transition&rdquo; part is that aCloud started life as a kind of all-in-one productivity app, and then I layered in some ideas that leverage inference to do &hellip; stuff &hellip; that I don&rsquo;t really feel like writing about right now, and then my thoughts about a tool-agnostic graph converged with that, and then I got tired of my mediocre notes implementation.</p>
<p>So I&rsquo;ve started to tear out the interesting-to-me parts of aCloud&rsquo;s inference layer into a service that manages just the graph, the inference layer, and the heartbeat for all of it.</p>
<p>The objects in that service&rsquo;s graph all belong to a small collection of Archetypes:</p>
<ul>
<li>Notes</li>
<li>Tasks</li>
<li>People</li>
<li>Ideas</li>
<li>Events</li>
<li>Logs</li>
</ul>
<p>Because I worked where I did for a decade, the things providing the objects for each archetype are called Providers:</p>
<ul>
<li>Gmail messages &amp; calendar events</li>
<li>Fastmail messages &amp; calendar events</li>
<li>Notes</li>
<li>aCloud tasks</li>
<li>aCloud ideas</li>
<li>Apple Messages</li>
</ul>
<p>Some providers are ingested into the graph via standard APIs, some are driven by scripts running on my local machine with a secure tunnel to the service, and some are consumed via MCPs.</p>
<p>Other things could easily become providers: Tasks from Todoist, OmniFocus, Google Tasks, Jira, or Things; notes from Apple Notes, contacts from Apple or Google Contacts, messages from Slack. If it has an API  you can talk to, or if you can figure out a command line tool to get its data out of its service, it&rsquo;s a candidate.</p>
<p>The service isn&rsquo;t really there to manage these things (that much). It&rsquo;s just there to make associations between them, keep an eye on them, and (where inference comes in) make suggestions about them when it&rsquo;s appropriate.</p>
<p>It&rsquo;s not quite as easy to get these tools to surface the graph, at least the ones I don&rsquo;t own. aCloud has an API for all this, and it&rsquo;s a first class participant in the service. But I can&rsquo;t tell Apple Messages to do anything with my graph, for instance.</p>
<p>But I do have a few notes-related tools for making or surfacing connections:</p>
<p>I made an LSP that lets me make inline wiki-style links by starting to type <code>[[idea:]]</code> or <code>[[task:]]</code> or <code>[[person:]]</code> and get an autcomplete that finishes a link. In Helix I can <code>f</code>ollow the <code>r</code>eference to get to the web version of any of those things.</p>
<p>I also made an Obsidian extension that likewise surfaces these connections in a sidebar panel and also understands this link format:</p>
<p>If I&rsquo;m working on a note that has associated people, tasks, or ideas I can see them in the panel and click a link to follow them to their aCloud versions. If I&rsquo;m editing a document, I can create a link to any object in the graph. Regular Obsidian wikilinks still work, and the links are legible/human readable.</p>
<p>There&rsquo;s no reason, over time, I couldn&rsquo;t provide that for messages, etc. or use other providers.  The service knows where all these things live.</p>
<p>So, onward with this.</p>
<p>Credit for ideas where they&rsquo;re due:</p>
<p>I&rsquo;m building toward something very much like the Emacs <a href="https://github.com/zzkt/remembrance-agent">Remembrance Agent</a>, and I think <a href="https://hookproductivity.com/">Hookmarks</a> is pretty neat.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
