The projects listed here were created either because of an actual problem that I had (like taking backups of my computers and my code) or just because I found something cool that I wanted to play around with (like controlling an USB Missile Launcher).
I also try to use some new libraries/tools/technologies in each project that I’m not familiar with, for learning purposes. And I’ve seen too many projects that look interesting, but lack even the simplest “how to get started” example…so I always create full documentation, installers etc. for my projects whenever possible.
Here is everything I created so far, in reverse chronologial order (newest first):
What I needed:
An improved version of Bitbucket Backup, a previous tool of mine.
Bitbucket Backup supports Bitbucket only, and I needed something to backup my GitHub repos. There were some more reasons, all of them together made me decide to start a new project from scratch.
What I learned:
What I needed:
An informational website for an annual garage sale in my home town. Requirements:
What I learned:
What I needed:
A backup tool for my Google Calendar with the ability to run unattended
What I learned:
System.Net.WebClient
What I needed:
A ToDo app for my Android phone. I could have used an existing one, but decided to write one myself for learning purposes (mobile app with web service backend)
What I learned:
What I needed:
Convert one site (originally built with a CMS) to Jekyll and create another one from scratch.
(Both sites and their source code are private, but I wrote multiple blog posts about what I did with Jekyll, all without using plugins)
What I learned:
What I needed:
Insert database-driven HTML tables with results and rankings into an existing site created with a CMS (in a minimalistic way, i.e. without creating a full-blown plugin for the CMS)
What I learned:
What I needed:
Migrate existing WordPress site/blog to a static site generator (I decided to use Blogofile first, later switched to Jekyll).
What I learned:
What I needed:
A reusable library of VBA helper functions, to avoid having slight variations of the same functions duplicated across several projects.
What I learned:
What I needed:
Send commands to an USB Missile Launcher from my own code, without using the control software that came with it.
What I learned:
What I needed:
A web site to feature my projects and (maybe) a blog. I registered the domain years ago, but never had a site until then.
What I learned:
What I needed:
Convert .NET POCOs into ADODB.Recordsets
, in order to gradually migrate existing MS Access applications to .NET (Access client needs to read data coming from .NET).
What I learned:
What I needed:
Automate creating local backups of all my private and public Bitbucket repositories, running without user interaction after being set up once.
What I learned:
What I needed:
Convert existing batch files for Robocopy backups (computer→NAS and NAS→USB disk) to a more comfortable tool, with all settings in a config file.
What I learned: