Unter gewissen Umständen, wie zum Beispiel durch die Parallelinstallation von Open Office, kann es vorkommen, dass die Office-Dateitypen (doc, docx, xls, xlsx, etc.) nicht mehr den Microsoft Programmen zugeordnet sind oder gar keine Zuordnung zu irgendeinem Programm mehr vorgenommen wurden. Da es sich um recht viele unterschiedliche Dateiendungen handelt, kann die manuelle Zuordnung ein mühsames Geschäft sein. Einfacher geht es, wenn die entsprechen Office-Programme mit dem Parameter -r aufgerufen werden. Dadurch erfolgt die automatische Zuordnung aller Dateitypen.
Firefox 3 und selbstsignierte SSL-Zertifikate
Unter Firefox 3 ist es per Default recht umständlich selbstsignierte SSL-Zertifikate zu akzeptieren. Hat bei vorherigen Versionen noch ein Klick auf „Zertifikat akzeptieren“ genügt, verlangt Firefox 3 nun gleich Bestätigungen. Grundsätzlich ist dies Verhalten von Firefox 3 durchaus sinnvoll, weil es häufig keine gute Idee ist leichtfertig Zertifikaten zu vertrauen, die der Anbieter selbst signiert hat.
Wen das Verhalten als erfahrenen User nervt, kann es zum Glück abstellen:
Dazu genügt es in die Adresszeile about:config einzugeben folgende Einträge zu konfigurieren:
- browser.xul.error_pages.expert_bad_cert = true
- browser.ssl_override_behavior = 2
wget aufbohren: dotfiles per –mirror mitkopieren
Ich benutze GNU wget gerne um verschiedene Websites per FTP mit dem Parameter --mirror zu spiegeln. Leider werden dabei versteckte Dateien (so genannte dotfiles) wie etwa .htaccess nicht berücksichtigt. Nach eingehendem Studium der manpage stellte ich enttäuscht fest, dass wget tatsächlich keine Option zur Lösung des Problem vorsieht.
Aber zum Glück lässt sich GNU wget als Open-Source-Software an die eigenen Bedürfnisse anpassen, so dass ich folgenden q&d Patch „entwickelte“.
— wget-1.10.2_orig/src/ftp-basic.c 2005-06-19 15:47:10.000000000 +0200
+++ wget-1.10.2/src/ftp-basic.c 2007-04-21 14:17:33.000000000 +0200
@@ -977,7 +977,7 @@
uerr_t err;
/* Send LIST request. */
– request = ftp_request („LIST“, file);
+ request = ftp_request („LIST -a“, file);
nwritten = fd_write (csock, request, strlen (request), -1.0);
if (nwritten < 0)
{
[/code]
wget ftp://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz
tar -xzf wget-1.10.2.tar.gz
patch -p0 < wget-1.10.2_dotfiles
./configure
make
make install
Es genügt also LIST -a anstatt LIST an den FTP-Server zu senden, um wget zu überreden auch dotfiles rekursiv zu kopieren.
Der Patch ist – wie gesagt – ein übler Hack, der mir zur schnellen Lösung eines Problems dienen solle. Für mich funktioniert er gut. Perspektivisch wäre es jedoch wünschenswert durch einen Parameter zwischen LIST und LIST -a wählen zu können. Nach meiner mündlichen Diplomprüfung werde ich das sauber implementieren und als Feature vorschlagen.
EDIT 16:40: Hier gibt es einen sauberen Patch, allerdings nur für Version 1.9.1. Doch es sollte nicht allzu schwer fallen ihn auf die aktuelle Version zu portieren.
Google Analytics mit Privoxy filtern
Meine Meinung über Google Analytics ist ambivalent: Einerseits ist Google Analytics ein hervorragendes Analysetool, das Möglichkeiten bietet, die kostenlos sonst nirgends zu finden sind. Andererseits beunruhigt mich, dass die von Google Analytics gesammelten Daten von Google beliebig verwendet werden können. Schon alleine die Daten, die Google für Webmaster aufbereitet, zeichnen das Bild vom gläsernen Surfer – und es darf davon ausgegangen werden, dass Google durch Kombination verschiedener Analyticsdaten noch weitaus mehr über die Besucher einer Website in Erfahrung bringen kann, als sich dem Webmaster offenbart. Derzeit überwiegen meine Bedenken gegenüber Google Analytics. Darum arbeitet meine Privoxyinstallation seit heute mit folgendem Filter:
FILTER: google-analytics Zapp Google Analytics Tracking s@<script \s[^>]*google-analytics\.com/urchin\.js[^>]*>[\s.]*</script>@>@Uig s@urchinTracker\(\);@@Uig s@]*;@@Uig
Die regulären Ausdrücke lassen sich gewiss noch verfeinern, aber für mich arbeitet der Filter momentan zufriedenstellend. Verbesserungsvorschläge sind aber natürlich immer willkommen. 🙂
Neben dem wiedergewonnenen Stückchen Anonymität ergibt sich ein erfreulicher Nebeneffekt: Die Ladezeit vieler Websites, die Google Analytics verwenden, verkürzt sich wesentlich.
Die ideale Textverarbeitung
Ich habe gerade eine mit Word verfasste Facharbeit korrigiert und weiß seitdem LaTeX immer mehr zu schätzen. Beim Überarbeiten des Textes fiel mir auf, wie wenig Bestand das Argument hat, visuelle Textverarbeitungen seien für Einsteiger besser geeignet. Natürlich kann jeder mit Writer oder Word einen Text verfassen – die Frage ist nur wie. Da werden Inhaltsverzeichnisse mit Leerzeichen manuelle erstellt und Seitenzahlen händisch eingefügt, weil sie erst ab einer bestimmten Seite beginnen sollen. Das Ergebnis solcher Bedienungsfehler sind kaum zu überarbeitende Dokumente. Eine benutzerfreundliche Textverarbeitungen sollte es dem Benutzer vor allem so schwer wie möglich machen, sie falsch zu bedienen. Und das vermögen visuelle Textverarbeitungssysteme momentan noch nicht zu leisten – im Gegenteil, sie laden den unbedarften Benutzer ein groben Unfug anzustellen.
Kompilierende Textverarbeitungssysteme wie LaTeX hingegen setzen zwar einen gewisse Einarbeitungszeit voraus, führen jedoch schneller zu besseren Ergebnissen. Wer unter Latex ein Inhaltsverzeichnis anlegen möchte, muss in Handbüchern nachschlagen und erfährt dort, wie es geht. Der Zeitaufwand dafür dürfte weitaus geringer ausfallen als der, den manch unbedarfter Benutzer damit verbringt zu Fuß ein Inhaltsverzeichnis anzulegen, ohne dabei je zu einem brauchbaren Ergebnis zu gelangen. Doch es ist verständlich, dass nicht jeder Mensch gewillt ist einen Markupcode zu erlernen, um effizient Texte zu verarbeiten.
Tatsächlich bieten moderne visuelle Textverarbeitungen Werkzeuge an, die es ermöglichen ein Dokument logisch zu strukturieren. Dennoch werden diese Möglichkeit nur von wenigen, fortgeschrittenen Anwendern wahrgenommen. Der Grund dafür ist wohl in der Philosophie von visuellen Textverarbeitungssystemen zu suchen und im Aufbau ihres Benutzerinterface: Im Vordergrund stehen Aussehen und Präsentation der Inhalte, nicht aber semantische Zusammenhänge.
Eine gute Textverarbeitung sollte so konzipiert sein, dass sie Anwender nicht mit Möglichkeiten zur Textgestaltung erschlägt, sondern sich an Semantik eines Dokuments orientiert. Der Anwender sollte dazu angeleitet werden erst die semantischen Zusammenhänge zu formulieren, dann den Text zu schreiben und abschließend über eine zentrale Formatvorlage das Layout zu bestimmen. Auf diese Weise wäre sogar eine Crossmediapublishing denkbar und der Textprozessor wäre austauschbar. Soll heißen, ein solche Textverarbeitung wäre in der Lage zum Beispiel LaTeX-Code zu erzeugen, um wirklich gut aussehende Dokumente zu generieren und würde zugleich die Komplexität von LaTeX auf ein für Gelegenheitsschreiber erträgliches Maß abstrahieren.