Projects

 

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):

SCM Backup

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:

Sindorf trödelt

What I needed:

An informational website for an annual garage sale in my home town. Requirements:

  • Sellers should be able to register with their addresses and pay via PayPal
  • A list of registered adresses and a Google map with markers should be re-created daily via cronjob

What I learned:

Google Calendar Backup

What I needed:

A backup tool for my Google Calendar with the ability to run unattended

What I learned:

  • Downloading files from the internet from PowerShell via .NET System.Net.WebClient
  • Each Google Calendar has a secret download link

Tasko

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:

Two complex Jekyll sites

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:

SimpleLeague

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:

This site (2013)

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:

VBA Helpers

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:

MissileSharp

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:

This site (2012)

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:

Recordset.Net

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:

Bitbucket Backup

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:

RoboShell Backup

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: