
Sic parvis magna
I’m blessed that I started using computers at a very young age and in a time where home computers had just arrived and only had one kilobyte of RAM. That allowed me to be part of the PC revolution from the start.
I know what’s happening underneath the graphical user interfaces and how machines communicate with each other over a global network.
I have commercially and professionally used multiple programming languages in my life and as far as operating systems are concerned, I am platform agnostic. I use a combination of tools that get the job done and that won’t break the bank.
Networking, Systems and Infrastructure
I used to be a certified Mikrotik Certified Network Associate (MTCNA) and a Microsoft Certified Professional (MCP) for Windows Server.
Such certificates are “time-bombed” and expire after three years or so, which is a nice business model to get the customers to pay for the exact same certification again and again and again.
When I was still in commercial satellite communication, I worked on a daily basis with:
-
- Cisco IOS,
- Mikrotik RouterOS,
- Juniper Junos OS,
- Ubuntu Linux,
- Windows Server,
- VMware vSphere and ESXi,
- ProxMox VE,
- PowerEdge Servers,
- EqualLogic Storage Arrays,
- iSCSI and NFS,
- TCP/IPv4,
- Subnetting and Supernetting,
- Switching,
- Static Routing,
- BGP and OSPF,
- BIND9 DNS servers,
- CACTI and PHP Network Weathermaps (Graphing),
- WhatsUp Gold (Monitoring, Alerting, Triggering of Actions and Automation Scripts).
I have also given TCP/IPv4 trainings.
Programming
I wrote my first line of code in 1982 on a Casio PB100 in BASIC.
I wrote a book on natural language parser programming in Pascal for interactive fiction games in the year I finished the Gymnasium/High School, 1989/90. I also had a version of that parser written in PowerBASIC. It could understand rather complex German and English sentences.
I have learned COBOL, JCL and DB2 SQL on an actual IBM mainframe.
I have worked for the company and with the team that created the Xbase++ programming language.
Since Xbase++, I know how multi-threading works.
In a previous job, I used Lua on a daily basis and also gave Lua trainings.
Programming, query and domain specific languages that I’ve learned (most of them self-taught) and used in my career:
-
- BASIC: Too many dialects too count, from the ZX81 over the Apple ][ to PowerBasic to modern multi-threaded, object-oriented dialects like BlitzMax,
- 6502 Assembler,
- UCSD Pascal, Turbo Pascal, object-oriented Borland Pascal,
- C and C++,
- COBOL,
- JCL,
- DB2 and MySQL SQL,
- HTML,
- Xbase++,
- Flash/Actionscript,
- C#,
- Python,
- Go,
- Lua.
Ancient history
One of my first tasks at Alaska Software was to write a parser that extracted all code samples from the documentation and checked if they could compile properly. This led to a second project, the Sample Inspector, that provided a GUI interface to a library of useful code samples – an extension to the technical documentation of the product.

Later, I also implemented client-side parts of the NNTP protocol for a News Reader GUI client that I had written in Xbase++ (as a pet project) – it was later shipped under the name Baumbart.

In another pet project, I had implemented the IRC protocol to write an Internet Relay Chat bot that also included a very basic natural language parser, so it could interact with human users. It was called Xenia B, but it as never released or shipped with the product.


During my work on the Alaska ADSDBE reference documentation, I also wrote a GUI management interface for the Advantage Database Server.

Archeological Dig Site
Most of the code that I have written is owned by my previous employers and I no longer have access to any of that work.
The downloads below were hobby projects of mine which I have abandoned in the meanwhile and they come with no warranty or support whatsoever. Follow the instructions (if there are any), respect the licenses and hopefully you will have some fun with the stuff or find some use for it.
BlitzMax thread class module
This BlitzMax module contains an (abstract) class for OOP-style multithreading and multi-threading/multi-processing related helper functions. Since I’ve given up on BlitzMax and the language’s creator has also abandoned it, there won’t be any further development of this module. (BSD license.)
GUICoffee
This is a multi-threading sample for BlitzMax. See this article for the source code. (BSD license.)
Application bundle for Mac OS X/Intel.
Application bundle for Mac OS X/PPC.
Executable for Windows.
Digital Nomad NNTP Server
As mentioned earlier, back at Alaska Software, I had written the first version of an NNTP desktop GUI client called Baumbart. This here is a multi-threaded NNTP/News server written in C#. I wrote it a couple of years ago to get familiar with the C# language. (GPL.)
Digital Nomad for Mono/MySQL
(C# Source Code only, compatible with OS X.)
Digital Nomad for Windows
(Installer bundled with MSDE 2000, Windows only. This was created in Windows XP times and it probably won’t run on current versions of Windows, but I won’t be investing time in this build anymore to fix or update it.)