Ich beschäftige mich - nicht nur aus meinem Job heraus - mit leichtgewichtiger Softwareentwicklung und dem Java-Build-(Lifecycle-)Management. Hier möchte ich neue Ideen und Best-Practices vorstellen.

Montag, 12. April 2010

Running Mediawiki on Tomcat

The idea of running a PHP-Application on a Java application server might seem weird to most people – but if you have a working Java infrastructure and are familiar with setting up Tomcat this might be an option to avoid the “compiling PHP/Apache – hassle”. Follow my step-by-step guide to get Mediawiki up and running on Tomcat.

Running Mediawiki on Tomcat weiterlesen »

Sonntag, 07. März 2010

Mit entferntem Tresor verbinden? Backups in die Cloud mit Strato hiDrive

Nachdem ich jetzt schon etwas länger mit einem Backup nach Amazon S3 und der Kombination mit der Mac Time Machine herumgespielt habe, trat zur Cebit einer neuer Backup-Cloud-Storage-Provider auf den Plan: Strato mit seinem hiDrive.

Ein regelmäßiges Backup mit Amzon S3 ist vor allem daran gescheitert, dass es keine (zufriedenstellende) automatisierte Ende-zu-Ende-Lösung gab. Das Verbinden via Firefox-Plugin oder SFTP mit Cyberduck hat wunderbar funktioniert, aber das automatische Synchronisieren meiner iPhoto-Bibliothek ist ständig abgebrochen – Automatisierung war auch Fehlanzeige.

Am Strato-Produkt überzeugt zum einen der Preis (bei voller Auslastung nur 1/10 des Amazon S3-Preises, danke @backstreetkiwi) zum anderen die vielfältigen verschlüsselten Verbindungsmöglichkeiten (rsync+ssh, SFTP, SMB via VPN-Tunnel, Webdav über https). Also kurzerhand bestellt und nach keinen 12h war der Account aktiv.

Strato hiDrive mit dem Mac verbinden

Für mich als Mac-Benutzer hat sich die Verbindung über Webdav über https als beste Lösung herausgestellt. Ich muss keinen VPN-Tunnel einrichten (für SMB) und bin weg vom Cyberduck (SFTP) und hatte keine Lust, ein rsync-Skript zu basteln (rsync+ssh) … man wird faul.

Im Finder Gehe zu -> Mit Server verbinden wählen und

https://<username>.webdav.hidrive.strato.com/users/<username>

eingeben. Der Mac verbindet sich mit der Freigabe und sie erscheint im Finder unter Freigaben. Um die Freigabe unter Geräte einzuordnen, wähle im Finder Ablage -> Zur Seitenleiste hinzufügen. Damit sich der Mac bei jedem Start mit dem entfernten Laufwerk verbindet, ziehe das gemountete Laufwerk in Systemeinstellungen -> Benutzer -> Anmeldeobjekte.

Backups ausführen

Um jetzt Backups zu erstellen habe ich mich für arRsync entschieden. Der GUI-Aufsatz für rysnc lässt sich einfach konfigurieren und synchronisiert auf Knopfdruck beliebige Verzeichnisse, so auch meine iPhoto- und iTunes-Bibliothek mit dem Strato hiDrive.

Wer jetzt noch den letzten Schritt gehen möchte und sein Time Machine Backup direkt auf ein Strato hiDrive legen möchte, dem sei diese Anleitung ans Herz gelegt.

Dienstag, 27. Januar 2009

Mein eigener Websphere-Bug

Die Umstellungsarbeiten von Websphere Application Server (WAS) Version 6 auf Version 7 gingen eigentlich ziemlich gut voran. Sogar das Clustering der Webanwendungen lief wie geschmiert. Trotzdem habe ich mich – wie bei allem IBM-Produkten – gefragt, wann und in welcher Gestalt der “Showstopper” kommt.

Gestern war es dann soweit. Der JSP-Parser (der endlich Java 5 & 6 spricht) versagt bei einer doppelten Definition eines Tag-Verzeichnisses:

SRVE0293E: [Servlet-Fehler]-[/WEB-INF/jsp/index.jsp]: com.ibm.ws.jsp.JspCoreException: /WEB-INF/jsp/index.jsp(66,63) /WEB-INF/jsp/other.jsp(5,53) JSPG0240E: Es wurde versucht, das Präfix "ringwelt" in "urn:jsptagdir:/WEB-INF/tags" zu ändern, obwohl es im aktuellen Geltungsbereich bereits mit "/WEB-INF/tags" definiert ist.

Nach einigem Suchen ließ sich das Problem wiefolgt isolieren: Die JSP index.jsp inkludiert die JSP other.jsp statisch. Beide Dateien enthalten eine identische Tagdir-Definition und nutzen den gleichen Taglib-Prefix. Sobald der Include in der index.jsp innerhalb eines JSP-Tags erfolgt, schmeißt der WAS7 die o.g. Exception.

index.jsp
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="ringwelt" tagdir="/WEB-INF/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- This will work -->
<%@ include file="other.jsp" %>
<!--
This will fail due to the second declaration of
the tagdir prefix above
-->
<c:if test="${1 == 1}">
<%@ include file="other.jsp" %>
</c:if>

other.jsp
<%@ page contentType="text/html;charset=UTF-8"%>
<taglib prefix="ringwelt" tagdir="/WEB-INF/tags"%>
<ringwelt:hello />

Wie kann man so etwas nicht getestet haben? Ist mir unbegreiflich? Wir haben den Bug zur IBM gegeben. Vielleicht zeigt sich “Big Blue” ja erkenntlich und lädt mich zu irgendeiner Webspherekonferenz ein. Gerne in Übersee ;-)

Montag, 12. Januar 2009

Extreme Feedback Device

Zugegeben, die Idee eines “Extreme Feedback Devices” ist für agile Projekte nicht wirklich neu. Sie stellen den Zustand es aktuellen Softwarebuilds unmittelbar für das gesamte Team – durchaus sehr plastisch – dar, z.B. in Form einer Ampel. Rot steht für einen fehlgeschlagenen Compile, gelb für fehlgeschlagene Tests und grün für alles Schoko. Über die Sinnhaftigkeit kann man vielleicht vorher schmunzeln, aber so ein Teil wirkt. Ich habe Tests noch nie so schnell gefixt gesehen.

buildampel_aufbau2

Als ich einen Teil der Buildprozesse beim Deutschen Ring auf den Hudson Buildserver umgestellt habe, bin ich auf das “Red Bear Alert Extreme Feedback Device” gestossen. Die Idee, farbige Lampen über eine USB-Steckdose zu schalten war so einfach und genial – das wollte ich auch. Leider habe ich keinen reine 5V-USB-Lösung gefunden, dafür aber eine relativ kostengünstige Steckdosenleiste, die sich per USB von einem Windowsrechner steuern lässt. Da ich den Spaß privat bezahlt habe, sollten noch ein paar günstige Lampen dazu und fertig.

Extreme Feedback Device weiterlesen »

Sonntag, 04. Januar 2009

E-Plus hat EDGE

eplus-edge

E-Plus beginnt scheinbar endlich damit, sein GPRS-Netz auf EDGE zu heben… zumindest im Hamburger Innenstadtbereich. Endlich ordentlich schnelles Internet auf meinem 1G-iPhone!

iphone-apps Ich habe mir heute mal drei neue Anwendungen auf dem Telefon installiert: Qype Radar, WordPress und Twitterific. Vor allem Qype Radar überzeugt beim ersten Blick in realen täglichen Fragestellungen (Wo gibt’s hier Kaffee?). Auf Twitterific bin ich mal gespannt …