nowfound

Work · August 27, 2026

go-binsync – Go binary patches up to 67× smaller than bsdiff

This project is a little performance-optimization experiment focused on reducing the size of Go binary patches, which can be useful for quick incremental updates of live services. When a Go program grows by a few bytes through an incremental change, a bunch of related references and offsets throughout the compiled binary end up changing that makes general-purpose binary-diff encoders inefficient: `zstd --patch-from` produces a 530kb patch for a one-line change in a 30MB binary. bsdiff improves upon this (150KB patch) thanks to a delta compression algorithm that can handle relative offsets.…

What it does

Tiny incremental patches for compiled Go binaries, up to 67× smaller than bsdiff. - wjordan/go-binsync

In the maker’s words, at launch

This project is a little performance-optimization experiment focused on reducing the size of Go binary patches, which can be useful for quick incremental updates of live services. When a Go program grows by a few bytes through an incremental change, a bunch of related references and offsets throughout the compiled binary end up changing that makes general-purpose binary-diff encoders inefficient: `zstd --patch-from` produces a 530kb patch for a one-line change in a 30MB binary. bsdiff improves upon this (150KB patch) thanks to a delta compression algorithm that can handle relative offsets. go-binsync goes a step further for Go binaries by borrowing an idea from Courgette, the technique Google uses to ship Chrome updates: read the structure the compiler left behind, predict the expected results from that structure, and send only the correction. Courgette gets that structure by disassembling; go-binsync gets more detailed Go-specific structure from additional metadata embedded in every compiled Go binary. The end result is a 2,262-byte patch for the one-line change, or a 67× improvement over the bsdiff result. (For a less synthetic result, a Prometheus 3.13.1 - 3.13.2 patch is still 28× smaller.) Still just a proof of concept (no CGO, no debug symbols, amd64 only) but I thought others might find the initial results interesting. I think this predictive-encoding approach could be generalized beyond Go binaries to efficient compression in other domains where some kind of specialized predictive structure is available.

Does the same job

all alternatives →

More work this month

the category →
  • Let agents source clips from terabytes of your local video

    Work · 18d ago · clipto.com

  • Free local transcription that is 100% Private

    Work · 17d ago · hynote.ai

  • The app store for voice native apps that lives in your notch

    Work · 28d ago · voiceos.com

  • Ask any question, get a video back instantly

    Work · 24d ago · scrimba.com

  • Handle all of the work before, during, and after meetings

    Work · 17d ago · calendly.com

Launched alongside, August 2026

the whole month →
  • TL

    Life & fun · 10d ago · louisabraham.github.io

  • Hey Noah641

    A proactive AI executive assistant for founders

    AI · Aug 2026 · heynoah.io

  • Let agents source clips from terabytes of your local video

    Work · 18d ago · clipto.com

  • SA

    Hello HN! I found that picking out plausible but diverse skin tones for my digital art and game development projects was kind of difficult, and I got curious about if there was a way to define a color space that made it easy. I've built a color picker and procedural generation algorithm based on the space as well as a bunch of other fun js features and demos throughout the page that use the equations. If you find it interesting, I have lots of explanations of how I built it and what properties the space has. The methodology might be a bit shaky, but hopefully the result is as helpful for…

    Life & fun · Aug 2026 · toneyalexander.github.io

  • AdAnt AI608

    Claude for viral, high-converting social ads

    AI · Aug 2026 · adant.ai

  • I trained a 125M-parameter transformer to autocomplete piano performances in real time (~108 notes/sec on an iPhone 15). The idea is basically GitHub Copilot or Tabnine, except instead of prompting it with code, you prompt it by playing a few notes on a MIDI piano. The model then continues what you played, entirely on-device. The app is free if anyone wants to try it. Happy to answer questions about the model, training, Core ML, or the many things that didn't work.

    AI · 17d ago · simedw.com