Recent posts

TimesSquare Programming Puzzle - Part 1?

TimesSquare is a programming puzzle created by Dennis Shasha and published in the April 2026 issue of Communications of the ACM. The puzzle requires deriving missing digit values within a square matrix, given, at least, the main diagonal, the sum of all digits within the matrix, and a value called the RowCol which is a function of all the digits. The challenge is to find a sub-exponential time algorithm. In this article, we describe the puzzle, present a dataset of example problems we developed for benchmark and testing purposes, and provide TypeScript code for a backtracking algorithm that finds solutions but fails to meet the performance goals.

Read more

Plain Text Accounting & Financial Reporting

Over the past year, I’ve been acting as the treasurer for a small publishing company. I converted our books from a collection of spreadsheets to a plain text accounting ledger and wrote programs to automate balance, income, and sales reporting using a tool called Beancount. These recipes may be useful to others running businesses, particularly if they have some programming talent.

Read more

README: A Bookish History of Computing (Review)

While the study of textbooks has proven fruitful in the study of the history of mathematics, there has been little attention to computing books and their role on the development of computer science, the computer industry, and public understanding. Working to close this gap, W. Patrick McCray has written README, a “book about books about computing.” (pg 3) The scope is “a history of computing writ large as seen through the histories of a limited but well-chosen selection of books […] and their authors, editors, publishers, and readers.” (ibid). McCray selects non-fiction works that influenced the understanding and direction of computing in the latter half of the 20th century.

Read more

Fibonacci's Composed Fractions

Leonardo of Pisa (c1170-1241+), better known as Fibonacci, wrote Liber Abaci to introduce and advocate the adoption of “Indian figures” (Hindu-Arabic numerals) to Italy. The book explains how to perform arithmetic and common business problems using the digits and a positional number system. Leonardo uses a composed fractions (aka composite fractions, aka linked fractions) notation to express mixed radix quantities (i.e. positional numbers where the base varies by position). This notation lasted about 300 years until the adoption of decimal fractions. Drawing from his examples, we derive algorithms for the arithmetic operations in recipe and in formal Typescript representations.

Read more