Not trained as a programmer.
The software behind ACARSd was written by a self-taught developer whose formal trade was baking — and whose route into C went through operational computers, radio, Perl, a web counter and a printed copy of the Apache source code.
It started with a KC 85/3.
KjM's route into computing began in East Germany in 1987, while he was training as a baker. A vocational-school subject called Informatik was enough to make him want a computer of his own.
The machine was a Robotron KC 85/3, costing roughly 2,500 East German marks. There was one obstacle: his mother initially refused to release inheritance money for the purchase. KjM announced the alternative: “Okay, then I’ll buy a motorcycle.” His mother was terrified of motorcycles. The computer was approved.
He spent days and nights learning BASIC. After about three months he was excused from the Informatik lessons because he already knew roughly as much as the teacher, who had herself been required to learn the new subject. After around six months, when the teacher was absent, KjM sometimes became the substitute teacher for his own classmates.
A threatened motorcycle purchase may therefore be one of the more unlikely prerequisites in the ACARSd dependency tree.
Languages & technologies along the way
Source note: this chronology is KjM's recollection recorded during the museum reconstruction in 2026. It deliberately says “languages & technologies”: HTML, for example, is markup rather than a programming language.
From bakery computers to Internet systems.
In the final years of East Germany, KjM maintained the computers of the bakery where he worked. In 1995 he joined the young SWF3 Online team, where he helped build and operate the ELCHBOX mailbox system and began programming in Perl.
His boss there was Karl Ewald. Karl was not only a boss but also a friend. One project, however, produced a memorable argument: a Perl web counter occasionally fell back to zero when concurrent accesses collided with the locking behaviour available at the time.
Karl’s verdict was characteristically direct: “You’re too stupid.” KjM was furious. The dispute eventually contributed to his decision to leave SWF3 — but it also triggered one of the most consequential acts of revenge in this story.

The revenge was C.
In 1998, KjM printed the complete Apache source code and used it to teach himself C. Within roughly three weeks the Perl web counter had been replaced by a C implementation. The resulting free service at webcounter.goweb.de became a widely used web counter and continued for many years before eventually being retired.
With hindsight, the argument with Karl looks very different. Karl later died unexpectedly, and an old technical quarrel became a very small thing compared with the friendship behind it. Yet that quarrel changed the direction of KjM’s life: without the determination to learn C, there might never have been an ACARSd.
Thank you, Karl. Even our argument changed the direction of my life.
That learning path matters when reading ACARSd. The code was not written from a university DSP curriculum. It came from studying production source, solving concrete systems problems and measuring what worked.
Armin also brought Tcl/Tk into the story.
Years before ACARSClient, Dr. Armin Zundel had another idea that initially made KjM groan: build a community system not in Perl or PHP, but in Tcl/Tk because it would be fast. KjM learned it reluctantly, then discovered that it was actually enjoyable. That detour mattered later. When ACARSd needed a portable graphical client, Tcl/Tk was already a familiar tool — and it became the basis for maps, server lists, databases, chat, aircraft images and a few well-hidden games.
Source note: Armin's Tcl/Tk influence is a 2026 recollection by KjM. The surviving ACARSClient source independently confirms the extensive Tcl/Tk implementation that followed.
Stefan Briesenick — teacher, colleague and “master optimizer”
KjM learned Pascal from Stefan Briesenick. Stefan later worked for roughly a year in KjM's company and became closely involved with ACARSd. Technically he was exceptionally strong; diplomatically, considerably less so.
Where somebody else might have said, “I think this could be solved more elegantly,” Stefan's feedback could sound more like: “What kind of crap have you programmed again?” That bluntness could be genuinely discouraging. It was also part of why the affectionate title “Meister Optimierer” — master optimizer fitted him so well.
Code that travelled from project to project
Several C modules preserved with ACARSd did not begin as ACARSd code at all. KjM and Stefan wrote utilities such as strfunc.[ch], filefunc.[ch] and collect.[ch] for INLINE projects. They proved useful enough to travel into later software and eventually into parts of ACARSd.
collect.[ch] is a particularly nice example: a reusable C collection abstraction that hides much of the repetitive list, data and memory handling. Some source code preserved in ACARSd today therefore actually predates ACARSd itself.
Remember EasyERP.
During the BBS/mailbox era, KjM and Stefan also wrote EasyERP, a request processor for systems such as FrontDoor. It was freeware for years and later became shareware for a small registration fee. Stefan distributed the licence keys.
After a key generator appeared, Stefan reacted in his usual uncompromising style and added a rather aggressive anti-piracy mechanism. Two days after the new version was released, a friend with a perfectly legal key reported that requested files were being corrupted. More reports followed.
The code review found the kind of bug that becomes immortal among colleagues: one boolean comparison in the licence check had been inverted. Legitimate users triggered the protection mechanism, while users with fake keys could continue normally. They were extremely lucky that the episode ended without serious consequences.
From then on, whenever Stefan was particularly merciless about somebody else's code, KjM had a short answer ready:
“Remember EasyERP.”
Source note: the EasyERP episode and Stefan's role are personal recollections recorded in 2026. This account intentionally omits implementation details of the anti-piracy mechanism.
Why that matters for libacarsd
The decoder reflects the same mentality. Rather than forcing the radio signal into an elegant theoretical model, it used captured sound, empirical comparisons and multiple cheap decoding strategies. Failed messages became test inputs; successful tables were counted and prioritized; CRC and message structure decided whether the result was credible.
The code is less an academic exercise than a record of an engineer teaching the machine to survive real-world radio.
ACARSd as a technical time capsule
The project sits at an unusual intersection: Linux desktop/server software, analog radio, early web services, Tcl/Tk clients, distributed Internet receivers and aviation databases. Seen from 2026, many of its ideas feel familiar. Seen from 2003, they were being assembled with very different hardware and a far less mature Internet ecosystem.
This museum exists to preserve that context.
From hobby project to FlightGlobal ATLAS
By 2010 the same systems-minded approach led into a commercial aviation project. Recovered CVS sources show that ATLAS was built for FlightGlobal as an Adobe Flex/Flash application on Google Maps, fed by community SBS stations. The source contains type-specific SVG aircraft and an airline-colour engine that could colour body, wings, tail and engines separately.
The project also marks the difficult end of ACARSd development. According to KjM's recollection, the commercial contract tied continued work on ACARSd and related software to the continuation of that collaboration. When it ended, so did active ACARSd development.
Read the ATLAS source analysis →
And then I simply walked away.
For years aviation, ACARS and aircraft tracking occupied an enormous part of KjM's spare time. There was also a quiet uncertainty in the background: would an airline or another organisation one day object to what the network was receiving, decoding and archiving? That letter never came. The aviation years remained surprisingly peaceful.
According to KjM's recollection, when the FlightGlobal/ATLAS collaboration was not renewed, he honoured the agreement and stopped active work on ACARSd and related projects. He did not rebuild the tracker under another name. He simply walked away from aircraft tracking.
His aircraft-photo database, www.fysb.de, also disappeared later in the privacy-policy/GDPR era. During the ACARSd years it had been much more than a photo gallery: clients used it as a source for aircraft images and icons, helping turn a registration received over radio into a recognisable aircraft.
This museum is not an attempt to restart ACARSd. It is here to remember those years.
What am I doing today?
I never stopped being a programmer.
I am still with INLINE, and Dr. Armin Zundel is still my boss — and, after all these years, also a very good friend. Considering how much of the ACARSd story began because Armin gave me the freedom to experiment, that continuity means a great deal to me.
But apparently I also never learned how to keep a hobby just a hobby.
My fascination with Plumeria eventually became another profession. Today I am a specialised Plumeria dealer, running plumeria.shop. Plumeria is not simply one category among many plants we sell — it is what we specialise in. And because apparently turning a hobby into a business was not enough, I also wrote a book of almost 300 pages about Plumeria.
Bali followed much the same path. Years of travelling there and my fascination with Balinese craftsmanship eventually turned into another business. Today, through bali-dreams.shop, I import and sell products from Bali.
So in a strange way, not very much has changed.
I find something that fascinates me. I start digging into it. I spend far too much time on it. And at some point I look around and realise that, once again, a hobby has somehow become a job.
Some of the people from the ACARSd years are still part of my life, too. Jürgen H. and I never lost contact. I met Klaus Dieter again at a local festival a couple of years ago after we had not seen each other for a long time.
Other connections became quieter with the years. I haven't spoken to Chris Witt on the phone for a long time, and it must be around fifteen years since I last had contact with Julian.
That is perhaps the strangest part of rebuilding this museum more than twenty years later. Source code, photographs, emails and 72 million ACARS messages can survive on forgotten disks and suddenly come back to life. People's lives, meanwhile, simply move on.
And yet, while putting all of this back together, many of those people suddenly feel remarkably close again.
The people around the project
ACARSd depended on a remarkable informal network of testers, aviation-data specialists and public server operators. A dedicated community page now preserves those acknowledgements and invites former users to contribute their own memories.