Sal Mangano

Oyster Bay, New York

Software Developer

Areas of Expertise:

• C++
• Java
• XSLT
• Mathematica
• Object-Oriented
• XML
• consulting
• speaking
• programming
• writing
Sal Mangano has been developing software since the days Borland Turbo C and has worked with an eclectic mix of programming languages and technologies. Sal worked on many mission-critical applications, especially in the area of financial-trading applications. In his day job, he works mostly with mainstream languages like C++ and Java so he chooses to play with more interesting technology whenever he gets a chance. Sal's two books (XSLT Cookbook and Math Mathematica Cookbook) may seem to be an odd pair of technologies for a single author but there is a common theme that reflects his view at what makes a language powerful. Both Mathematica and XSLT rest on the idea of pattern matching and transformation. They may use these patterns in different ways and transformations to achieve different ends but they are both good at what they do and interesting to program in for a common reason. Sal's passion for these languages and ideas comes through in both these cookbooks. He also likes to push technologies as far as they can go and into every nook and cranny of application. This is reflected in the wide mix of recipes he assembled for these books. Sal has a Master's degree in Computer Science from Polytechnic University.
 Mathematica Cookbook by Sal Mangano May 2010 Print: \$64.99 Ebook: \$51.99 XSLT Cookbook by Sal Mangano Second Edition December 2005 Print: \$54.99 Ebook: \$43.99 XSLT Cookbook by Sal Mangano December 2002 OUT OF PRINT

Sal blogs at:

Sudoku Solver (Recursive)

May 23 2013

SOLUTION::usage = “Head of a valid solution”; NOSOLUTION::usage = “Head of invalid sudoku”; SudokuSolver[board_List] := Module[{requiredCells, possibilities, trys, result = NOSOLUTION[board]}, requiredCells = GetRequiredCells[board]; possibilities = GetPossibilities[board, requiredCells] ; trys = GetTrys[possibilities] ; Do[ If[i > 1, Print["Backtracking on try … Continue reading → read more