SIMD Viterbi Decoder in Rust
I wrote libcorrect in C in 2016 and wanted to revisit it in Rust. Instead of doing just a direct conversion, I went down the rabbit hole of making Rust's std::simd work for me. I ended up with a templated, generic Viterbi decoder for convolutional codes that dispatches the decode at runtime depending on which instruction sets are available. For small rates and orders, the entire decode lives in registers. Larger codes work through memory but take advantage of some acceleration structures. I also spent some time building a tool to find optimal (max d_free) conv codes for a given rate and…
SIMD Viterbi Decoder in Rust launched on August 4, 2026 with 64 votes, #586 of 23,274 launches that month and more than 95% of that year's launches.
In plain words
SIMD Viterbi Decoder in Rust is a convolutional code decoder written in Rust that uses SIMD instructions to accelerate error correction. It features a templated, generic decoder that automatically dispatches to available instruction sets at runtime, keeping small codes entirely in registers while using optimized memory structures for larger ones. The project also includes a tool for finding optimal convolutional codes by maximum free distance for specified rates and orders.
written from the facts on this page · September 2026
From the sources
Rust crate for Forward Error Correction. Contribute to brian-armstrong/fec development by creating an account on GitHub.
Forward error correction for SDR, space, and satellite applications. fec started as and draws heavy inspiration from the author's own libcorrect , a C library for forward error correction. This crate also credits Phil Karn's libfec C library for offering an original implementation of these codes, although this crate does not borrow any source or have any relationship with that library, and the name is purely coincidental. Standard parameters (primitive polynomials, the CCSDS dual-basis transform) are derived from the published CCSDS standard ( CCSDS 131.0-B , Annex D for the dual basis). With the simd feature, fec decodes faster than libfec on every code. Measured through libfec's own test…from github.com
In the maker’s words, at launch
I wrote libcorrect in C in 2016 and wanted to revisit it in Rust. Instead of doing just a direct conversion, I went down the rabbit hole of making Rust's std::simd work for me. I ended up with a templated, generic Viterbi decoder for convolutional codes that dispatches the decode at runtime depending on which…
Does a similar job
all alternatives →
A SIMD-accelerated noise library in Rust2018 · github.com · ▲73SIMD noise library for Rust. Contribute to verpeteren/rust-simd-noise development by creating an account on GitHub.
High-speed UTF-8 validation in Rust2021 · github.com · ▲127SIMD-accelerated UTF-8 validation for Rust. Contribute to rusticstuff/simdutf8 development by creating an account on GitHub.

Using SIMD to decode and encode gigabytes of varints per second in Rust2021 · github.com · ▲6Decoding and encoding gigabytes of LEB128 variable-length integers per second in Rust with SIMD - as-com/varint-simd
Rust Vector and Quaternion Lib2025 · github.com · ▲128I use this library I made for Vectors and Quaternions in many personal projects. I've open-sourced it, in case anyone else would get use out of it. I use this on various projects, including quadcopter firmware, a graphics engine, a cosmology simulation, and several molecular dynamics applications. No_std compatible.
I'm making a dynamic language in Rust2022 · github.com · ▲184An implementation of a dynamic programming language in Rust. Includes: Parser/Compiler, REPL, Virtual Machine, Bytecode Disassembler This started out as a learning project to teach myself Rust. It has grown into a decently substantial piece of software and I've learned quite a bit in the process! Some neat things: + A garbage collector that can store dynamically sized types without any double-indirection (i.e. I have my own Box implementation with manual alloc/dealloc) + The smart pointer used to reference GCed data is a thin pointer. The ptr metadata needed for DSTs is stored in…
More dev tools this month
the category →

open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.
Dev tools · 27d ago · github.com

Contribute to reladraw/reladraw development by creating an account on GitHub.
Dev tools · 25d ago · github.com
OpenBot▲362Grok Bot alternative: free, local, open-source, multiplayer
Dev tools · 22d ago · openbot.run
Talanoa▲340Hi HN, I’m a fullstack developer, and honestly, I’ve lost count of how many side projects I’ve worked on over the years. But one idea kept coming back to me: a different kind of email client. It first came to me in 2014: “What if we could handle emails more like conversations?” Every year, I’d revisit this concept in my “Build Notes.” Ten years later, no one had built exactly what I had in mind — so I finally decided to do it myself. That’s how Talanoa was born. I wanted something focused on people, not timelines. I was tired of marking messages as unread just to remember to reply later, or…
Dev tools · 20d ago · talanoa.email
CoreSpeed▲332One MCP for everything your agents need: apps, memory, tools
Dev tools · 27d ago · corespeed.io
Source: Show HN post ↗ · launch text quoted in part
Launched alongside, August 2026
the whole month →- TL
Life & fun · Aug 2026 · louisabraham.github.io

Clipto MCP▲655Hey HN, We recently built Clipto. It’s a tool that lets you search over terabytes of video, audio, and images on your computer, without relying on the cloud. Motivation: we probably all had this similar experience, we know a moment exists in a video or audio, but finding it takes hours scrubbing the timeline. You can send all the media to process in the cloud, but it’s slow, expensive and raises privacy concerns. So we decided to build our own on-device media search engine. How it works (high level): 1. We ingest video, audio, image; normalize formats via ffmpeg; run content analysis to…
Work · Aug 2026 · clipto.com

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

Astute▲606Automate your B2B brand going viral, with new media creators
AI · Aug 2026 · company-app.joinastute.com