I don’t know why, but setting up the build system for a new software project and maintaining it seems to be something people are always afraid of. I’ve often heard people say “Eclipse does the job. It’s just additional work.” This usually leads to confusion and a lot of bulk and weird solutions several days … Read More →
Difference between comparisons with == and is in Python
In Python, two operators exist to perform equality comparisons: == and is. Often you can read instructions like “When comparing to None, always use is instead of ==”, but the real reason is not explained. However, looking at the language expression specification section of the Python manual you can find the difference: “The operators is and is not test for … Read More →
Android Update to CyanogenMod 10
I finally took the time and updated my “old” Samsung Galaxy S+ (GT i9001) from the Stock 2.3.6 version of Android to CyanogenMod 10, beta 4. I really should have done this earlier. The stock version was getting slower and slower over time without any apparent reason and no update to a newer version was … Read More →
Website Updates
After serveral years I finally managed to restructure my websites. The blog here was kind of infrequently used and the photography section pointed to my flickr account using a flash viewer. Especially with this photography portfoilio there were several things that I did not like: First of all this wasn’t a portfolio at all with … Read More →
copyiptcandxmp updated
I have updated the script formerly called “fixgpsandtags” so that it can now be used to more generally copy IPTC and XMP data to processed images. Therefore it is now called “copyiptcandxmp”. Such a step is often necessary because raw processing tools ignore XMP or IPTC completely. This script simplifies the process because several patterns … Read More →
Relative RPath Settings with CMake
The run-time search path (rpath) defines paths to search for dynamic libraries when executing a program. It is a mechanism on Linux parallel to the LD_LIBRARY_PATH environment variable, which is another hint to find dynamic libraries. Usually, it is a good idea to make software which you built relocatable. This means that created binaries can … Read More →
New script added
fixgpsandtags
Using Dependency Tracking in Jenkins with CMake-based C++ Projects
If you are building multiple related software projects with a continuous integration server one important aspect is to be notified when changes in an upstream job break the build or tests for a downstream job. This involves knowing which exact build numbers of the upstream and the downstream job are involved. The Jenkins continuous integration … Read More →
Gcov Coverage Reports in Jenkins
I am currently evaluating the applicability and limitations of the Jenkins continuous integration server for C++ development. Besides several limitations which are mainly caused by the complexity of C++, Jenkins provides a solid basis for continuous integration of C++ projects. One thing which I was not happy with so far was the missing integration of … Read More →





