Top all-time · #4905
Backtrace Engineering
Company blog · engineering.backtrace.ioprogrammingsystems
Backtrace Engineering is the company blog at engineering.backtrace.io, writing about programming and systems. Since 2019, 16 different Hacker News readers have linked it 29 times, most often “UMASH: A fast and universal enough hash function”. The last post was in 2021, but the archive is still widely read.
Too few sampled comments (10) to say how often HN recommends it.?
Why HN links it
HN readers link this engineering blog for systems posts on hashing (UMash), SQLite-per-user storage on S3 (Verneuil), property-based testing, feature flags and logging. Most comments cite posts as sources.
Summarised by Claude from a sample of 10 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- UMASH: A fast and universal enough hash function7 people · 8 mentions · first linked 2020-08-24
- Verneuil: S3-backed asynchronous replication for SQLite4 people · 5 mentions · first linked 2021-12-03
- How hard is it to guide test case generators with branch coverage feedback?3 people · 3 mentions · first linked 2020-03-12
- Fast Feature Flags2 people · 3 mentions · first linked 2021-12-21
- Stuff Your Logs2 people · 2 mentions · first linked 2021-01-25
- Slitter: A slab allocator that trusts, but verifies2 people · 2 mentions · first linked 2021-08-04
- Our Workflows with Address Sanitizer and Valgrind2 people · 2 mentions · first linked 2019-06-11
What Hacker News says?
XXH3 has issues too. There are certain inputs, independent of the seed, on which it collides much more often than it should. On the other hand a hash like UMash guarantees low collisions on any input: https://engineering.backtrace.io/2020-08-24-umash-fast-enoug...
Comment linking /2020-08-24-umash-fast-enough-almost-universal-fingerprinting/
on “Meow Hash (2018)”Submitted Slitter: A slab allocator that trusts, but verifies as a story · 108 points
HN discussionLocation: Seattle Remote: Yes Willing to relocate: No Technologies: Rust, C/C++, Python, SQL, Kubernetes, many others Résumé/CV: https://ahicks.io/files/resume.pdf Email: ahicks@ahicks.io My first resume-worthy project was working with Mozilla on the Rust compiler for 6 months [0], implementing the ability to reorder fields in structs to eliminate padding. My work here was primarily a cleanup project which also unbl…
Comment linking /2021-12-02-verneuil-s3-backed-asynchronous-replication-for-sqlite/
on “Ask HN: Who wants to be hired? (October 2024)”Submitted Fast Feature Flags as a story · 43 points
HN discussion> I think you're confusing proving that the hash function is collision resistant with the other goal which is hashing speed. If you really need a collision resistant hash you need to use a cryptographic hash function. I wish this misconception would die. There is a great theory of algorithmic probabilistic hash functions, completely distinct from cryptographic hash functions. If you are designing a hash table, or a…
Comment linking /2020-08-24-umash-fast-enough-almost-universal-fingerprinting/
on “Deepmind Alphadev: Faster sorting algorithms discovered using deep RL”Submitted Verneuil: S3-backed asynchronous replication for SQLite as a story · 14 points
HN discussionLocation: Seattle Remote: Yes Willing to relocate: No Technologies: Rust, C/C++, Python, SQL, Kubernetes, many others Résumé/CV: https://ahicks.io/files/resume.pdf Email: ahicks@ahicks.io My first resume-worthy project was working with Mozilla on the Rust compiler for 6 months [0], implementing the ability to reorder fields in structs to eliminate padding. My work here was primarily a cleanup project which also unbl…
Comment linking /2021-12-02-verneuil-s3-backed-asynchronous-replication-for-sqlite/
on “Ask HN: Who wants to be hired? (November 2024)”Submitted UMASH: A fast and universal enough hash function as a story · 9 points
HN discussionI've wanted to use "SQLite db per user" for awhile now but haven't had the right problem domain for it yet. https://engineering.backtrace.io/2021-12-02-verneuil-s3-back... looks really interesting.
Comment linking /2021-12-02-verneuil-s3-backed-asynchronous-replication-for-sqlite/
on “Amazon Elastic File System Update – Sub-Millisecond Read Latency”Submitted Verneuil: S3-backed asynchronous replication for SQLite as a story · 7 points
HN discussionWe've had a lot of success combining that approach (cffi instead of ctypes) with property-based testing ( https://github.com/HypothesisWorks/hypothesis ) for the query engine at backtrace: https://engineering.backtrace.io/2020-03-11-how-hard-is-it-t... .
Comment linking /2020-03-11-how-hard-is-it-to-guide-test-case-generators-with-branch-coverage-feedback/
on “Running C unit tests with Pytest”Submitted Stuff Your Logs as a story · 4 points
HN discussionAlso up on https://engineering.backtrace.io/2021-01-11-stuff-your-logs/
Comment linking /2021-01-11-stuff-your-logs/
on “Stuff Your Logs”Submitted Umash: A fast and universal enough hash as a story · 4 points
HN discussionSurprisingly backtrace apparently uses self-modifying code in production for feature flags: https://engineering.backtrace.io/2021-12-19-bounded-dynamici... This is basically to make it zero cost (as far as I remember) Google uses a similar system of feature flags, but as far as I know there's no self-modifying code. I guess Backtrace wants to put the flags in tight inner loops. dtrace and I believe systemtap patch t…
Comment linking /2021-12-19-bounded-dynamicism-with-cross-modifying-code/
on “On self-modifying executables in Rust”Submitted Umash: A fast and universal enough hash as a story · 4 points
HN discussionNote that you said “likely” and not “equally likely”. Therein lies your answer. There are applications where hashes are used as identifiers, where it would be impossible to use the original data to resolve possible collisions. One example would be in RTTI (Run Time Type Information), when you want to check if two objects (of unknown-at-compile-time type) are instances of the same type. The only performant way to ach…
Comment linking /2020-08-24-umash-fast-enough-almost-universal-fingerprinting/
on “Show HN: Rain hashes – well designed, simple and fast variable sized hashes”Submitted Our Workflows with Address Sanitizer and Valgrind as a story · 4 points
HN discussionThis is one of the other three secret blends that I think could bring memory safety to C++! I wrote a bit about using type-after-type as the basis for an entire language (Arrrlang, with a parrot mascot) in my last article [0] and a little bit in a post about memory safety for unsafe languages [1] which we eventually talked about at Handmade Seattle. The downside is the extra memory usage, but I think we can combine…
Comment linking /2021-08-04-slitter-a-slab-allocator-that-trusts-but-verifies/
on “Making C++ Safe Without Borrow Checking, Reference Counting, or Tracing GC”Submitted Umash: A fast and universal enough hash as a story · 3 points
HN discussionSubmitted How hard is it to guide test case generators with branch coverage feedback? as a story · 3 points
HN discussionSubmitted Test case generation for native applications from Python with branch coverage as a story · 2 points
HN discussionSubmitted A Workflow for Memory Error Checking as a story · 2 points
HN discussionSubmitted Bounded dynamicism with cross-modifying code as a story · 1 points
HN discussionSubmitted Umash: A fast and universal enough hash as a story · 1 points
HN discussionSubmitted Triplefault: Djordje Todorovic on LLVM and debug information as a story · 1 points
HN discussionSubmitted How hard is it to guide test case generators with branch coverage feedback? as a story · 1 points
HN discussion