frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Blaris – Windowless Random-Access LZSS for Constrained Microcontrollers

https://github.com/lis05/blaris
1•lis05•8m ago
Hello HN!

I'd like to share the project I've been working on for the last couple of months.

On microcontrollers with only a few kilobytes of memory (both Flash and SRAM) heatshrink [1] and tamp [2] are the current meta when it comes to decompression of static assets. They are small, configurable, and produce good compression ratio.

However, when random-access workflows are concerned (like extracting a single parameter from a configuration file), both compressors require the exact same window to be allocated. This means that, to decompress a small (4-32 bytes) chunk, memory consumption stays the same as when decompression the entire payload.

blaris is a Windowless LZSS algorithm, meaning that it is LZSS but does not allocate a window. This allows it to reach the same compression ratio (and sometimes even better) as heatshrink and tamp, while keeping memory usage extremely minimal (around 100 bytes of SRAM).

Typical LZ77/LZSS works by copying a byte from the window buffer when resolving a match. Windowless version works by resolving this match using the compressed payload itself - following the chain of matches until it finds a literal run token.

To facilitate this, tokens are split into 3 streams:

1. controls (1 byte per value) - encode either literal run length (1 to 16) or 240 different pairs (match_len, match_distance_log2).

2. literals (1 byte per value) - raw literals.

3. distance bits (bit-packed) - contains bit-packed match offsets.

Because controls are 1 byte and determine the size of the token, we can traverse all 3 streams in both directions, which enables the windowless LZSS!

There are additional optimizations used to speed this up:

1. checkpoints contain decoder state at each 2^SPREAD_LOG positions, which enables the decoder to jump to the closest checkpoint in constant time.

2. matches' offsets can be forced to align to a power of two, increasing the match range paying the price of unaligned matches.

3. optimal parser on compression side comes up with the best possible representation of the input.

4. chain-flattening can significantly reduce average number of match to match hops while sacrificing just 1-2% of the compression ratio.

When decompressing small slices (4-32 bytes), blaris significantly outperforms both heatshrink and tamp (500x for 1B reads). For bigger slices, since its decompression time depends linearly on the data, blaris performs worse, but it isn't really made for that.

And the best part, it is extremely lightweight in terms of memory. When compiled for RV32IMC architecture, it takes only 548-784 bytes of Flash memory, while using just 104-112B of SRAM regardless of the file size. For comparison, heatshrink is 1300-1464 bytes of Flash and uses 206-16594 bytes of SRAM depending on the window size, and tamp is 2238-3238 bytes of Flash while also using 520-16672 bytes of SRAM.

[1] https://github.com/atomicobject/heatshrink

[2] https://github.com/BrianPugh/tamp

A simple website to test if your bot is detectable

https://botstop.io/
1•incolumitas•1m ago•1 comments

Big Tech's Left Turn

https://www.status.news/p/midterm-elections-big-tech-elon-musk-mark-zuckerberg-jeff-bezos
2•ibn_khaldun•4m ago•0 comments

Lirz Ads

https://www.lirz.com
1•DevElif•6m ago•0 comments

Taboos and Self-Censorship Among U.S. Psychology Professors (2025)

https://journals.sagepub.com/doi/10.1177/17456916241252085
1•mpweiher•7m ago•0 comments

Show HN: Flipbook Foundry – animated stick figures baked into a font

https://flipbook-foundry.pages.dev/
1•arbourtrary•7m ago•0 comments

Show HN: Blaris – Windowless Random-Access LZSS for Constrained Microcontrollers

https://github.com/lis05/blaris
1•lis05•8m ago•0 comments

PinNote – Pin notes to your iPhone Lock Screen

https://apps.apple.com/us/app/pinnote-lock-screen-notes/id6809535973
1•makerjun•10m ago•0 comments

Show HN: Coppice – A local desktop app for multi-agent coding

https://github.com/fertile-org/coppice
1•bahung1221•12m ago•0 comments

Ask HN: Is there a way to use Gemini API Keys with Antigravity?

1•_voidtrace•13m ago•0 comments

Jensen's Been Moving Lately

https://www.reddit.com/r/wallstreetbets/comments/1xw2xyu/how_jensens_been_moving_lately/
2•Betelbuddy•17m ago•0 comments

Show HN: In-browser object removal, 1s on WebGPU, photo never leaves your device

https://wipe.photos/
1•g58892881•17m ago•1 comments

Show HN: Model-share – see which Claude models used your weekly limit

https://github.com/shubhamverma8991/claude-model-share
1•shubhverma8991•19m ago•0 comments

Show HN: Chopper, a tiny edge model that keeps only useful text in 50 ms

https://github.com/wiiiktor/chopper_demo
1•wiiiktor•21m ago•0 comments

Nonna's ragù: AI skill files only get you started

https://andreaazzini.com/notes/nonnas-ragu
1•azzarcher•23m ago•0 comments

Caruana Hits 2800, Within 7.2 Points of Carlsen's World No. 1 Spot

https://www.chess.com/news/view/2026-total-chess-world-championship-tour-pilot-day-4
1•haunter•25m ago•0 comments

The VHDL standard's float package gets sqrt(2) wrong

https://github.com/lmtlssss/speedrunpapi/tree/main/hardware/audit/ieee-float-pkg
4•lmtlssss•28m ago•0 comments

Christophe Pettus: Stop Using AI to Report PostgreSQL Bugs

https://thebuild.com/blog/stop-using-ai-to-report-postgresql-bugs/
2•omegaSigma95•28m ago•1 comments

LLMs as Consensus Machines

https://hollisrobbinsanecdotal.substack.com/p/thinking-inside-the-box
1•HR01•29m ago•0 comments

Polo: A Wayland Mate Compositor

https://lwn.net/Articles/1107152/
5•bashhq_r•30m ago•1 comments

Why Brains Don't Compute: Summing Up (2021)

https://link.springer.com/chapter/10.1007/978-3-030-71064-4_25
2•turtleyacht•30m ago•0 comments

Use LLM for direct robot control

https://arxiv.org/abs/2610.28259
1•kevinlu•32m ago•1 comments

Copper wire upgrade caused nationwide flight suspension

https://www.bbc.co.uk/news/articles/c6wy9lynq4qno
4•mellosouls•34m ago•0 comments

Claude asked to renumber pages deletes professor's syllabus, year of notes

https://www.tomshardware.com/tech-industry/artificial-intelligence/rogue-claude-ai-tasked-with-re...
6•gnabgib•36m ago•8 comments

FAA blames ground stop on equipment issue during telecoms network upgrade

https://www.npr.org/2026/11/14/nx-s1-6040952/faa-ground-stop-airplane-travel
5•cpncrunch•37m ago•2 comments

Show HN: YVD – Generate videos, images, and music in seconds with AI

https://yvd.io/
1•zhoouweiyuan51•38m ago•0 comments

US IRS free online tax filing open source repo

https://github.com/IRS-Public/direct-file
3•accountinhn•38m ago•1 comments

The Japanese region where "eight-testicle women" outdo men

https://www.economist.com/asia/2026/11/12/the-japanese-region-where-eight-testicle-women-outdo-men
3•Bluestein•40m ago•0 comments

Whiteboard – Open-source alternative to Miro

https://whiteboard.puter.com/
3•ent101•40m ago•0 comments

V&A's archive warehouse opens its doors to the public (2025)

https://www.ianvisits.co.uk/articles/vas-vast-archive-warehouse-opens-its-doors-to-the-public-81468/
1•gnabgib•40m ago•0 comments

The Technofeudalist Nightmare of K-12 Curricula

https://www.newyorker.com/culture/progress-report/the-technofeudalist-nightmare-of-k-12-curricula
3•rbanffy•41m ago•0 comments