Here is a sampling of code I have written over the years. Public domain. No warranty or support of any kind is provided. Use at your own risk.

This is presented in roughly chronological order (newest code first).


Name Date Links Note
Spellathon Solver 2006 spellathon.cpp This program is used to solve any given Spellathon puzzle. The puzzle consists of a central hex tile surrounded by six other hex tiles. Each tile contains a single letter. The objective is to form words of size greater that three letters. As input, the program takes a 7 character string, with first letter being the central character. Output is all matching words in a dictionary. I used the standard "web2" dictionary used in many *nix distributions.
Hangman Solver 2004 hm.cpp This program is used to generate a solution path for all words in a dictionary for playing the game of hangman. As output it generates a sequence of guesses for a word that guarantee a solution. I wrote this to find out what are the hardest words to guess. The surprising result is that long words (7-letter or more) are always guessed within 10 tries. It is the short ones (3-6 letters) that are difficult.
Roughly, at every guessing trial round the algorithm computes a histogram of all possible remaining letters for the partial solution computed so far.
Arun's Disk Usage 2003 adu.cpp This recursively computes the byte utilization of a disk using Win32 apis. by supplying a parameter like "/s2", one can specify how many folder level deep should it display.
Rani Server 2002 rani.cpp Close to the fastest HTTP server you can have on Windows. About 3 times faster than equivalent C++ isapi extension and almost 10 times faster than a C# page. Naturally the code is buggy and not feature complete. It should not be used in production. It is a good way to learn about I/O completion port programming in Windows, examples of which were sorely lacking on the web when I wrote it.
Aros Magic Reversi 1997 RBoard.cpp
The core engine that implements the game logic and the AI.
Aros Magic Fractals 1996 PFractal.cpp The inner routines used to generate the mandelbrot set and its associated julia sets. The interesting thing here is the x86 assembler routines to optimize M-set generation



2006 Arun Sagar. All rights reserved