code

warning: Creating default object from empty value in /var/drupal/modules/taxonomy/taxonomy.pages.inc on line 33.

Import serendipity entries into drupal

I repost some of my blog posts made @ liip. Please see here for the original post and comments:
blog.liip.ch/archive/2009/06/18/import-serendipity-entries-into-drupal.html

Mediawiki SSO Login

Ich hatte das Problem zu lösen, dass neue Aktivmitglieder jeweils eine Email Adresse erhalten und Zugriff auf Webseiten mit Logins. Eine elegante Art das einfach zu lösen, ist wenn die Webapplikationen über die Emailadresse prüfen, ob der POP Server das Passwort akzeptiert. Dabei muss der Benutzername exakt der Teil der Emailadresse vor dem @ sein. Die Domain muss die Webapplikation anhängen - sonst könnte sich ja jeder mit beliebiger Email Adressen anmelden.

jsdomenu versus Google Analytics

I repost some of my blog posts made @ liip. Please see here for the original post and comments: blog.liip.ch/archive/2008/01/15/jsdomenu-versus-google-analytics.html

Recently, one of our customers had a problem with google analytics. When he opened his web site with the Site Overlay feature, he just got his normal web site with no overlayed user data. The first thing to notice when trying it myself (with Firefox) was that javascript stops with an error. The error console said "opera.version is not a function" in https://www.google.com/analytics/reporting/overlay_js?gaso=...

Suchen und Ersetzen auf der Kommandozeile

Die Skriptsprache Perl kann direkt von der Kommandozeile aus verwendet werden, um Text in Dateien zu ersetzen. In Kombination mit find kann man da sehr einfach in Dateien ersetzen:
find -type f -exec perl -i -p -e 's/pattern/target/g;' {} \;
find -type f findet alle Dateien (aber nicht Verzeichnisnamen oder Links) unter dem aktuellen Verzeichnis. Soll nur in bestimmten Dateien ersetzt werden, wird zusätzlich der Parameter -name "shellpattern" oder -regex "expression" verwendet, zum Beispiel find -type f -name "*.html".

Webseiten spiegeln: wget

Das Tool wget bietet eine unglaubliche Funktionsfülle. Ich brauche es dazu, dynamisch erzeugte Webseiten zu archvieren.
Diese können nachher mit einem Browser als Dateien geöffnet werden, ohne Webserver. Dazu rufe ich wget folgendermassen auf:
wget -r -k -nv -E -e robots=off -l 0 http://server.ch/
Die interessanten Parameter sind:

Batch Bilddateien konvertieren und skalieren

Um Bilder in andere Formate umzuwandeln, gibt es das ImageMagick Programm "convert".
Um eine Datei umzuwandeln, schreibt man z.B.
convert test.gif test.png
Das Programm kennt eine unglaubliche Fülle an Graphikformaten, "man ImageMagick" listet alle unterstützen Formate auf. Convert kann ausserdem die Bilder auch noch manipulieren, siehe "man convert".
Was convert allerdings nicht kann, ist mehrere Bilder umwandeln. Ich habe dazu ein einfaches Shellskript batchconvert geschrieben. Die Datei als batchconvert abspeichern, in /usr/local/bin/ kopieren und mit chmod a+x ausführbar machen. Die Syntax ist:

batchconvert t <targettype> <dateiliste>, z.B. batchconvert t png *.gif
Um die Grösse von Bildern zu ändern gibt es den Parameter -resize, z.B.
convert -resize 800x600 test.png test.png
Wiederum geht das nur mit einem File. Mein Skript batchresize verkleinert oder vergrössert eine Liste von Bildern.

Überprüfen nach ungültigen Links: linklint

Dieses praktische Programm überprüft alle Links einer Site und meldet ob die Seiten noch existieren, ein redirect sendeten oder nicht gefunden wurden. Auf Wunsch erzeugt das Programm html Dateien mit den entsprechenden Informationen. Ich rufe es folgendermassen auf:
linklint -http -host localhost -doc . -net /@

  • -http: Es sollen Webseiten vom Webserver geholt werden (Linklint kann auch Dateien aus dem Filesystem überprüfen)
  • -host localhost: Adresse des Servers
  • -doc .: Verzeichnis für den Output, der . bezeichnet das aktuelle Arbeitsverzeichnis
  • /@ : Startdatei ist /, das heisst die Startseite der Webseite, das @ bedeutet, dass alle Dateien unter diesem Verzeichnis überprüft werden

Mehr zum Programm - das zumindest bei Debian / Ubuntu am einfachsten per apt-get installiert wird - ist unter www.linklint.org zu erfahren.

simplEcard E-Card Tool

I would like to announce simplEcard, a little script for electronic postcards I wrote. I wrote it because i wanted a simple system but one that is able to send HTML emails with the image embedded. Of course the email is multipart, so users without HTML mail also can read the message.

Please have a look at the simplEcard website

Textverarbeitung mit Latex

Latex ist das Textsatzsystem für umfangreichere Arbeiten. Im Gegensatz zu Microsoft Word trennt das System zwischen Texterstellung und Layout. Der Text wird in einem beliebigen Texteditor geschrieben, ohne sich zu diesem Zeitpunkt von Layout ablenken zu lassen.
Das Layout nimmt anschliessend der Latex converter vor. Abbildungen werden automatisch platziert, nicht immer direkt im Text aber dafür hat man nicht mehr die ganzen Layoutpannen wie mit Word. Mit pdflatex kann man auch sehr schüne PDF's inklusive anklickbaren Links erstellen.

Using local Copies of XML Schema Documents with JDOM / Xerces

XML schemas are powerful but also rather complicated to use within Java.
Within my PhD Thesis, I used them a lot. One problem that can arise is that validating an XML document with a schema normally needs network access, as the schema locations are typically specified with URLs. I will show you here how to configure the SAX parser to use schemas stored in the jar instead.

Syndicate content