Montag, 1. Oktober 2012

Bob Mould "Silver Age" - Rezension

Bob Mould ist in der Alternative Musikszene hinreichend bekannt. Als Mitglied der heutzutage legendären Band Hüsker Dü und auch als Gründer und Kopf der (sogar kommerziell erfolgreichen) Band Sugar.

Hüsker Dü existiert seit 1987 nicht mehr und Sugar seit 1995. Bob Mould war seitdem musikalisch stets aktiv. Aber, sagen wir mal so: der kreative Output war nicht immer wirklich nach dem Gusto der Liebhaber von Hüsker Dü und Sugar.

Mit dem aktuellen, heute erschienen Release ändert sich dies jedoch mit Sicherheit: "Silver Age" heißt das aktuelle Album - und das vereint das beste von Hüsker Dü und Sugar. Spielfreudiger, straighter Alternative Rock mit durchaus poppigen Einschlag. Sehr gut und abwechlungsreich - und einfach - zu hören. Im Vergleich zu Sugar ist das Songtempo durchweg etwas höher. Macht aber nichts - dadurch rockt es ein wenig mehr.

Fazit: Bob Moulds kann's also immer noch. Wer Hüsker Dü oder Sugar mag, der sollte sich diesen Release auf jeden Fall zulegen. Es lohnt sich!

Wieder den Audioplayer wechseln - Dank Amazon?

Im April diesen Jahres hatte ich hier im Blog geschrieben, dass ich aufgrund diverser Enttäuschungen mit Rhythmbox wieder zu Banshee gewechselt bin (Link zum Artikel). Nun, es steht vielleicht wieder ein Wechsel an. Wobei ich das eigentlich gar nicht will - ich mag eher Systeme, die out-of-the-box laufen.

Banshee an sich kann noch nicht mal was dafür, dass ich wechsele. Banshee an sich ist ok - macht das, was es soll. Der Grund ist  vielmehr, dass Amazon den MP3-Shop geändert hat, so dass der Download via Banshee Plugin nicht mehr funktioniert.

Bis Ende September hat das so funktioniert: Das Plugin in der Menüleiste links wählen, gewünschtes Album / Lied / ... suchen und kaufen. Dann startet der Download und die Titel sind in der Bibliothek. Schön einfach. Seit der Umstellung funktioniert das alles auch bis nach dem Kauf. Dann passiert... nix. Neu ist der Hinweis auf den "Amazon Cloud Player". Wenn man den Download dort aus Banshee heraus starten will erhält man ein lapidares Hinweisfenster, dass das Herunterladen von mehreren Dateien unter Linux nicht mehr unterstützt wird. Wohlgemerkt, nachdem man den Kauf getätigt hat. Warum der Hinweis erst dann kommt ist im Moment das Geheimnis von Amazon. Frech ist das aber schon.

Gut, die Dateien - und das Geld - sind natürlich nicht weg. Wenn man via Browser auf die Amazon-Seite geht, sich einloggt und dann den Cloud Player ansteuert, kann man die Dateien herunterladen. Aber nur einzeln. Es ist wie ein "normaler" Dateidownload. Null Integration in den Audioplayer, bzw. Banshee. Alternative Workarounds findet man auch in diesem Thread im Forum von ubuntuusers.de .

Klar ist eine Alternative zu Amazon das Ubuntu One Store. Nur: Das hat (keine mir bekannte) Integration in Banshee unter Ubuntu 12.04. Und ist nun mal schlechter bestückt als Amazon.

Also, was tun? Wieder CDs kaufen? Dauerhaft keine echte Alternative ;-) Im Moment sieht es wohl eher so aus: Rhythmbox für Einkäufe im Ubuntu One Store, Amazon "wie früher" über den Browser - und was als Audioplayer? Ein heißer Kandidat ist Quod Libet.  Nutze ich auch unter Windows (wenn ich's mal benutze) und meiner "mal schnell was Testen" Installation von Ubuntu 12.04. Oder vielleicht funktioniert Rhytmbox unter Quantal wieder ootb so, wie es funktionieren soll...

Donnerstag, 13. September 2012

U1DB

U1DB ist Canonicals neue Datenbank zum Speichern und Synchroniseren von Daten. Synchronisieren heißt hier, dass "Desktop Daten" wie z.B. Kontaktdaten aus dem E-Mail Programm oder Kalenderdaten zwischen verschiedenen Rechner - und auch einem Serverdienst wie z.B. UbuntuOne - abgeglichen werden können. Wobei U1DB an sich die API beschreibt, und nicht die Datenbank selber.

Solche Dienste gibt es aber bekanntlich bereits - wozu programmiert Canonical also an einer eigenen Lösungen (die übrigens von Anfang an OpenSource ist und unter GNU LGPL v3 Lizenz steht)? Nun, neu ist die Synchronisation unter Ubuntu nicht. Genau genommen gibt es die schon länger, U1DB ist aber der 2. Anlauf. Grund: der 1. ist zwar nicht gescheitert, wurde aber wegen Problemen aufgegeben. Die 1. Variante setzte auch CouchDB als Datenbank-Server und lokal auf Desktopcouch. Dieser Ansatz war auch komplett in die Ubuntu Desktop Installationen integriert, wurde dann aber nach dem Release von Ubuntu 11.10 als "Auslaufmodell" deklariert, weil es bei Canonical zu Skalierungsproblemen mit CouchDB kam, die sich wohl nicht lösen ließen (wer darüber mehr erfahren möchte sollte einfach "ubuntu couchdb" als Suchbegriff in die Suchmaschine seiner Wahl eingeben). Der Nachfolger, und damit 2. Anlauf, ist jetzt U1DB. In Ubuntu 12.04 LTS konnte die Lösung noch nicht intergriert werden, dazu war die Zeit zu knapp. Für den kommenden Ubuntu Release 12.10 gibt es wohl eine Intergration, jedenfalls gibt es bereits fertige Pakete in den offiziellen Quellen.

Was heißt das jetzt für den Desktop-Nutzer? Nun, erst Mal nichts, da die Synchronisation der Daten transparent erfolgt, d.h. man selber hat keinen direkten Kontakt zu U1DB. Interessanter sind da schon die Pläne von Canonical, was die Integration in andere Betriebssysteme angeht. Diese sind nämlich recht ehrgeizig. U1DB soll - früher oder später - für alle gängigen Systeme verfügbar sein, also neben Linux auch MacOS, Windows, Android, iOS und eine Web-Schnittstelle. Dazu soll U1DB in Python, C, Vala, Go, C, C#, Objective C, Java und JavaScript umgesetzt werden. Die Implementierung in Python und C läuft, der aktuelle Release (Stand: 13.9.2012) ist 0.1.3. An der Vala und Go Umsetzung wird gearbeitet, es gibt aber noch keine Releases.

Schaut man in die API und Technik von U1DB, gibt es eine Reihe von Ähnlichkeiten mit CouchDB. Die Datenbank speichert text-basierte Daten im JSON-Format (ebenso wie CouchDB) - und ist alleine darauf ausgelegt. Binäre Daten (wie z.B. Bilder, Musik etc.) können nicht gespeichert werden. Des Weiteren beherrscht U1DB Mehrwege-Replikation inklusive Konfliktmanagement zwischen Datenbanken / Servern. Ein Feature, das CouchDB ebenfalls besitzt. Scheinbar war man bei Canonical mit der Funktionalität von CouchDB zufrieden und hat sich an diese angelehnt, wobei es keinerlei Kompatibilität gibt.

Als Speicher setzt U1DB lokal auf den meisten Plattformen auf die SQLite Datenbank. Was in sofern auch Sinn macht, als das Python, Android und iOS diese direkt mit an Bord haben. Auf der Projektseite wird aber betont, dass auch andere Datenbanken als Backend möglich sind. Die Go-Implementierung soll z.B. auf MongoDB setzen und auch über das Internet zugängliche U1DB-Server werden wohl eher auf MySQL und andere skalierbare Datenbanken setzen als auf SQLite.

Wie bereits erwähnt ist bisher "nur" die Python-Implementierung (mit in C geschriebenen Teilen fertig). Dies ist auch die Referenz-Implementierung. Wer sich also mit der API beschäftigen möchte, der sollte darauf zurück greifen. Das Python-Modul heißt einfach "u1db" und lässt sich auf bekanntem Wege via pip oder easy_install installieren. Übrigens ist U1DB für Python-Programmierer auch außerhalb von Ubuntu interessant, wenn eine einfache API zur persistenten Speicherung und Indizierung von JSON-Daten gesucht wird.

Zurück zu Ubuntu: U1DB wird unter Ubuntu sicherlich der kommende Standard zur Synchronisation von Daten. Wie gesagt, für den Nutzer transparent. Da sich U1DB noch in einem frühen Entwicklungsstadium befindet ist im Moment offen, wenn die API als stabil deklariert wird und die volle Integration in den Desktop abgeschlossen ist.

Sonntag, 2. September 2012

Redis und Python

Redis ist ein sehr schnelles Key-Value Store, zu Deutsch: Schlüssel-Werte Datenbank. Eine Besonderheit von Redis ist zusätzlich, dass es als Werte nicht nur einfache Strings kennt, sondern fünf verschiedenen Datentypen. Da die offizielle Dokumentation von Redis ganz hervorragend ist und auch in der September-Ausgabe von FreiesMagazin ein ausführlicher Artikel zu Redis vorhanden ist, wird an dieser Stelle auf eine weitere Beschreibung der Datenbank verzichtet und "nur" die Python-Anbindung näher beschrieben. In der Python-Welt erfreut sich Redis übrigens scheinbar recht großer Beliebtheit. Wird auf der Webseite des Python Package Index "redis" als Suchbegriff eingegeben, wird eine ziemliche lange Ergebnisliste angezeigt. So gibt es z.B. Anbindungen für Django, Flask und Celery an Redis sowie eine Vielzahl anderer Module, die Python auf die ein oder andere Weise mit Redis kombinieren.

Installation

Das empfohlene Python-Modul heißt einfach nur "redis" und lässt sich ganz einfach via pip oder easy_install installieren. Die die Ergebnisse der Abfragen des Redis-Servers werden von einem in Python implementierten Parser verarbeitet - was ohne Probleme funktioniert, aber nicht ultimativ schnell ist. Wer die volle Geschwindigkeit braucht, der installiert noch das Modul "hiredis" (via pip oder easy_install). So wird der in C geschriebene Parser inklusive Python-Bindings installiert. Die Entwickler nennen eine Geschwindigkeitssteigerung um das 10-fache, im Vergleich zum Python-Parser.

Mit dem Server verbinden

Das Verbinden mit einem laufenden Server ist einfach:

>>> r = redis.StrictRedis(host='localhost',port=6379,db=0)

Im Gegensatz zur z.B. Kommandozeile von Redis muss hier eine Datenbanknummer angegeben werden. Das Python-Modul erlaubt es übrigens nicht, die Datenbank im laufenden Betrieb zu wechseln (was z.B. via Redis Kommandozeile problemlos geht), weil die Datenbankverbindung dann nicht mehr "thread-safe" wäre. Wer also mehrere Datenbanken für sein Programm benötigt, der muss mehrere Instanzen von redis.StrictRedis(...) anlegen.

Connection Pooling

Im Hintergrund legt redis.StrictRedis(...) für jede neu Instanz einen neuen, eigenen Connection Pool an. Was je nach Anwendung aber gar nicht nötig ist. Aber es ist auch möglich, dass sich mehrere Instanzen einen Connection Pool teilen:

>>> pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
>>> r = redis.Redis(connection_pool=pool)

Auch hier gilt: Ein Wechsel der Datenbank innerhalb eines Connection Pools ist nicht möglich bzw. - andersherum - ein Connection Pool kann immer nur für eine Datenbank gelten.

Datentypen

Natürlich unterstützt das Python-Modul allen Datentypen voll. Dabei werden so gut wie alle Befehle von Redis 1:1 in Python umgesetzt, so dass die Redis Befehlsreferenz bei Fragen zu Rate gezogen werden kann. Im folgenden ein paar einfache Beispiele zur Nutzung der Datentypen aus Python heraus: Strings sind der einfachste Datentyp:
>>> r.set('foo','bar')
True
>>> r.get('foo')
'bar'

Und ein paar Beispiele zu Listen in Redis:
>>> r.lpush('liste','foo')
1L
>>> r.lpush('liste','bar')
2L
>>> r.lrange('liste',0,-1)
['bar', 'foo']

Hashs lassen sich mit den bekannten Befehlen generieren:
>>> r.hset('hash','foo','bar')
1L
>>> r.hset('hash','spam','egg')
1L

Werden alle Werte innerhalb eines Hashs abgefragt, dann wird ein Python Dictionary zurück geliefert:
>>> r.hgetall('hash')
{'foo': 'bar', 'spam': 'egg'}

bei Einzelwerten logischerweise ein String:
>>> r.hget('hash','foo')
'bar'

Hashs lassen sich auch direkt aus einem Python Dictionary generieren:
>>> my_dict = {'Rhythmbox':'Audio','Totem':'Video'}
>>> r.hmset('progs',my_dict)
>>> r.hmget('progs','Rhythmbox','Totem')
['Audio', 'Video']

Anlegen eines Redis-Sets aus Python heraus:
>>> r.sadd('set','foo')
1
>>> r.sadd('set','bar')
1

Wird versucht, einen bereits vorhanden Wert zu einem Redis-Set hinzuzufügen, dann liefert die Datenbank einfach "0" (für "False") zurück:
>>> r.sadd('set','bar')
0
Werden alle Werte aus einem Redis-Set abgefragt, wird als Ergebnis ein Python-Set zurück geliefert:
>>> r.smembers('set')
set(['foo', 'bar'])
Ordered Sets werden wie folgt in Redis via Python angelegt:
>>> r.zadd('orderset',10,'bar')
1
>>> r.zadd('orderset',5,'foo')
1
Oder alternativ auch:
>>> r.zadd('orderset',spam=1.0,egg=2.0)
2
Die als Ergebnis einer Abfrage eines Ordered Sets wird entweder eine Liste von Strings oder eine Liste von Tuplen geliefert. Je nach dem, ob die Gewichtung der Werte mit abgefragt wird oder nicht:

>>> r.zrange('orderset',0,-1,withscores=True)
[('spam', 1.0), ('egg', 2.0), ('foo', 5.0), ('bar', 10.0)]
>>> r.zrange('orderset',0,-1,withscores=True,desc=True)
[('bar', 10.0), ('foo', 5.0), ('egg', 2.0), ('spam', 1.0)]

Transaktionen

Das Python Modul unterstützt auch das Zusammenfassen von mehreren Befehlen zu einer atomaren Transaktion. Allerdings setzt das Modul nicht die Redis-Befehle multi und exec um, sondern geht den Weg über Pipelines:

>>> pipe = r.pipeline()
>>> pipe.set('counter',1)
<redis.client.StrictPipeline object at 0x18cfb10>
>>> pipe.set('wort','irgendwas')
<redis.client.StrictPipeline object at 0x18cfb10>
>>> pipe.incr('counter')
<redis.client.StrictPipeline object at 0x18cfb10>
>>> pipe.execute()
[True, True, 2]

Alle Befehle werden also gepuffert und erst nach dem Aufruf von pipe.execute() im Block atomar ausgeführt. Das Ergebnis der Ausführung der einzelnen Befehle wird als Liste zurück geliefert.

Weitere Dokumentation

Hier im Blogeintrag wurden zwar die meisten, aber nicht alle Möglichkeiten des Python Redis-Moduls gezeigt. Diese sind aber natürlich in der Dokumentation aufgeführt.

Redis und ORM

Zu guter Letzt sei noch erwähnt, dass es auch auch eine Reihe von Object Relational Mapperns (ORM) für Python und Redis gibt. Diese tragen aber teilweise noch eine relativ niedrige Versionsnummer. Weiter entwickelt - wenn auch noch im Beta-Stadium - scheint Redisco zu sein. Andere ORMs bringt eine Suche im Python Package Index hervor. 

Alle Beispiele hier im Blogartikel sind unter Ubuntu 12.04, Python 2.7, redis-py 2.6.2 und dem Redis Server 2.4.16 getestet.

Dienstag, 17. Juli 2012

OFF! "OFF"!" - Rezension

Vor nicht all zu langer Zeit ist das erste "full length" Album von OFF! erscheinen. Der Einfachheit halber lautet der Albumtitel genau so wie der Name der Band, also OFF!.

OFF! ist eine kalifornische Punkrock-Band rund um Keith Morris , seines Zeichens Gründungsmitglied von Black Flag und Sänger der Circle Jerks. Ein Urgestein der Punkrock-Szene also.

Apropos Black Flag: Soundmäßig liegt OFF! ziemlich nah an den frühen Black Flag, ohne aber wie eine Kopie zu klingen. Die Band schafft es dabei, den Punksound der frühen 80er (des letzten Jahrhunderts) in die Gegenwart zu transportieren und dabei frisch und up-to-date zu klingen. Wer also Black Flag oder generell kalifornischen "old school" Punkrock mag, der liegt mit OFF! auf jeden Fall richtig.

Noch ein Wort zum Thema "full length" Album: Punkrock (und Hardcore) Alben zeichnen sich ja selten durch episch lange Lieder aus. Manch einer legt sogar die Länge (oder besser: Kürze) der Songs als Qualitätsmaßstab an. Und hier liegt OFF! auf jeden Fall auch ganz weit vorne: 16 Titel, der kürzeste 41 s, der längste satte 1.36 min. Gesamtspielzeit etwas weniger als 16 Minuten. 16 sehr gute Minuten.

Mittwoch, 6. Juni 2012

Ubuntu Softwarecenter und die Suchfunktion

Das die Suchfunktion für Programme (und Paketen) im Softwarecenter von Ubuntu "bescheiden" ist, habe ich schon öfters in Blogeinträgen erwähnt.

Nun, ich möchte mich korrigieren: Die Suchfunktion ist schlecht. Schlecht in sofern, dass die Treffer für Suchbegriffe Ergebnisse liefern, welche schlichtweg nicht die Pakete bzw. Programme enthalten, die man eigentlich erwartet oder erwarten würde.

Dazu ein aktuelles Beispiel aus jüngster Erfahrung: Ich wollte unter Ubuntu 12.04 Precise Prolog installieren (nein, ich kann kein Prolog, ich wollte lediglich ein Prolog-Programm testen, welches ich in einem Buch gesehen hatte). Gibt man nun im Softwarecenter den Suchbegriff "Prolog" ein, erhält man zwei Treffer: Einen Editor namens "jedit" und für ein 2D-Zeichenprogramm namens "TGif" (was immer das mit Prolog zu tun hat...). Weit und breit kein Prolog-Compiler zu sehen... Gut, es könnte natürlich sein, dass es kein Prolog für Precise gibt, was aber aufgrund der Paketvielfalt unter Ubuntu relativ unwahrscheinlich ist. Außerdem ist Prolog ein etablierte Programmiersprache und sollte von daher vorhanden sein.

Nun ist mein Wissen um Prolog relativ klein. Ich weiß, dass es verschiedene Prolog-Compiler gibt, mehr aber nicht. Also habe ich die Paketsuche von packages.ubuntu.com besucht und hier auch den Suchbegriff "Prolog" eingeben. Erster Treffer: Das Paket "gprolog", welches den GNU Prolog Compiler enthält. Gibt man den Suchbegriff in Synaptic ein, findet man neben gprolog auch noch einen anderen Prolog-Compiler. Gibt man übrigens "GNU Prolog" als Suchbegriff im Softwarecenter ein, dann findet es auch den gleichnamige Compiler - was aber im Umkehrschluss für eine erfolgreiche Suche voraussetzt, dass der Suchende weiß, dass es GNU Prolog gibt.

Aber warum klappt das mit der Suche denn nicht im Softwarecenter? Ich habe ja überhaupt kein Problem damit, dass Canonical das Softwarecenter auch als Vertriebsplattform für kommerzielle Software und ähnliches nutzt und die Startansicht des Softwarecenters Werbung dafür enthält. Nur: Solange hier keine brauchbaren Ergebnisse für (triviale) Suchanfragen nach "normalen" Programmen geliefert werden, ist das Softwarecenter für mich kein vernünftiger Ersatz für andere grafische Paketmanager wie Synaptic & Co.

Freitag, 18. Mai 2012

Falsche Verknüpfung von .exe-Dateien unter Windows durch Adobe Reader

Ich weiß nicht, wie man es hin bekommt, aber es kann bei der Installation des Adobe Readers unter Windows passieren, dass alle .exe-Dateien mit dem Reader verknüpft sind. Sprich, die exe-Dateien lassen sich nicht mehr ausführen. Sehr lästig...

Wie gesagt, wie und unter welchen Umständen das passiert weiß ich nicht. Es ist aber schon ein mal einer Kollegin und ein mal einem Verwandten passiert. Bei letzterem musste ich dann ran um es zu richten.

Was der Fehler ist, ist ja klar, nämlich dass die Verknüpfung falsch ist. Wie man es behebt war mir aber nicht ganz klar. Man kann zwar die Verknüpfung der meisten Dateitypen von Anwendungsprogrammen (z.B. .docx, .pdf, .jpg usw.) unter Windows via GUI bearbeiten. Aber eben nicht für .exe. Was letztendlich wohl auch sinnvoll ist, damit man sich nicht aus Versehen sein System abschießt.

Mit ein  bisschen googlen habe ich folgenden, sehr brauchbaren Link gefunden: http://www.pcpowerguide.com/processes/exe/fix-exe-file-association-errors/

An diesem habe ich mich dann letztendlich bei der Rettung auch orientiert. Vor dem manuellen Eingriff in die Registry habe ich noch Microsoft Regclean runtergeladen und laufen lassen. Da Tool ist zwar uralt, gilt aber immer noch als bewährt, um Fehler in der Registry zu beheben. Wobei der oben beschriebene Fehler dadurch nicht behoben wird.

Bevor's weiter geht noch die obligatorische Warnung:

Beim manuellen Bearbeiten der Registry kann man - bewusst oder unbewusst - sein System nachhaltig schädigen, grundsätzlich hin bis zur Nicht-Benutzbarkeit. Von daher wie immer vorab alle wichtigen Daten sichern und ggf. auch eine Sicherung der Registry machen.

Fühlt man sich bereit, kann es losgehen:

Als erstes muss man den Adobe Reader komplett deinstallieren. Dann startet  man den Registy-Editor, der bei allen Windows-Version an Bord ist. Dies geht über "Start -> Ausführen" und die Eingabe von "regedit". Jetzt navigiert man im Baum auf der linken Seite zum Schlüssel "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe". Dort ist hinterlegt, womit .exe Dateien verknüpft sind - nämlich üblicherweise mit nichts. Von daher sind die bei Unterschlüssel "OpenWithList" und "OpenWithProgids" bis auf die Default-Schlüssel leer. Auf einem System mit dem o.g. Fehler findet man hier Einträge, welche auf den Adobe Reader verweisen. Dies Schlüssel muss man nun alle Löschen. Nach einem Neustart des System ist wieder alles "sauber" und man kann eine neue Installation des Adobe Readers wagen.

Sonntag, 13. Mai 2012

Das harte Leben eines Fussgängers in China

Wenn man in einer chinesischen Stadt zu Fuß geht, hat man keine Rechte im Straßenverkehr. Das ist Fakt.

Wer denkt, die Autos würden an einem Zebrastreifen anhalten, wenn man diesen überquert, der liegt so was von falsch. Wer nicht sehr sorgfältig schaut, wird spätestens bei der 2. Straßenüberquerung gnadenlos um gefahren. Kommt mir jedenfalls so vor. ;-)

Auch grüne Fussgängerampeln sind kein Garant, dass man gefahrlos die Straße überqueren kann. Zum einem, weil Rechtsabbieger auch bei rot abbiegen dürfen, zum anderen, weil für viele Autofahrer die Beachtung der Lichtsignalanlagen optional zu sein scheint.

Aber: ich habe eine Taktik entwickelt, die eine sicher Überquerung von Straßen, auch großen Straßen in großen Städten wie Beijing, relativ sicher ermöglicht.

Diese sieht wie folgt aus:
  • Halte nach Einheimischen Ausschau, die auch die Straße überqueren wollen.
  • Wenn diese los gehen, gehe auch los.
  • Wichtig: Gehe bis zur Straßenmitte rechts vom Einheimischen und wechsle ab der Straßenmitte nach links. Grund: China hat wie wir Rechts-Verkehr, d.h. zuerst kommen die Autos von links, dann von rechts. Somit hat man immer jemanden zwischen sich und dem nahenden Auto laufen. Klingt hart, aber manchmal muss man auch nur an sich denken. ;-)
  • Sollte der Einheimische auf einmal anfangen, los zu laufen, laufe auch. Nicht lange denken, machen. Gleiches gilt, wenn für das Stehen bleiben.
Jedenfalls bin ich damit in China gut gefahren äh.. gelaufen. :-)

Donnerstag, 3. Mai 2012

Taxifahrt und Laufen in Shanghai

Wer reist, der erlebt immer was. So ich auch heute bei einer Taxifahrt in Schanghai, von der Endstation der Maglev (=Transrapid) zum Hotel.

Wie immer habe ich ein Taxi genommen. Für alle, die noch nie in China waren: Taxifahren ist hier ok. Fast alle Taxis sind in einem guten Zustand, als keine klapprigen alten Karren (was z.B. in Indien schon mal der Fall sein kann). Na ja, jedenfalls steige ich in ein handelsübliches Taxi ein, mache dem Fahrer klar, wo ich hin will und er fährt los.

Die Fahrt war soweit auch ok, nur dass der Fahrer nach ein paar Kilometern Fahrt drei oder vier Mal den Motor abgewürgt hat (hörte und fühlte sich zumindest so an). Bis dann beim vierten Mal das Auto partout nicht mehr anspringen wollte. Der Taxifahrer hatte dann zwar wie wild am Schaltknüppel rumgerudert und immer wieder probiert zu starten - das passierte aber gar nichts.

Glücklicherweise war die Stelle, wo wir liegen geblieben waren, aber nur ca. 100 m vom Hotel entfernt. Also bin ich den Rest gelaufen. Immerhin war es dem Fahrer sichtlich peinlich, dass das Auto schlapp gemacht hat. Aber so ist das nun mal. Besser so was passiert Mitten in der Stadt als irgendwo auf dem Land...

Montag, 23. April 2012

Rhytmbox in Precise und die Enttäuschung

Ich fange mal damit an, mich selbst zu zitieren:

> Als Mediaplayer ist Rhythmbox wieder zurück, was ich persönlich gut finden, weil Rhythmbox mir besser gefällt als Banshee. 
(Quelle)

Nun, ich muss das korrigieren: Ich bin von Rhythmbox in Precise enttäuscht und habe mir dann doch Banshee wieder nachinstalliert.

Gut, als Player an sich funtkioniert Rythmbox natürlich einwandfrei - aber das ist ja auch keine Kunst. Es gibt drei Sachen, die mich wirklich stören, wovon die dritte aber nicht so schlimm ist:

1) iPod läßt sich nicht mit Musik beladen: Mein iPod Nano 3rd Generation (also schon ein paar Jahre alt) läßt sich nicht mit Musik beladen. Das hat bisher, also bis Oneiric, ohne Probleme per Drag'n'Drop funktioniert. Unter Precise nicht. Lustigerweise funktioniert das ganze auf dem gleichen Rechner im gleichen Ubuntu (also mit den gleichen Bibliotheken) aus Banshee heraus nach wie vor ohne Probleme.

2) CDs rippen: Gestern habe ich eine gekaufte CD gerippt, ins MP3-Format. Mal abgesehen davon, dass es lange gedauert hat, ware die Kopie falsch. Falsch im Sinne von, dass die MP3s viel zu lang waren! D.h. das z.B. ein 6 Minuten Lied auf der CD als MP3 23 Minuten oder so hatte, halt mit Leerraum am Ende. Sehr seltsame Sache... Aber wieder: gleicher Rechner, gleiches System mit Banshee - funktioniert ohne Probleme.
Edit 24.4.2012: Von einem Leser habe ich den Hinweis erhalten, dass das Problem mit der falschen Liedlänge daran liegen könnte, dass Rhytmbox mit variabler Bitrate (VBR) rippt und dann bei Analysieren der MP3-Datei die Länge falsch berechnet. Könnte sein, nur leider ist unter Precise auch die Schaltfläche für die Einstellungen des MP3-Rippers deaktiviert, so dass hier keinerlei Änderungen möglich sind. Abgesehen davon funktioniert VBR unter Precise plus Banshee einwandfrei und auch ältere MP3s, welche auf anderen System erstellt wurden, auch einwandfrei.

3) Der dritte Punkt ist das nach wie vor fehlende Amazon Plugin für Rhythmbox. Banshee hat's nach wie vor an Bord. Aber, wie gesagt, Punkt 1 und 2 sind schwerwiegender.

Ich will damit nicht sagen, dass Banshee der bessere Player ist. Aber: so wie Rhythmbox in Precise funktioniert ist es für mich nicht wirklich akzeptabel und brauchbar. Vielleicht wird das ganze in den kommenden Wochen per Update noch nachgebessert - was ich persönlich aber (leider) bezweifle.