Author:Jason Rosenhouse & Laura Taalman Publisher: Oxford University Press USA Pages: 366 ISBN: 9780199756568 Aimed at: Puzzle fans and math enthusiasts Rating: 4.5 Pros: Deep, interesting insights into math and combinatorics Cons: Not for those who just want help in solving Sudokus Reviewed by: Mike James
What can a book about taking Sudoku seriously tell you about this most popular pastime?
Author:Jason Rosenhouse and Laura Taalman Publisher: Oxford University Press USA Pages: 366 ISBN: 9780199756568 Aimed at: Puzzle fans and math enthusiasts Rating: 4.5 Pros: Deep and interesting insights into math and combinatorics Cons: Not for those who just want help in solving Sudokus Reviewed by: Mike James
Sudoku  what programmer hasn't at least thought about writing a program to either generate, or more likely solve, such puzzles. What can a book about taking it seriously tell you about this most popular pastime?
Sudoku is a very easy to understand but intriguing puzzle. At its heart is the science of combinatorics and mathematics. What could be a better subject to try to explain what logic and mathematics are all about than Sudoku. There is also the spin off that understanding the math of the puzzle should help you create new algorithms to generate and solve puzzles.
The first chapter is a detour into the idea that math and puzzle solving aren't that different. It works hard to explain that mathematicians spend much of there time solving puzzles and that the math that you might have encountered at school isn't really a fair reflection of the occupation. On the way you learn about the Bridges of Königsburg puzzle, which isn't particularly related to Sudoku but they are both problem in combinatorics. The later part of the chapter starts to analyse how you solve a Sudoku and introduces a number of patterns that constrain the entries in a Sudoku grid.
The chapter closes with a meditation on what constitutes math. If you already know that math isn't arithmetic then you might want to skip this section but it is surprising how deep the confusion goes. We also meet some more problems including generalizing Pythagoras and some variations on sudoku.
Chapter 2 takes us into the study of Latin squares which are sort of like a sudoku grid. Here we meet the first proof and it is at his point most readers will switch off and decide that some other book is for them. The book does its best to grease the path of the theorem and proof presented but it is still a sticky path if you don't like symbols. If you can cope and make it to page 33 then you are probably the stuff that they make mathematicians from and you really should make the effort to finish the book. From here we have more theorems and proofs that make use of various simple properties of numbers such as the greatest common divisor function and modulo arithmetic. You can tell that the mathematical level is ramping up very quickly.
The next chapter moves on to consider the combinatorics of the GrecoLatin square. This is more of the same sort of explanation we found in Chapter 2 and there are some Sudoku variations based on the ideas. The chapter ends with a look at some of the applications of GrecoLatin squares to statistics and coding theory.
By this point in the book you might well be thinking that ??there isn't much about Sudoku. Chapter 4 considers the counting problem in the form of working out how many Sudoku grids there are. After a lot of other examples and reasoning we do reach the formula for an upper bound and eventually to the exact answer but with the help of a computer. Of course this might seem to be cheating by some, even welleducated, mathematicians but today it is the way a lot of mathematics is done.
The next chapter is perhaps the most mathematical in the book. It moves though a range of key ideas in math  equivalence classes, invariants, transformations, groups and so on. Some quite sophisticated ideas are tackled including group actions, obits and Burnside's lemma.
Chapter 6 is probably the most useful if you want to write programs that generate Sudoku boards  6x6 and the eighteenclue puzzle. We also encounter more variations on the basic challenge.
Chapters 7 and 8 make the connection between Sudoku and graph colorings and polynomials respectively. While these are described in simple readable terms this is cutting edge mathematics.
The penultimate chapter takes Sudoku to the limit in terms of maximum clues and other extreme cases of the puzzle. The final chapter presents some more variations.
At the end of the book you can't help but feel a little exhausted  as the book suggests, Sudoku is all of math in miniature. If you simply want a book of Sudoku puzzles, or clues as to how to go about solving them, then you are going to be very disappointed. This book is more about Sudoku as a way into mathematical thought. It does cover a lot of Sudoku variations and many of the deeper questions about the puzzle.
The book claims to be an attempt to explain what mathematics is to the general public. I doubt that this succeeds because there is too much real math in the book. However if you enjoy recreational math or if you are even slightly interested in the subject then it will show you something of what math research is like and for this is has to be highly recommended.
Effective Debugging
Author: Diomidis Spinellis Publisher: Addison Wesley Pages: 256 ISBN: 9780134394794 Print: 0134394798 Kindle: B01HMR617O Audience: Experienced programmers Rating: 5 Reviewer: Mike James
Programming is 90% debugging so even a little improvement in effectiveness is worth it.& [ ... ]

SVG Pocket Primer
Author: Oswald Campesato Publisher: Mercury Learning Pages:200 ISBN: 9781944534592 Print:1944534598 Kindle:B01LYVT28C Audience: JavaScript Programmers Rating: 3 Reviewer: David Conrad
An SVG pocket book seems like a good way to keep track of all those commands.
 More Reviews 
