Author Archives: paolog

About paolog

homo technologicus cynicus

The quest for a decent Android RSS aggregator

Do you pick posts to read on your 7″ Android tablet from a few RSS feeds ? Do you need an Android app to aggregate them, download the posts for offline reading and present them in a clean, lightweight list … Continue reading

Posted in Howtos, Rants | Leave a comment

Subscribing to trac’s RSS feed

With trac version 0.11.7 we hit a bug where requesting the timeline RSS triggers a UnicodeDecodeError. This can be fixed by changing line 224 of the file /usr/share/pyshared/buildbot/status/web/feeds.py as follows: unilist.append(unicode(line,’utf-8′,’replace’)) where we exploit the more recent resilient version Python’s unicode function: with the … Continue reading

Posted in Howtos, Rants | Tagged | Leave a comment

Howto output XLSX files from C++

The title of this post should really be: Howto output Office Open XML (OpenXML) spreadsheet files from native C++ with as little hassle and unwanted dependencies as possible. We will not discuss the many other options available, both commercial and … Continue reading

Posted in C++, Howtos | Leave a comment

Howto diff XML files or assemblies thereof such as OpenXML or ODF files

Office Open XML or Open Document Format for Office Applications (ODF) are both zipped, XML-based file formats, that can be extracted to directories. Diffing XML files is tricky because the common diff tools may be confused by different line endings … Continue reading

Posted in Howtos | Leave a comment

git push errors “insufficient permission for adding an object to repository” and “unpack failed: unpack-objects abnormal exit”

We occasionally have this error when pushing to a git repository: $ git push Counting objects: 7, done. Delta compression using up to 2 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (4/4), 1.14 KiB, done. Total 4 (delta … Continue reading

Posted in Howtos | Leave a comment

Howto link in boost::test on select platforms and get smaller test executables

The most useful boost libraries are include-only so it is handy to install just the boost headers on the select platforms (i.e. Windows) where it is cumbersome to install the compiled boost libs. If you are using boost::test Unit Test … Continue reading

Posted in Howtos | Tagged | Leave a comment

Connecting LIBPF OPC to a Honeywell TPN Server via DCOM

The current DCS offering from Honeywell is Experion PKS, but there are still many plants around which use the previous system, Total Plant Solution (TPS). On the TotalPlant Process Network (TPN) , additional applications are run on the Application Processing … Continue reading

Posted in Howtos | Leave a comment

Detecting non-ASCII characters in a text file

Our internal coding standard for C++ source files dictates that 7-bit US-ASCII should be used for file encoding. This decision is based on the fact that the current C++ standard (2003) limits characters that can be used in variable and … Continue reading

Posted in C++, Howtos | Leave a comment

Analyzing and manipulating settings.xml of LIBPF OPC

LIBPF OPC is the LIBPF module that adds plant control system connectivity via the Classic OPC interface (OPC DA). The module is configured using the LIBPF OPC Configurator, but the underlying configuration data are stored in an XML file called settings.xml. … Continue reading

Posted in Uncategorized | Leave a comment

Step-by-step guide: adding new files to a LIBPF project

Reference documentation is great, but often boring to read and not helpful to solve specific problems that arise in day-to-day use. To tackle these, a step-by-step guide can be helpful. Here is one such step-by-step guide for adding a new … Continue reading

Posted in C++, Howtos, Uncategorized | Leave a comment