Anton’s Projects

My Projects: A Hobbyist’s Journey Through Code

“`

The projects described on this site and detailed on my GitHub profile are primarily hobby endeavors or smaller sub-projects linked to my volunteer activities with non-profit organizations, such as my local church and chess club.

The Early Days: Music and the Quest for Quality

Initially, alongside my professional work, my home-based hobby projects revolved around my extensive music collection and finding the best way to enjoy it. The quality of digital music today is so high that, for me, playing my cherished LPs has become less practical. Well-digitized music (e.g., 24-bit FLAC) is, to my untrained ear, indistinguishable from the sound coming directly from vinyl. Consequently, I’ve long focused on playback solutions for the FLAC files stored on my local server.

However, my approach has always been shaped by my experience as a lifelong LP listener. From a young age (around 12 or 13), I moved away from radio singles, concentrating instead on full albums. Tracks recorded from the radio were merely a prelude to acquiring the LP, which would then be played in its entirety. My collection was meticulously organized alphabetically, with a special stack near the sound system for new or frequently played records.

A crucial aspect of this was listening to an LP side completely. Constantly moving the needle to a new track was unthinkable—it only caused scratches, and albums were often conceived by artists as cohesive wholes, especially those with long, thematic tracks. This is where the essence of a recording often lies, something missed when only listening to popular singles.

My experience is that many modern MP3 programs (and by extension, streaming services like Spotify) poorly support or entirely neglect this album-centric listening principle. They are typically focused on individual tracks and eclectic playlists, which is diametrically opposed to how I prefer to listen to and discover music.

This explains my “obsession” with developing my own music playback software. The goal is always to select and play albums as a whole, with sound quality being paramount.

You’ll find several projects on my GitHub profile that align with this philosophy, such as:

  • react-mpd-client: An MPD (Music Player Daemon) client written in React.js.
  • mp3PlayerHome: An Android app that serves as a front-end for MPD and Mopidy, and allows browsing SMB shares for music.
  • pymopid: A Python client/utility for Mopidy, using Kivy for its UI.

Post-Retirement: Supporting Communities with Code

Since retiring, my focus has shifted more towards digitally supporting the organizations where I volunteer: my church and the local chess club.

For the chess club, I’ve developed a comprehensive planning application in Android to manage internal competitions and tournaments. This is already functional and will soon be available on the Android market.

For the church, I completely rebuilt the Koorkerk Middelburg website (koorkerk.nl) from the ground up, implementing it in WordPress. This involved using various free plugins, but also creating many custom tools. I’m currently in the process of adapting these tools for my own site, standardizing them into more generic plugins that I then publish on GitHub.

During my time as a researcher at HZ University of Applied Sciences, I worked extensively with the Semantic MediaWiki (SMW) extension for MediaWiki. My table-press-query plugin is essentially my implementation of SMW principles for WordPress. It offers similar capabilities for easily storing small lists of information that can then be used in various forms across different WordPress pages. The beauty of this approach is that it quickly leads to small, multi-purpose plugins that are powerful tools for any webmaster comfortable with configuring a few tables or JSON files. Other examples of this philosophy include:

A Specific Use Case: Word to PowerPoint for Church Services

One final project worth mentioning is the church-word-to-powerpoint tool. This Python application converts a Word document, specifically an Order of Service for a church service, into a PowerPoint presentation. While this has a very specific purpose that might not be directly applicable to others, it serves as an excellent illustration of using Python libraries to read and write Word and PowerPoint files, automating what would otherwise be a time-consuming manual task.

You can read more about me and my background here.

If you have remarks or suggestions: Mail: Anton Bil