One developer's road: Programming and mental illness

How curiosity, hard work, and community support helped this developer overcome obstacles and find success.
Register or Login to like
A path through nature

Thomas Hendele on Pixabay (CC0). Modified by CC BY-SA 4.0.

In early 1997, my dad bought a desktop PC pre-installed with Microsoft Windows 98. An 11-year-old elementary school student at the time, I started learning the applications. Six months later, we got internet access using a dial-up modem, and I learned the basics of accessing the World Wide Web and discovered Netscape Navigator.

I didn't like the FrontPage website editor, and my internet suite of choice was Netscape Navigator 6. The HTML 4.0 standard had just been released, and Navigator was easy to update, although uploading Windows bitmap pictures using a 5.6-KB/s carrier was a challenge. I explored technologies like FTP, served by free web hosting on Tripod. I learned that it ran a Unix-like operating system, so I did some more research and discovered Linux.

By then, static web pages had become boring and I knew most of the HTML tags and their syntax. I wanted to learn how to code, so I found some tutorials on the Java programming language. By 1999, I had a working Java compiler and was able to set the proper Classpath environment variables using system settings. The MS-DOS filenames were frustrating, especially since the provided editor didn’t accept any suffix but .txt. However, using the command prompt and the installed edit application, I was able to create plain text files and set appropriate suffixes.

The next year, I went to college and learned about SUSE Linux 6.1 and the Java SE 1.2 programming language. Another student introduced me to free software and the GNU GPL License and helped me install SuSE 7.1 on my new Compaq Evo N160c notebook.

There was no more Microsoft software on my computer. The GNU/Linux operating system was exactly what I wanted, offering editors, compilers, and a command line that did auto-completion.

Six months later, I installed Debian GNU/Linux. Since YaST2 was just a front end to configuration files, I had to use Debian Potato. My bootloader of choice was LILO, and the Second Extended File System was reliable—not buggy, like ReiserFS.

In spring 2002, I read a book about the C programming language. I wanted to learn to do UIs like javax.swing, and a friend recommended Gtk+ 2.0, which was about to be released. At this point, I stopped using the KDE Desktop Environment. Gnome 2 was different and provided anti-aliased fonts with hinting. I used it to play Chromium B.S.U., and KNOPPIX did the magic.

Freshmeat was an SCM hoster for free software. At first, I only created and published bzipped tarballs. Then I developed the idea of creating a music sequencer software. When I used Rosegarden to do notation, I had trouble getting audio output to work. But XMMS worked and I listened to audio CDs. Another application I enjoyed was GIMP v1.2, which I used to create PNG images.

In 2005, I faced some difficult times with my mental health but eventually recovered enough to start the Advanced Gtk+ sequencer code base over again. Two years later, the AGS project was hosted on SourceForge.

By 2009, I was still using Debian, Emacs, and GCC (though the G sequencer code base has grown drastically). I did an apprenticeship as an ITC worker and an internship for a company located in Zurich. This was a great experience—my work was valued and I learned a lot by working with the other employees. I developed a migration tool to import data from competing software apps and later did functional testing using Selenium.

Over the past five years, I have been working full-time on my own projects. 

Having a mental illness has made things more difficult, but I want to thank everyone who has supported —on numerous mailing lists, and especially on

This is I face
Free software enthusiast with a strong knowledge about the C programming language. I don't fear any code complexity as long it is written in a simple manner. As developer of Advanced Gtk+ Sequencer I know how challenging multi-threaded applications can be and with it we have a great basis for future demands. my personal website

Comments are closed.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.