About

Hi, I'm Christian Dannie Storgaard, developer and hobby musician with an interest in open source, film and art in general; You can find out more about my various projects using the links in .

I've been developing since 1996, creating rough games and early websites on my beloved Amiga, before I moved on to using Linux in 2000, where I've stayed ever since.

Through the years, I've developed company, personal, fan and community sites, dabbled in synthesizer and DSP work, created desktop programs and full employee desktop setups, done backend infrastructure design and cluster/docker/cloud based server development and developed and designed a mobile app or two. I'm a big fan of Node.js and the modern JavaScript stack and generally have a fondness for higher level languages where design and functionality are given more weight than system-sitting.

I can get quite excited about sci-fi, horror and philosophical/psychological fiction, especially when they are all mixed together; I believe popcorn should accompany most film viewings; I love art that breaks with social stigmas, and I'm still waiting on the internet to change government structure.

Currently, I'm residing in Athens, Greece. Feel free to get in touch through any of the networks listed under social in .


My life with computers

Screenshot of a ZX81

ZX81

My history with computers started with the Sinclair ZX81. One of the first home computers on the market, it boasted a 3.25MHz processor, 24 lines by 32 character graphics and 1KB of RAM, which I upgraded to a whopping 16KB. To me personally, it wasn't the most useful computer since I didn't have the external tape recorder to store programs on, but it fascinated me and by forcing me to type in any program I wanted to run first, it introduced me to BASIC programming. It was quickly replaced by probably my favourite computer of all time: The Amiga 500.

Amiga

Screenshot of an Amiga I got my Amiga in 1994 and would continue to use it exclusively until 1998. In that time-span, the Amiga introduced me to and taught me to create 2D and 3D graphics, which ended up being my first tech job as a 3D modeller. The Amiga got me into computer music and sampling through its amazing trackers, which later made me get my audio engineering certificate. It let me develop shoot-em-ups and simple platformers in AMOS and Blitz Basic, and finally, it let me create my first couple of websites using CygnusEd and Deluxe Paint IV, which got me into web development. Having tried Quake on a friend's computer (which also led to me picking "Cybolic" as my in-game-nickname), I did begin to consider getting a PC and finally got one in 1998.

Linux

Screenshot of a Linux PC My switch to a Windows-based PC in 1998 didn't last long though. The advent of MP3s and DivX files meant I was quickly dissatisfied with the performance of Windows 98, after all, what use is switching to the evil Intels if you can't play with the latest media types? I purchased a disc with Red Hat, then tried Suse, Mandrake and eventually settled on Debian, which I at that point had gotten comfortable with to the point where I could play my media files without them skipping, causing me to erase my Windows partition in 2000 and run Linux exclusively from then on.

My software history

Gryphon

2001 ⟼ 2003

Screenshot of Gryphon After switching to Linux, my first personal piece of software was Gryphon. In these days before streaming and library media players, I wanted to be reminded of the cover art of the CD I was listening to, and since cover art images wasn't a thing yet, I wrote a CD player application that had built in styling support. This enabled me to write pseudo-HTML code for the tracks and the album in general so the track listing could be similar to how it looked on the CD cover. Gryphon also spawned the first (and still only) 100% Python CDDA access library, CDLow; though Gryphon is largely deprecated these days, CDLow is still in use in other projects.

CeeMedia

2005 ⟼

Screenshot of CeeMedia I'm a bit of a film fanatic and around 2005 I had several hundred films on DVD and VHS and desperately needed a way to track who I had lent them to, which were getting unplayable (physical media...) and especially something to help me pick what to watch! So, I created CeeMedia, a catalogue application specifically for films, with automatic info and cover retrieval from IMDB, Amazon and other sources; physical media tracking and per-media content descriptions; related film lookup and a nifty film suggestion feature. Eventually, I migrated to digital backups and Plex, but CeeMedia still has its users.

LinReaper

2008 ⟼

Screenshot of LinReaper My next project was again a personal itch I wanted to scratch. I love music and audio engineering and having fallen for Cockos' Reaper I wanted to work with the program as if it was a native Linux program, so LinReaper was born. I built LinReaper as an automated installer, a wrapper and general XDG desktop integration using Wine and Python, quite similar to Google's early Picassa "ports" for Linux. Even though it's feature complete and hence haven't seen any significant development in years, I still use it, it's being used to run Reaper in several professional studios around the world, and it still receives the occasional bug fix.

Wine Integration

2009

Screenshot of the Nautilus integration After getting used to how nicely Windows programs could integrate into Linux using Wine and a bit of programming, I wanted to extend the ease of use of LinReaper to all uses of Wine. In 2009 I started working on integrating Wine better in the Gnome/Ubuntu desktop, so Windows executables could be easily managed through the file manager (Nautilus), the system would recognise auto-install executables on CD-ROMs, Wine could be configured from System Settings, etc. This work soon became the foundation for Ubuntu's own Wine integration plans, but unfortunately, despite getting some media interest, it was never completed as license politics got in the way and Wine couldn't be counted on or required or suggested by a main package.

Vineyard

2009 ⟼

Screenshot of main Vineyard window Not wanting to let the work go to waste, I reconsidered my plans and started working on Vineyard as a general purpose Wine configuration and management tool, similar to TransGaming's Cedega/WineX or CodeWeaver's CrossOver. Vineyard soon supported all configuration options available in WineCfg and later added the most common registry hacks; support for WineTricks; Wine process management. To help let the various Wine utilities work with the same data, I got together with Dan Kegel and started the Converged Frontend standard, which was completed with the help of Austin English, Quentin Pâris and Pavel Zinin (Павел Зинин). From this discussion also came the Unified Prefix standard, which is a standard for how to write Wine prefix data; only Vineyard uses the full spec while Winetricks and PlayOnLinux uses a simplified format.