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.
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
My sequence to grab audiobooks from a cd to hear later on a mp3 player. Grab as mp3:
abcde -o mp3
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_
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.
In some cases it is useful to store media files inside the python code itself. For images, PyEmbeddedImage and the script img2py.py work well. But for GIFAnimationCtrl no obvious solution is available, therefore I had to investigate the source code of wx.animate to find one.
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.
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.
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 “hello_world.py“. As it was feared, nothing worked immediately. The error was:
Traceback (most recent call last):
File "hello.py", line 19, in
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.
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 »
The official way to introduce custom styles to LyX is:
* the layout-file should be located in a special directory,
* after the layout file is changed, the user should:
. - execute re-configure and
. - restart LyX.
This way is too cumbersome for experimenting and developing styles. Fortunately, there is a solution.
I prefer to use TeX from TeXlive distribution, not the default TeX bundled with an operating system. The problem is that rpm and apt tools check dependencies and insist on installing the wrong TeX. To trick the system, a fake package should be made and installed.
vim includes many keyboard layouts, defined as mappings for symbols of the english layout. Unfortunately, these maps are not useful when the base layout is german. QWERTZ vs QWERTY is not the only difference. Now, deutsch-russisch und deutsch-arabisch vim keymaps sind da.
The keys “< " and "^" seem swapped, but otherwise the normal PC german keyboard layout for Mac OS X is here: http://powerbook.blogger.de/2004/01/26/58788/mein-deutsches-pc-tastatur-layout-fr-macosx-103/.
Sometimes vmware makes something very wrong, and X server do not understand the keys CTRL, ALT, SHIFT and similar anymore. Solution: “setxkbmap” without any arguments.
Read the rest of this entry »
From the delta debugging homepage: “With Delta Debugging, we can find failure-inducing circumstances automatically—circumstances such as the program input, changes to the program code, or program executions.” I tried to apply this technique to LaTeX, and surprisingly it worked. The code and samples of the experiment are uploaded on github.
The tools are:
* diffdelta.py: Finding which diff chunk causes an error.
* latexdd.py: Finding a minimal failing example
* stydd.py: sty-bug hunting
In some cases, macports can’t or should not download a file from internet. Instead, it should use an already downloaded local copy. Unfortunately, this use case is not supported, and a workaround is required.