About me

My name is Karl Heinz Marbaise currently I am the Chairman of the Apache Maven Project, Apache Software Foundation Member, Mojo Haus Member, Java Developer, CI / CD Fan, and working as a Freelancer.

I started programming ca. 1980 while I got in contact with BASIC programming on a PET 2001. After a time it became to slow and changed to assembly language (6502).

Afterwards I started studying electrical engineering on the University of applied science(specializing in communications engineering) and started working as a student assistant and implemented in different assembly languages like 80286 at that time under MS-DOS. Also worked with a lot of other things like Turbo Pascal, Borland Pascal.

I continued with more assembly programming on Z80, and got into C and got first contacts with version control systems like RCS. Also got first contacts with DECnet, VAX 4000 workstations and VT100/VT420 terminals. Also got more in contact with versions control tools like CVS.

Now started to use C++, Bison, Flex, OS/2, OS/9, different communications protocols like V24, RS-485, 3964R protocol,

I continued with a lot of assembly programming, C, C++ and started with object-oriented programming with Turbo Vision, dBase database, and implemented measurements with ultrasonic sensors also get in contact with Novell Netware 3.12.

Started to working with Object Pascal (Delphi), X31 communications, Visual Basic, Windows NT etc.

Worked on an implementation of a basic like language, GNU-Make, TeX/LaTeX, Perl etc.

I continued my career after graduating and continued to work with VBA, Rexx(OS/2), RCS, CVS, PHP, ClearCase, and got in contact with Subversion the first time. Also got working with more databases like PostGreSQL, MySQL etc. Started to work with PHP using a framework like phpmvc (Java Struts).

In 2004/2005 I continued my work with PHP (PHPDocumentor) and got more involvement with Java to do testing of a SOAP interface and started to use Java for that. Enhanced my knowledge of using version control systems(CVS) to decouple development and deployment. Started to use things like J2EE, JWebUnit, HTTPUnit, JavaDoc, Hibernate etc. During that time we have migrated from PHP to Java.

I kept working in Java area and used Maven for building the software. Also using JUnit, JUnit Jupiter, TestNG, Mockito, AssertJ, Testcontainers to write unit- integration and end-to-end tests. Checking via JaCoCo (code overage) and mutation testing (pitest) and checking things via SonarQube. Also using security check tools like oss-index/owasp or alike.

All over that time I have always interacted with setting up the infrastructure for automatic building the software for example via CruiseControl, Continuum, Hudson, Jenkins, Nexus, SonarQube, Git, Gitea, etc. Also used Subversion for branching/merging. Also got entries in frameworks like Hibernate, Quartz, Spring, Axis2,

I got more and more involved with Mojo Haus Plugins, because I had found a number of bugs. I got the chance to provide a number of patches and being invited to become a committer on Mojo Haus (former Codehaus). This continued to the time being invited to become an Apache Maven committer and continued with invitation to become an Apache Software Foundation Member and finally become the Apache Maven Chairman.

I've done a lot of trainings (Git, Maven, Jenkins, Nexus, CI/CD consultancy and other things) over the time and also made lectures on different conferences like BaselOne, JAX, FOSDEM, CyberJug, UGDarmstadt etc.

I've started with a few YouTube videos about Apache Maven and Junit Jupiter.