Automatische Vervollständigung in Firefox

Firefox kann Eingaben in Formularfeldern automatisch vervollständigen. Allerdings werden auch Eingaben mit Tippfehlern gespeichert. Das ist sehr störend. Unerwünschte Einträge aus dieser Autocomplete-Liste können folgendermaßen gelöscht werden:

  1. In einem Formularfeld die ersten paar Buchstaben des zu löschenden Eintrags eingeben, damit dieser erscheint:
  2. Den unerwünschten Eintrag mit dem Mauszeiger oder den Pfeiltasten auswählen:
  3. “Shift + Entf” drücken.
  4. Der fehlerhafte Eintrag ist gelöscht:

EPS, LaTeX und PSfrag

Wer längere Texte wie z.B. Diplomarbeiten mit LaTeX schreibt, möchte auch hochwertige Abbildungen in das Dokument einfügen. Mit dem “normalen” latex müssen die Grafiken dazu im EPS-Format vorliegen. Mit pdflatex dagegen werden Rastergrafikformate wie JPEG oder PNG benötigt. Hier ist es nicht (direkt) möglich EPS-Dateien einzubinden.
Dieser Artikel beschäftigt sich mit der ersten Methode, der Einbindung von EPS-Grafiken mit Hilfe von “latex”, denn diese Vorgehensweise hat einen Vorteil. Es ist möglich die Beschriftungen der Grafiken in der jeweiligen LaTeX-Schriftart darstellen zu können und dabei auch den Mathematik-Modus von LaTeX zu nutzen. So kann das Schriftbild innerhalb des Dokuments vereinheitlicht sowie Formeln und Formelzeichen LaTeX-typisch sehr hochwertig dargestellt werden.

Voraussetzungen

Die Ersetzung der Schriftart wird von  LaTeX-Paket PSfrag vorgenommen. Wenn es noch nicht in der verwendeten TeX-Distribution enthalten ist, muss es zunächst installiert werden. Ebenfalls benötigt wird das Paket graphic oder graphix.

Hier ein Minimalbeispiel für die Verwendung von PSfrag:

  1. \begin{figure}
  2. %Text omega_f durch entsoprechendes Symbol ersetzen
  3. \psfrag{omega_f}{$\omega _f$}
  4. \includegraphics{grafik}
  5. \end{figure}

Leider funktioniert das nicht mit jeder beliebigen EPS-Datei. Der zu ersetzende Text muss im Klartext in der Datei stehen. Das kann man überprüfen, indem man die EPS-Datei in einem Texteditor öffnet und nach der zu ersetzenden Zeichenfolge sucht.

 

Warum sind nicht alle EPS-Grafiken kompatibel?

Wenn der Text im Klartext angegeben wird, ist auch die Schriftart, in der der Text dargestellt werden soll, im EPS angegeben. Wenn nun die Grafik auf einem System geöffnet wird, das nicht über diese Schriftart verfügt, wird eine andere Schrift zur Anzeige verwendet. Das Ergebnis sieht dann u.U. deutlich anders aus. Diese Art von EPS-Dateien ist also nicht portabel. Wird die Schrift dagegen in einen Pfad umgewandelt und als Vektorgrafik in die EPS-Datei eingebettet, muss die Schriftart auf dem System nicht vorhanden sein; das Ergebnis sieht immer gleich aus. Diese Lösung ist also portabel, aber leider nicht kompatibel mit PSfrag. Welche Methode der Entwickler der verwendeten Software implementiert hat, lässt sich meist nur durch eigene Experimente herausfinden.

Übersicht über den EPS-Export verschiedener Programme

DIA
Kompatibler Export möglich. Zur Konvertierung von DIA nach EPS auf der Konsole

  1. dia -e out.eps -t eps-builtin in.dia

 

MATLAB
Der eingebaut EPS-Export ist inkompatibel. Mit LaPrint kann aber eine kompatible EPS-Datei zusammen mit einer TeX-Datei, die die benötigten PSfrag-Ersetzungen bereits enthält, erzeugt werden.

MAPLE
In MAPLE 11 ist der EPS-Export inkompatibel. Ein Workaround ist mir nicht bekannt. Frühere MAPLE-Versionen sollen u.U. kompatibel sein.

OpenOffice Draw

EPS-Export inkompatibel. Der auf OpenOffice.info beschriebene Weg funktioniert in den Versionen 2 und 3 nicht mehr.

Migration Ice Gallery von Joomla 1.0 nach 1.5

Die Ice Gallery ist eine Bildergalerie für Joomla, die auf dem Code der nicht mehr gepflegten Zoom Media Gallery basiert. Leider gibt es für die Migration einer alten Installation unter Joomla 1.0 kein Migrationsskript. Daher hier die Beschreibung eines manuellen Weges für die Migration nach Joomla 1.5.

  1. Vollbackup der alten Installation, d.h. sowohl Dateisystem als auch Datenbank
  2. Mit phpMyAdmin die fünf Tabellen „jos_ice“, „jos_icefiles“, „jos_ice_comments“ „jos_ice_ecards“ und „jos_ice_memory“ in eine SQL-Datei exportieren, dabei „vollständige Inserts“ und “drop tables”  aktivieren
  3. Die SQL-Datei in einem UTF8-fähigen Texteditor öffnen. Ist die Datei nicht allzu groß, funktioniert sogar Notepad
  4. Die Zeichenketten „latin1_bin“ durch „utf8_general_ci“ und „latin1“ durch „utf8“ ersetzen (per Suchen und Ersetzen)
  5. Im UTF8-Format speichern
  6. Joomla 1.5 installieren und vom Migrationsskript automatisch generierte Dateien einspielen
  7. Legacy-Modus aktivieren
  8. Ice Gallery installieren
  9. ice_config.php, eigene CSS-Dateien (im Verzeichnis /css) und ice_media-Ordner aus der alten Installation kopieren
  10. Bearbeitete SQL-Datei einspielen
  11. Die Ice Gallery wurde erfolgreich migriert

Micrografx Draw 5.0 unter Windows XP

Wer wie ich immer noch Fan der älteren Micrografx Draw Version 5.0 ist, hat vielleicht festgestellt, dass sich diese Version unter Windows XP nicht mehr installieren lassen will. Das Setup bricht mit der Fehlermeldung “Setup konnte entweder Windows 95 oder Windows NT 3.51 oder höher nicht erkennen.” ab.

So geht es trotzdem:

  1. Micrografx Draw 5.0 CD einlegen. Falls Windows das Setup per Autostart automatisch startet, das Setup abbrechen.
  2. Im Explorer auf die Datei “setup.exe” rechtsklicken und im Kontextmenü “Eigenschaften” auswählen.
  3. Den Reiter “Kompatibilität” wählen.
  4. Unter “Kompatibilitätsmodus” Windows 95 auswählen, siehe Bild unten.
  5. Mit “OK” bestätigen und die setup.exe per Doppelklick starten.
  6. Das Setup läuft nun fehlerlos durch und Micrografx Draw kann ohne weitere Einstellungen gestartet werden.

Bei dieser Gelegenheit kann man auch gleich prüfen, ob man die “aktuellste” Version hat. Bei Sierra gibt es einige Patches. “wd5p1.exe” für Version 5, “wd6updat.exe” für Version 6 und “wdrawdll.exe”, die neue Librarys enthält.

Stand August 2009: Die Sierra-Domain existiert nicht mehr und die o.g. Dateien auch nicht auf anderen Seiten zu finden. Updates sind damit nicht mehr möglich.

Fehler bei Windows 98 Installation

Windows 98 lässt sich nicht neu installieren. Es erscheinen CAB-Dateifehler, VXD-Datei fehlen oder nach dem Start gibt es eine allgemeine Schutzverletzung.

Zwei verschiedene Fälle und die Lösung.
Fall 1:

Ein Windows 98-Rechner meldet kurze Zeit nach dem Booten eine allgemeine Schutzverletzung. Ein Grund ist nicht zu erkennen. In der letzten Zeit wurde definitv nichts am System verändert. Eine Neuinstallation von Windows 98 brauchte keinen Erfolg, der Fehler bleibt bestehen.
Unter Linux läuft das System einwandfrei, ein Hardwaredefekt ist also auszuschließen.
Fall 2:
Ein anderer Windows 98-Rechner kann den Teil der Registry nicht mehr öffnen, der in der Datei user.dat gespeichert ist. Das führt zu allerlei merkwürdigen Effekten: die Tastaturbelegung ist amerikanisch, man kommt nicht mehr in die Systemsteuerung, etc.

Auch hier brachte eine Windows 98-Neuinstallation keine Besserung. Je nach Installations-CD brach das Setup während des Kopierens mit einem CAB-Dateifehler ab oder beim ersten Starten fehlte ein VXD-Gerätetreiber. Auch dieses System lief unter Linux einwandfrei.

Die Lösung:

Die Installation von Windows 98 SE brachte in beiden Fällen die Lösung. Laut C’t (Heft 09/05) soll das Win98-Setup Probleme haben Dateien zu erkennen, die aufgrund von Kopierfehlern fehlerhaft sind.
Da meine Installations-CDs unzerkratzt und sauber waren, schließe ich ich einen solchen Fehler aber so gut wie aus.

Hat Microsoft ein “Ablaufdatum” in Windows 98 integriert?

eXtplorer via SSL und ohne Login

eXtplorer ist ein in PHP geschriebener Dateimanager mit einer komfortablen AJAX-Oberfläche. Er kann als Plugin im CMS Joomla oder “standalone” verwendet werden. Besonders praktisch kann dieses Tool sein um das “wwwrun-Problem” zu beheben. In diesem Artikel soll beschrieben werden, wie sich eXtplorer über den SSL-Proxy von all-inkl.comnutzen lässt. Zusätzlich werden Änderungen gezeigt, die es ermöglichen, das das Skript im “standalone”-Modus ohne den skripteigenen Loginmechanismus genutzt werden kann.

 

Die Nutzung via SSL

Um eXtplorer über eine SSL-verschlüsselte Verbindung benutzen zu können, ist normalerweise kein zustätzlicher Aufwand nötig – vorausgesetzt für diese Verbindung wird der Serverport 443 benutzt. In den üblichen Webhostingpaketen ist das aber in der Regel nicht der Fall. Bei meinem Webhoster all-inkl.com wird z.B. ab dem Tarif Privat Plus ein SSL-Proxy (www.ssl-account.com) zur Verfügung gestellt. Das Skript eXtplorer benötigt für seine Arbeit die URL unter der das Skript aus dem Internet zu erreichen ist. Eine automatische Bestimmung ist durch die Verwendung des Proxy-Servers nicht möglich. Daher muss in der Datei /includes/init.php die if-Abfrage, die mit folgender Zeile beginnt komplett (d.h. auch der else-Zweig) auskommentiert

if($_SERVER['SERVER_PORT'] == 443 )

und direkt dahinter diese Zeilen eingefügt werden:

$GLOBALS["home_url"] = "https://ssl-account.com/pfad/zu/extplorer/";
$GLOBALS["script_name"] = "https://ssl-account.com/pfad/zu/extplorer/index.php";

Login abschalten

Wenn eXtplorer “standalone” benutzt wird, ist das Interface durch den skripteigenen Loginmechanismus geschützt. Wenn man stattdessen lieber den Zugang über eine .htaccess-Datei absichern möchte und dafür auf die Benutzerverwaltung verzichten kann, kann in der Datei /include/init.php die Zeilen

if( !<a href="http://www.php.net/is_callable" target="_blank">is_callable</a>( <a href="http://www.php.net/array" target="_blank">array</a>( $GLOBALS['mainframe'], 'getuser') )) {´
// login to use eXtplorer: (true/false)
$GLOBALS["require_login"] = true;     }
else {  $GLOBALS["require_login"] = false;     }

auskommentieren und

//immer ohne Login
$GLOBALS["require_login"] = false;

einfügen. Da der Pfad zum Homeverzeichnis nun nicht mehr in den Benutzereinstellung gesetzt werden kann, muss er in /includes/init.php eingetragen werden. Die Zeile

$GLOBALS['home_dir'] = !<a href="http://www.php.net/empty" target="_blank">empty</a>( $_SERVER['DOCUMENT_ROOT'] ) ?
$_SERVER['DOCUMENT_ROOT']: '.';

habe ich in meinem Fall durch

$GLOBALS['home_dir'] = !<a href="http://www.php.net/empty" target="_blank">empty</a>( $_SERVER['DOCUMENT_ROOT'] ) ?
$_SERVER['DOCUMENT_ROOT']."/../../" : '.';

ersetzt. Das bedeutet, dass das Homeverzeichnis zwei Ebenen höher als das Skript liegt. Wenn eine solche relative Pfadangabe nicht möglich oder zu umständlich ist, kann man den Pfad auch absolut angeben.

$GLOBALS['home_dir'] = "/pfad/zum/homeverzeichnis";