nowfound

Dev tools · August 19, 2025

OnPair – String compression with fast random access (Rust, C++)

I’ve been working on a compression algorithm for fast random access to individual strings in large collections. The problem came up when working with large in-memory database columns (emails, URLs, product titles, etc.), where low-latency point queries are essential. With short strings, LZ77-based compressors don’t perform well. Block compression helps, but block size forces a trade-off between ratio and access speed. Some existing options: - BPE: good ratios, but slow and memory-heavy - FSST (discussed here: https://news.ycombinator.com/item?id=41489047): very fast, but…

OnPair – String compression with fast random access (Rust, C++) launched on August 19, 2025 with 6 votes and more than 75% of that year's launches. The site was still online in September 2026, 1 year on.

What it does

OnPair: Short Strings Compression for Fast Random Access - gargiulofrancesco/onpair_rs

Rust implementation of OnPair , a compression algorithm designed for efficient random access on sequences of short strings. OnPair is a field-level compression algorithm designed for workloads requiring fast random access to individual strings in large collections. The compression process consists of two distinct phases: OnPair16 is a variant that limits dictionary entries to a maximum length of 16 bytes. This constraint enables further optimizations in both longest prefix matching and decoding. [ dependencies ] onpair_rs = { git = " https://github.com/gargiulofrancesco/onpair_rs " } Quick Start use onpair_rs :: { OnPair , OnPair16 } ; fn main ( ) { // Your string data let strings = vec ! […from github.com

In the maker’s words, at launch

I’ve been working on a compression algorithm for fast random access to individual strings in large collections. The problem came up when working with large in-memory database columns (emails, URLs, product titles, etc.), where low-latency point queries are essential. With short strings, LZ77-based compressors don’t…

Does a similar job

all alternatives →
  • FastGraphRAG – Better RAG using good old PageRank2024 · github.com · ▲457

    Hey there HN! We’re Antonio, Luca, and Yuhang, and we’re excited to introduce Fast GraphRAG, an open-source RAG approach that leverages knowledge graphs and the 25 years old PageRank for better information retrieval and reasoning. Building a good RAG pipeline these days takes a lot of manual optimizations. Most engineers intuitively start from naive RAG: throw everything in a vector database and hope that semantic search is powerful enough. This can work for use cases where accuracy isn’t too important and hallucinations are tolerable, but it doesn’t work for more difficult queries that…

  • AF
    Apache Fory Rust – 10-20x faster serialization than JSON/ProtobufOct 2025 · fory.apache.org · ▲67

    Serialization framework with some interesting numbers: 10-20x faster on nested objects than json/protobuf. Technical approach: compile-time codegen (no reflection), compact binary protocol with meta-packing, little-endian layout optimized for modern CPUs. Unique features that other fast serializers don't have: - Cross-language without IDL files (Rust ↔ Python/Java/Go) - Trait object serialization (Box) - Automatic circular reference handling - Schema evolution without coordination Happy to discuss design trade-offs. Benchmarks:…

  • TurboQuant for vector search – 2-4 bit compressionMar 2026 · github.com · ▲89

    A vector index built on TurboQuant, written in Rust with Python bindings - RyanCodrai/turbovec

  • OA
    Overfitted a 900KB Transformer to Compress a 100MB CSV into 7MBJun 2026 · ▲112

    I built an experiment that uses an overfitted transformer and arithmetic coding to compress individual files. Instead of training the model to generalize, I train a 900KB transformer to memorize a single file and predict the next byte. Those predictions are fed into an arithmetic coder to produce the compressed output. On a 100MB NYC taxi CSV, it compresses to about 7MB (~0.5 bits/byte). On a 100MB slice of enwik9, it compresses to about 21MB (~1.68 bits/byte). It's pretty slow right now (roughly 20–30 minutes of training and 45 minutes each for compression and decompression on my…

  • Tantivy2022 · github.com · ▲68

    A full-text, horse-speed search engine library in Rust

  • LoopMix128 – Fast C PRNG (.46ns), 2^128 Period, BigCrush/PractRand Pass2025 · github.com · ▲76

    LoopMix128 is a fast C PRNG I wrote for non-cryptographic tasks. GitHub (MIT): https://github.com/danielcota/LoopMix128 Highlights: * ~0.37 ns/value (GCC 11.4, -O3 -march=native), 98% faster than xoroshiro128++ and PCG64. * Passes TestU01 BigCrush & PractRand (32TB). * Guaranteed 2^128 period. * Proven injective (192-bit state) via Z3 SMT solver; allows parallel streams. * Core requires only stdint.h. Seeking feedback on design, use cases, or further testing.

More dev tools this month

the category →
  • /dev/null▲493

    a social network for devs

    Dev tools · 4d ago · dev-null.sh

  • Contribute to oosexgang/hackios-xnu-kernel development by creating an account on GitHub.

    Dev tools · 1d ago · github.com

  • open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.

    Dev tools · 29d ago · github.com

  • Contribute to reladraw/reladraw development by creating an account on GitHub.

    Dev tools · 27d ago · github.com

  • OpenBot▲362

    Grok Bot alternative: free, local, open-source, multiplayer

    Dev tools · 24d ago · openbot.run

  • Talanoa▲346

    Hi 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 · 22d ago · talanoa.email

Source: Show HN post ↗ · launch text quoted in part

Launched alongside, August 2025

the whole month →
  • Trace▲1,555

    Workflow Automations for the Human 👾 AI Workforce

    AI · 2025 · trace.so

  • I built the world's most impractical 1000-pixel display and anyone in the world can draw on it. It draws a single pixel at a time and takes 30-60 minutes to complete a single image. Anyone can participate in the project by voting for the next image to be drawn, and submitting images. https://kilopx.com/

    Work · 2025 · benholmen.com

  • Job boards are dead. Your network is alive

    AI · 2025 · contra.com

  • Kitten TTS is an open-source series of tiny and expressive text-to-speech models for on-device applications. We are excited to launch a preview of our smallest model, which is less than 25 MB. This model has 15M parameters. This release supports English text-to-speech applications in eight voices: four male and four female. The model is quantized to int8 + fp16, and it uses onnx for runtime. The model is designed to run literally anywhere eg. raspberry pi, low-end smartphones, wearables, browsers etc. No GPU required! We're releasing this to give early users a sense of the latency and voices…

    AI · 2025 · github.com

  • I was wondering how I can arrange objects along a spherical helix path, and read some articles on it. I ended up learning about parametric equations again, and make this visualization to document what I learned: https://visualrambling.space/moving-objects-in-3d/ feel free to visit and let me know what you think!

    Life & fun · 2025 · visualrambling.space

  • For HTML Day 2025 [1], I made a web service that displays the current sky at your approximate location as a CSS gradient. Colours are simulated on-demand using atmospheric absorption and scattering coefficients. Updates every minute, without the use of client-side JavaScript. Source code and additional information is available on GitHub: https://github.com/dnlzro/horizon [1] https://html.energy/html-day/2025/index.html

    Dev tools · 2025 · sky.dlazaro.ca