<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>StateAtlas</title>
    <link>https://www.stateatlas.dev/</link>
    <description>Recent content on StateAtlas</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 05 Oct 2026 16:58:58 -0700</lastBuildDate>
    <atom:link href="https://www.stateatlas.dev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Thanks</title>
      <link>https://www.stateatlas.dev/contact/thanks/</link>
      <pubDate>Mon, 28 Sep 2026 22:08:37 -0700</pubDate>
      <guid>https://www.stateatlas.dev/contact/thanks/</guid>
      <description>Your message was sent. Thanks for contacting me!</description>
    </item>
    <item>
      <title>About</title>
      <link>https://www.stateatlas.dev/about/</link>
      <pubDate>Mon, 28 Sep 2026 22:03:54 -0700</pubDate>
      <guid>https://www.stateatlas.dev/about/</guid>
      <description>I’m Scott Chapman. I started programming as in 1981 and retired in 2025.&#xA;For the past 10 years I worked at ServiceNow and like their metadata driven approach to applications, though I started in that paradigm clear back in the days of a database program called Wampum.&#xA;I enjoy reading about the history of tech. I lived through some of the fun stuff!&#xA;Miniature tech is great! My current phone is a Palm PVG100 running Android 16.</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://www.stateatlas.dev/contact/</link>
      <pubDate>Mon, 28 Sep 2026 18:45:37 -0700</pubDate>
      <guid>https://www.stateatlas.dev/contact/</guid>
      <description>Send a message with the form below and it will reach me by email.</description>
    </item>
    <item>
      <title>What I&#39;m Building</title>
      <link>https://www.stateatlas.dev/posts/what-i-am-building/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://www.stateatlas.dev/posts/what-i-am-building/</guid>
      <description>My goal is to be an enabler for small businesses. In the past, many small businesses could not afford custom software to automate their work. I want to make custom business software dramatically faster and more affordable by moving workflow, UI binding, forms, logging, database access, and platform behavior into a declarative, testable framework. I plan to add a powerful database pane and a workflow pane so I can build useful business applications quickly enough that small businesses can afford them.</description>
    </item>
    <item>
      <title>Why Use State Machines?</title>
      <link>https://www.stateatlas.dev/posts/why-state-machines/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://www.stateatlas.dev/posts/why-state-machines/</guid>
      <description>A state machine describes an application as a small set of states it can be in, and the events that move it from one state to another. I build applications this way; here is why.&#xA;The application is conceptualized as states and transitions between states. These states and transitions are declared in a map. A map is declarative. You can see it and reason about the application visually. When we say a map is declarative, it means the code describes &amp;ldquo;what&amp;rdquo; the system should do, not &amp;ldquo;how&amp;rdquo; to do it step-by-step.</description>
    </item>
    <item>
      <title>Understanding AIs</title>
      <link>https://www.stateatlas.dev/posts/understanding-ais/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://www.stateatlas.dev/posts/understanding-ais/</guid>
      <description>&amp;ldquo;To make good choices, you must have complete and accurate understanding.&amp;rdquo;&#xA;Understanding AIs 101 What AIs are A Large Language Model (LLM), the kind of AI behind ChatGPT, Claude and Gemini, predicts likely continuations of text. That is ALL. They are a statistical prediction program. Like all computer programs, they take input (the data they were trained on and your prompt), process it, and output a result. No input = No output!</description>
    </item>
    <item>
      <title>State Machine Basics: An AI Chat Example</title>
      <link>https://www.stateatlas.dev/posts/fsm-basics/</link>
      <pubDate>Fri, 25 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://www.stateatlas.dev/posts/fsm-basics/</guid>
      <description>This is the technical companion to Why Use State Machines?, written for developers. It walks through one small state machine map from my framework, explains what happens when things go wrong, and lists all the building blocks (primitives) and how they are stored.&#xA;The Example Map: AI Chat Initiation Initial State | ⚡ A-RESET_CONTEXT-A with Entry and | ◯ S-IDLE-S Exit Actions | ⚡ A-LOG_IDLE_EXIT-A | | | +-------------------------+ | | | 2 Transitions | 🛑 G-CONFIG_READY-G 🛑 G-CONFIG_MISSING-G with Guards and | 🔔 E-START_CHAT_REQ-E 🔔 E-START_CHAT_REQ-E Actions | ⚡ A-INIT_CONNECTION-A ⚡ A-OPEN_SETUP_DIALOG-A | | | | V V 2 States | ◯ S-CHAT_ACTIVE-S ◯ S-AWAITING_SETUP-S | | | V 1 Transition | 🛑 G-INPUT_VALID-G with Guards and | 🔔 E-SETUP_COMPLETE-E Actions | ⚡ A-INIT_CONNECTION-A | | | V 1 State | ◯ S-CHAT_ACTIVE-S Each name carries its type in a prefix and suffix: S-…-S for states, E-…-E for events, G-…-G for guards, and A-…-A for actions.</description>
    </item>
  </channel>
</rss>
