<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>AltSql.com</title>
    <link>https://altsql.com/</link>
    <description>Recent content on AltSql.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 05 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://altsql.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AltSql Is a Native Hybrid of Key-Value and SQL, From the Sensor to the Gateway</title>
      <link>https://altsql.com/altsql-is-a-native-hybrid-of-key-value-and-sql-from-the-sensor-to-the-gateway/</link>
      <pubDate>Fri, 02 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-is-a-native-hybrid-of-key-value-and-sql-from-the-sensor-to-the-gateway/</guid>
      <description>&lt;p&gt;AltSql is a native hybrid of key-value and SQL, in the engine and in the database: one small engine and one set of records, from the sensor to the gateway, with nothing to translate in between. Everything else AltSql offers follows from that.&lt;/p&gt;&#xA;&lt;p&gt;The engine is the software. The database is the data the software keeps. The engine is code: it writes records, finds them again, keeps them safe through a power cut and answers questions about them. The database is the records themselves, stored in order, usually in one file. In AltSql the hybrid lives in both. The engine is one piece of code with two ways in, and the database is one set of records that both ways reach.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Core and AltSql DB Are Now Open Source Under the Apache License 2.0</title>
      <link>https://altsql.com/altsql-core-and-altsql-db-are-now-open-source-under-the-apache-license-2.0/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-core-and-altsql-db-are-now-open-source-under-the-apache-license-2.0/</guid>
      <description>&lt;p&gt;For now the project focuses on two products: the engine, AltSql Core, and the database, AltSql DB. Both are open source under the Apache License 2.0. The code is on &lt;a href=&#34;https://github.com/AltSql/altsql&#34;&gt;GitHub&lt;/a&gt;. Premium add-ons may come later under different licenses.&lt;/p&gt;&#xA;&lt;p&gt;AltSql keeps key-value and time-series records on the device and answers SQL on the gateway, with the same records on both, so nothing gets translated in between. The device keeps working and deciding when the link drops, and it sends less. The &lt;a href=&#34;https://altsql.com/altsql-is-a-native-hybrid-of-key-value-and-sql-from-the-sensor-to-the-gateway/&#34;&gt;native hybrid&lt;/a&gt; post says why that matters.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction</title>
      <link>https://altsql.com/introduction/</link>
      <pubDate>Fri, 25 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/introduction/</guid>
      <description>&lt;p&gt;A connected product usually handles its data on two computers. The device is a microcontroller with kilobytes of RAM, flash that wears with every erase, and power that can vanish in the middle of a write. The gateway gathers data from many devices and passes it on. Each side has good tools of its own, and they don&amp;rsquo;t share a format. So every product team writes converter code between them, and somebody keeps it working for the ten or more years the device stays in service.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql DB 0.3 Adds Secondary Indexes and Statement Savepoints: A Lookup on a Million Rows Ran 198 Times Faster Than a Full Scan</title>
      <link>https://altsql.com/altsql-db-0.3-adds-secondary-indexes-and-statement-savepoints-a-lookup-on-a-million-rows-ran-198-times-faster-than-a-full-scan/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-db-0.3-adds-secondary-indexes-and-statement-savepoints-a-lookup-on-a-million-rows-ran-198-times-faster-than-a-full-scan/</guid>
      <description>&lt;p&gt;AltSql DB 0.3 adds the two things a gateway database needs once it holds real data. Tables get secondary indexes, so a question about a column other than the key no longer reads the whole table. And a statement that fails inside your transaction now fails on its own, while the transaction goes on.&lt;/p&gt;&#xA;&lt;p&gt;Both come in the v0.3.0-alpha release on &lt;a href=&#34;https://github.com/AltSql/altsql&#34;&gt;GitHub&lt;/a&gt;, open source under the Apache License 2.0. As with 0.2, every number here was measured in simulation on a PC. Nothing has run on a gateway yet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How It Works</title>
      <link>https://altsql.com/how-it-works/</link>
      <pubDate>Fri, 25 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/how-it-works/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;The idea.&lt;/strong&gt; A native hybrid of key-value and SQL: a very small database on the device that reads the sensors, keeping its data so that the gateway&amp;rsquo;s database can use it as it is, byte for byte, with no translation step.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;the-whole-chain-at-a-glance&#34;&gt;The Whole Chain at a Glance&lt;/h2&gt;&#xA;&lt;p&gt;From the sensor to the cloud: where each part sits, and which way the data moves.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://altsql.com/images/whole-chain.png&#34; alt=&#34;Sensors wired to a device; the device runs the small AltSql build with time-series, key-value and flash storage; records sync byte for byte to a gateway running the full build with SQL; the gateway serves dashboards and the cloud. The Learned Query Optimizer, drawn dashed, learns on the gateway and decides on the device.&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql DB 0.2: SQL and Direct Calls Wrote Byte-Identical Files Over 100,000 Random Steps</title>
      <link>https://altsql.com/altsql-db-0.2-sql-and-direct-calls-wrote-byte-identical-files-over-100000-random-steps/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-db-0.2-sql-and-direct-calls-wrote-byte-identical-files-over-100000-random-steps/</guid>
      <description>&lt;p&gt;AltSql DB 0.2 makes the two ways into the database follow the same rules, and it makes sync cope with batches that arrive out of order. It also comes with a shell of its own.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s part of the v0.2.0-alpha release, which is &lt;a href=&#34;https://altsql.com/altsql-core-and-altsql-db-are-now-open-source-under-the-apache-license-2.0/&#34;&gt;open source&lt;/a&gt; under the Apache License 2.0. Every number below was measured in simulation on a PC, with the files held in memory and the link between devices and gateway simulated. Nothing has run on a gateway yet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql DB Keeps a Whole Fleet in One File and Reads by Key 5 Times Faster Than SQLite Through SQL</title>
      <link>https://altsql.com/altsql-db-keeps-a-whole-fleet-in-one-file-and-reads-by-key-5-times-faster-than-sqlite-through-sql/</link>
      <pubDate>Fri, 02 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-db-keeps-a-whole-fleet-in-one-file-and-reads-by-key-5-times-faster-than-sqlite-through-sql/</guid>
      <description>&lt;p&gt;AltSql Core keeps a device&amp;rsquo;s readings and settings in its own flash and copies the same records to its gateway, byte for byte. A gateway that serves a whole fleet needs a database of its own, and AltSql DB is that database. When its design was written, this post set out what it would do and how it would be judged, before any numbers existed. The prototype, its live demo and its Alpha report are now done, and these are the numbers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Core and Six Prototypes Built Around It</title>
      <link>https://altsql.com/altsql-core-and-six-prototypes-built-around-it/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-core-and-six-prototypes-built-around-it/</guid>
      <description>&lt;p&gt;AltSql Core is the base module, the one the project started with. It keeps key-value data and time-series readings on a device, answers SQL on a gateway, and copies the same records to both, byte for byte. It is the foundation, and it goes onto real chips first.&lt;/p&gt;&#xA;&lt;p&gt;Around it now sit six prototypes. Each takes Core&amp;rsquo;s idea to one more problem in how devices keep, search and share their data. Each is small: one C file of 931 to 1,923 lines, with its own tests, measured results and a live demo on the &lt;a href=&#34;https://altsql.com/demo/&#34;&gt;live demo page&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Ask Puts One SQL Question to 500 Simulated Machines and Brings Back Only the Answers</title>
      <link>https://altsql.com/altsql-ask-puts-one-sql-question-to-500-simulated-machines-and-brings-back-only-the-answers/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-ask-puts-one-sql-question-to-500-simulated-machines-and-brings-back-only-the-answers/</guid>
      <description>&lt;p&gt;An engineer wants to know which machines ran hot last night. The usual way is to pull every machine&amp;rsquo;s readings to a server first and ask there. That moves every raw reading, and on a slow or costly link the moving is the expensive part.&lt;/p&gt;&#xA;&lt;p&gt;AltSql Ask turns that around. The gateway takes an ordinary SQL question and compiles it into a small program. It sends that program to every device. Each device runs it against its own records and sends back its share of the answer, and the gateway merges the shares into the rows the same SQL would have given over all the raw data.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Machine Monitoring Case Study: Overheat Alarm Handled on the Sensor While Wi-Fi Was Down</title>
      <link>https://altsql.com/machine-monitoring-case-study-overheat-alarm-handled-on-the-sensor-while-wi-fi-was-down/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/machine-monitoring-case-study-overheat-alarm-handled-on-the-sensor-while-wi-fi-was-down/</guid>
      <description>&lt;p&gt;A temperature sensor on a machine takes one reading a second. When the machine runs hot, the fan has to come on right away, whether or not the plant&amp;rsquo;s Wi-Fi is working. In the Alpha demo this device runs the AltSql engine on 64 KB of flash with 1,048 bytes of engine RAM, and it makes that call by itself.&lt;/p&gt;&#xA;&lt;p&gt;The run covers one simulated hour. Wi-Fi drops out from minute 20 to minute 35. Two gateways listen: gateway A receives every record, and gateway B, which stands in for a constrained link, receives only the minute summaries and the fan state.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cold Chain Case Study: Truck Logger Records a 51-Minute Excursion With No Coverage</title>
      <link>https://altsql.com/cold-chain-case-study-truck-logger-records-a-51-minute-excursion-with-no-coverage/</link>
      <pubDate>Sun, 27 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/cold-chain-case-study-truck-logger-records-a-51-minute-excursion-with-no-coverage/</guid>
      <description>&lt;p&gt;Medicines and fresh food travel in refrigerated trucks, and many loads must stay between 2 and 8 °C for the whole trip. When the cooling fails, somebody has to know how long the load was warm and how warm it got, even if the truck is nowhere near a mobile signal at the time. In the Alpha demo a logger inside the load keeps that record itself. It runs the AltSql engine on 512 KB of flash with 920 bytes of engine RAM.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Agriculture Case Study: Soil Sensor Runs the Valve Itself and Reports in 38 Bytes a Day</title>
      <link>https://altsql.com/agriculture-case-study-soil-sensor-runs-the-valve-itself-and-reports-in-38-bytes-a-day/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/agriculture-case-study-soil-sensor-runs-the-valve-itself-and-reports-in-38-bytes-a-day/</guid>
      <description>&lt;p&gt;A soil sensor in a field usually runs on a battery and talks over a radio that carries a few dozen bytes a day. It cannot wait for a server to tell it when to water. In the Alpha demo the sensor decides for itself when to open the irrigation valve, and it reports to the farm office in one small radio message a day. It runs the AltSql engine on 32 KB of flash with 672 bytes of engine RAM.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Vector Teaches a Device What a Healthy Motor Sounds Like, in 32-Byte Fingerprints</title>
      <link>https://altsql.com/altsql-vector-teaches-a-device-what-a-healthy-motor-sounds-like-in-32-byte-fingerprints/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-vector-teaches-a-device-what-a-healthy-motor-sounds-like-in-32-byte-fingerprints/</guid>
      <description>&lt;p&gt;A vibration sensor on a motor hears a lot. Most of it is the motor doing its job. The useful part is the moment the sound changes into something new, like a bearing starting to wear. Sending every sample to a server to find that moment costs bandwidth the device often does not have.&lt;/p&gt;&#xA;&lt;p&gt;AltSql Vector lets the device do the listening. Every 1.6 seconds it splits what it hears into 32 frequency bands and turns that into a fingerprint of 256 bits, which is 32 bytes. It keeps fingerprints of the states it has been taught, such as idle, running and loaded. For each new fingerprint it finds the closest one it knows and names the state. When nothing it knows is close enough, it flags the pattern as one it was never taught.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Wave Keeps Raw Vibration Bursts on the Device, Lossless, and Sends Only Their Features</title>
      <link>https://altsql.com/altsql-wave-keeps-raw-vibration-bursts-on-the-device-lossless-and-sends-only-their-features/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-wave-keeps-raw-vibration-bursts-on-the-device-lossless-and-sends-only-their-features/</guid>
      <description>&lt;p&gt;When a pump&amp;rsquo;s bearing starts to fail, an analyst wants two things. A quick figure to spot it, and the raw signal to understand it. Devices usually keep one or the other. They send summary figures and throw the signal away, or they send the signal and pay for every byte of it.&lt;/p&gt;&#xA;&lt;p&gt;AltSql Wave keeps both. A sensor records a short burst of vibration, compresses it without losing a bit and stores it on the device, where the bursts stay for as long as its flash holds them. While the samples arrive, it works out the figures an analyst looks at first, such as RMS, peak and kurtosis, and the level in a few frequency bands. Only those figures go to the gateway, where SQL can search them. When a row looks interesting, the gateway fetches the raw burst behind it, checked against its CRC-32.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Mesh Keeps Twelve Devices on One Table on a Simulated Farm With No Signal and No Gateway</title>
      <link>https://altsql.com/altsql-mesh-keeps-twelve-devices-on-one-table-on-a-simulated-farm-with-no-signal-and-no-gateway/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-mesh-keeps-twelve-devices-on-one-table-on-a-simulated-farm-with-no-signal-and-no-gateway/</guid>
      <description>&lt;p&gt;Some places have no mobile coverage and nowhere to put a gateway. A big sheep farm is one. The people working it still need the same picture: which troughs are low, which gates are open, what jobs are waiting and how many sheep are where.&lt;/p&gt;&#xA;&lt;p&gt;AltSql Mesh gives every device its own copy of one shared table. Each device writes to its copy as its owner works. Whenever two devices come within radio range they bring each other up to date, over a link that may lose messages. No device is in charge and nothing waits for a server. Once every change has reached every device, all of them hold the same table, row for row, and any device with the memory for it can answer SQL about it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Realtime Meets a 10 ms Deadline on a Simulated Flash Chip That Takes 45 ms to Erase</title>
      <link>https://altsql.com/altsql-realtime-meets-a-10-ms-deadline-on-a-simulated-flash-chip-that-takes-45-ms-to-erase/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-realtime-meets-a-10-ms-deadline-on-a-simulated-flash-chip-that-takes-45-ms-to-erase/</guid>
      <description>&lt;p&gt;A controller runs its loop 100 times a second. Every cycle it saves a value and logs a row, and those writes have to finish within 10 ms. The trouble is the flash chip. Before it can reuse a sector it has to erase it, and on the chip the demo models, a Winbond W25Q32FV, an erase takes 45 ms typically and up to 400 ms at the slowest its datasheet allows. A storage engine that erases inside a write will, sooner or later, make the loop miss its deadline.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Instant: A Battery-Free Sensor on MRAM Saved 1,428 Readings in a Simulated Minute, Against 220 for AltSql Core on Flash</title>
      <link>https://altsql.com/altsql-instant-a-battery-free-sensor-on-mram-saved-1428-readings-in-a-simulated-minute-against-220-for-altsql-core-on-flash/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/altsql-instant-a-battery-free-sensor-on-mram-saved-1428-readings-in-a-simulated-minute-against-220-for-altsql-core-on-flash/</guid>
      <description>&lt;p&gt;Some sensors have no battery. A small solar cell charges a capacitor, and when it is full the sensor wakes and works until the charge runs out. Then the power goes, wherever the sensor happens to be. It might be between readings or in the middle of writing one. Every bit of energy spent on storage is a reading not taken.&lt;/p&gt;&#xA;&lt;p&gt;Flash memory makes this hard. It writes in pages and has to erase before it can write again, so a storage engine for flash keeps a log and cleans it up later. MRAM and FRAM work differently. They write single bytes, need no erase and keep what was written the moment the write ends.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Learned Query Optimizer</title>
      <link>https://altsql.com/the-learned-query-optimizer/</link>
      <pubDate>Fri, 25 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/the-learned-query-optimizer/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Status: planned for the Advanced Beta.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The Alpha answers every query the same way, whatever state the device is in. A device in the field is rarely in the same state twice: its battery runs down, its link comes and goes, its flash fills and wears, and its data turns from routine to alarming. The Learned Query Optimizer (LQO) is a planned, optional layer that lets AltSql take its situation into account. Despite its name, it does more than plan queries: most of its work is deciding what a device keeps, samples and sends, and where an answer comes from.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Next Verticals: Eight Industries Where a Database on the Sensor Could Fit</title>
      <link>https://altsql.com/next-verticals-eight-industries-where-a-database-on-the-sensor-could-fit/</link>
      <pubDate>Fri, 25 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/next-verticals-eight-industries-where-a-database-on-the-sensor-could-fit/</guid>
      <description>&lt;p&gt;The three case studies share one pattern. A device keeps its own data, decides for itself and talks over a link that is slow, costly or often down. Its gateway receives the same records the device wrote, so nobody has to maintain code that translates between the two. Machine monitoring, cold chain and agriculture came first because the Alpha demo covers them.&lt;/p&gt;&#xA;&lt;p&gt;The pattern turns up in many more industries. None of the eight below has been tested, and none has a device in the Beta. This post sets out what each would ask of the engine, what already carries over from the demo, and what would be new work. It is a map for choosing what to try after the Beta, ideally together with people who build these devices.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://altsql.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/about/</guid>
      <description>&lt;p&gt;AltSql is a native hybrid of key-value and SQL, in the engine and in the database: one small engine and one set of records, from the sensor to the gateway, with nothing to translate in between. The project is at an early stage. Its modules each take the hybrid to one job, from AltSql Core on the device to AltSql DB on the gateway, and each has a live demo that runs in your browser. Everything works in simulation so far, and the next step is real chips. This site shows where the project stands, gaps included.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Ask Live Demo</title>
      <link>https://altsql.com/demo/ask/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/ask/</guid>
      <description>&lt;p&gt;Each machine keeps a day of readings in its own AltSql database. You ask in SQL. The gateway turns the question into a small program, every machine answers from its own records, and only the answers travel back.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Simulated machines, real code.&lt;/strong&gt; The machines, their readings and the network are simulated. AltSql Core and AltSql Ask run in this page, compiled to WebAssembly.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;how-to-run-it&#34;&gt;How to Run It&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Ask the fleet.&lt;/strong&gt; Pick a ready-made question or write your own SQL, choose the budget per machine, and press Ask the fleet. The page shows the program each machine receives, byte by byte, and what the question cost on the network.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Check the answer.&lt;/strong&gt; The gateway pulls all 360,000 readings into one database and runs the same SQL there with AltSql Core. The two answers should be the same.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Try to break it.&lt;/strong&gt; Squeeze the budget, ask for too many groups, or flip three bits of the program on its way to the machines. A question must never hang a machine, fill its memory or change its data.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;iframe id=&#34;altsql-demo-ask&#34; src=&#34;https://altsql.com/demo/ask/app/&#34; title=&#34;AltSql Ask live demo: ask 500 machines one question&#34; style=&#34;display:block;width:100%;height:2200px;border:0;margin:1.5rem 0&#34;&gt;&lt;/iframe&gt;&#xA;&lt;script&gt;&#xA;(function () {&#xA;  var f = document.getElementById(&#39;altsql-demo-ask&#39;);&#xA;  if (!f) return;&#xA;  function fit() {&#xA;    try {&#xA;      var b = f.contentDocument &amp;&amp; f.contentDocument.body;&#xA;      if (b) f.style.height = Math.ceil(b.getBoundingClientRect().height) + &#39;px&#39;;&#xA;    } catch (e) {}&#xA;  }&#xA;  f.addEventListener(&#39;load&#39;, function () {&#xA;    fit();&#xA;    try { new ResizeObserver(fit).observe(f.contentDocument.body); }&#xA;    catch (e) { setInterval(fit, 1000); }&#xA;  });&#xA;  window.addEventListener(&#39;resize&#39;, fit);&#xA;})();&#xA;&lt;/script&gt;&#xA;&lt;p&gt;On a wide screen the demo has more room: &lt;a href=&#34;https://altsql.com/demo/ask/app/&#34;&gt;open it full screen&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Core Live Demo</title>
      <link>https://altsql.com/demo/core/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/core/</guid>
      <description>&lt;p&gt;Three simulated devices run AltSql Core, the real Alpha engine, right here in your browser. Each one keeps its own records and decides for itself. Only what matters goes to its gateway, where the same records arrive byte for byte. The demo is open to everyone: there is no sign-up, nothing to install, and nothing you do here leaves this page.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Simulated devices, real Alpha engine.&lt;/strong&gt; The sensors, networks and flash chips are simulated. The database is the Alpha engine itself, compiled to WebAssembly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Core: The Alpha</title>
      <link>https://altsql.com/alpha/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/alpha/</guid>
      <description>&lt;p&gt;The Alpha is the working prototype of AltSql Core, the base module the others are built around: one C file, its tests, a few tools and a demo that runs one engine on three simulated devices. It stores key-value pairs and time-series readings in flash on a microcontroller, answers SQL on a gateway, and copies records from device to gateway byte for byte.&lt;/p&gt;&#xA;&lt;p&gt;Everything so far runs on a PC. The flash chips and radio links are simulated, carefully, but simulated. The code also compiles for four microcontroller families and its size was measured on each, but it has not yet run on any of them. That is the job of the &lt;a href=&#34;https://altsql.com/roadmap/&#34;&gt;Beta&lt;/a&gt;. The six prototypes built around Core have their own demos, listed on &lt;a href=&#34;https://altsql.com/engines/&#34;&gt;the modules page&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql DB</title>
      <link>https://altsql.com/db/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/db/</guid>
      <description>&lt;p&gt;AltSql DB is the next step of AltSql Core&amp;rsquo;s idea, taken to the gateway. Core keeps a device&amp;rsquo;s records in a log in its flash and copies them to the gateway byte for byte. AltSql DB gives a gateway that serves a whole fleet a database built for those records: every device in one file, values read and written by key without going through SQL, and SQL that uses the keys.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql DB Live Demo</title>
      <link>https://altsql.com/demo/db/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/db/</guid>
      <description>&lt;p&gt;Twelve devices run AltSql Core, each on its own flash chip, and every ten seconds each saves a reading and sends the gateway what it has not confirmed yet. The gateway keeps every device in one AltSql DB file, the devices&amp;rsquo; bytes unchanged, and answers two ways: SQL, and a direct path with no SQL step at all.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Simulated devices and file, real code.&lt;/strong&gt; AltSql Core and AltSql DB run in this page, compiled to WebAssembly. The chips and the gateway&amp;rsquo;s file are emulated in memory, so the power can be cut at any write.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Instant Live Demo</title>
      <link>https://altsql.com/demo/instant/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/instant/</guid>
      <description>&lt;p&gt;A small solar cell charges a capacitor. When it is full, the sensor wakes, opens its store and saves readings, one after another, until the capacitor is empty and the power goes, wherever the sensor is at that moment: between readings, or in the middle of a write. Then it charges again, and wakes again, many times a minute. Two sensors, the same light, the same capacitor: one keeps its readings with AltSql Instant on MRAM, the other with AltSql Core on NOR flash.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Mesh Live Demo</title>
      <link>https://altsql.com/demo/mesh/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/mesh/</guid>
      <description>&lt;p&gt;A sheep farm with no mobile coverage and no gateway. Three utes, four quad bikes and five people on foot carry a device each. They read the water troughs, open and close gates, add jobs and clear them, and count sheep, all into one shared table. Whenever two come within radio range they sync, over a link that loses messages. Stop the writing and watch every device end up with the same table.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Realtime Live Demo</title>
      <link>https://altsql.com/demo/realtime/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/realtime/</guid>
      <description>&lt;p&gt;A controller runs a loop 100 times a second. Every cycle it writes one value, its state or, every tenth cycle, one of its settings, and logs a row, and those writes must be done within 10 ms of the cycle&amp;rsquo;s start. Its flash chip needs 45 ms to erase a sector, and up to 400 ms. AltSql Core erases inside the write that needs the room. AltSql Realtime never erases inside a write, and works out from its configuration the most any write can cost. It erases only when the loop calls idle: here, between cycles, while the chip erases in the background.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Vector Live Demo</title>
      <link>https://altsql.com/demo/vector/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/vector/</guid>
      <description>&lt;p&gt;A vibration sensor sits on a motor. Every 1.6 seconds the device turns what it hears into a fingerprint, looks for the closest one it was taught, and names the state, or flags a pattern it does not know. You can teach it on the spot.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Simulated motor, real code.&lt;/strong&gt; The motor, its faults and the sensor are simulated. AltSql Core and AltSql Vector run in this page, compiled to WebAssembly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AltSql Wave Live Demo</title>
      <link>https://altsql.com/demo/wave/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/wave/</guid>
      <description>&lt;p&gt;A vibration sensor on a pump&amp;rsquo;s motor keeps a 1.6-second burst four times a day, compressed without losing a bit, and sends only the burst&amp;rsquo;s features to the gateway. After three weeks a bearing starts to fail. Search the features with SQL, then fetch the raw signal behind any row.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Simulated motor, real code.&lt;/strong&gt; The motor, the fault and the sensor are simulated. AltSql Core and AltSql Wave run in this page, compiled to WebAssembly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://altsql.com/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/contact/</guid>
      <description>&lt;p&gt;The project would like to hear from:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Device makers&lt;/strong&gt; who would like a &lt;a href=&#34;https://altsql.com/pilot/&#34;&gt;hardware pilot&lt;/a&gt; on one of their product lines.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Engineers&lt;/strong&gt; with a chip, a flash part or an industry the project should test.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anyone&lt;/strong&gt; with a question about the modules, the demos or the figures on this site.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Write to &lt;strong&gt;&lt;a href=&#34;mailto:info@altsql.com&#34;&gt;info@altsql.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you are writing about a device, it helps to mention its chip, how much flash and RAM it has, how it connects (Wi-Fi, cellular, LoRaWAN or something else), how often it measures, and what it should decide on its own.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hardware Pilot</title>
      <link>https://altsql.com/pilot/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/pilot/</guid>
      <description>&lt;p&gt;AltSql Core works in simulation. The proof that matters next is on real hardware, and the most useful hardware is a real product. A pilot fits AltSql Core to one of your product lines and runs it on your own board, against your own data.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Where things stand.&lt;/strong&gt; The engine, its tests and its live demo run on a PC today. AltSql Core compiles for Arm Cortex-M0+, M4 and M33 and for RISC-V, but it has not run on a microcontroller yet. Its Beta puts it on real boards first, and pilots follow. Planning one can start now.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Live Demos</title>
      <link>https://altsql.com/demo/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/demo/</guid>
      <description>&lt;p&gt;Eight live demos, one for each AltSql module built so far. Each runs the module&amp;rsquo;s own prototype code, compiled to WebAssembly, in your browser. The devices, their sensors and links, and their memory chips are simulated. Nothing needs installing, and nothing you do leaves the page.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Simulated devices, real code.&lt;/strong&gt; Run without interference, each demo shows the figures its Alpha report gives for it. AltSql Vector&amp;rsquo;s differ a little in a browser, as its report explains.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Roadmap</title>
      <link>https://altsql.com/roadmap/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/roadmap/</guid>
      <description>&lt;p&gt;AltSql Core goes first. Its Beta, about 16 weeks (estimate), takes the engine onto real chips, and a first release and a learned layer follow it. For now the project focuses on the engine and the database, both open source under the Apache License 2.0. AltSql DB, the database for the gateway built on Core, is at release 0.3.0-alpha, and its Beta comes next. The six prototypes built around Core wait meanwhile, each with a Beta plan of its own: five on the same boards, and AltSql Instant on boards with MRAM and FRAM. AltSql Private waits for an outside security review. Durations are estimates, and hardware surprises could stretch them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Technical Brief</title>
      <link>https://altsql.com/brief/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/brief/</guid>
      <description>&lt;p&gt;AltSql Core on one page, for engineers who want to judge whether it fits a device before asking for the full Alpha report. Every figure comes from the Alpha: measured on a PC, with the flash chips and links simulated, or computed where it says so. The engine compiles for four microcontroller families, and its size was measured on each, but it has not run on a microcontroller yet.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-it-is&#34;&gt;What It Is&lt;/h2&gt;&#xA;&lt;p&gt;One C file of 3,907 lines, in C99. A device gets a small build and a gateway gets a full one, and both keep the same records, byte for byte. The caller gives the engine one block of RAM at start-up, and the engine never calls malloc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Database</title>
      <link>https://altsql.com/database/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/database/</guid>
      <description>&lt;p&gt;The database is the data the engine keeps: the records themselves, stored in order. In AltSql it&amp;rsquo;s one set of records from the sensor to the gateway, and both of the engine&amp;rsquo;s doors reach every one of them.&lt;/p&gt;&#xA;&lt;h2 id=&#34;one-set-of-records-from-sensor-to-gateway&#34;&gt;One Set of Records, From Sensor to Gateway&lt;/h2&gt;&#xA;&lt;p&gt;A device writes each reading or setting once, as a record with a sequence number and a checksum. The gateway receives those same records byte for byte and files each one under a key: for a reading, which device, what time and its sequence number. The payload stays exactly as the device wrote it. Nothing converts it on the way, so there&amp;rsquo;s no second copy to keep in step.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Engine</title>
      <link>https://altsql.com/engine/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/engine/</guid>
      <description>&lt;p&gt;The engine is the software: the code that writes records, finds them again, keeps them safe through a power cut and answers questions about them. AltSql&amp;rsquo;s engine is a native hybrid of key-value and SQL. It has two ways in, designed together, and both reach the same records.&lt;/p&gt;&#xA;&lt;h2 id=&#34;two-doors-built-together&#34;&gt;Two Doors, Built Together&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Get/put, the direct door.&lt;/strong&gt; A read or write by key goes straight to the record: one walk down the store, with no SQL parser or planner in between. In the Alpha&amp;rsquo;s speed tests, reads by key never entered SQL code at all, checked under a debugger.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;SQL, the asking door.&lt;/strong&gt; SQL reads a question, plans it and turns it into walks and scans over the same records: a lookup by key, a range, a time range across a whole fleet, GROUP BY, UPDATE and DELETE.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;One set of transactions.&lt;/strong&gt; A put and a SQL statement can sit in the same transaction, so related changes are saved together or not at all.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The same rules.&lt;/strong&gt; The same code checks types and keys whichever door a change comes through.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;small-enough-for-both-ends&#34;&gt;Small Enough for Both Ends&lt;/h2&gt;&#xA;&lt;div style=&#34;overflow-x:auto&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Where&lt;/th&gt;&#xA;          &lt;th&gt;What the engine does there&lt;/th&gt;&#xA;          &lt;th&gt;Size&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;On the device&lt;/td&gt;&#xA;          &lt;td&gt;The key-value door: readings and settings kept as records in flash, read back to decide on the spot, and sent on to the gateway as they are&lt;/td&gt;&#xA;          &lt;td&gt;About 15 KB of code as compiled for a Cortex-M4. The demo devices use 672 to 1,048 bytes of engine RAM, plus up to 1.4 KB of stack&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;On the gateway&lt;/td&gt;&#xA;          &lt;td&gt;Both doors, onto one store that holds a whole fleet&lt;/td&gt;&#xA;          &lt;td&gt;166,667 bytes of code at -O2 with both doors, about a sixth of SQLite&amp;rsquo;s 982,281 (computed from the measured sizes). It can open in 38 KB of memory, with small pages&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;It never calls malloc: the program hands it one block of memory when it starts. It&amp;rsquo;s written in C99, and a program links in one file per part.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Modules</title>
      <link>https://altsql.com/engines/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://altsql.com/engines/</guid>
      <description>&lt;p&gt;AltSql&amp;rsquo;s modules each take its &lt;a href=&#34;https://altsql.com/altsql-is-a-native-hybrid-of-key-value-and-sql-from-the-sensor-to-the-gateway/&#34;&gt;native hybrid of key-value and SQL&lt;/a&gt; to one more job. AltSql Core is the base: the key-value door on the device and SQL on the gateway, with the same records on both. AltSql DB is the gateway&amp;rsquo;s database, with both doors onto one file for a whole fleet. Six more modules take the same idea to one problem each, in how devices keep, search and share their data. Everything so far runs on a PC: none of the modules has run on a microcontroller yet, and that is the job of the Betas, AltSql Core&amp;rsquo;s first.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
