<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Go on EnRedAndo Me - Carlos Prados</title><link>https://carlos.enredando.me/tags/go/</link><description>Recent content in Go on EnRedAndo Me - Carlos Prados</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>mail@carlosprados.com (Carlos Prados)</managingEditor><webMaster>mail@carlosprados.com (Carlos Prados)</webMaster><copyright>© 2026 Carlos Prados</copyright><lastBuildDate>Thu, 20 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://carlos.enredando.me/tags/go/index.xml" rel="self" type="application/rss+xml"/><item><title>The 21× Multiplier: What It Costs to Compute a Delta</title><link>https://carlos.enredando.me/posts/the-21x-multiplier/</link><pubDate>Thu, 20 Aug 2026 00:00:00 +0000</pubDate><author>mail@carlosprados.com (Carlos Prados)</author><guid>https://carlos.enredando.me/posts/the-21x-multiplier/</guid><description>&lt;p&gt;Everyone measures the patch. On the two binaries in this post, a delta replaces a 13.6 MB download with a 250 KB one — and that ratio is the whole pitch. On NB-IoT at 20 kbps it is the difference between an hour and a half and under two minutes.&lt;/p&gt;
&lt;p&gt;Nobody measures what it costs to &lt;em&gt;make&lt;/em&gt; the patch.&lt;/p&gt;
&lt;p&gt;For a 13.6 MB Go binary, &lt;code&gt;bsdiff&lt;/code&gt; peaks at &lt;strong&gt;296 MiB of resident memory&lt;/strong&gt;. Not a leak, not a bug: that is the algorithm&amp;rsquo;s working set, allocated and released for every patch you generate. Twenty-one times the input.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://carlos.enredando.me/posts/the-21x-multiplier/featured.jpg"/></item><item><title>The 2% Delta: Why Your Differential Updates Save Nothing</title><link>https://carlos.enredando.me/posts/the-2-percent-delta/</link><pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate><author>mail@carlosprados.com (Carlos Prados)</author><guid>https://carlos.enredando.me/posts/the-2-percent-delta/</guid><description>&lt;p&gt;Here&amp;rsquo;s the pitch every OTA system makes: don&amp;rsquo;t ship the whole binary, ship the difference. You changed three functions, so send three functions&amp;rsquo; worth of bytes. On a fleet connected over NB-IoT at 20–60 kbps, that is the difference between an update that lands and an update that times out for two hours.&lt;/p&gt;
&lt;p&gt;I wanted that for &lt;a href="https://github.com/carlosprados/keystone" target="_blank" rel="noreferrer"&gt;Keystone&lt;/a&gt;, my edge orchestration agent. So before building anything, I measured it against two real consecutive releases.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://carlos.enredando.me/posts/the-2-percent-delta/featured.jpg"/></item></channel></rss>