<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Billo Systems — Articles</title>
    <link>https://billo.systems/articles/</link>
    <description>Careful engineering at serious scale.</description>
    <atom:link href="https://billo.systems/rss.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Sun, 20 Sep 2026 12:00:00 -0600</lastBuildDate>
    
    <item>
      <title>From a Local Chat Client to a Cognitive Environment</title>
      <link>https://billo.systems/articles/2026/09/from-a-local-chat-client-to-a-cognitive-environment/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/09/from-a-local-chat-client-to-a-cognitive-environment/</guid>
      <pubDate>Sun, 20 Sep 2026 12:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>ai</category><category>rust</category><category>knowledge-graph</category><category>software-engineering</category>
      <description>A locally owned place for conversation, memory, knowledge and planning—and how a question about a Mac chat client brought years of separate work into the same design.</description>
    </item>
    
    <item>
      <title>AI Engineering 0.5.0: A Knowledge Library Built for Reuse</title>
      <link>https://billo.systems/articles/2026/09/ai-engineering-knowledge-library/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/09/ai-engineering-knowledge-library/</guid>
      <pubDate>Sat, 05 Sep 2026 12:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>ai</category><category>rust</category><category>software-engineering</category>
      <description>Reworking our engineering framework into composable skills and focused guides, then comparing it with 0.4.1 through real planning, Rust implementation and code audits.</description>
    </item>
    
    <item>
      <title>Designing Supervision Trees for Recovery</title>
      <link>https://billo.systems/articles/2026/06/supervision-trees/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/06/supervision-trees/</guid>
      <pubDate>Thu, 18 Jun 2026 09:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>erlang</category><category>otp</category>
      <description>How process dependencies, restart policies and state reconstruction determine whether an Erlang service can recover from a crash.</description>
    </item>
    
    <item>
      <title>Bringing Types to LFE: Lessons from Haskell, the Typed Lisps, and Gleam</title>
      <link>https://billo.systems/articles/2026/06/bringing-types-to-lfe/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/06/bringing-types-to-lfe/</guid>
      <pubDate>Sun, 14 Jun 2026 10:08:00 +0000</pubDate>
      <author>Duncan McGreggor</author>
      <category>lfe</category><category>types</category><category>type-systems</category><category>gradual-typing</category><category>lykn</category><category>gleam</category><category>haskell</category><category>rust</category><category>racket</category><category>coalton</category><category>clojure</category>
      <description>Why we started building a gradual type system for Lisp Flavoured Erlang — a tour through how Haskell, Go, Rust, Typed Racket, Coalton, and Typed Clojure each spell the same small idea, the ergonomic quibbles that pushed us, and the strategic moves we borrowed from Gleam.</description>
    </item>
    
    <item>
      <title>Graph Theory in LFE: A Knowledge Graph of Erlang Itself</title>
      <link>https://billo.systems/articles/2026/06/graph-theory-in-lfe-graffeo-erlang-knowledge/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/06/graph-theory-in-lfe-graffeo-erlang-knowledge/</guid>
      <pubDate>Sat, 06 Jun 2026 10:08:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>graph-theory</category><category>erlang</category><category>otp</category><category>knowledge-graph</category><category>dijkstra</category><category>mathematics</category><category>libraries</category>
      <description>A deep, hands-on tour of graph theory in LFE — built on a real corpus of 1,664 Erlang concept cards, driven by the graffeo library, and unfolded slowly enough to teach the mathematics underneath each query.</description>
    </item>
    
    <item>
      <title>Lykn: A Lisp Born from LFE</title>
      <link>https://billo.systems/articles/2026/06/lykn-a-lisp-born-from-lfe/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/06/lykn-a-lisp-born-from-lfe/</guid>
      <pubDate>Fri, 05 Jun 2026 18:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>lfe</category><category>lykn</category><category>lisp</category><category>javascript</category><category>languages</category><category>release</category>
      <description>How fourteen years with Lisp Flavoured Erlang led to a new language — and how that language came home to power lfe.io.</description>
    </item>
    
    <item>
      <title>AI Recap, Sidebar 2: How Neural Networks Represent the World</title>
      <link>https://billo.systems/articles/2026/05/ai-recap-sidebar-neural-representations/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/05/ai-recap-sidebar-neural-representations/</guid>
      <pubDate>Thu, 21 May 2026 09:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>ai</category><category>neural-networks</category><category>philosophy</category>
      <description>From authored ontologies to learned features: how we investigate neural representations, what their geometry can tell us, and where observation gives way to interpretation.</description>
    </item>
    
    <item>
      <title>AI Recap, Sidebar 1: The Soft Threshold&#39;s Bargain</title>
      <link>https://billo.systems/articles/2026/05/ai-recap-sidebar-soft-thresholds-bargain/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/05/ai-recap-sidebar-soft-thresholds-bargain/</guid>
      <pubDate>Wed, 20 May 2026 09:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>ai</category><category>neural-networks</category><category>mathematics</category>
      <description>Why sigmoid units made gradient-based training practical, how saturation complicates learning in deep networks, and how later methods address gradient propagation.</description>
    </item>
    
    <item>
      <title>AI Recap, Part 1: How Neural Networks Survived Their Second Winter</title>
      <link>https://billo.systems/articles/2026/05/ai-recap-1-neural-networks-second-winter/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/05/ai-recap-1-neural-networks-second-winter/</guid>
      <pubDate>Tue, 19 May 2026 09:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>ai</category><category>neural-networks</category><category>history</category>
      <description>Returning to neural networks after two decades: the training difficulties, competing methods and continuing research that connect backpropagation to AlexNet.</description>
    </item>
    
    <item>
      <title>Nine Nines and the Cost of the Last One</title>
      <link>https://billo.systems/articles/2026/05/nine-nines/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/05/nine-nines/</guid>
      <pubDate>Sat, 09 May 2026 09:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>reliability</category><category>distributed-systems</category>
      <description>Every additional nine is one decimal point away and an order of magnitude harder. The question is never whether you can afford it, but who pays.</description>
    </item>
    
    <item>
      <title>Vector Databases Are Just Indexes With Better Manners</title>
      <link>https://billo.systems/articles/2026/04/vector-databases/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2026/04/vector-databases/</guid>
      <pubDate>Tue, 21 Apr 2026 09:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>ai</category><category>infrastructure</category>
      <description>Strip the marketing and a vector store is an index that has made peace with being approximately right. That peace is the whole engineering problem.</description>
    </item>
    
    <item>
      <title>Consensus Without Ceremony: Raft in Anger</title>
      <link>https://billo.systems/articles/2025/12/raft-in-anger/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2025/12/raft-in-anger/</guid>
      <pubDate>Mon, 15 Dec 2025 09:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>consensus</category><category>distributed-systems</category>
      <description>The paper is elegant; production is not. Here is what leader election actually does when the network is having a genuinely bad day.</description>
    </item>
    
    <item>
      <title>Translating SICP into LFE</title>
      <link>https://billo.systems/articles/2015/01/translating-sicp-into-lfe/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2015/01/translating-sicp-into-lfe/</guid>
      <pubDate>Wed, 28 Jan 2015 21:12:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>lfe</category><category>sicp</category><category>lisp</category><category>books</category>
      <description>The Wizard Book is getting an LFE edition — why I&#39;m porting Abelson and Sussman across, a paragraph at a time, what has to change on the way (procedures, for one), and what must never change.</description>
    </item>
    
    <item>
      <title>Scientific Python on the BEAM</title>
      <link>https://billo.systems/articles/2014/12/scientific-python-on-the-beam/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2014/12/scientific-python-on-the-beam/</guid>
      <pubDate>Wed, 31 Dec 2014 22:00:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>lfe</category><category>erlang</category><category>python</category><category>scientific-computing</category>
      <description>The matplotlib book left me wondering how much of the scientific-Python world I could pull onto the Erlang VM. The answer became two projects, a discovery I didn&#39;t plan, and line charts drawn in the terminal.</description>
    </item>
    
    <item>
      <title>ErlPort: Using Python from Erlang/LFE</title>
      <link>https://billo.systems/articles/2014/12/erlport-using-python-from-erlang-lfe/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2014/12/erlport-using-python-from-erlang-lfe/</guid>
      <pubDate>Wed, 03 Dec 2014 01:08:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>howtos</category><category>erlport</category><category>python</category><category>interop</category><category>lfe</category><category>libraries</category>
      <description>A Quick Introduction to ErlPort via LFE</description>
    </item>
    
    <item>
      <title>Mastering matplotlib: The First Month</title>
      <link>https://billo.systems/articles/2014/11/mastering-matplotlib/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2014/11/mastering-matplotlib/</guid>
      <pubDate>Sun, 30 Nov 2014 00:33:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>python</category><category>matplotlib</category><category>data-visualization</category><category>technical-writing</category><category>scientific-computing</category>
      <description>A cold email, a move to the Midwest, and a month spent deciding that &quot;mastering&quot; means going down to the architecture — the layers, the event loops, the module graph itself.</description>
    </item>
    
    <item>
      <title>Company Site is Live!</title>
      <link>https://billo.systems/articles/2014/11/company-site-is-live/</link>
      <guid isPermaLink="true">https://billo.systems/articles/2014/11/company-site-is-live/</guid>
      <pubDate>Mon, 17 Nov 2014 11:03:00 -0600</pubDate>
      <author>Duncan McGreggor</author>
      <category>announcements</category><category>design</category><category>graphics</category><category>web</category>
      <description>Announcing the launch of the original Billo Systems company site — a note on the build, the tools that made it painless, and the drafts still to come.</description>
    </item>
    
  </channel>
</rss>
