Top all-time · #3034
The Coding Nest
Personal blog · codingnest.comprogramming
The Coding Nest is a personal blog at codingnest.com about programming. Since 2018, 25 different Hacker News readers have linked it 32 times, most often “Modern SAT solvers: fast, neat and underused”. The last post was in 2024, but the archive is still widely read.
Too few sampled comments (7) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for its series on modern SAT solvers, which argues that generic solvers can get most of the way to a solution with little effort. It is also cited for a CMake tutorial.
Summarised by Claude from a sample of 7 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
The stash of knowledge magpies.
Most-linked posts?
- Modern SAT solvers: fast, neat and underused8 people · 8 mentions · first linked 2018-08-03
- Generating random numbers using C++ standard library: the problems4 people · 4 mentions · first linked 2020-05-18
- Where did <random> go wrong? [pdf]3 people · 3 mentions · first linked 2025-06-03
- The Missing Performance in std:vector2 people · 2 mentions · first linked 2023-08-27
- Modern SAT solvers: fast, neat and underused2 people · 2 mentions · first linked 2019-04-17
- The Little Things: My?radical? opinions about unit tests2 people · 2 mentions · first linked 2022-09-11
What Hacker News says?
hmm I wonder if the article about SAT solvers defines them? https://codingnest.com/modern-sat-solvers-fast-neat-underuse...
Comment linking /modern-sat-solvers-fast-neat-underused-part-1-of-n/
on “Modern SAT solvers: fast, neat and underused”Submitted Modern SAT solvers: fast, neat and underused as a story · 465 points
HN discussionThe article series Modern SAT Solvers: Fast, Neat, and Underused [1] argues that we don't use generic problem solvers enough in our daily engineering work. A generic solution won't beat a hand-optimised specific solution, but if you're good at phrasing your problem in the right way, you can get 80 % of the way there with 20 % of the effort by using a generic solver. Z3, being an even more generic SMT solver rather t…
Comment linking /modern-sat-solvers-fast-neat-underused-part-1-of-n/
on “Z3 Tutorial”Submitted Modern SAT solvers: fast, neat and underused as a story · 368 points
HN discussionThe author does discuss this in a footnote: https://codingnest.com/basic-cmake/#fn4 In this case, I think I agree. Otherwise ya, try to avoid set. Except for CACHE variables, I think.
Comment linking /basic-cmake/
on “Modern CMake short tutorial and best practice”Submitted Modern SAT solvers: fast, neat and underused as a story · 237 points
HN discussionA closely related technique to SAT solvers is the "Constraint Satisfaction Problem" which I've been looking into recently. Constraint Programming and SAT are BOTH NP-complete problems, and as such, they are mathematically equivalent. However, its sometimes more "obvious" to write problems in one form vs the other. For example, Sudoku is simply written 27 constraints: * All Different (X11, X12, X13, X14, X15, X16, X1…
Comment linking /modern-sat-solvers-fast-neat-underused-part-1-of-n/
on “Modern SAT solvers: fast, neat and underused – part 2”Submitted Modern CMake short tutorial and best practice as a story · 170 points
HN discussionThat's not really an option for me when I debug C++ that is run on a Linux or Android TV. It also wouldn't be an option when I used to work with C++ that was used on Linux servers. That's a big chunk of C++ use. While I have your attention, I see your comments here in C++ threads quite often. You seem to like the language and at the same time you have some experience with simpler languages like Oberon. My experience…
Comment linking /generating-random-numbers-using-c-standard-library-the-problems/
on “Goals and Priorities for C++”Submitted Modern SAT solvers: fast, neat and underused – part 2 as a story · 154 points
HN discussionI'm surprised not to see any mention of satisfiability here. There are a few papers I've seen about it, but this blog post seems to give a reasonable overview: https://codingnest.com/modern-sat-solvers-fast-neat-underuse... Then you just need to start counting models, which is the #SAT (sharp SAT) problem: https://en.wikipedia.org/wiki/Sharp-SAT Using software such as: https://github.com/marcthurley/sharpSAT
Comment linking /modern-sat-solvers-fast-neat-underused-part-1-of-n/
on “Will We Ever Run Out of Sudoku Puzzles?”Submitted The Little Things: Speeding up C++ compilation as a story · 133 points
HN discussionI'm not familiar with that game, but depending on what the goal is, I think you have three options: - if you want to check that a complex system of rules has a solution, then you can translate that into a SAT problem and run a SAT solver ( https://codingnest.com/modern-sat-solvers-fast-neat-underuse... ) - if the problem is small enough, you could run an exhaustive search of options - in that case it really doesn't…
Comment linking /modern-sat-solvers-fast-neat-underused-part-1-of-n/
on “Solving a simple puzzle using SymPy”Submitted Generating random numbers using C++ standard library: the problems as a story · 96 points
HN discussionSubmitted Modern SAT solvers: fast, neat and underused (2018) as a story · 12 points
HN discussionSubmitted The Little Things: Comparing Floating Point Numbers as a story · 10 points
HN discussionSubmitted Where did <random> go wrong? [pdf] as a story · 6 points
HN discussionSubmitted What went wrong with <random>? [pdf] as a story · 3 points
HN discussionSubmitted Generating random numbers using C++ standard library: the solutions as a story · 3 points
HN discussionSubmitted Where did C++ <random> go wrong? [pdf] as a story · 2 points
HN discussionSubmitted The Missing Performance in std:vector as a story · 2 points
HN discussionSubmitted The Little Things: My?radical? opinions about unit tests as a story · 2 points
HN discussionSubmitted Generating random numbers using C++ standard library: the problems as a story · 1 points
HN discussionSubmitted The Little Things: The Missing Performance in Std:Vector as a story · 1 points
HN discussionSubmitted The Little Things: Why you should always have benchmarks ready as a story · 1 points
HN discussionSubmitted The Little Things: My?radical? opinions about unit tests as a story · 1 points
HN discussionSubmitted Generating Random Numbers Using The C++ Standard Library: The Problems (2020) as a story · 1 points
HN discussionSubmitted The Little Things: Everyday Efficiencies in C++ as a story · 1 points
HN discussionSubmitted Modern SAT solvers: fast, neat and underused (part 1 of N) as a story · 1 points
HN discussionSubmitted Modern SAT solvers: fast, neat and underused – part 3: CDCL as a story · 1 points
HN discussion