<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Matflow Blog — Instrument Data, Sparse-Data ML and Formulation Notes</title>
    <link>https://matflow.celaron.com/blog/</link>
    <description>Practical write-ups on instrument data, sparse-data modeling and formulation screening — with the limits stated.</description>
    <language>en</language>
    <lastBuildDate>Sun, 11 Oct 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://matflow.celaron.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Arbin .res files: merge, clean, and plot without the vendor software</title>
      <link>https://matflow.celaron.com/blog/arbin-res-parse-python/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/arbin-res-parse-python/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>An Arbin .res file is a Microsoft Access database in disguise. The full path from raw .res to a cycle-life plot — schema checks, channel joins, capacity recomputation — plus the three failure modes that silently corrupt the math.</description>
      <category>battery</category>
      <category>arbin</category>
      <category>instrument-data</category>
      <category>python</category>
    </item>
    <item>
      <title>Citrine vs open self-serve: how a 5-person lab should decide</title>
      <link>https://matflow.celaron.com/blog/citrine-alternative-small-lab/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/citrine-alternative-small-lab/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>A practical decision guide for small R&amp;D teams evaluating enterprise materials-informatics platforms. What we can and cannot verify about Citrine, the axes that actually matter at lab scale, and the questions to ask every platform — including Matflow.</description>
      <category>comparison</category>
      <category>gtm</category>
      <category>small-lab</category>
      <category>pricing</category>
    </item>
    <item>
      <title>Conformal prediction intervals for chemists (no PhD required)</title>
      <link>https://matflow.celaron.com/blog/conformal-prediction-chemistry/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/conformal-prediction-chemistry/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>A cross-validated RMSE is not an error bar. Split conformal prediction turns any model into one that returns intervals with a coverage guarantee — here is the whole method in twenty lines, plus the assumption that chemistry keeps breaking.</description>
      <category>uncertainty</category>
      <category>conformal-prediction</category>
      <category>machine-learning</category>
      <category>small-data</category>
    </item>
    <item>
      <title>FTIR baseline correction: three methods, and when each one fails</title>
      <link>https://matflow.celaron.com/blog/ftir-baseline-correction/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/ftir-baseline-correction/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>Rolling-minimum, ALS and SNIP on real ATR spectra — how to pick the parameters, the artefacts each method creates, and the difference between a baseline correction and an ATR correction.</description>
      <category>ftir</category>
      <category>spectroscopy</category>
      <category>preprocessing</category>
      <category>python</category>
    </item>
    <item>
      <title>GC-MS peak tables lie: align before you model</title>
      <link>https://matflow.celaron.com/blog/gcms-peak-tables-lie/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/gcms-peak-tables-lie/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>Retention time drift moves peaks between runs, blank subtraction changes what counts as a signal, and a library match factor is a similarity score — not a probability. The preprocessing order that keeps GC-MS data honest.</description>
      <category>gcms</category>
      <category>chromatography</category>
      <category>instrument-data</category>
      <category>python</category>
    </item>
    <item>
      <title>JCAMP-DX is nearly 40 years old and still breaks parsers</title>
      <link>https://matflow.celaron.com/blog/jcamp-dx-reader-python/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/jcamp-dx-reader-python/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>The open spectroscopy standard that every vendor exports and half the tooling misreads. What DIF, DUP and SQZ actually encode, why NTUPLES trips naive readers, and a validation checklist before you trust a parsed spectrum.</description>
      <category>spectroscopy</category>
      <category>jcamp-dx</category>
      <category>ftir</category>
      <category>nmr</category>
      <category>python</category>
    </item>
    <item>
      <title>XRD CSV to phase insight: a minimal honest pipeline</title>
      <link>https://matflow.celaron.com/blog/xrd-csv-to-phase-insight/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/xrd-csv-to-phase-insight/</guid>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <description>Background subtraction, Kα2 stripping, peak fitting and a Bragg-law phase check — the smallest XRD pipeline that produces defensible numbers, and the five ways it still lies to you.</description>
      <category>xrd</category>
      <category>diffraction</category>
      <category>materials</category>
      <category>python</category>
    </item>
    <item>
      <title>Parse Bio-Logic .mpr files in Python (and without code)</title>
      <link>https://matflow.celaron.com/blog/biologic-mpr-python/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/biologic-mpr-python/</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>Bio-Logic .mpr files drift between EC-Lab versions and hide channel metadata in binary headers. The Python route that works, the .mpt export traps, three failure modes to check for — and a no-code path to a governed dataset.</description>
      <category>battery</category>
      <category>file-formats</category>
      <category>python</category>
      <category>biologic</category>
    </item>
    <item>
      <title>Hansen solubility parameters that admit what they don&apos;t know</title>
      <link>https://matflow.celaron.com/blog/hansen-solubility-parameters/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/hansen-solubility-parameters/</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>Most solubility tools give you three numbers and false confidence. A fitted HSP model with an interval and an applicability-domain flag — how to use it in five minutes, what the method can and cannot support, and when it should refuse to answer.</description>
      <category>formulations</category>
      <category>solubility</category>
      <category>screening</category>
    </item>
    <item>
      <title>Neware .ndax to cycle-life curves without the vendor software</title>
      <link>https://matflow.celaron.com/blog/neware-ndax-cycle-life/</link>
      <guid isPermaLink="true">https://matflow.celaron.com/blog/neware-ndax-cycle-life/</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>Neware exports hide degradation mechanisms behind cycle counts. Build the cycle table correctly, then fit competing fade laws, pick by held-out RMSE, and report remaining useful life with split-conformal intervals.</description>
      <category>battery</category>
      <category>cycle-life</category>
      <category>neware</category>
      <category>python</category>
    </item>
  </channel>
</rss>
