Too Cool for Internet Explorer

ssh von unterwegs


Es kam schon oft vor, dass ich unterwegs gerne einen Blick auf einen Server geworfen hätte. Wie habe ich mich deshalb gefreut, als vor ca. einem Jahr die erste SSH Software für das iPhone angekündigt wurde -- pTerm. Leider erwies sich diese Bezahlsoftware als nicht wirklich ergiebig. Die ersten Versuche zu Hause im WLAN waren zwar erfolgreich, unterwegs über edge wollte das ganze jedoch leider nicht funktionieren. Bis heute weiss ich nicht warum -- die pTerm Diskussionsgruppe war in dieser Hinsicht auch nicht wirklich hilfreich. In der Zwischenzeit wartet man auf ein Update der Software, das nicht kommt.

Nun habe ich kürzlich ein wenig im App-Store gestöbert und bin bei dieser Gelegenheit auf das Tool TouchTerm gestossen, welches -- im Gegensatz zu pTerm -- auch in einer kostenlosen Variante erhältlich ist.

Auf den ersten Blick bietet TouchTerm in der kostenlosen Variante ähnliche Features wie pTerm, mit dem einen Unterschied: es funktioniert auch von Unterwegs über edge problemlos. Die kostenpflichtige Pro Variante -- derzeit mit einem Preis von € 11,99 nicht gerade eine der günstigen Anwendungen im App-Store -- bietet zusätlich Gestures (wobei ich da bei einer Shell Angst hätte versehentlich rm -rf zu erwischen ;-) ), Copy/Paste innerhalb der Anwendung, grafische Verzeichnisnavigation sowie umfangreichere Einstellungsmöglichkeiten.



Multiple IE und Windows Vista


Zum Testen von Webanwendungen auch mit älteren IE Browserversionen gibt es ein Tool, über das sich problemlos ältere IE Versionen auf ein und demselben Rechner installieren lassen - Multiple IE (Achtung: unbedingt die EULA von Microsoft beachten!).

Leider funktioniert der Installer nicht unter Windows Vista, da die älteren IE Versionen unter Vista nicht lauffähig sind. Es gibt jedoch Abhilfe:

  • Microsoft stellt seit geraumer Zeit den Virtual PC, eine Anwendung zum Installieren von Betriebssystemen in einer virtuellen Maschine, kostenlos zum Download zur Verfügung.
  • Microsoft bietet ausserdem eine zeitlich beschränkte Version von Windows XP in Form eines Virtual PC Festplatten-Images kostenlos zum Download an.

Nach der Installation von Virtual PC und Aktivierung des Windows XP Festplatten-Images - man sollte hier das Image mit der Version 6 des IE herunterladen - lässt sich anschliessend wie gewohnt Multiple IE innerhalb der Windows XP Umgebung installieren.



googlemail mit elinks



googlemail mit elinks ... funktioniert einwandfrei :-).











Open Cubic Player


Der Linux Port des legendären (Open) Cubic Player...













DeskBrowse - WebBrowser


DeskBrowse ist ein schlanker und schneller WebBrowser, der auf der WebKit / KHTML Engine basiert, derselben Engine, die auch von Safari verwendet wird. DeskBrowse verzichtet auf den meisten Schnickschnack anderer Browser und stellt nur die nötigsten Funktionen - wie Tabs und Lesezeichen - zur Verfügung. Zusätzlich gibt es jedoch noch einen passwortgeschützten Kiosk-Modus.

Das praktischste an diesem Browser ist neben der Schlankheit wohl, dass man ihn ber Hotkey ein- und ausblenden kann. Ich denke ich werde ihn wohl zum Browsen von Online-Dokumentationen verwenden, ist es doch äusserst praktisch, wenn man einen Browser beim Programmieren schnell zum Nachschlagen einer Funktion o.ä. per Hotkey in den Vordergrund holen kann.

Deskbrowse ist Open-Source und steht unter der GNU General Public License.



visor - terminal window


Ich habe mal wieder ein super praktisches Tool entdeckt, das mir die tägliche Arbeit komfortabler gestaltet.

"visor - systemwide terminal window" ist eine Erweiterung für das Terminal von Mac OS X ab Version 10.4. Wenn das Terminal gestartet ist, kann über einen Hotkey ein Terminalfenster am oberen Bildrand eingeblendet werden. Per default liegt der Hotkey auf ^F1 - schon nach kurzer Zeit merkt man, wie praktisch die ganze Sache ist. Normalerweise ist es doch so, daß das Terminalfenster immer verdeckt im Hintergrund liegt - oder sich gar auf einem anderen Desktop befindet, wenn man es gerade braucht. Per Visor lässt sich ein Terminalfenster aus jeder Applikation heraus schnell in den Vordergrund holen.

Ich habe Visor mit dem desktop manager getestet - es funktioniert problemlos und das Terminal wird immer im aktuellen Desktop eingeblendet. Der einzige Nachteil mag sein, dass das OSX Terminal bereits gestartet sein muss, damit Visor funktioniert. Ich finde es jedoch nicht weiter schlimm - das Terminal wird seit neuestem bei mir gleich beim Hochfahren des Systems gestartet.

Visor ist frei und Open Source - unter welcher Lizenz es steht, konnte ich jetzt leider nicht herausfinden - diese Information wird ggf. nachgereicht.



Screenshot Widget für OSX Dashboard


Über die Nützlichkeit des OSX Dashboard kann man sicherlich streiten. Ich hielt es bisher für eine nette Spielerei, die nicht weiter stört. Jetzt habe ich aber ein wirklich brauchbares Widget entdeckt, das mich tatsächlich zum regelmässigen Dashboard Anwender macht.

Mit Screenshot Plus wird das Anfertigen von Screenshots so einfach wie nie zuvor. Ein einziger Mausklick genügt um das Widget zu aktivieren und einen Screenshot zu erstellen. Dabei kann man zwischen dem "Abfotografieren" des kompletten Bildschirminhaltes, eines Ausschnittes oder eines Fensters wählen. Ruckzuck ist das Bild danach gespeichert. Mich überzeugt das Widget, weil es nur die nötigsten Funktionen bietet und schnell erreichbar ist, ohne dass ich mir eine weitere Tastenkombination merken muss oder gar erst im Programmverzeichnis nach der entsprechenden Anwendung suchen muss.

Das Widget ist Freeware - per Paypal kann man aber dem Entwickler eine Spende nach eigenem Ermessen zukommen lassen.



Datenbankdesign mit DbWrench


Ich war längere Zeit auf der Suche nach einer Software, mit der man komfortabel Datenbankmodelle entwickeln kann. Meine Hauptanforderungen waren hier wieder: Schnelle und intuitive Arbeitsweise, keine Oberfläche, die mit viel Schnick-schnack überladen ist und natürlich plattformübergreifende Verfügbarkeit.

Mit DbWrench bin ich jetzt fündig geworden. Hierbei handelt es sich um eine in Java geschriebene Applikation, die problemlos unter Mac OS X, Linux und Windows - mit diesen drei Betriebssystemen habe ich es ausprobiert - verwendet werden kann.

Man kann ein Datenbankmodell komplett mit DbWrench entwickeln oder aber eine bestehende Datenbank einlesen. Das reverse Engineering funktioniert dabei normalerweise recht zuverlässig. Leider unterstützt DbWrench noch keine MySQL Spezialdatentypen wie ENUM - diese wandelt es in einen BLOB um. Auch das Anlegen der Datenbank aus einem Modell heraus ist für DbWrench kein Problem. Für MySQL wird z.b. der Tabellentyp InnoDB unterstützt. DbWrench erzeugt zunächst einen SQL Dump, der entweder gespeicher oder direkt an den Datenbankserver übermittelt werden kann.

Ausserdem kann die Anwendung auch eine HTML Dokumentation eines Datenbankmodells generieren. Es werden alle Informationen der Datenbank übersichtlich erfasst und sogar eine Bilddatei im Format JPEG oder PNG aus der grafischen Darstellung des Modells generiert.

Sehr sympathisch ist mir, dass DbWrench ein Datenbankmodell im XML Format speichert und nicht in einem eigenen binären Format, für das keine öffentlichen Spezifikationen erhältlich sind.

DbWrench ist Shareware - von der Webseite kann man eine vollfunktionsfähige 30 Tage lauffähige Version herunterladen. Es gibt keine preislichen Abstufungen, die Standard Edition kostet 150$ - das ist meines Erachtens nach nicht wenig oder doch zumindest so viel, dass ich mir den Kauf - für privat - zumindest doch zweimal überlegen werde.




Mail Umzug mit exchange-away


Ich war heute gezwungen meine IMAP basierte Mailbox von einem Server zu einem anderen umzuziehen. Wie macht man das am besten mit so wenig wie möglich Aufwand?

Ein Freund hat mir für die Migration das freie Tool exchange-away empfohlen. Es handelt sich dabei um ein Perl Script das völlig unkompliziert installiert werden kann, ich musste lediglich über CPAN die Bibliothek Mail::IMAPClient nachinstallieren.

Natürlich wird exchange-away über die Kommandozeile aufgerufen. Es erwartet Parameter zum Verbindungsaufbau zum Quell- und zum Zielserver sowie den Namen eines IMAP Ordners, den man migrieren möchte. Optional können noch Parameter angeben werden z.b. ob der Quell-Server mit Pausen zwischen dem Abholen der Mails geschont werden soll, damit dieser nicht Überlastet wird und ob die Mails vom Quell-Server nach dem Abholen sofort gelöscht werden sollen. Letzteres empfiehlt sich nicht, da bei der Migration ja immer etwas schief gehen kann und nach dem Löschen die e-mails unwiderruflich verloren sind.

exchange-away hat für mich absolut problemlos funktioniert. Insgesamt habe ich so 3 Ordner mit zusammen ca. 4000 Mails verschoben - relativ flott und ohne Fehler und so kann ich das Tool nur jedem ans Herz legen, der einmal seine Mails von einem IMAP Server zu einem anderen umziehen muss.



PHP Programmierung mit VIM


Ich bin kürzlich wieder auf den VIM als Entwicklungsumgebung für PHP umgestiegen, nachdem ich ja sehr lange Zeit mit Jedit entwickelt habe und damit auch im Grossen und Ganzen sehr zufrieden war.

Das Problem mit jedit war höchstens, dass es als Java Applikation auf meinem Powerbook doch manchmal etwas träge war, vor allem wenn ich gleichzeitig MP3s gehört habe. Also musste doch wieder ein schnellerer Editor her und natürlich wieder einer, der auf allen Plattformen verfügbar ist und nachdem ich ohnehin hin und wieder dem VIM nachgetrauert habe, bin ich ohne lang zu überlegen wieder umgestiegen.

Dafür habe ich mir das Buch 'vim ge-packt' von Reinhard Wobst aus dem mitp-Verlag gekauft um mal etwas tiefer in den VIM einzusteigen. Generell hat man ja bei Büchern über den VI nicht viel auswahl, aber das o.g. Buch eignet sich auch glücklicherweise wirklich hervorragend für den tieferen Einstieg. Es handelt sich um eine kompakte Referenz, die die wichtigsten Themen zum Umgang mit dem VI behandelt. Sehr hilfreich sind auch die vielen weiterführenden Hinweise auf die in VIM integrierte Hilfe.

Natürlich hatte ich wenig Zeit (und Lust) mir eine eignene Konfiguration für den VIM zu basteln und so habe mal im Internet nach brauchbarem gestöbert. Dabei bin ich auf die Serie 'Comfortable PHP editing with VIM' im Weblog von Tobias Schlitt gestossen. Netterweise bietet er auch gleich seine .vimrc zum Download an, mit der es sich wirklich komfortabel unter dem VIM entwickeln lässt. Die Serie umfasst (derzeit) drei Teile, die ich hier verlinkt habe.

Zum Abschluss möchte ich noch auf das Script Archiv auf der Homepage des VIM verweisen, das 100e Erweiterungen bereitstellt, sodass man sich eine äusserst mächtige Entwicklungsumgebung bauen kann, die eigentlich keine Wünsche mehr offen lässt.




FileSystemWatcher und Steuerung von Applikationen



Für ein anstehendes Projekt wird ein Teil die Entwicklung einer Steuerung für AdobeIndesign sein. Ich möchte schon seit längerer Zeit mal C# und .net in einem Projekt anwenden und denke, dass hier endlich die Gelegenheit dafür kommen könnte, zumal C# einige Funktionen bietet, die ich wirklich gut gebrauchen kann wie z.b. eine Methode zur Überwachung von Dateisystemen mittels dem FileSystemWatcher Objekt. Darüber lassen sich recht einfach HotFolder Mechanismen realisieren.

Zukünftig wird möglicherweise noch die Notwendigkeit bestehen InDesign unter Mac OSX zu steuern. Offiziell waren mir hier bisher nur die Möglichkeiten über AppleScript und Javascript bekannt. Allerdings finde ich die Syntax von AppleScript schon recht grausig, deshalb war - und bin - ich auf der Suche nach Alternativen. Bei freshmeat bin ich jetzt auch hier wieder fündig geworden.

"Appscript is a high-level, user-friendly MacPython to Apple
event bridge that allows users to control scriptable Mac OS X
applications using ordinary Python scripts. It makes
MacPython a serious alternative to Apple's own AppleScript
language for automating a Mac."

Ich hatte noch nicht die Zeit das ganze auszutesten inwieweit man AppleScript tatsächlich durch appscript ersetzen kann. Auf der Web Seite des Projekts kann man immerhin schon einige Beispiele finden, wie man mittels appscript Anwendungen ansprechen kann.


MySQL Statistiken mit MySQL Activity Report



freshmeat.net ist eine wahre Fundgrube wenn man auf der suche nach nützlichen open source tools ist. Viele der Tools, über die ich hier blogge, habe ich bei freshmeat gefunden. Und ich habe noch eine ganze Reihe Links zu Anwendungen, die ich noch nicht abgearbeitet habe aber hoffentlich demnächst mal kurz vorstellen kann.

Oft findet man solche Tools auch ganz einfach "nebenbei" während man eigentlich auf der Suche nach etwas anderem ist. So habe ich gestern den MySQL Activity Report gefunden.

Hierbei handelt es sich um ein Tool mit dem ein MySQL Datenbankadministrator Informationen über Parameter und Variablen zu Datenbanken sammeln und statistisch auswerten kann. Die gesammelten Informationen können z.b. zum Überwachen von Datenbanken verwendet werden, MySQL Activity Report eignet sich aber auch als Hilfe zum Performance Tuning von MySQL Datenbanken. Eine Demo Seite zeigt Beispiele, wie die Daten ausgewertet und grafisch aufbereitet werden können.

Das zum Download bereitgestellte Paket enthält neben dem Dämon, der die Daten über die MySQL Client Library sammelt und in einer Round Robin Datenbank speichert - es wird die rrdtool Library von Tobias Oetiker benötigt - auch Beispiele für die graphische Auswertung.



twin - textmode window manager


Ich glaube ich habe an anderer Stelle schon erwähnt, dass ich sehr gerne die Konsole zum Arbeiten verwende und oftmals viele Konsolen zugleich geöffnet habe. Zum besseren Organisieren der geöffneten Konsolen habe ich bisher Tabs verwendet bzw. seit einiger Zeit auch die QuadKonsole. Es gibt aber noch eine weitere Möglichkeit.

twin ist ein textbasierter Window Manager für Linux und kann in einer Konsole dargestellt werden oder alternativ als X11 Fenster oder in sich selbst, als twin Fenster. Twin kann ähnlich wie X11 basierte Window Manager viele verschiedene Fenster in einem Screen verwalten. Die Fenster können wie man es von einer grafischen Benutzeroberfläche gewohnt ist Verschoben, in der Grösse geändert und wahlweise einen Fokus zum Arbeite erhalten bzw. in den Vorder und Hintergrund geschoben werden. Über die mitgelieferte Terminal Applikation lassen sich so nahezu beliebige textbasierte Anwendungen starten in eigenen Fenstern auf dem twin Desktop starten. Über eine mitgelieferte Bibliothek können auch spezielle twin-Anwendungen geschrieben werden. Als Beispiel gibt es eine twin-Oberfläche für den freien MP3 Player XMMS sowie einen Taschenrechner.

Ich bin mir (noch) nicht sicher, wie sinnvoll der Einsatz von twin unter eine grafischen Oberfläche ist. Wenn man aber rein im textmodus arbeiten möchte, ist twin wirklich brauchbar, aber auch unter einer grafischen Oberfläche hat twin seinen Reiz und es macht wirklich spass damit zu arbeiten.

Der Screenshot zeigt eine typische twin session. In der Aktuell verfügbaren Version 0.5.1 ist es möglich Themes zu Verwenden, sodass die Fensterrahmen und Icons von twin grafisch dargestellt werden. Den Screenshot habe ich übrigens zwar unter Mac OS X - passend zum Mac OS 9 Theme von twin - erstellt, twin selbst läuft aber auf einem Linux Rechner mit einer X11 Weiterleitung auf den Mac. Leider habe ich es bisher noch nicht geschaft twin direkt unter Mac OS X zu kompilieren.


PixelQuelle Web Server / lighttpd


In den letzten Tagen gab es für uns noch einiges zu tun. Mit dem Umzug auf den neuen Server hatten wir uns dafür entschieden zum Performance Tuning zwei Web Server auf unserer Maschine laufen zu lassen. Ein Apache mit PHP5 Unterstützung zum Ausliefern der dynamischen Seiten und einen eigenen Web Server, der alle Bilder (Thumbnails, Previews, Icons etc.) ausliefert, sodaß der Apache sich rein um die php-generierten Seiten kümmern kann. Bei dem zweiten Web Server habe ich mich für lighttpd  entschieden.

Unser erstes Konzept sah vor, daß der Apache auf dem Standard Port 80 laufen sollte und der 2. Web Server auf Port 8080. Leider ist es so, daß Port 8080 oft Firewall bedingt nicht zur Verfügung steht und deshalb ein paar unserer Benutzer keine Bilder mehr sehen konnten.

In so einem Fall macht es sich dann wirklich bezahlt, welchen Server Provider man wählt: Wir konnten über unseren neuen Provider problemlos weitere IP Adressen bestellen und sind nun in der Lage unsere beiden Web Server mit unterschiedlichen IP Adressen über den Standard Port 80 zu betreiben.

Vor dem Umzug der PixelQuelle habe ich mir einige performance optimierte Web Server angesehen und bin dabei auf lighttpd von Jan Kneschke gestossen. lighttpd ist klein, schnell, flexibel und äußerst leicht zum Installieren. Die Projektseite bietet u.a. eine übersichtliche Dokumentation, wer weitere Informationen benötigt oder Fragen hat, dem sei die Mailingliste und das Archiv empfohlen.

Ich mag lighttpd, weil er äußerst zuverlässig ist, sich leicht konfigurieren läßt und man schnell und unkompliziert mehrere Web Server mit unterschiedlichsten Konfigurationen starten kann. Es juckt mich direkt in den Fingern einmal den Apache, der ja im moment noch für die dynamischen Web Seiten zuständig ist, ebenfalls durch lighttpd zu ersetzen.



Paparazzi! - Screenshots von Web Seiten


Für Mac OS X gibt es ein Tool, mit dem sich auf einfachste Art und Weise Screenshots von Web Seiten erstellen lassen.

Paparazzi! lädt im Hintergrund die Web Seite einer eingegebenen URL und fertigt einen Screenshot an, wobei auch der Teil, der vom Web Browser verdeckt werden würde, berücksichtigt wird. Paparazzi! ist äußerst leicht zu bedienen. Das Programm erwartet die Eingabe einer URL sowie die Breite und die Mindeshöhe, die für das "Abfotografieren" der Web Seite berücksichtigt werden soll. Der Screenshot läßt sich anschließend in Originalgröße im PNG Format speichern. Paparazzi! ist Open Source, der Objective-C Quellcode kann von der Homepage des Projekts heruntergeladen werden.