Here are a few applications I have written in my personal time over the years. In addition to these, I have written some compilers, search engines, and portions of a database engine in the past. I find game development interesting because it lends itself to exploration of a wide variety of Computer Science topics (e.g., algorithms, Artificial Intelligence, etc.). I am a software technology enthusiast with hands on experience in team leadership, architecture and the end-to-end application life cycle management. A few languages that I am proficient with are C#, Java, F#, C++, C, Python, HTML, JavaScript, CSS.

Maverick Checkers

Maverick Checkers

This as an implementation of the classic game of checkers. The game is strong enough to challenge and beat most players. Maverick Checkers is packed with features such as setting up board positions, saving/loading PDN files, analyzing games, exporting games to HTML, and customizing piece sets. At the time this game was written, it was one of the strongest and most feature rich browser based checkers application. Try the game out and test your skills. Maverick Checkers is written in Java 1.5 and can be run as a standalone app, Web Start, or as an applet.

I have also written a simplified C# version called Sharp Checkers hosted on CodePlex.

Workspace Engine (Weng)

Workspace Engine (Weng)

This is an HTML 5 diagram toolkit that I wrote built on top of my HTML 5 Canvas Library. This customizable engine allows you to create various types diagrams. This code is 100% JavaScript. I used Weng to develop a large and complex engineering application. The application was primarily written with HTML 5, JavaScript (notably webworkers, canvas, and local storage), and CSS3. I've included an older stripped down version of the final engineering application. The production version used SVG while the earlier stripped down version used canvas.

Weka Web Interface

Weka Web Interface

A machine learning web interface for WEKA. I developed this application with JSP, XHTML, JavaScript, AJAX , and CSS2.

Read more details about Weka Web.

Tank Patrol

Tank Patrol

A game I created from scratch in the early years of JavaScript before the language gained more widespread acceptance and understanding as a language that can build complex applications. This application can run on Internet Explorer 4 and Netscape Navigator 4. Ride around in a tank avoiding enemy fire. I've also implemented variations of this game for Android, Java, C# WPF, and HTML 5/JavaScript.

One of the joys of game programming is that it allows you to exercise a large surface area of a programming language and can go into non-trivial algorithims which is not always the case for the average business application that tend to be more CRUD focused.

Stock Doxtor

Workspace Engine (Weng)

A realtime stock ticker application I wrote to utilize DOXTOR, which is my large-scale self-adapting publish/subscribe broker framework. I revamped the client in 2011 from using a hand-rolled long polling AJAX implementation to use SignalR instead in order to easily take advantage of Web Sockets. DOXTOR is written in C# with some heavy algorithm based portions later rewritten in F#. Stock Doxtor has followed the early days HTML 5 and uses numerous features from it.

Blackjack

Blackjack

A simplified browser-based version of the popular card game Blackjack.

HTML 5 Canvas Library

HTML 5 Canvas Library

A basic HTML 5 canvas drawing library for those familiar with the java.awt.Graphics class in Java. It also comes with a JavaScript implmentation of the game Breakout to demonstrate using the library.

See the HTML 5 Canvas Library home page hosted on CodePlex.

Ayo

Ayo

The historic African board game, Ayo. Variations of this game include Mancala, Warri, and Ise.

ETrak

ETrak

Entity tracking application. Uses SQL Server database on the backend. This application monitors entities, such as patients or packages. Various resource files are used to customize the application to specific industry domains.

Course Management

Course Management

A course management CMS web application I created using ASP , HTML, DHTML, JavaScript, and SQL. Runs on a SQL Server backend. Features include:

  • Easy creation of web-enabled assignment and quizzes
  • Easy creation of web pages by instructor
  • Easy creation of discussion forums
  • Website administration tools
  • Customized messages
  • Customized popup menus

#Pad

#Pad

SharpPad (#Pad) is a basic text editor with several improvements over Notepad. The key features I added where the tabs and directory tree view. This allows multiple documents to be opened in a single window. The program is written in C# and hence the name #Pad.

Interactive Checkers

Interactive Checkers

Interactive game of checkers played by players over the network using TCP .

PinPoint

PinPoint

A scalable laboratory management application.

Forecast Client

Forecast Client

Weather application that uses TCP/IP to retrieve weather information.

NDFD Client

NDFD Client

Weather application that uses SOAP to retrieve weather information from the NDFD service.

Stock Server

Stock Server

A server which gathers stock information from various remote data sources and delivers the data to interested clients via XML. This application uses push-based techniques as opposed to the traditional pull-based paradigm.

SilverAlbum

SilverAlbum

A customizable SilverLight photo album application I developed during the alpha release of SiverLight 1.1. Also written in WPF using the MVVM pattern. I was a very early adopter of Silverlight but have slowly become less involved with it since it does not fundamentally embrace the web like Flash and Java Applets.

SimpleCell 2004

SimpleCell 2004

A simple cell phone emulator to support my computer science research.

Tic Tac Toe

Tic Tac Toe

An implementation of Tic Tac Toe using the alpha beta algorithm.

Brick Attack

Brick Attack

Classic game of Bricks. This is a simple game to implement, yet it serves as a way to explore a language. I have implemented this game in several languages over the years (C#, F#, Java, VB, JavaScript,...).

Tony's Pizza

Tony's Pizza

Cruise the neighborhood and deliver pizza for Tony. Most of the graphics originated from the game, Cliffie.

Tony's Fish Tank

Tony's Fish Tank

Fish tank simulation I created to demonstrate basic animation in a Java forum.

Chess

Chess

I originally started this game out of curiosity. How can a computer possibly compete against a human opponent in a game of intellect like chess? I began this project before I delved into AI research. After some thinking, I came up with a brute force algorithm that computed move scores based upon the state of the board, piece weights, and future moves. I later learned about the mimimax algorithm during my AI research. As it turned out, the minimax algorithm was extremely similar to the algorithm I had came up with.