Skip to content

Kommentare zum Python-3-Buch

Im letzten Semester habe ich erstmals mein Buch „Grundlagen der Ingenieurinformatik mit Python 3“ online gestellt. Das Buch steht unter einer Creative-Commons-Lizenz und darf (bei Namensnennung) beliebig weitergegeben werden. Das führt nun dazu, dass es auch von vielen außerhalb der eigentlichen Zielgruppe (den Bauingenieurstudenten der Hochschule Bochum) gelesen wird. Mich interessiert, wie jemand den Text wahrnimmt, der nicht die dazu gehörende Vorlesung besucht hat. In der PDF-Datei befindet sich daher auf der letzten Seite ein Link auf diesen Blogeintrag mit der Bitte um Kommentare – zu denen ich hiermit herzlich einlade.

QEMU/KVM: Schrift unscharf, Fenstergröße wiederherstellen

Mit einer der letzten QEMU-Versionen kam ein scheinbar nettes Feature dazu: Die Größe des Client-Fensters lässt sich jetzt stufenlos in der Größe verändern. Alle Inhalte werden automatisch skaliert und man kann mit einem Blick einen ganzen Bildschirm voller virtueller Windows-Maschinen überwachen.

Dusseligerweise gibt es wohl keine Funktion, um die Originalgröße eines Fensters wiederherzustellen. Das ist ärgerlich, weil schon bei einem Pixel Abweichung alle Schriften unscharf und matschig interpoliert werden. Um die knackige Cleartype-Darstellung von Windows XP, Windows Vista oder Windows 7 ist es dann geschehen.

Abhilfe ist mit dem praktischen Programm "xdotool" möglich. Dieses kann nicht nur beliebige Tastendrücke und Mausklicks an beliebige Fenster schicken, sondern auch jedes Fenster pixelgenau in der Größe ändern. Folgende zwei Zeilen beispielsweise setzen das QEMU-Fenster auf die Größe 1024×768 Pixel:

fenster=`xdotool search --title QEMU`
xdotool windowsize $fenster 1023 767


Der Trick besteht darin, einen jeweils um 1 geringeren Wert als die tatsächlichen Fenstermaße zu nehmen, da nicht die Höhe und Breite übergeben wird, sondern die jeweils größten x- und y-Werte, deren Zählung klassischerweise bei null beginnt.

Falls es mehrere Fenster mit dem Namen "QEMU" gibt, kann man auch alle mit einer kleinen Schleife auf die richtige Größe bringen:

fensterliste=`xdotool search --title QEMU`
for fenster in $fensterliste; do
xdotool windowsize $fenster 1023 767
done


Das Programm xdotool ist in Synaptic bereits aufgeführt und kann einfach durch Anklicken in der Paketverwaltung oder mit dem Kommando
sudo apt-get install xdotool
installiert werden.

Ein Dankeschön an Al Dimond!

Microsoft Office 2007 unter Ubuntu Linux 9.10 installieren – mit Winetricks

Das Skript Winetricks des Google-Programmieres Dan Kegel installiert so viele frei erhältliche Windows-Komponenten, dass das bis dahin unmögliche gelingt: die Installation von Microsoft Office 2007 unter Linux. Bei meinem Experiment unter Ubuntu Linux 8.10 war ich im vergangenen Jahr nicht erfolgreich. Unter Ubuntu Linux 9.10 funktionierte es nun nach dieser Anleitung auf Anhieb. Anscheinend lag das Problem nicht nur an der zu alten Wine-Version, sondern auch daran, dass Winetricks bestimmte Komponenten in einer festen Reihenfolge installieren muss.

Zuerst einmal werden gültige Lizenzen sowohl von Microsoft Office (logisch) als auch von Microsoft Windows benötigt. Letztere ist erforderlich, weil Winetricks Komponenten lädt, deren Benutzung laut EULA nur erlaubt ist, wenn eine Windowslizenz vorliegt. Glücklicherweise wird nicht verlangt, dass die Installation tatsächlich auch unter Windows erfolgen muss.

Wenn das geklärt ist, kann die benötigte Software installiert und das Winetricks-Skript verwendet werden. Dies geht am besten in einem Konsolenfenster. Die folgenden Befehle müssen nacheinander eingegeben werden.

sudo aptitude install wine1.2
sudo aptitude install cabextract
wget http://www.kegel.com/wine/winetricks

Nun müssen per Winetricks die auf der Microsoft-Office-CD fehlenden Laufzeitkomponenten nachinstalliert werden. Wer mag, kann den ganzen folgenden Block kopieren und im Terminalfenster einfügen:

sh winetricks dotnet11
sh winetricks gdiplus
sh winetricks vb3run
sh winetricks vb4run
sh winetricks vb5run
sh winetricks vb6run
sh winetricks msxml3
sh winetricks msxml4
sh winetricks msxml6
sh winetricks riched20
sh winetricks riched30
sh winetricks vcrun6

Abschließend kann mittels wine /media/cdrom/setup.exe das Installationsprogramm von der CD gestartet werden. Nach der Installation ist Microsoft Office 2007 unter "Anwendungen – Wine – Programme" zu finden.

Spaß mit Webfaking

Wer schon immer einmal seinen Namen auf den Titelseiten der großen Onlinemagazine stehen sehen wollte, es jedoch bisher partout nicht schaffte, irgendeinen einschlägigen Starreporter auf sich aufmerksam zu machen, surft nun einfach seine Lieblingsmeldung im Web an, gibt

javascript:document.body.contentEditable='true'; document.designMode='on'; void 0


gefolgt von einem Druck auf die Entertaste in der Adresszeile des Browsers ein und kann nun nach Herzenslust den Text der Webseite verbessern.

Vom hohen Quatschfaktor mal abgesehen zeigt diese Methode vor allem, wie nahe bei null die Beweiskraft von Bildschirmfotos im Internet ist.

JPEG-Kommentar mit Nautilus-Skript bearbeiten (Gnome/Ubuntu Linux)

Zu Windowszeiten war ich ein großer Fan des Bildbetrachtungsprogramms IrfanView. Ein Feature, das ich besonders mochte, war die Möglichkeit, JPEG-Fotos um einen kurzen oder bis zu 64.000 Zeichen langen Kommentartext zu ergänzen, der direkt (und unsichtbar) in der Bilddatei gespeichert wurde und dadurch alle Kopier-, Verschiebe- und sonstigen Aufräumaktionen unbeschadet überlebte. Leider ist die Unterstützung des JPEG-Kommentarfeldes in den meisten Linux-Bildbetrachtern überhaupt nicht angesagt. Manche, wie gThumb, haben zwar eine Kommentarfunktion, speichern den Text aber separat und nicht in der Bilddatei, was die Funktion für mich wertlos macht.
Zum Glück gibt es in Nautilus die Möglichkeit, das Rechtsklickmenü um eigene Skripte zu erweitern, die einfach im Ordner ~/.gnome2/nautilus-scripts/ abgelegt werden. Jetzt kann ich meine Bildkommentare bequem im Texteditor bearbeiten. Alles was benötigt wird, befindet sich im Paket "libjpeg-progs". Darin sind zwei Konsolenprogramme namens "rdjpgcom" und "wrjpgcom" enthalten, die das JPEG-Kommentarfeld lesen und schreiben können. Nun muss nur noch im Skriptverzeichnis von Nautilus eine ausführbare Textdatei angelegt werden. Diese könnte beispielsweise "JPEG-Kommentar bearbeiten" heißen und folgenden Inhalt haben:
#!/bin/bash
rdjpgcom $1>$1_comment.txt
gedit $1_comment.txt
mv $1 $1_original.jpg
wrjpgcom -replace $1_original.jpg < $1_comment.txt > $1

Dieses Grundgerüst benötigt, um richtig benutzerfreundlich zu sein, noch ein paar Abfragen. So sollte das fertige Skript zum Beispiel testen, ob der von Nautilus übergebene Dateiname "$1" überhaupt zu einer JPEG-Datei gehört oder ob der Kommentar überhaupt geändert wurde. Hinterher aufzuräumen und die beiden zwischenzeitlich angelegten Dateien mit der Originalbilddatei und dem Kommentartext wieder zu löschen, wäre auch keine schlechte Idee. In der vorliegenden Form macht das Miniskript folgendes (in Nautilus sei, um nicht zu abstrakt zu werden, die Datei "bild.jpg" ausgewählt worden): Es liest den Kommentar aus "bild.jpg" und schreibt ihn in die Datei "bild.jpg_comment.txt". Diese wird im Texteditor bearbeitet, das Bild in die Datei "bild.jpg_original.jpg" gesichert, aus dieser wird der alte Kommentar entfernt und der Rest der JPEG-Datei zusammen mit dem neuen Kommentar wieder als "bild.jpg" gespeichert.