Work Experience
Fields, Tools, and Languages
Topic | Details | Self-rating | ||
---|---|---|---|---|
[in alphabetic order] | [advanced] | [moderate] | [elementary] | |
adb | Classic Unix debugger | - | - | ✓ |
Apache2 | HTTP-Server configuration | - | - | ✓ |
ar | Classic unix object module librarian | - | ✓ | - |
Assembler | Machine level programming in general | ✓ | - | - |
6809 µP | - | ✓ | - | |
ARM Processor Family | - | - | (✓) | |
MIPS Processor Family | - | - | ✓ | |
awk | Classic Unix scripting language | ✓ | - | - |
bash | Prevalent Linux command language | - | ✓ | - |
Boost Platform | Set of libraries (depending on library) | some | some | some |
Bourne-Shell | Classic Unix command language | ✓ | - | - |
Busybox | Embedded Linux shell and commands | - | ✓ | - |
C | Computer language in general | ✓ | - | - |
Standard library | ✓ | - | - | |
Use in embedded environments | ✓ | - | - | |
C++ | Computer language in general | ✓ | - | - |
Standard library | ✓ | - | - | |
Use in embedded environments | ✓ | - | - | |
Template Metaprogramming | - | ✓ | - | |
C-Shell | BSD-Unix command language | - | - | ✓ |
Clearcase | Revision control system | - | - | ✓ |
CoffeeScript | C++ inspired object oriented JavaScript variant | - | ✓ | - |
CSS | Web-page style-sheet language | - | ✓ | - |
Curses | Classic Unix full screen text UI | ✓ | - | - |
Design Patterns | As presented in the "GoF"-book | some | most | all |
Docker | light-weight virtualization | - | - | ✓ |
Eclipse | General concepts | - | ✓ | - |
CDT: C/C++ programming IDE | - | ✓ | - | |
JDT: Java programming IDE | - | - | ✓ | |
Plugin Development | - | - | ✓ | |
ed / ex | Classic Unix line-based editors | ✓ | - | - |
Electric Engineering |
General knowledge | ✓ | - | - |
Electronic circuit design | [*] | ✓ | - | |
Embedded Linux | General concepts | - | ✓ | - |
System configuration | - | - | ✓ | |
Device Drivers | - | - | (✓) | |
FlexeLint (PC-Lint) | Static C/C++ code analyser | ✓ | - | - |
FP (general) | Functional programming | - | ✓ | - |
FPGAs | General Concepts | - | - | (✓) |
GetSimple | Content management system | - | - | ✓ |
GIT | Linux distributed version control | - | - | ✓ |
GNU awk | GNU extended version of awk | ✓ | - | - |
GNU bison | GNU extended version of yacc | - | ✓ | - |
GNU debugger | GNU extended debugger | - | (✓) | ✓ |
GNU flex | GNU extended version of lex | - | ✓ | - |
GNU ld | GNU object module linker | (✓) | ✓ | - |
GNU make | GNU extended build tool | - | ✓ | - |
Haskell | Functional programming language | - | - | (✓) |
HTML / xhtml | Web-page content language | - | ✓ | - |
Itcl [incr Tcl] | Object oriented scripting language | ✓ | - | - |
Java | Computer language in general | ✓ | - | - |
Standard library | - | ✓ | - | |
AWT: GUI programming library | ✓ | - | - | |
SWT: GUI programming library | - | ✓ | - | |
Swing: GUI programming library | - | ✓ | - | |
Javascript | Client-side (in web page) | - | ✓ | - |
Server-side (node.js) | - | (✓) | ✓ | |
JSON (data exchange) | (✓) | ✓ | - | |
Korn-Shell | Unix System V command language | - | ✓ | - |
ld | Classic Unix object module linker | - | ✓ | - |
lex | Classic Unix scanner generator | ✓ | - | - |
LibreOffice | General concepts | - | ✓ | - |
Calc: spreadsheet | - | ✓ | - | |
Draw: vector graphics | ✓ | - | - | |
Impress: presenter | ✓ | - | - | |
Writer: text processor | - | ✓ | - | |
make | Classic Unix build tool | ✓ | - | - |
Microsoft | Windows Operating System | - | - | ✓ |
Office (Word, Excel, Powerpoint) | - | - | ✓ | |
Visual Studio as C++ IDE | - | - | ✓ | |
Multiprocessing | General concepts | - | ✓ | - |
Unix/Linux including Posix IPC | ✓ | - | - | |
Multithreading | General concepts | - | ✓ | - |
Posix threads | - | ✓ | - | |
Boost threads | - | ✓ | - | |
C++11 threads | (✓) | ✓ | - | |
Java threads | - | ✓ | - | |
m4 | Classic Unix macro processor | - | ✓ | - |
NFS | Prevalent Unix network file system | - | ✓ | - |
OOA (general) | Object oriented analysis | - | ✓ | - |
OOD (general) | Object oriented design | ✓ | - | - |
OOP (general) | Object oriented programming | ✓ | - | - |
PHP | Web-page server-side programimg | - | - | (✓) |
Plan 9 | Unix successor from AT&T (Bell Labs) | - | - | ✓ |
Python | Scripting language | - | ✓ | - |
Standard Library | - | - | ✓ | |
Python/tkinter | Tk-based GUI programming library | - | ✓ | - |
Qt | C++ programming framework | - | ✓ | - |
RCS | Revision control system | - | - | ✓ |
Regular expressions | As used in many text manipulation tools | ✓ | - | - |
Rexx | IBM mainframe command language | - | - | ✓ |
SCCS | Classic Unix revision control system | - | ✓ | - |
sdb | Unix System V debugger | - | - | ✓ |
sed | Classic Unix stream editor | ✓ | - | - |
ssh / scp | Secure networking | - | ✓ | - |
Subversion | Revision control system | - | - | ✓ |
SQL | Database query language | - | - | ✓ |
Tcl | Scripting language and standard library | ✓ | - | - |
Tcl/Tk | Tcl GUI programming extensions | ✓ | - | - |
TCP/IP | Networking and socket programming | - | - | ✓ |
Tiddlywiki | Javascript-based "Personal Wiki" | - | ✓ | - |
troff / nroff | Classic Unix typesetting tools | - | ✓ | - |
UI5 | HTML5 based client UI technology | - | - | (✓) |
UML | Unified Modelling Language | - | ✓ | - |
Unix/Linux | General concepts | ✓ | - | - |
Administrative tasks | some | some | many | |
Common commands | many | some | most | |
System calls | some | many | most | |
Verilog | Hardware description language | - | - | (✓) |
VHDL | Hardware description language | - | - | (✓) |
vi | Classic unix full-screen editor | ✓ | - | - |
vim | Prevalent Linux full-screen editor | - | ✓ | - |
Virtualization | Virtual Box | - | - | (✓) |
VMware | - | - | (✓) | |
XML | Extended markup language | - | some | many |
yacc | Classic Unix parser generator | ✓ | - | - |
YAML | JSON-like data exchange / configuartion language | - | ✓ | - |
ZYNQ | XILINX FPGA with dual core ARM | - | - | (✓) |
Checkmarks enclosed in parentheses indicate currently explored fields.
[*: Some more recent achievements may lack from know-how in electronic circuit design.]
Core Topic since 2012
- Company specific develeoper trainings with a special focus on transitioning an existing code base from C to C++ (some extending into consulting and coaching contracts under an NDA)
Selected Projects from 40+Years
- Participating in the Redesign of a Bio-Medical Device in a team of twelve (2010 - 2011)
- Improving a Tcl/Tk-based Prototype of a Control Unit for Handling Robots in a team of two (2009)
- Designing and implementing a set of Tools for Tcl/Tk-based Software-Development in Embedded Linux (2009)
- Realizing a Tiny Framework for Performance Evaluations of C/C++ Code fragments (2008)
- Designing and Implementing a Web-based Backend for FlexeLint (2007)
- Working as C++-Coach for an International Project in a team of several hundred (2004 - 2007)
- Reviewing an Robotics Gripper Arm Control Algorithm written in C followed by a C++ re-implementation with extensions in a team of four (2003)
- Implementing a Pin-File-Editor for easier input and validation of chip specifications in Tcl/Tk (2001)
- Designing and building a Centronics Interface for a Paper Tape Punch (1985)
- Implementing a Multi-User Inventory Control System for UniFLEX (1982 - 1984) and a successor for Xenix and Unix System V (1986 - 1987)
- Participating in various Industry Solutions based on the IBM 5110 single user computer (1979 - 1981)
- Designing and building a Modular Measuring System for experiments at the Hochspannungs-Institut (High Voltage Department) of TH-Darmstadt (1980)
- Redesigning the "Analogue Computer Experiment" at the Institut für Messtechnik (Measuring Technique Department) of TH-Darmstadt (1978)
- Various contributions to Circuit Design Contests of the German Magazins Funkschau and Elektronik (1975 - 1977)
- Building a Serial Arithmetic Unit from Simulog components (1971)
There are no projects worth mentioning between 1988 and 2000 as during that stretch of time my work was mostly centered on giving trainings.