Generating Excel XML, avoiding “found unreadable content”

September 30th, 2015

In theory, changing content of an Excel file is easy:

* Parse XML from the zip-file
* Change XML
* Save XML into the zip

In practice I got the error: >>Von Excel wurde unlesbares Inhalt in … gefunden. Möchten Sie den Inhalt dieser Arbeitsmappe wiederherstellen?< < (English: "Excel found unreadable content...")

Read the rest of this entry »

Tkinter sample application for a long operation

July 9th, 2015

In the year 2001 I started to experiment with GUI applications in Python. The experience was summarized and published in the article “A complete Python Tkinter sample application for a long operation“. Now, in the year 2015, a programmer have sent me an updated code. With the minimal changes, which mostly are update of the names of Tkinter modules, the code works.

Read the rest of this entry »

fast-disable css in firefox

April 17th, 2015

Sometimes I want to read a web page without its design “improvements”. In many case it is enough to switch off css, and in firefox this functionality is built-in. Shift+F7 to get the developer tools. Thanks stackoverflow for the hint.

Workaround for: CTR mode needs counter parameter, not IV

February 20th, 2015

After upgrading the local Linux system, my python paramiko (ssh protocol implementation) program stopped working, with the error message:

CTR mode needs counter parameter, not IV

Read the rest of this entry »

using freebidi from python using ctypes

December 8th, 2014

GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi). There is a Python binding PyFribidi, but it is not complete. What I need is not a visual presentation of a string, but information where direction is changing. This function is not provided by the binding, therefore I’ve made an alternative using ctypes.

Read the rest of this entry »

certification 77-887 Microsoft Office Word 2010 Expert

October 6th, 2014

My advice: do use the “second shot” option. At least, I failed to pass the first attempt and had to try again. What was wrong:

* I needed time to adapt myself to the testing interface, and probably made something wrong in several first exercises.
* A few tasks are a bit unusual and I spent too much time on them. You should remember them and do homework.
* I work bad under under time pressure.

The best preparation resource I found is this youtube transcript: It is in French, but everything is clear, especially after the first certification attempt.

On the second attempt, passed. 918 out of 1000 is more than enough.

User TeX Live 2013 repository when 2014 is the default

July 7th, 2014

I’ve tried to install a TeX package and got the error message:

tlmgr: The TeX Live versions supported by the repository
do not include the version of the local installation

Read the rest of this entry »

how to start vmware

March 17th, 2014

By me, vmware doesn’t start without twicks. A normal rum produces something like:

process 3954: Attempt to remove filter function 0xb6ad0690 user data 0xb7896048, but no such filter has been added
D-Bus not built with -rdynamic so unable to print a backtrace

In my case the solution is to start HAL daemon before running vmware.

python libxml2: save XML as HTML

October 31st, 2013

HTML is the main output format for XML transformations. Every XSLT-processor, including libxslt/libxml2, supports it. But if you transform a libxml2 tree manually, you are in trouble. You can save XML only as XML, not as HTML. A solution is required. My version is not elegant, but works.

Read the rest of this entry »

using xlrd and formatting Excel numbers

October 22nd, 2013

The number (and dates) in Excel are float numbers. How these numbers are displyed to an user — as an integer, or with two digits after a point, etc — are defined by the cell format. Unfortunately, xlrd does not support number formatting. It is your task to interpret the format and display the number as expected. My code can probably help. Download xlrd-format-excel-number

Read the rest of this entry »

from an audiodisk to a mp3 player

August 17th, 2013

My sequence to grab audiobooks from a cd to hear later on a mp3 player. Grab as mp3:

abcde -o mp3

Read the rest of this entry »

pyinstaller, wxpython, _core_ not found

July 31st, 2013

Sometimes an error and the error message are different things. One of the examples is that my wxpython-program did not want to start after converting to exe using pyinstaller:

ImportError: No module named _core_

Read the rest of this entry »

learn foreign language with Audacity

June 6th, 2013

Pauken, a plugin for Audacity, adds silence and multiplies a selected audio fragment. It helps when you learn foreign languages by listening and repeating phrases after a speaker. Download Pauken here or from the audacity forum.

latex cals tables version 2.2

June 6th, 2013

I’ve updated “cals” package — multipage tables with wide range of features — to version 2.2. In the new version, alignment of tables should work. Also, I’ve added hooks for the package “bidi” (right-to-left writing support). CTAN is updated, and the coming TeX Live 2013 should include the new version.

wxPython GIFAnimationCtrl: embed animation gif in the source code

March 27th, 2013

In some cases it is useful to store media files inside the python code itself. For images, PyEmbeddedImage and the script work well. But for GIFAnimationCtrl no obvious solution is available, therefore I had to investigate the source code of wx.animate to find one.

Read the rest of this entry »

vmware 8.0.5 (and maybe 8.0.4) on kernel 3.7.5-std-pae-alt1

February 4th, 2013

Each kernel upgrade causes a pain with vmware. This time (3.7.5 with PAE option) is not an exception. However, only two manual interventions were required to compile vmware kernel modules.

Read the rest of this entry »

Subversion is not available, temporary switch to RCS

January 30th, 2013

The server with the subversion repository has crashed. Repair takes a few days. How to work during repair? Git isn’t a solution, because man had to switch before the disaster, not after.

My answer is: temporary switch to RCS.

Read the rest of this entry »

solved: createInstanceWithContext: Binary URP bridge disposed during call

January 9th, 2013

I decided to experiment with OpenOffice automation from Python, found the official PyUNO wiki, followed the “a must read” link PyUNO bridge and tried the proposed hello-world program ““. As it was feared, nothing worked immediately. The error was:

Traceback (most recent call last):
  File "", line 19, in 
    desktop = smgr.createInstanceWithContext( "",ctx)
__main__.RuntimeException: Binary URP bridge disposed during call

Read the rest of this entry »

illegal XML characters

November 1st, 2012

Sometimes I dump binary data into XML. Being aware of illegal bytes (0-8,B-C,F-1F), I encode everything in base64. But there is a nice alernative way, just revealed by Roger Costello in the xml-dev maillist:

Move any illegal characters into the Private Use Area: for each illegal character add hex E000.

xml.etree.ElementTree and processing instructions

June 19th, 2012

Python standard library xml.etree.ElementTree is convenient to work with a simple subset of XML. Unfortunately for me, this subset does not include processing instructions, therefore an workaround is required.
Read the rest of this entry »