Armin Sander is the german coder behind the famous 8-tracks tracker Oktalyzer on Amiga.
Can you introduce yourself to our readers?
I would describe myself as a social functioning introvert who just turned out to like programming and software development a lot. I am turning 43 this year and live quite happily - mostly alone - in a small apartment that I love very much.
Since 1995, I have been doing freelance work, mostly from home and since 2008 I work primarily on my own projects.
My day starts between seven am and noon :). After ~15 minutes exercise, a shower, and a light breakfast, I start thinking about software problems, read twitter and blogs, or computer science papers until lunch. After that I begin programming.
In my spare time I like reading books and watching movies, preferably science fiction and everything that explores the boundaries of human existence and science. Recently I also got interested in philosophy and spirituality.
About once a year, I pick a small island in the world and explore it for a week or two, primarily by going on one day hiking trips. Every few years I take a longer break to explore a larger area, and try to get to know the local culture.
Why did you make Oktalyzer? Tell us the story behind this software.
The story begins with me sitting in front of my Amiga and launching a new program called Ultimate Soundtracker for the first time and subconsciously realizing that this is the kind of software I wanted to develop.
The first thing to do if you want to extend an existing program is to reassemble it, which is the process to create assembler source from the binary code of the program. I can't remember exactly which tools I used, and if Resource was available to me, but shortly after that, I had created a fully functional source code of the original Soundtracker.
Later I had a telephone call with Unknown/DOC during which he explained to me that he never actually had had the source code, instead he extended Soundtracker by patching the binary code at specific locations. In that telephone call I offered to give him _only him_ the assembler source. And if Unknown/DOC broke his promise, this source could very well become the basis of a number of future Soundtrackers released in the Amiga scene.
I also released a few extended Soundtrackers under my scene name. For example, the pseudo-spectrum analyzer was one of my ideas (thanks Mike for the beautiful colors!). But while I was working at extending the tracker, my motivation soon turned to solving a big problem the composers I knew had: the limitation of the four hardware audio channels.
I remember that it was a very hard problem for me to solve, because the Amiga was just not able to mix eight channels down to four in real-time. The 68000'er division and multiplication instructions were much too slow and even approximating the mixed sound wave by using the much faster bit shifting instruction was not fast enough.
For some time I gave up and thought it would be impossible, but then I got the idea that lead to the breakthrough. The number of frequency distances between two individual notes was limited. What if it were possible to generate all the assembler code that mixes two channels and produces all the samples for a whole frame at once (a 1/50s of a second)? Luckily, it worked out, mixing eight channels took nearly all the CPU time and the quality wasn't pretty, but it was an exciting moment for me to realize that I may have built something unique at that time.
The development of the playback engine took a few weeks, and the development of Oktalyzer itself took about six months, which was quite hard and often very boring work. Thankfully I had Chris Korte and Alexander Sieb, who supported me all the way through. Chris also influenced a lot of the design decisions for Oktalyzer's user interface and composed the demo songs for the first version.
Even though I had prior experience with Intuition (the user interface API for the Amiga), Oktalyzer required a complete new user interface to be built, primarily because the playback engine required so much CPU time that the operating system needed to be switched off while a track was played. Sadly, this made Oktalyzer incompatible with future Amiga operating systems.
Just before working on Oktalyzer I dropped out of school and continued to live at my mother's apartment. Understandably, she was very worried about my future. I worked all day, but had no income, had an unreasonably high telephone bill, and refused to look for other jobs. This situation lead to a lot of additional pressure to finish Oktalyzer and sell it.
As soon the first version was stable, I looked for a distributor and eventually signed a contract with Verlag Mayer, the publisher of the german Amiga Special magazine. In the beginning, sales were going slowly so I decided to finally move out and work as a Amiga support engineer at Markt & Technik in Munich.
The initial release of Oktalyzer supported eight channels only, and because many composers complained about the quality, I decided to create a second version that was able to combine mixed and native hardware channels. Six channels were often sufficient to create great tracks. The primary voices, like a piano or high-pitched sounds were played on the two hardware channels, and the background or drums on the four mixed ones. I also reduced the screen resolution, because the text was hard to read.
Which Amiga model did you use? What software did you use for the code?
Oktalyzer was built on an Amiga 2000 with a 20MB hard drive and 1.5MB RAM. For development I used Seka Assembler.
Are you a musician? Did you compose using Oktalyzer?
Not yet. :)
I learned to play the organ while I was in school, which got me a basic understanding of music and how to read notes. Later I bought a music keyboard, but soon lost interest. And recently, I bought an electric violin and managed to play some simple songs. So far these have all been halfhearted attempts, but I don't stop trying.
Have you developed other software for the Amiga?
Yes, after Oktalyzer I learned the programming language "C" and got excited about object orientation and message passing. I wrote a user interface framework, which had a 3D look and a font sensitive layout algorithm. At that time, I was in contact with Stefan Stuntz. I helped and probably even inspired him, to create the awesome Magic User Interface.
Another one of my projects was a Stacker clone for the Amiga. Stacker was a real-time hard drive compression driver for the PC. The methods required to do real-time compression while preserving the possibility of random access for disk read and write fascinated me.
These projects eventually lead to a software package named RAP! TOP! COP! that was distributed by Mark & Technik. The package consisted of three programs, a hard-drive defragmenter, the compression disk driver with administration tool, and a disk compression tool.
What do you do now? I saw that you have a site called Replicator and that you were active in social networks. Apparently you have developed an iPhone application.
The project you saw is LookHere!, an iOS/iPad application tailored for the needs of construction engineers. A kind of Wiki for images. With this software, you can take photos on site, connect them together, and then export a PDF that shows the relations between the images.
Besides that, I am working on a number of other projects together with a number of small teams. I also try to contribute to open source projects a little.
But the most exciting and challenging project I am working on right now, is a programming language and an Integrated Development Environment that are suitable for live programming. Live programming combines the steps of writing, debugging, testing, and running a program into one single interactive experience.
What computers and software do you use now?
I work on a zero noise silent desktop Core i7 PC with two SSDs in front of two 24" and one 21" inch Eizo monitors. The desktop dual boots into Windows 8.1 for working and Windows 7 for occasional gaming.
I have a Macbook Air, which dual boots Windows 8.1 and Mac OS X, which is used for iOS cross development.
On the server side, I have a Mac mini that runs CentOS Linux, and a Synology NAS.
For programming I use :
I find WebRTC and its possibilities exciting. Peer to peer open source technology might be able to replace a number of services that are under central control right now. A great example is PalavaTV, which I prefer to use instead of Skype. It's peer-to-peer, open source, secure in both preserving privacy and making it impossible to eavesdrop on, and it can be installed on your own server! Reasonable WebRTC based alternatives for File Sharing and Social Networking are right around the corner.
Even more exciting is Bitcoin and the technology behind it. The money aspect is only a fragment of its potential. Once people realize that the technology behind Bitcoin is essentially a distributed, decentralized consensus authority, which is decoupled from and not corruptible by its supporters, they will recognize that this technology is capable of replacing some other important human managed structures in our society more reliably and far more efficiently.
But what is more likely to make a huge impact on the world over the next few years, is the Internet Of Things, which means that every single thing, for example lamps, furniture, and every existing sensor being connected to the Internet. This step is inevitable, and the consequences in terms of privacy and security are unforeseeable and an exciting challenge.
Are you using new music software like FLStudio or a new tracker like Renoise?
No, I lost track after I moved on to other non-music related projects.
Do you still have an Amiga?
Yes, an Amiga 3000 that is stored in the basement.
In France, there is still a small community of 500 users of the Amiga. What do you think? Should we forget the Amiga and move on? Nostalgia is positive or negative for you?
I can't give advice on that matter. I can only relate my experience:
After I moved over to the PC, I missed the Amiga a lot, because it was so far advanced that it took the PC a few years to catch on. But then, the possibilities turned out to be endless. A whole new world opened up, so much larger than I had known before. And then again, around the end of 1999, I crashed on Linux, which offered even more opportunities. Today, new technologies and platforms are appearing in such a high frequency, that the only important thing to keep up is the constant will and addiction to experiment and learn.
For me it was the right thing to move on. I am not the nostalgic type of person by character and rarely talk about the past. I sell off old stuff very early on to keep the amount of stuff I own to a minimum. The quote "The things you own end up owning you" from the movie Fight Club constantly reminds me how stuff and the environment we live in affects and limits us.
That said, I probably should boot up my Amiga 3000 for the last time, backup the two hard drives and just sell it. Imagining that right now, I realize that this piece of hardware strongly connects me to a time when I had a lot of fun making things and met a lot of interesting people. But even if my feelings make me wish to hold on and remind me of the past, I must also accept that this time is over and will never come back, and that the only thing that exists, is this very moment, which gives me a tiny opportunity to change the future for me and - if I am very lucky - also for others.
*This interview was hosted by Guillaume Guittenit, who also motivated me to make the binary copies of Oktalyzer 1.1 to 1.57 freeware in March 2014*