DEV Community

SEN LLC profile picture

SEN LLC

I build small, focused tools and ship them open-source. Based in Japan 🇯🇵 with SEN LLC, working through a 100+ portfolio at sen.ltd/portfolio. Posts about TypeScript, AWS, and bugs that taught me so

Location Tokyo, Japan Joined Joined on  Personal website https://sen.ltd

Work

Engineer at SEN LLC

Statue Park: the no-touching rule isn't a rule, and the circle that names nothing costs 60% more

Statue Park: the no-touching rule isn't a rule, and the circle that names nothing costs 60% more

1
Comments
8 min read

Want to connect with SEN LLC?

Create an account to connect with SEN LLC. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Country Road: contract the countries and it is a Hamiltonian cycle — and that is the easy half

Country Road: contract the countries and it is a Hamiltonian cycle — and that is the easy half

1
Comments
7 min read
Creek: a puzzle with a closed form, and why the numbers on the edge of the paper are the ones to erase

Creek: a puzzle with a closed form, and why the numbers on the edge of the paper are the ones to erase

1
Comments
8 min read
Numbrix: one number colours the whole board, and the ruler rung that provably pays nothing

Numbrix: one number colours the whole board, and the ruler rung that provably pays nothing

1
Comments
9 min read
Kojun: the clue you draw before you write a digit, and two walls where boards stop existing

Kojun: the clue you draw before you write a digit, and two walls where boards stop existing

1
Comments
6 min read
Magnets: a clue that can't see half the board, and a generator that cannot dead-end

Magnets: a clue that can't see half the board, and a generator that cannot dead-end

1
Comments
6 min read
Doppelblock: a clue that doesn't say which cells it's about, and four rules that never change the answer

Doppelblock: a clue that doesn't say which cells it's about, and four rules that never change the answer

1
Comments
9 min read
Nanro: the digit you never choose, and a clue that is two facts - each worthless without the other

Nanro: the digit you never choose, and a clue that is two facts - each worthless without the other

1
Comments
7 min read
Kropki: every constraint lives inside a line - an exact per-line solver, and the silence between the dots carries the game

Kropki: every constraint lives inside a line - an exact per-line solver, and the silence between the dots carries the game

Comments
5 min read
Tilepaint: a nonogram whose lines share variables - one subset-sum law at three strengths, and ambiguity a probe can't see

Tilepaint: a nonogram whose lines share variables - one subset-sum law at three strengths, and ambiguity a probe can't see

Comments
5 min read
Chocona: every clump is a rectangle - a global law, its local 2x2 double, and engines that machine-check the equivalence

Chocona: every clump is a rectangle - a global law, its local 2x2 double, and engines that machine-check the equivalence

Comments
7 min read
Aqre: the clue budget is the partition — and the solver ladder is hollow in the middle

Aqre: the clue budget is the partition — and the solver ladder is hollow in the middle

Comments
7 min read
Nurimisaki: clue positions the setter never chooses — and half the information lives in the blank cells

Nurimisaki: clue positions the setter never chooses — and half the information lives in the blank cells

Comments
6 min read
Kurotto: the puzzle with no global rule — and the first crack in the probe-equals-uniqueness law

Kurotto: the puzzle with no global rule — and the first crack in the probe-equals-uniqueness law

Comments
6 min read
Cave: every answer is a hole-free polyomino — counted as lattice cycles, generated with a 3 3 stamp

Cave: every answer is a hole-free polyomino — counted as lattice cycles, generated with a 3 3 stamp

Comments
6 min read
Yin-Yang: two global rules force one unbroken curve — every solved board is literally a yin-yang symbol

Yin-Yang: two global rules force one unbroken curve — every solved board is literally a yin-yang symbol

Comments
6 min read
Gokigen Naname (Slant): the no-loop rule is a counting theorem — every board is a forest with exactly 2n+1 trees

Gokigen Naname (Slant): the no-loop rule is a counting theorem — every board is a forest with exactly 2n+1 trees

Comments
5 min read
Tentai Show: one mirror map is the whole puzzle, and every deduction happens twice or not at all

Tentai Show: one mirror map is the whole puzzle, and every deduction happens twice or not at all

Comments
6 min read
Shakashaka: the rule is about whole regions, and it is exactly a rule about one lattice point

Shakashaka: the rule is about whole regions, and it is exactly a rule about one lattice point

Comments
11 min read
Tatamibari: three of the four rules are an exact-cover matrix, and the fourth is the one that matters

Tatamibari: three of the four rules are an exact-cover matrix, and the fourth is the one that matters

Comments
10 min read
Ripple Effect: the rule that matters most never shows up in the difficulty rating

Ripple Effect: the rule that matters most never shows up in the difficulty rating

Comments
9 min read
Solving Kurodoko: whether a rule looks useless depends on where you measure it

Solving Kurodoko: whether a rule looks useless depends on where you measure it

Comments
6 min read
Solving Yajilin: clues can pin the shading, but they can never steer the loop

Solving Yajilin: clues can pin the shading, but they can never steer the loop

Comments
8 min read
Solving Fillomino: the third rule isn't a rule — it's why the puzzle can be printed with no borders

Solving Fillomino: the third rule isn't a rule — it's why the puzzle can be printed with no borders

Comments
7 min read
Solving LITS: the puzzle whose name is a theorem, and uniqueness means killing tetromino slides

Solving LITS: the puzzle whose name is a theorem, and uniqueness means killing tetromino slides

Comments
7 min read
Solving Norinori: the puzzle with nothing written on it

Solving Norinori: the puzzle with nothing written on it

Comments
7 min read
Solving Heyawake: compiling the one rule that crosses rooms into clauses

Solving Heyawake: compiling the one rule that crosses rooms into clauses

Comments
7 min read
Solving Tapa: when the clue is a pattern, not a number, enumeration stops collapsing

Solving Tapa: when the clue is a pattern, not a number, enumeration stops collapsing

Comments
6 min read
Solving Thermometers: the enumeration rule that won Kakurasu provably collapses into interval arithmetic

Solving Thermometers: the enumeration rule that won Kakurasu provably collapses into interval arithmetic

Comments
4 min read
Solving Suguru: Sudoku with no rows, where a block's witnesses fire outward

Solving Suguru: Sudoku with no rows, where a block's witnesses fire outward

Comments
6 min read
Solving Kakurasu: every line is a subset sum, and the size dial is the difficulty dial

Solving Kakurasu: every line is a subset sum, and the size dial is the difficulty dial

Comments
6 min read
Solving Dominosa: the puzzle where nothing is hidden, and the rule I measured into irrelevance

Solving Dominosa: the puzzle where nothing is hidden, and the rule I measured into irrelevance

Comments
8 min read
Solving Binairo with a line dictionary: every human trick is one projection

Solving Binairo with a line dictionary: every human trick is one projection

Comments
3 min read
Solving Aquarium with subset-sum DP: gravity turns every tank into a chain

Solving Aquarium with subset-sum DP: gravity turns every tank into a chain

Comments
5 min read
Solving Tents and Trees with bipartite matching: Hall's theorem as a puzzle move

Solving Tents and Trees with bipartite matching: Hall's theorem as a puzzle move

Comments
4 min read
Solving Skyscrapers by projecting permutations: a line has n! futures, not n^n

Solving Skyscrapers by projecting permutations: a line has n! futures, not n^n

Comments
4 min read
Solving Futoshiki with bounds propagation: one-edge rules, chain-length conclusions

Solving Futoshiki with bounds propagation: one-edge rules, chain-length conclusions

Comments
4 min read
Solving Hitori with constraint propagation: the puzzle where propagation can't even start

Solving Hitori with constraint propagation: the puzzle where propagation can't even start

Comments
5 min read
Solving Shikaku with constraint propagation: when the unknown is a rectangle, not a cell

Solving Shikaku with constraint propagation: when the unknown is a rectangle, not a cell

Comments
5 min read
Solving Nurikabe with constraint propagation: three-valued cells, a reachability flood, and a uniqueness proof

Solving Nurikabe with constraint propagation: three-valued cells, a reachability flood, and a uniqueness proof

1
Comments
4 min read
Solving Masyu with constraint propagation: an edge model, local patterns, a closure guard, and a uniqueness proof

Solving Masyu with constraint propagation: an edge model, local patterns, a closure guard, and a uniqueness proof

Comments
4 min read
Solving Star Battle with Constraint Propagation and a Uniqueness Proof

Solving Star Battle with Constraint Propagation and a Uniqueness Proof

Comments
5 min read
Solving Hashiwokakero (Bridges) with Constraint Propagation and a Connectivity Check

Solving Hashiwokakero (Bridges) with Constraint Propagation and a Connectivity Check

Comments
6 min read
Solving Kakuro (Cross Sums) with Constraint Propagation — Sum-Combination Domains, Fewest-Candidate Search, and Puzzles Proven Unique

Solving Kakuro (Cross Sums) with Constraint Propagation — Sum-Combination Domains, Fewest-Candidate Search, and Puzzles Proven Unique

Comments
3 min read
Solving Akari (Light Up) with Constraint Propagation — Fixpoint Wall/Sight/Illumination Rules, Darkest-Cell Search, and Puzzles Proven Unique

Solving Akari (Light Up) with Constraint Propagation — Fixpoint Wall/Sight/Illumination Rules, Darkest-Cell Search, and Puzzles Proven Unique

Comments
3 min read
Solving Slitherlink with Constraint Propagation — Fixpoint Clue/Vertex Rules, Closed-Loop Pruning, and Puzzles Proven Unique

Solving Slitherlink with Constraint Propagation — Fixpoint Clue/Vertex Rules, Closed-Loop Pruning, and Puzzles Proven Unique

Comments
3 min read
Solving Nonograms with Constraint Propagation — Memoized Placement Intersection, Fixpoint Sweeps, and No-Guessing Puzzles by Construction

Solving Nonograms with Constraint Propagation — Memoized Placement Intersection, Fixpoint Sweeps, and No-Guessing Puzzles by Construction

Comments
2 min read
Solving Sokoban Backward — Provable Dead Squares via Pull-BFS, and a Push-Optimal BFS Solver

Solving Sokoban Backward — Provable Dead Squares via Pull-BFS, and a Push-Optimal BFS Solver

Comments
3 min read
Solving the 15-Puzzle with Permutation Parity and IDA* — Proving Sam Loyd's 14-15 Swap Impossible Without Search

Solving the 15-Puzzle with Permutation Parity and IDA* — Proving Sam Loyd's 14-15 Swap Impossible Without Search

Comments
3 min read
Solving Lights Out with GF(2) Linear Algebra — the Whole Puzzle Is One Matrix Equation, plus the 5 5 Quiet Patterns and the Solvability Rate

Solving Lights Out with GF(2) Linear Algebra — the Whole Puzzle Is One Matrix Equation, plus the 5 5 Quiet Patterns and the Solvability Rate

Comments
3 min read
Building a Boids Flocking Simulation in TypeScript — a Murmuration from Three Local Rules, with a Pure, Testable Engine

Building a Boids Flocking Simulation in TypeScript — a Murmuration from Three Local Rules, with a Pure, Testable Engine

Comments
3 min read
Building an Infinite-Sequence CLI in Haskell — Laziness and Lists That Refer to Themselves, plus a Prime Sieve and Hamming Numbers

Building an Infinite-Sequence CLI in Haskell — Laziness and Lists That Refer to Themselves, plus a Prime Sieve and Hamming Numbers

Comments
3 min read
Building a Leftist Heap CLI in OCaml — It's All merge, a Persistent (Immutable) Priority Queue, and an O(log n) Right Spine

Building a Leftist Heap CLI in OCaml — It's All merge, a Persistent (Immutable) Priority Queue, and an O(log n) Right Spine

Comments
3 min read
Building a Fenwick Tree (BIT) CLI in Zig — It All Hangs on i & -i: O(log n) Prefix Sums, Point Updates, and Binary-Lifted Select

Building a Fenwick Tree (BIT) CLI in Zig — It All Hangs on i & -i: O(log n) Prefix Sums, Point Updates, and Binary-Lifted Select

Comments
3 min read
Building an Aho–Corasick CLI in Go — Match a Whole Dictionary in One Pass, Failure Links as Generalized KMP, and Every Overlapping Match

Building an Aho–Corasick CLI in Go — Match a Whole Dictionary in One Pass, Failure Links as Generalized KMP, and Every Overlapping Match

Comments
3 min read
Building a Cuckoo Filter CLI in Rust — the Deletion a Bloom Filter Can't Do, Partial-Key Cuckoo Hashing, and a High Load Factor via Relocation

Building a Cuckoo Filter CLI in Rust — the Deletion a Bloom Filter Can't Do, Partial-Key Cuckoo Hashing, and a High Load Factor via Relocation

Comments
3 min read
Building a t-digest CLI in Go — Stream p50/p99/p99.9 in a Few KB, a Scale Function That Keeps Tails Sharp, Exact min/max, and Mergeable Digests

Building a t-digest CLI in Go — Stream p50/p99/p99.9 in a Few KB, a Scale Function That Keeps Tails Sharp, Exact min/max, and Mergeable Digests

Comments
3 min read
Building a Count-Min Sketch CLI in Rust — Sizing from a Target Error, d Counters from Two Hashes, No Underestimates, and Mergeable Sketches

Building a Count-Min Sketch CLI in Rust — Sizing from a Target Error, d Counters from Two Hashes, No Underestimates, and Mergeable Sketches

Comments
4 min read
Building a HyperLogLog CLI in Go — One Billion Distinct in 16 KB, a Harmonic Mean, a Hash Finalizer, and Mergeable Sketches

Building a HyperLogLog CLI in Go — One Billion Distinct in 16 KB, a Harmonic Mean, a Hash Finalizer, and Mergeable Sketches

Comments
4 min read
Building a Bloom Filter CLI in Rust — Sizing from a Target FP Rate, k Hashes from Two, and Guaranteed No False Negatives

Building a Bloom Filter CLI in Rust — Sizing from a Target FP Rate, k Hashes from Two, and Guaranteed No False Negatives

Comments
4 min read
loading...