From Regex to Automata to Generators
How regular expressions compile to deterministic finite automata — with an interactive visualizer, a DFA-powered string generator, and a note on closing the loop with property-based testing.
Tag
7 posts tagged with this.
How regular expressions compile to deterministic finite automata — with an interactive visualizer, a DFA-powered string generator, and a note on closing the loop with property-based testing.
A deep dive into how fuzzy search works — from edit distance and tries to stemming, BK-trees, and how Lucene/Elasticsearch find typo-tolerant matches at scale.
A deep dive into perfect hash functions — what they are, why they matter, how to find one efficiently with parallel search, and how they compare to JavaScript's built-in Map.
The three forms of binary search you need to know: exact match, leftmost insertion point, and rightmost insertion point.
A pipe-rotation puzzle game inspired by graph theory. Connect all sources to all sinks by rotating pipe segments. Puzzles are procedurally generated using an algorithm similar to maze generation.
How Buckaroo's dependency resolver borrows ideas from SAT solvers — using conflict-driven clause learning to prune the search space and resolve C++ packages blazingly fast.
A decentralised package manager for Buck and Bazel projects, written in F# and winner of the 2019 F# open-source challenge, that resolves dependencies directly from source control using conflict-driven clause learning.
All tags