This site will look much better in a browser that supports webstandards , but it is accessible to any browser or Internet device.

Professional Hardwarenear Programming

Professional Hardwarenear Programming

This is my little collection of information about professional hardwarenear software development. It is meant for developers that work with me and also for anyone else interested in how things are done in 'heavy duty' environment for 'highly available' systems. One subject is the development of server applications, which are I always develop using pure platform independent C++. One other subject is the development of Linux kernel device drivers, of course developed in C (the stuff most modern operating systems are made of). Next is system near utilities, which I sometimes develop in C and sometimes in C++, depending what suits best. When using C++, pointers are always encapsulated into smart-pointer templates and pointers are never used as function arguments, but references and const-references. Of course the most important and powerful C++ library, the Standard Template Library (STL) is the basic pillar of all my C++ programming. You will never find any direct call to new/delete, new[]/delete[] or malloc/free in our C++ programs, except it is hidden inside a smart-pointer template or an STL container. Typically STL containers internally manage the heap memory very efficient and safe, as smart-pointers do.

There is one thing I like to mention right at the beginning: the quality of a developer's work does not come by the tools he/she is using. There are 3 things making a good developer: first is practicing, second is practicing and third is practicing. If a developer is doing those 3 things for years, day by day, he/she may become a good developer. That's directly comparable to a musician or to a person doing martial arts or to a person doing any other kind of creative performance. But still there is one more and at the same time the most important thing: the developer always needs to be in the search of beauty. But this is not something that he/she can learn. Even the brain is wired like 'being in the search of beauty' or not. The style and beauty of a programmer's source code reflects the way his brain acts while solving software problems. Programmers excusing for their formatting and style by 'cleaning will be done later' are simply looking for a way to hide that they are not in the search of beauty.

Next thing I like to mention: it is hard to divide the programmers of the 'Google generation' into 'pretenders' and 'makers', as Google and the Internet as such is the ideal tool to support and hide pretenders. Just one thing is sure here: a pretender will always be a pretender. The only thing that improves with a pretender over the time, is the efficiency of how he/she hides his/her incompetence. So just believe in facts here: continuity of the work, time spent to do a job, quality and beauty of the result.



Peter Thoemmes, Dipl.-Ing.(FH) Dipl.-Ing.(UNI)

Weinbergstrasse 3a

D-54441 Ockfen

Peter Thoemmes - Picture