Projects

In this page you can find various software I have built and (usually) freely distributed in the past.

Minesweeper 5

Minesweeper 5 (2021) is a Minesweeper clone built with React. It is my fifth Minesweeper clone since 2004 (see The Minesweeper Legacy) and is open source. You can play it online or view the source code / readme.

Sirius Planner

Sirius Planner (2020) was a task planner, initially made available to a closed group of alpha testers, and later opened to the public. It was retired in November 2024. If you’d like to know more, read/watch release announcements:

Picaxo 2

Picaxo 2 (2016) is a rewrite of Picaxo Image Viewer, a lightweight image viewer I wrote in March 2008. It is written in C++ using the cross-platform SDL2 library. It has some basic image processing features, and has been tested on Windows and Linux.

Check out the Picaxo 2 Bitbucket home page for documentation, screenshots, source code and downloads.

Ultima 1: Revenge

Ultima 1: Revenge is an attempt at reverse engineering Ultima 1 in order to document the game files and create an engine port.

The engine port went through a number of different iterations:

  • First engine port in C using SDL (2007)
  • Second engine port in C# using XNA (2012)
  • Online map viewer in PHP and JavaScript (2015)
  • Third engine port in C++ using SDL2 (2016)

You can find more information about this project:

Dandago.Utilities

Some utilities classes that I find myself recreating and reusing all the time have been added to NuGet as the Dandago.Utilities package (2016). Some of these are based on my Scope Bound Resource Management article.

Finance Library

My finance library (2015) is a small NuGet package providing common finance-related functionality such as IBAN and credit card validation.

.NET Settings Framework

The .NET Settings Framework (2015) is a mature AppSettings abstraction available via NuGet. The concept behind it was developed over several years and finally released as a proof of concept with well-documented design considerations.

Its primary strengths are in eliminating the boilerplate needed to read and validate AppSettings, and in being a testable framework that fits in well with dependency injection.

It is also designed to cater for more advanced scenarios such as reading settings asynchronously (e.g. from a database).

Since .NET Core has finally brought a robust configuration library to the .NET world, this .NET Settings Framework is no longer necessary.

ImapTalk

IMAPTalk 2.0.0.0 beta 1 – IMAP analysis

IMAPTalk (2012-2015) is a simple IMAP client that allows you to talk to IMAP servers by typing in your own commands. It is a learning tool written to allow people to learn more about email technology and how IMAP works.

Despite being made for the purpose of learning IMAP, it works just as well as a diagnostic tool for most line-based internet protocols, including IMAP, POP3, SMTP, HTTP, FTP, chess servers, and possibly others.

Lilly Notes

Lilly Notes beta 3 release (0.3.0.0)

Lilly Notes (2014) is an application that allows you to lay out your notes and TODOs into a virtual workspace, in much the same way you would lay out your sticky notes on your physical desk, allowing you to easily brainstorm or visualise your tasks.

Older Projects

My older projects can be seen at Gigi’s Computer Corner:

  • The Minesweeper Legacy – a series of Minesweeper clones I wrote over the years as learning exercises.
  • Magnetic Pool – an experimental game blending elements of pool and mini-golf, written in Unity3D (retired).
  • Deposits System – a system used to manage hotel deposits (retired).
  • Picaxo Image Viewer – a lightweight, cross-platform and experimental image viewer written in C back in 2008.
  • The Null Neuron Interpreter – a brainfuck interpreter written for fun.

One thought on “Projects”

Leave a Reply

Your email address will not be published. Required fields are marked *

"You don't learn to walk by following rules. You learn by doing, and by falling over." — Richard Branson