Recent posts

Connect Four Ply Dataset

Connect 4 is a solved game in the m,n,k family. On a 7 column, 6 row board, players alternately drop a token into a column, attempting to establish four tokens of the same color along any row, column, or diagonal. John Tromp created a labeled dataset of all valid eight ply positions with their perfect play win results. We present a dataset that presents all sequences of plies that lead to each position along with their associated win result class.

Read more

Routines of Substitution (Review)

Early post-war computing can often seem alien as terminology mixed metaphors and the pioneers brought their own distinct toolsets to the field. Thus, it seems fitting that a powerful influence on computing design would come from a “Martian”: John von Neumann. During the war, von Neumann surveyed computing capabilities within the United States, which introduced him to the ENIAC and the Harvard Mark I. Von Neumann joined as a consultant to the EDVAC project, a successor to the ENIAC, where he and the team worked out the concept of a stored-program computer.

Mark Priestley’s Routines of Substitution: John von Neumann’s Work on Software Development, 1945-1948 is a technical history of von Neumann’s programming work, with special focus on the “meshing” algorithm he wrote as part of a merge sort, his diagrammatic programming language, and the integration and execution of subroutines within a program. While the “Von Neumann Architecture,” as documented in First Draft of a Report on the EDVAC, is the most famous outcome of his work at this time, this study illuminates the invention process and the practical aspects of implementation.

Read more

Ludii Wumpus World

Ludii is a general game system for modeling games and puzzles, although it focuses on historical and traditional games. Ludii was recently used to provide the training data for a Kaggle competition. I noticed their wishlist contained Wumpus World, a common puzzle used for AI training and education. Intrigued, I implemented and submitted a version of Wumpus World.

Read more

Investigating MacPaint's Source Code

MacPaint is a monochromatic raster image painting program that introduced many people to mouse-driven controls, tool palettes, and copy and paste integration with other applications. One of two launch applications for the Apple Macintosh in 1984, MacPaint is emblematic of the Macintosh’s early quirky revolutionary branding, focus on ease of use, and appeal to artistic customers. Using the source code, we examine the design and implementation of the application. We find that the buffer management and bucket filling algorithms demonstrate mechanical empathy with the 68k platform and leverage the limitations of the domain as a means to improve performance. We also find positive and negative aspects in the code style and architecture and its pliability for change. Finally, we dispute some claimed novel aspects of the program while also arguing for its significance and impact on the development of digital graphic systems.

Read more