<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Scalarloop Lab notes</title><description>Things we&apos;ve learned the hard way.</description><link>https://scalarloop.com/</link><language>en</language><item><title>We put file storage on Backblaze B2 behind SFTPGo, with one group config for every user</title><link>https://scalarloop.com/notes/sftpgo-backblaze-b2-per-user-prefixes/</link><guid isPermaLink="true">https://scalarloop.com/notes/sftpgo-backblaze-b2-per-user-prefixes/</guid><description>File users get SFTP and a browser client, and the bytes live in Backblaze B2. One group config isolates each user under their own prefix, so the S3 settings are written once.</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>self-hosting</category><category>infrastructure</category><category>storage</category></item><item><title>Why our docker push failed behind Cloudflare, and how we moved the registry off the tunnel</title><link>https://scalarloop.com/notes/why-our-docker-push-failed-behind-cloudflare/</link><guid isPermaLink="true">https://scalarloop.com/notes/why-our-docker-push-failed-behind-cloudflare/</guid><description>Cloudflare caps proxied request bodies at 100 MB on Free and Pro plans, which breaks large image pushes. Here is how we served our Zot registry directly from the VPS instead.</description><pubDate>Tue, 13 Oct 2026 00:00:00 GMT</pubDate><category>self-hosting</category><category>infrastructure</category><category>docker</category></item><item><title>Most of our AI traffic doesn&apos;t need a frontier model, and here&apos;s how our proxy decides</title><link>https://scalarloop.com/notes/most-ai-traffic-doesnt-need-a-frontier-model/</link><guid isPermaLink="true">https://scalarloop.com/notes/most-ai-traffic-doesnt-need-a-frontier-model/</guid><description>Many AI requests are small, well-defined jobs. Here is how a Bifrost proxy can match each one to a model tier and escalate only when a check fails.</description><pubDate>Fri, 09 Oct 2026 00:00:00 GMT</pubDate><category>ai</category><category>llm</category><category>infrastructure</category></item><item><title>Before an AI reads your factory data, make the machines stop lying</title><link>https://scalarloop.com/notes/before-ai-reads-your-factory-data/</link><guid isPermaLink="true">https://scalarloop.com/notes/before-ai-reads-your-factory-data/</guid><description>An AI tool reads whatever your machines send and believes it. If breakdowns never end and clocks are not synced, fix the payload contract before the pilot.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate><category>manufacturing</category><category>mqtt</category><category>iot</category><category>ai</category><category>data</category></item><item><title>Your OEE is probably averaged wrong</title><link>https://scalarloop.com/notes/your-oee-is-probably-averaged-wrong/</link><guid isPermaLink="true">https://scalarloop.com/notes/your-oee-is-probably-averaged-wrong/</guid><description>Averaging each machine&apos;s availability gives the wrong plant OEE, because a short job weighs as much as a long plan. Sum the hours, then divide.</description><pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate><category>manufacturing</category><category>oee</category><category>dashboards</category><category>data</category></item></channel></rss>