Modern SAT solvers: fast, neat and underused (part 2 of N)

The previous post in this series was a quick introduction to the world of SAT and SAT solvers. In this post, we will convert a harder real-world problem, namely _master-key system_, into SAT and explore some of the more advanced techniques used to efficiently convert problems to SAT. »

Modern SAT solvers: fast, neat and underused (part 1 of N)

Before I started doing research, I saw SAT solvers as academically interesting but without practical uses ouside of other academic applications. I've since then changed my mind, and I want to change yours, because modern SAT solvers are neat, fast and almost criminally underused by the industry. »

How to file a good bug report

After having to deal with low-quality bug reports in our issue tracker, I've decided to write down some rules for writing a good bug report, and why the quality of bug reports is important for the person opening them as well as for the maintainer. »

Basic CMake, part 2: libraries

My previous post about CMake provided a simple CMakeLists.txt for a small, self-contained, project. In practice, very few project are fully self-contained, as they either depend on external libraries, or are themselves libraries that other projects depend on. »

Basic CMake usage

The end of semester is here and, as I grade our students semestral works, I get to use CMakeLists of dubious quality. After seeing the same errors repeat over and over again, I decided to write a short tutorial towards writing simple CMakeLists. »