Archiv des Jahres 2009


Server-Aufräumaktion

Mittwoch, 25. März, 2009

Eine Woche lang war ich nun mit der Neuorganisation der Server der FR Informationswissenschaft beschäftigt — wie üblich stellten unvorhergesehene Hard- und Softwareprobleme sowie die limitierten Mittel der Fachrichtung einige Anforderungen an die Improvisationsfähigkeiten. Falls der Debian-Installer jedesmal kurz vor der Festplatten-Erkennung abstürzt, dann kann es am Chipsatz des Intel-Mainboards liegen, welches irgendwie beim Lesen vom PATA DVD-ROM-Laufwerk durcheinanderkommt. Die simple Abhilfe, einfach stattdessen ein SATA DVD-ROM-Laufwerk dranzuklemmen, stand leider recht weit unten auf meiner “Was probiere ich als nächstes?”-Liste. Und natürlich hat man nur 80mm-Lüfter zur Hand, wenn die Einbauschächte alle auf 92 oder 100++mm ausgelegt sind.

Aber am Ende scheint alles soweit geklappt zu haben, alle Webserver und Fileserver sind nun unterteilt in einzelne virtuelle Maschinen via OpenVZ, kombiniert mit Backups und Fallback-Servern auf verschiedenen physischen Rechnern. Überall läuft nun auch ein aktuelles Debian Lenny 5.0 (neuerdings sogar schon mit fertigem OpenVZ-Kernel im Lenny-Repository), endlich ist auch der letzte Oldtimer von einer sehr betagten (und beunruhigenden) Debian Sarge-Installation befreit. Dank einer sehr praktischen Kombination aus RAID10 und LVM ist es nun auch möglich, komplette Snapshots von den einzelnen virtuellen Maschinen im laufenden Betrieb zu ziehen.

Jetzt bin ich mal gespannt, wann die erste Festplatte ausfällt :-o

Erste Erfahrungen mit dem Google / T-Mobile G1

Samstag, 7. März, 2009

Vor ein paar Tagen bin nun auch ich auf den Smartphone-Zug aufgesprungen und habe mein Uralt-Handy in den wohlverdienten Ruhestand geschickt. Schon seit Jahren wollte ich das Ding loswerden, aber irgendwie fehlte dann immer die Motivation — oder die Ankündigung eines “bald” verfügbaren, noch besseren Handy ließ mich dann doch wieder zögern. Zuletzt hatte ich eigentlich ein iPhone oder ein OpenMoko im Auge, aber das iPhone war mir zu teuer und das OpenMoko zu unfertig und so bin ich nach dem Ableben meines alten Handys beim Google- / HTC- / T-Mobile-Kooperationsprodukt G1 gelandet.

g1Ich muss schon zugeben, für mich als Neueinsteiger in die Welt der Smartphones ist das G1 ein durchaus verblüffend vielseitiges Gerät. Seit einiger Zeit liebäugele ich auch mit der Anschaffung eines “Netbooks” (bspw. das NC-10 von Samsung), aber das habe ich jetzt erstmal wieder auf die lange Bank geschoben. Mit dem G1 hat man eigentlich schon ein Mini-Subnotebook in der Tasche, das zwar sicherlich nicht für Office-Anwendungen geeignet ist, aber zumindest mal den kleinen “Kommunikations-Hunger zwischendurch” stillen kann.

Beim G1 ist eine “always online“-Philosophie unverkennbar. Das hat natürlich Vor- und Nachteile. Man kann jederzeit und überall (WLAN- oder GPRS/UMTS-Verfügbarkeit vorausgesetzt) E-Mails, Tweets empfangen und schreiben oder im Web surfen (und Blog-Einträge schreiben), mit Google Chat oder Skype chatten, RSS-Feeds checken usw. Alternativ kann man sich auch mal “gerade so” während man an der Haltestelle auf den Bus wartet, per SSH in einen Server einloggen oder eben die Wettervorhersage der nächsten Tage für den aktuellen GPS-Standort abfragen. Aber das G1 hungert dadurch natürlich auch immer nach einer GPRS, UMTS oder WLAN-Netzanbindung. Insbesondere wenn man viel unterwegs ist und kein kostenfreies WLAN verfügbar hat, sollte man entweder die Datensynchronisierung in den G1-Einstellungen deaktivieren oder eine Datenflatrate buchen. Mein G1 zieht zur Zeit laut dem Android-Monitoring-Tool NetMeter im Schnitt etwa mindestens 15 MB pro Tag aus dem Netz, inklusive kurzer Surfsessions, ein paar Android-Market-Downloads und automatischer Twitter/Mail/Wetterupdates. Bei intensiven YouTube-Sessions dürfte das aber gleich ganz anders aussehen.

Die Stärke des G1 liegt ganz klar in der Integration mit den Google-Diensten wie Mail, Chat, Maps, YouTube oder Reader. Wer keine Bedenken hinsichtlich der Rolle Googles als “Datenkrake” hat und diese Dienste eh schon täglich nutzt, findet im G1 einen idealen Begleiter. Ohne Google-Account kann man das Handy nicht mal aktivieren. Aber wenn man diese Hürde genommen hat, ist es kein Problem, all die bekannten Google-Dienste zu nutzen, sofern man nur einen einzigen Account hat (und nicht beispielsweise getrennte private und geschäftliche Accounts). Vor allem eingefleischte Google-Nutzer werden daher an dem Gerät ihre Freude haben — man hat überall Zugriff auf die Kalender-Daten, auf den Google RSS-Reader, YouTube, auf alle Mails, Chats und Notizen, usw. — oftmals mit nur einem Klick. Auf Wunsch synchronisiert das Gerät ausgewählte Dienste/Daten automatisch, so dass man auch unterwegs über neue Mails auf dem Laufenden ist.

Einiges ist natürlich für die meisten Nutzer erstmal eine Spielerei. Wie oft braucht man schon eine GPS-Lokalisierung des aktuellen Standorts auf Google Maps? Für mich war das im Vorfeld sicherlich kein “kritisches” Must-Have, aber ich finde es jedesmal wieder faszinierend, mit einem “Touch” die Maps-Anwendung aufzurufen und meinen aktuellen Standort auf ein paar Meter genau blinken zu sehen oder mit dem Kompass die Himmelsrichtung zu bestimmen. Oder diverse Anwendungen aus dem Android Market herunterzuladen, um zu sehen, wieviele GPS-Satelliten gerade empfangbar sind. Das ist nur eines von vielen Beispielen dafür, wie das G1 wohl auch exzellente Dienste als “Spielekonsole” für Geeks und Nerds leistet ;-) .

Die CPU-Performance des Gerätes kann ich mangels Vergleichsmöglichkeiten und Langzeit-Tests nicht qualifiziert beurteilen. YouTube-Videos laufen jedenfalls ruckelfreier als auf meinem betagten 700Mhz-Notebook ;-) . Auch die Installation vieler Applikationen aus dem Android Market haben noch keine spürbare Verlangsamung bewirkt. Anwendungen, die vom Nutzer aktuell nicht verwendet werden, müssen nicht klassisch manuell beendet oder geschlossen werden, sondern werden automatisch vom System beendet, sobald der Speicher für andere Anwendungen benötigt wird.
Die Ressourcenverwaltung des Gerätes unterscheidet sich auch deutlich von der aktuellen iPhone-Strategie: Anwendungen dürfen auch explizit dauerhaft im Hintergrund laufen, so sind beispielsweise auch Twitter-Anwendungen möglich, die kontinuierlich auf neue Tweets checken oder Systemlogs, die die Nutzung des Akkus oder der WLAN-/CPU-Auslastung protokollieren.

Software-Fehler oder -Abstürze habe ich erst wenige beobachtet und beschränkten sich auf ein kurzes “Diese Anwendung musste beendet werden” von Programmen aus dem Android Market — ein direkter Neustart der jeweiligen Applikation war aber kein Problem.

Ohne Zweifel hat das G1 und die Android-Software-Plattform noch viele Kinderkrankheiten, die bei der Benutzung insbesondere für unerfahrene Computer-Neulinge oder Google-Verweigerer wohl keine große Freude aufkommen lassen. Das Handy ist im Verhältnis beispielsweise zum iPhone schwerer und auch “klobiger” (wobei ich allerdings finde, dass es gerade beim Tippen auf der Tastatur exzellent in der Hand liegt), ganz sicher ist es auch nicht so “chic” wie das iPhone. An vielen Stellen würde man sich umfangreichere Software-Grundfunktionen wünschen, so beispielsweise ist die Lesezeichen-Verwaltung beim Browser nur sehr rudimentär (Aber man kann Opera installieren). Auch die Kontakte-Verwaltung ist etwas unübersichtlich.

Die Bedienung ist ebenso gewöhnungsbedürftig, bei mir hat es einige Zeit gedauert, bis ich die Funktionsweise der Kontextmenus verstanden und verinnerlicht hatte. Auch hinsichtlich einiger anderer Usability-Details hoffe ich mal noch auf weitere Software-Updates in der Zukunft.

Auch vermisse ich noch eine vernünftige E-Book-Reader-Software. FBReaderJ ist zwar verfügbar, liest aber bisher nur wenige Text-Formate und bietet auch kein Autoscrolling. Auch PDF und Flash sind bisher noch No-Gos auf dem G1.

Im Grunde war es unter anderem auch die Software-Plattform, die bei mir den Ausschlag zum Kauf dieses “Early Adopters”-Modells gegeben haben. Die Möglichkeit, eigene Anwendungen zu entwickeln (wenn ich denn mal Zeit dazu habe) und auf die vielfältigen Anwendungen aus der Android-Community zugreifen zu können, macht das Gerät vor allem zu dem aktuellen Straßenpreis von etwa 340 Euro zumindest für mich sehr attraktiv. Das Android-SDK zur Entwicklung eigener Software für die Android-Plattform habe ich mir bereits heruntergeladen, aber aus Zeitgründen größere Experimente erstmal auf später vertagt.

Dass man von der “ausfahrbahren” Tastatur keine Wunderwerke erwarten darf, dürfte auf der Hand liegen. Ich finde sie durchaus ausreichend für gelegentliche SMS oder Twitter-Messages oder auch schon mal eine längere Mail oder Blog-Eintrag. Dass die Tastatur im Gegensatz zu einer OnScreen-Tastatur auch keinen kostbaren Bildschirmplatz wegnimmt, fand ich ebenfalls positiv, aber andere Nutzer haben da sicherlich andere Prioritäten (sprich: weniger Gewicht ist wichtiger). Eindeutig negativ ist aber in diesem Zusammenhang, dass in der aktuellen Software-Version nur wenige Anwendungen automatisch auf ein Drehen des Gerätes auch die Rotation des Bildschirms ändern. Erst das Ausklappen der Tastatur führt in allen Anwendungen wirklich zum Wechsel vom Portrait in den Landscape-Modus, selbst bei dem Bildbetrachter muss man erst über einen entsprechenden Menupunkt die Ausrichtung ändern.

Die eingebaute 3,2-Megapixel-Kamera erreicht mit Mühe die typische Handy-”Qualität”, immerhin bietet es Autofokus. Ohne eine gute Ausleuchtung des zu fotografierenden Objektes erntet man jedoch miserable Ergebnisse. Aber es reicht sicherlich für den gelegentlichen Schnappschuss oder (ganz wichtig) das Barcode-Scannen im Elektromarkt oder in der Bibliothek.

Der größte Nachteil des Geräts ist in meinen Augen aber der Akku. Sicherlich habe ich das Ding in den Tagen seit der Anschaffung sehr stark in Benutzung und mit GPS/WLAN/UMTS auch einige Stromfresser eifrig getestet. Aber dass man das Gerät dann jeden Abend leergesaugt an das Ladegerät hängen muss, ist ein deutliches Zeichen dafür, dass sich noch einiges in der Akku-Technologie verbessern muss, um solche leistungsfähigen Smartphones alltagstauglicher zu machen. Auch bei Wochenendtrips sollte man also immer das Ladegerät oder zumindest ein USB-Kabel dabei haben. Immerhin ist der Akku austauschbar.

Es gäbe noch viel mehr zum G1 zu schreiben, aber nach 1300 Wörtern muss ich langsam ein Ende finden. Natürlich kann man mit dem G1 auch telefonieren ;-) und die Tonqualität ist durchaus gut. Man kann für alle Dienste unterschiedliche Klingeltöne definieren und auch selbst MP3-Klingeltöne auf das Gerät laden. Mitgeliefert ist eine 2GB SD-Karte, maximal kann man wohl eine 16GB-Karte nutzen (habe ich noch nicht getestet). Auf die Karte kann man aber nur Nutzerdaten wie Downloads, Bilder, Musik oder E-Books speichern, alle Anwendungen können nur auf dem G1-internen Speicher installiert werden (256 MB). Das klingt wenig, aber ich habe mittlerweile etwa 20 Applikationen aus dem Android Market installiert und nicht mal die Hälfte des Speichers genutzt. Bluetooth-Pairing funktioniert derzeit meines Wissens nach nur mit Headsets (hat mit meinem Plantronics M2500 tadellos funktioniert).

Fazit: Ich bereue die Anschaffung des G1 bisher nicht, allerdings bin ich auch eher ein “Early Adopter”, der gerne mal mit Hard- und Software herumspielt und über kleinere Mängel hinwegsehen kann. Mit dem iPhone kann es das Gerät meiner Meinung nach insbesondere in der Bedienerfreundlichkeit (noch) nicht aufnehmen und die Tastatur dürfte nicht für Jedermann eine Notwendigkeit sein, wenn das nächste Android-Update mit Touchscreen-Tastatur erhältlich ist. Das G1 würde ich zur Zeit in erster Linie für experimentierfreudige Google-Nutzer empfehlen, die auch gerne eine Tastatur an ihrem Handy möchten. In den nächsten Monaten wird Vodafone in Deutschland eine HTC Magic-Variante ohne “echte” Tastatur auf den Markt bringen. So oder so bin ich aber schon sehr gespannt, wie sich die Android-Plattform in den nächsten Jahren weiterentwickelt.

Umrechnungskurse per PHP / Yahoo Finance API

Sonntag, 25. Januar, 2009

Eine schnell zusammengehackte Funktion, um aktuelle Währungskurse von Yahoo Finance zu ziehen. Details zu den URL-Parametern dort. Damit man deren Server nicht mit unnötigen Abfragen “hämmert”, nutzt dieses kleine Snippet den APC Cache, um die Werte für etwa drei Stunden zwischenzuspeichern. Damit file_get_contents() eine URL verarbeiten kann, müssen fopen wrappers in PHP freigegeben sein.

function getQuote($from, $to) {
    $url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=l1&s='. $from . $to .'=X';
   $key = 'cur_'.$from.'_'.$to;
   $ttl = 60*60*3; // 3 Stunden

   $curValue = apc_fetch($key);

  if ($curValue === false) {
     $curValue = trim(file_get_contents($url));
     apc_store ($key, $curValue, $ttl);
  }

  return $curValue;
}

echo '1 Euro = ' . getQuote('EUR', 'USD') .' USD<br/>';
echo '1 Euro = ' . getQuote('EUR', 'GBP') .' GBP<br/>';

Google Feedburner und MyBrand

Samstag, 24. Januar, 2009

Gestern habe ich meinen Feedburner-Account zu Google umgezogen. Google hatte sich den RSS-Feed-Hoster schon vor einiger Zeit einverleibt, aber bisher waren die Feedburner-Dienste noch nicht voll in das Google-Angebot integriert.

Der Umzug des Accounts in mein Google-Portfolio klappte auch wunderbar und innerhalb einer Minute über den Link, der im Feedburner-Account eingeblendet wurde. Ein Haken hatte die Sache nur: Die MyBrand-Server funktionierten nicht. Nach Änderung des CNAME auf meinaccount.feedproxy.ghs.google.com. machte das Ding noch Zicken: 404 Server Not Found. Na toll. Mehrmaliges Überprüfen der Nameserver-Einträge brachten auch keine Erkenntnis: Alles richtig geschrieben, wunderbar propagiert, die Fehlermeldung kam definitiv vom Google-Server, offenbar fehlte dort die entsprechende Subdomain.

Nach langem Herumprobieren dann die Lösung: Man muss den MyBrand-Dienst beim GoogleFeedburner-Account  deaktivieren (eventuell auch die eigenen eingetragenen Domain-Namen löschen) und dann erneut aktivieren. Offenbar legt Google die entsprechenden Subdomains beim Umzug des Feedburner-Accounts nicht automatisch an. Indem man aber den MyBrand-Dienst einmal deaktiviert und dann wieder aktiviert, werden auch die entsprechenden Feedproxy-Subdomains bei Google erzeugt.

Ein paar Minuten später funktionierte wieder alles. Die Anzahl der Subscriber ist zwar um ein Viertel geringer, aber laut Google soll das auf verbesserte Zählverfahren zurückzuführen sein.