Foto Vorschau mit Lightbox und Thumbnails in Apache DirectoryIndex dank h5ai

Ich habe die gesamte Fotodatenbank bzw. das Fotoverzeichnis zu Hause auf dem Server liegen und spiegele diese (u.a.) auf mein MediaCenter (MacMini). Per Samba Share oder auch per http kann man also mit allen Devices auf den Server zugreifen, was am Computer auch gut klappt: SMB verbinden und dann mittels der normalen Werkzeuge (Explorer, Finder, Vorschau, ThumbsPlus, ASeeDsee etc.) auf die Bilder zugreifen.

Beim iPad oder iPhone muss man allerdings auf vernünftige SMB Integration (auch per App) verzichten, sodass das hier keine Lösung ist – und ein Zugriff per Browser auf die nackten Apache Verzeichnisse ist wenig elegant oder praktisch.

Daher habe ich immer mal wieder nach einer tauglichen Lösung gesucht, mit der ich das Apache DirectoryListung (aka. Apache DirectoryIndex) um eine Vorschaufunktion erweitern kann. Die meisten Lösungen basierten darauf, die HTML Vorlagen für den DirectoryIndex um etwas JavaScript zu ergänzen und so eine Lightbox nachzurüsten. Das sieht im ersten Moment ganz gut aus, reicht aber fürs Browsing nicht wirklich: Vorschau fehlt, i.d. Regel fehlen vor- und zurück-Funktionen.

Am Wochenende bin ich auf das wirklich großartige h5ai gestoßen, laut eigener Beschreibung „a modern HTTP web server index“. Der Programmautor (Lars Jung) hat da eine sehr leicht einzurichtende Lösung gebaut und offen gelegt, die ich sehr, sehr schick finde.

Schaut so aus:

h5ai_01

h5ai_02

Die Einrichtung dauerte bei mir auf dem Linux Server 5 min. und unter Mac OS X 20 min., weil dort etwas mehr an der Apache Konfiguration angepasst werden musste – also eine kleiner Schritt für den Admin, ein großer Schritt für meine Familie 🙂

Hier nochmal der Link: http://larsjung.de/h5ai/

Und die Welt ist doch gut – Open Source Engineering als Antwort auf die Herausforderungen von Entwicklungs- und Schwellenländern

Wir machen seit vielen Jahren Open Source, nutzen Open Source, leben Open Source. Wobei, stimmt das? „Leben“ wir wirklich Open Source, übertragen wir den Open Source Gedanken auf weitere Lebensbereiche, glauben wir wirklich immer daran, dass Sharing die Welt zu einem besseren Platz macht?

Zumindest das Team von Open Source Ecology tut das und wenn man sich fragt, was man nach der Softwarebranche unbedingt nochmal gemacht haben sollte: siehe oben 😉

Das Open Source Ecology Netzwerk hat in den 2 Jahren seit Bestehen das sogenannte „Global Village Construction Set“ entwickelt. Das ganze stellt eine als Open Source verfügbare, günstige und leistungsstarke technologische Plattform dar, mittels derer im do-it-yourself-Verfahren mehr als 50 verschiedene landwirtschaftliche oder industrielle Maschinen und Geräte gebaut werden können. Die Auswahl der konstruierten Maschinen orientiert sich daran, was was man für die Landwirtschaft, den Hausbau und die Herstellung wichtiger Güter benötigt.

Die Idee: Ein lebensgroßes „Lego-System“, mit dem man Menschen das Leben vereinfachen kann – in der ersten, aber auch und gerade in der dritten Welt. Finanziert 100%ig durch Crowd-Funding. Whow.

Ganz schön viele warme Worte. Und eigentlich braucht man für das Konzept nur eine viel knappere Einführung, zumindest war es das, was mich sofort begeisterte:

  1. Die Konstruktionspläne als Open Source.
  2. Die Videos.

Apple Mac OS X auf Standard PC Hardware (OSX86 / Hackintosh / HackMac) oder wie man günstig an einen Mac Pro kommt…

Schon seit ein paar Jahren kann ich ich ja privat und am Arbeitsplatzrechner auf umfangreiche Wartungsarbeiten verzichten – weil der Mac OS Rechner in der Tat wenig Ärger macht. Ich kann mich somit zumeist meiner Arbeit widmen, statt Unzulänglichkeiten des Betriebssystems auszubaden.

Als nun ein neuer Rechner für daheim anstand, war das bevorzugte OS also bereits entschieden. Man könnte annehmen, dies sei auch bereits eine Hardwareentscheidung – dem ist aber nicht so, schließlich läuft das Mac OS X auch ganz wunderbar auf normaler PC-Hardware, wenn man die richtigen (also unterstützten) Komponenten auswählt.

Klar, so einfach mit mit „echter Mac Hardware“ geht die Einrichtung natürlich nicht, aber es lohnt sich dennoch, weil…

  • so ein „Hack-Mac“ unterm Strich viel mehr Leistung fürs Geld bietet als echte Mac Hardware (die im folgenden näher beschriebene Konfiguration kostete z.B. insgesamt ca. 1.240 EUR netto, entsprechend ca. 1.470 EUR inkl. Mehrwertsteuer – was in Anbetracht der Leistung mehr als erschwinglich ist)
  • man unter dem Tisch nicht sieht, ob der Rechner in einem hübschen Apple Gehäuse steckt oder nicht
  • man kann sich etwas sehr nettes genau nach den eigenen Vorstellungen zusammenstellen, und bekommt den Rechner, den nicht wenige bei Apple vermissen: das Modell zwischen dem Apple iMac 27 Zollund dem Apple Mac Pro (siehe auch dieser Apple Mac Pro)

weiterlesen »

Mantis BT (Mantis Bugtracker) – Notizen

Wir nutzen bei papaya sehr intensiv Mantis als Bugtracker für die Entwicklung des Open Source Content Management Systems „papaya CMS“, gleichermaßen auch in Kundenprojekten. Für ein Projekt kam die Frage auf, ob man nicht in Ergänzung zu unserer bestehenden Zeiterfassungslösung eine rudimentäre Time Tracking Lösung gleich an die Bugs anhängen könne.

Laut Mantis Featureliste soll dies gehen – leider ist aber genau diese Seite in der Mantis Dokumentation leer (!)  😉

Da es keinen Button zum Aktivieren des Mantis Time Tracking Modules gibt (und wegen missing documentation) hat es ein paar Minuten länger gedauert, ist dann aber ganz einfach:

  • Datei config_defaults_inc.php öffnen
  • die entsprechende Stelle in der Datei finden (Suchen nach * Time tracking *)
  • die relevanten Konfigurationsoptionen kopieren und in die Datei config_inc.php kopieren
  • ggf. hier noch Anpassungen nach eigenem Gusto vornehmen
  • fertig…

Irgendwie ein eher ungewöhnlicher Weg, um Leistungsmerkmale einer Software zu verstecken 😉
(Wenn man das aber einmal gesehen hat ist es aber ziemlich selbsterklärend.)

Interessant sind für meinen geplanten Anwendungsfall innerhalb der Scrum-basierten Zusammenarbeit mit einem Kunden vor allem die Funktionen zum Erfassen von Aufwandsschätzungen und zur Zeiterfassung. Diese werden mit folgenden Parametern angeschaltet:

Zeitprognosen

/**
* Enable or disable usage of the ETA field.
* @global int $g_enable_eta
*/
$g_enable_eta = ON;

Zeiterfassung

/*****************
* Time tracking *
*****************/

/**
* Turn on Time Tracking accounting
* @global int $g_time_tracking_enabled
*/
$g_time_tracking_enabled = ON;

/**
* A billing sums
* @global int $g_time_tracking_with_billing
*/
$g_time_tracking_with_billing = ON;

/**
* Stop watch to build time tracking field
* @global int $g_time_tracking_stopwatch
*/
$g_time_tracking_stopwatch = ON;

/**
* access level required to view time tracking information
* @global int $g_time_tracking_view_threshold
*/
$g_time_tracking_view_threshold = DEVELOPER;

/**
* access level required to add/edit time tracking information
* @global int $g_time_tracking_edit_threshold
*/
$g_time_tracking_edit_threshold = DEVELOPER;

/**
* access level required to run reports
* @global int $g_time_tracking_reporting_threshold
*/
$g_time_tracking_reporting_threshold = MANAGER;

/**
* allow time tracking to be recorded without a bugnote
* @global int $g_time_tracking_without_note
*/
$g_time_tracking_without_note = ON;

Daily WTF: Autoresponder im eCommerce

…oder wie man es nicht machen sollte – gerade diese nicht allzu kundenverständliche Mail eines Amazon Merchants erhalten:

------------- Anfang der Nachricht -------------

!R! CALL ARKT; EXIT;

Da fragt man doch gerne mal zurück: WTF? 😉

Radiointerview WDR 5

Letzte Woche wurde bei uns angefragt, ob wir jemanden für ein kurzes Interview zu temporären Mailadressen hätten. Die Zielgruppe des WDR5 ist wohl am ehesten mit „Generation 50+“ zu umschreiben – gerade daher fand ich das ganz spannend und habe zugesagt.

WDR 5 Scala – Aktuelles aus der Kultur (Ab Minute 38 und 3 Sekunden beginnt das Interview), Sendung vom 09.04.10

Statistik zur Verbreitung von Bildschirmauflösungen

Es ist ja schwer, zur Verbreitung von Bildschirmauflösungen harte/belastbare Zahlen zu erhalten: Die Information ist ja nur mit JavaScript zu bekommen – also nur mittels Tools wie GoogleAnalytics, Piwik oder ähnlichem. Und diese wiederum passen zumeist nicht wirklich zu den Datenschutzerklärungen der meisten Seitenbetreiber oder nicht zum jeweiligen Datenschutzgesetz.

Insofern sind auch die folgenden Zahlen mit Vorsicht zu genießen: Sie sind vielleicht repräsentativ, müssen es aber nicht sein:

Gruppe 1 (größere/moderne Auflösungen)

1280 x 1024 28,3%
1680 x 1050 6,3%
1152 x 864 3,6%
1920 x 1200 3,3%
1440 x 900 3,0%
1600 x 1200 2,6%
1400 x 1050 1,8%
1280 x 960 1,3%
Summe: 50,2%

Gruppe 2 (bisheriger „Office-Standard“ und kleinere Breitbild-Laptops)

1024 x 768 39,0%
1280 x 800 4,5%
1280 x 768 0,8%
Summe: 44,3%

Gruppe 3 (Netbooks, ältere Geräte und sonstiges)

800 x 600 2,6%
andere 2,9%
Summe: 5,5%

Quelle für die Daten: www.webhits.de

rsync über FTP mit fuse

Es ist schon spät, daher eine eher Staccato-artige Zusammenfassung in der Hoffnung, dass das noch für andere hilfreich sein könnte:

Problem:

Man will Daten von Server A (unter Linux, voller Zugriff) auf oder von Server B (nur FTP, kein anderer Zugriff) kopieren bzw. mit diesem Server abgleichen (Konkreter Anwendungsfall: Man will verschiedene WordPress Installationen nebst Plugins automatisiert von einem zentralen Server updaten).

Normalerweise nähme man rsync – hätte man weiter reichenden Zugriff auf Server B als eben FTP:

Lösung:

Die benötigten Pakete installieren mit dem $Installer-Deiner-Wahl, hier z.B. mit apt:

apt-get install curlftpfs

Abhängigkeiten sollten dann (wenn man etwas taugliches nutzt) automatisch aufgelöst werden, das Paket curlftpfs hängt natürlich vom fuse ab. Falls das nicht automatisch passieren sollte, bitte manuell nachhelfen:

apt-get install fuse-utils libfuse2

Dann ein Verzeichnis anlegen, in das wir später das „FTP Laufwerk“ mounten wollen, z.B.

mkdir /home/www/mount/servername

Nun das FTP Share mounten:

curlftpfs USERNAME:PASSWORD@SERVER-ADRESSE /home/www/mount/servername/

Und vóila: Der FTP Server sollte nun über das lokale Dateisystem verfügbar sein und somit plötzlich auch für rsync.

Bei der rsync Anwendung sind aber ein paar Sachen zu beachten, da ansonsten stets Fehler auftreten (Dateien können nicht geschrieben werden etc.).

Man will z.B. die sonst sehr gern genommene Option „-a“ oder, mein Klassiker, „-avz“ nicht nutzen. Mit dieser Option wird u.a. versucht, den Eigentümer oder die Gruppe einer Datei zu setzen. Dies schlägt auf dem FTP Server im Zweifelsfalle fehl, wodurch der Vorgang nicht komplett abgeschlossen werden kann. Ferner versucht rsync stets, das TMP-Verzeichnis innerhalb der tranferierten Daten abzulegen – was wiederum zu Problemen führt.

All diese Probleme kann man wie folgt umschiffen:

rsync -rltv --temp-dir=/tmp/ --stats --progress /home/www/wordpress-update/ /home/www/mount/servername

Mein aktueller Anwendungsfall war ja das Updaten von WordPress Installationen – hierbei will man einige Dateien auf keinen Fall überschreiben (die Konfigurationsdatei, die XML-Sitemap des Google-Sitemaps-Plugins und die .htaccess). Da die Anzahl der auszuschließenden Dateien recht gering ist, kann man das noch prima mittels --exclude machen:

rsync -rltv --temp-dir=/tmp/ --stats --progress --exclude=wp-config.php --exclude=robots.txt --exclude=sitemap* --exclude=.htaccess --exclude=wp-content /home/www/wordpress/ /home/www/mount/servername

Weiteres und eine auführlichere Beschreibung vielleicht schon morgen, jetzt muss ich erstmal schlafen 😉

Danke für die Anregungen/Ideen an: blog.simlau.net, lieber-linux.de, stackoverflow.com, debiantutorials.net und commandlinefu.com.

Das CERN, der LHC Teilchenbeschleuniger und die Musik

Nun haben es die Damen und Herren vom CERN ja geschafft: Der LHC (Large Hadron Collider) läuft nach kleineren Startschwierigkeiten und liefert Daten – Glückwunsch!

Ich bin über eine in der Tat sehr interessante Musikformation gestolpert namens „Les Horribles Cernettes“ (welch Zufall: Die gleiche Abkürzung wie der LHC). Näheres zu den 3 Damen vom Grill Beschleuniger findet sich natürlich in der Wikipedia.

Die Band war, so die glaubhafte Legende, die erste Band, die jemals eine Website hatte und die jemals ein Photo ins Internet gestellt hatte – how cool is that? 🙂

They were born at the same time, and in the office next door to… the World Wide Web. No wonder they were the first band to have a website and their picture posted on the web! This website is kept pretty much in the original shape as it was in 1992.

(von: http://musiclub.web.cern.ch/MusiClub/bands/cernettes/)

Eine kleine Kostprobe gefällig? Gerne:

Medium: www.youtube.com
Link: www.youtube.com

Und hier der Song zum Download.

Test: günstige iPhone 4 KFZ Halterung

Nachdem endlich nach Langer Lieferzeit (knapp 9 Wochen ab Bestellung) das iPhone 4 angekommen ist, muss das nicht mehr passende Zubehör vom iPhone 2 G ersetzt werden: Eine neue Autohalterung und eine gute Tasche für das iPhone 4 müssen also her.

Da Saturn, Apple Store, Gravis und Co. keine allzu begeisternde Auswahl anzubieten hatten wurde bei Amazon bestellt. Hier zur ersten und sehr günstigen KFZ Halterung (die fast identisch ist mit der bisher verwendeten KFZ-Halterung für das iPhone 2G bzw. 3 GS):

weiterlesen »