Projects

An archive of personal projects that I've built over the years. I started out writing alternative-shell related software for Windows, spent some time creating iOS applications during the early heyday of indie iOS development, and finally have tended towards CLI tools and (toy) projects to learn new stuff.

The older tools are extremely bit-rotted. It would be interesting to hear if any of the Windows apps can be coaxed into life, if only to get some more screenshots.

While most are historical curiosities only, I find them interesting to come back to every so often so here they are.

2023

  • Database DIY

    I have written several posts about this project, and collected them under the database-diy tag.

    During 2023-24, my ongoing side project has been slowly building a very simple and naive database sort of from scratch. This is a pure learning exercise, as I wanted to have some experience of writing from the storage up.

    The code I’ve written during this project — ToyKV in particular — has helped me a lot in being able to understand more deeply what I read in papers, and other databases’ source code and documentation. By diving down through levels of abstraction during this project, I’ve vastly improved the mental models I use to understand and predict the behaviours of all types of databases.

    Read More…

2020

  • github-to-omnifocus

    At work I have a mixture of coding and non-coding tasks I need to do. github-to-omnifocus is a tool I wrote that adds your GitHub notifications, issues and PR reviews into Omnifocus as tasks. This allows me to manage both types of task together in one place, Omnifocus.

    I rely on this tool every day, and it’s one of the first projects I’ve written that’s attracted some PRs from others.

    Find the code and try it yourself: mikerhodes/github-to-omnifocus

    Read More…

2013

  • Drinktrack

    I wrote Drinktrack to track my intake of alcohol, which was much greater back then. Drinktrack featured a really quick “drink entry” (perfect for when out and about), Dark Mode before it was cool (for dark clubs) and pretty graphs to tell you how much you should regret the night before.

    It was sold at $0.99 and managed to sell a few copies a month. I stopped updating it for new iOS versions in 2015.

    Read More…

2012

  • One to Watch

    One to Watch allowed users to track films they wanted to watch. It used The Movie Database (TMdB) to allow users to search for films to add to their lists.

    It was my most popular application, possibly because it was free. It was the only application where any emailed me about it after I stopped updating it, this time in 2015.

    Read More…

2011

  • Divided

    Divided was my first iOS application. In 2011, writing a tip calculator, especially one with nice animations, was enough to get you featured by Apple in their App of the Day slot. Divided sold at $2.99 originally, I think, and made over $1,000 during that day of being featured, before dropping into obscurity.

    I stopped updating it in 2014, after updating my hacky animations for different screen sizes became too much to handle.

    Read More…

2009

  • Miso Display

    A Windows system tray application that I wrote after getting used to Caffeine on OS X (as macOS was known back then). It was a tiny but useful thing. I stopped using Windows completely a few months later, after changing jobs.

    Read More…

2005

  • Bluefunk

    A music player for Linux written in C#. Development stopped when I realised there were far better music players in existence and creating yet another one was a little silly.

    I built Bluefunk in the early days of the Mono Project (which brought Microsoft’s dotnet runtime to Linux and was later acquired by Microsoft).

    Read More…

2004

  • dWall

    It’s not as much of a thing nowadays, but back in 2004 when I wrote dWall, having many, many wallpapers was quite common. Having an application specifically to manage these many pictures was useful.

    Read More…

2003

  • ShellOn v3

    ShellOn v2 grew organically, and after I’d been at university doing computer science for a while, I realised it was a mess. This was my attempt to rewrite it in a less awful way. I stopped using Windows before I finished it, but my recollection is that it was somewhat nicer. I’m sure I’d hate it now, of course, in 2024 when I’m writing this.

    This shows all the various tabs of ShellOn v3. I think the colours tab controlled the appearance of the shell selection window when you booted up. I was quite proud to have drawn all the 16x16 icons myself.

    Read More…

  • dClock

    A stylable digital clock for the Windows desktop. This was probably my most used of my desktop toys. Seen here on a SharpE desktop:

    Read More…

2000

  • ShellOn v2

    Back in the early 2000s, there was a thriving scene of different desktop “shells” for Windows. These replaced the Windows taskbar and desktop with different interfaces, some inspired by Linux, others NeXT’s LiteStep and finally even BeOS. ShellOn v2 allowed you to choose between any alternative shells when your computer started up. It was the first app I published, and, as far as I recall, was well used within the alternate shell community.

    Read More…

  • SharpE, alternative Windows XP desktop (2000-2002)

    Back in the Windows 98 and Windows XP days, it was relatively easy to replace your Windows “shell”. The shell was the Start menu and taskbar. To change it, you just changed an entry in the Windows registry to point to another executable. That other executable provided your desktop experience.

    SharpE was a replacement shell that I worked on. I built the equivalent of the start menu, that was shown when you right-clicked the desktop. SharpE also featured virtual desktops, resource usage widgets and a floating taskbar and system tray.

    It was written in Borland Delphi.

    Sadly I don’t have any screenshots with the menu that I built open. In this screenshot you can see SharpE’s equivalent of the task bar along the top of the screen. It has resource monitors, start-menu-like drop down menus and music controls. On the bottom left is the system tray and on the bottom right is the virtual desktop manager.

    Read More…

  • dBackup, dRun and dCD

    A tiny backup program, a tiny CLI runner and a tiny CD player I wrote for Windows XP.

    Read More…

1998

  • HTML Launcher

    Probably the first desktop application that I wrote.

    HTML Launcher was written as a HTML editor. The editor was a rich text editor. HTML tags were found when reading in the file by the simple means of finding <ANYTHING>, then adding rich text control codes to add colours.

    It embedded Internet Explorer to allow in-app previewing of pages as they were written. There was a fancy tag library that allowed you to use the mouse to add opening and closing tags (it wasn’t really fancy). I drew the 16x16 icons myself. The style made it into many of my future apps.

    Read More…