Kreuvfs Allerweltsblog

06.01.2012

Thunderbird ist Sondermüll

Gespeichert unter: Software von Kreuvf um 22:39:06

Ich nutze Thunderbird seit Jahren als Feedreader und bin daher auch mit dessen unangenehme Eigenschaften in Berührung gekommen.

Feeds abrufen? – Jetzt nicht!

Ein (mir auch von min. einem anderen Thunderbird-Nutzer bekanntes) sehr nerviges Problem ist, dass Thunderbird offenbar eine Art Statistik pro Feed irgendwo intern anlegt. In diese Statistik fließt die Zahl neuer Artikel pro Zeit ein und Thunderbird bestimmt dann nach Gutdünken, wann es wieder Zeit ist die Feed abzurufen – selbst dann, wenn man explizit die Anweisung gibt „Nachrichten abrufen“. Feeds, die in der Regel wenig neue Einträge pro Tag haben, werden daher auch selbst dann nicht geprüft, wenn Thunderbird aktiv dazu aufgefordert wurde.

Erst dann, wenn der Algorithmus der Meinung ist, dass es jetzt mal wieder lang genug her ist, dass die Feed geprüft wurde, wird das dann auch gemacht – ein bisschen so wie eine Katze: wenn man ihr einen Befehl erteilt und sie macht das, hat das absolut nichts damit zu tun, dass man der Katze den Befehl erteilt hat, sondern viel mehr damit, dass die Katze gerade das gleiche vorhatte.

Dienst nach Vorschrift

Nachdem ich um die Jahreswende unglaubliche 30 Artikel gebloggt hatte, wollte ich die natürlich auch in Thunderbird haben. Problem Nr. 1 habe ja gerade beschrieben: Thunderbird hat keine Lust. Naja, egal, wird schon ein anderes Mal klappen. Gestern hat das dann auch tatsächlich funktioniert… nur habe ich nur die letzten 10 Artikel bekommen, weil die Feeds blogseitig so eingestellt sind, dass nur die letzten 10 Artikel ausgegeben werden. *seufz* Ich also ins Admin-Interface und den Wert auf „50“ hochgesetzt und Thunderbird wieder angewiesen die Feeds abzurufen. Aber es passierte nichts. Ich bin ja gespannt, ob ich die fehlenden 20 Artikel in den nächsten Tagen noch nachgeliefert bekomme oder ob Thunderbird die einfach komplett verschluckt – warum auch immer.

Problemlösung? FFFFFFFUUUUUUUUUUUU

Ich wollte das Problem per Hand lösen, denn so viele Thunderbirddateien können ja nicht dafür in Frage kommen, so rein namens- und logiktechnisch:

  • $profil/Mail/RSS-News & Weblogs/feeditems.rdf
  • $profil/Mail/RSS-News & Weblogs/feeds.rdf
  • $profil/Mail/RSS-News & Weblogs/Sonstige.msf
  • $profil/Mail/RSS-News & Weblogs/Sonstige.sbd/Kreuvfs Allerweltsblog
  • $profil/Mail/RSS-News & Weblogs/Sonstige.sbd/Kreuvfs Allerweltsblog.msf

Die „feeditems.rdf“ sah auch auf den ersten Blick interessant aus. Da waren die letzten Einträge der Feed drin und irgendwelche “last-seen-timestamp”s. Dokumentation zu dieser Datei habe ich allerdings vergeblich gesucht, nur die Info, dass man bei Problemen mit seinem Profil die Datei einfach löschen können soll. Gesagt, getan (natürlich nur mit Backup), dann die Feed erneut abgerufen und… er hat dieselben 10 Einträge nochmal heruntergeladen, obwohl die schon da waren und entsprechend andere Mengen in den anderen abonnierten Feeds. Immerhin hat sich hier die Extension „Remove Duplicates“ seit langer Zeit mal wieder nützlich gemacht. Gebracht hat es also nichts. Warum eigentlich? Gibt’s vielleicht in der about:config irgendwo einen Eintrag? Naja, weiter in den anderen Dateien.

„feeds.rdf“ sah dann auch gut aus, aber da stehen nur die Feeds als solche drin, irgendwelche magischen Werte für die Abruffrequenz oder Anzahl beachteter Einträge suche ich auch hier vergebens.

„Sonstige.msf“ und „Kreuvfs Allerweltsblog.msf“… heilige Scheiße, was ist das denn für ein Drecksformat? Eine Googlesuche nach „thunderbird msf spec“ hat auch nichts ans Licht befördert außer einem unbeantworteten Mozillazine-Beitrag. Ein wenig manuelles Durchstöbern hat dann den Artikel „Mork Structure“ zu Tage gefördert. Ich hätte also immerhin theoretisch die Gelegenheit die Dateistruktur zu verstehen unter der Annahme, dass die Implementation diesem Dokument entspricht. Natürlich hatte ich keine Lust mich für ein derart simples Problem durch diesen Haufen Spezifikation zu wühlen, bin aber dann doch an der Stelle zum Thema „Parser“ über folgendes gestoßen:

You’re expected to write a parser by hand. The grammar is only a clue, not a spec. The hard part is not the grammar, which is is simple and unambiguous. The hard part is the meaning of the Mork markup.

Im weiteren Verlauf des Dokuments finden sich dann reihenweise herausgestrichene Passagen und Anmerkungen zu Dingen, die man nicht mehr beachten soll, weil das offenbar in Version XYZ doch anders ist…

Ein Wunder, dass dieser Morks überhaupt funktioniert. :X

Als letztes blieb mir dann nur noch „Kreuvfs Allerweltsblog“, aber auch dort wurde ich nicht fündig. Sieht mir ein wenig nach einer Mischung aus HTML-Bröckchen mit E-Mail-Kopfzeilen aus, aber an und für sich nichts so Verstörendes wie die .msf-Dateien.

Resultat ist mal wieder, dass aus unbekanntem Grund etwas in Thunderbird nicht so funktioniert wie es soll und ich dann auch (mal wieder) der einzige zu sein scheine, der dieses Problem hat.

Workaround-Versuch #1

Ich habe dann versucht in einem anderen Ordner einfach dieselbe Feed nochmal abzurufen, aber eben von Neuem. In einem anderen Profil hat er auch direkt alle 50 Artikel geholt, wenn die Feed frisch hinzugefügt wurde. Aber Thunderbird sagt mir dann nur lapidar und ein wenig mit einem „Mensch, bist du doof ^^“-Unterton, dass ich diese Feed doch schon längst abonniert habe! m(

Workaround-Versuch #2

Ich gehe davon aus, dass Thunderbird nur die eingegebenen Strings vergleicht und da ich per .htaccess alle Anfragen auf www.blog.kreuvf.de auf blog.kreuvf.de leite, sollte ich mit einer Feed von www.blog.kreuvf.de dieselbe Feed bekommen, aber ohne das dämliche Gezeter von Thunderbird. Das Gezeter war weg, aber er hat trotzdem nur die letzten 10 abgerufen. Und er zeigt keine 10 neuen an. Schaut man dann aber in die feeditems.rdf, dann tauchen da plötzlich Einträge für die Feed von www.blog.kreuvf.de auf.

Workaround-Versuch #3 (nicht probiert)

Gut, Thunderbird braucht halt Brachialgewalt. Also erst mal diese unnütze Feed aus Versuch 2 entfernt und die entsprechenden Einträge per Hand entfernt – ihr hattet doch wohl nicht angenommen, Thunderbird würde die Einträge dann automatisch oder wenigstens beim Komprimieren entfernen :X – und einfach ein andere Feed genommen. Da bekomme ich zwar dann Duplikate, die kann ich aber ganz einfach killen und die neuen Artikel dann in den Ordner, der eigentlich für die andere Feed gedacht ist, verschieben. Danach wird die neue Feed dann gekillt und ich habe die regelmäßigen Updates der alten Feed…

Nur zur Info: Thunderbird wurde immer brav ausgemacht, wenn ich manuell an die Dateien gegangen bin.

Lösung

Heute früh hat Thunderbird dann sowohl diesen Artikel als auch alle fehlenden der 50 Artikel (und einige natürlich doppelt ;D) heruntergeladen. ~.~ Fazit bleibt gleich.

Fazit

Thunderbird, auch wenn man EnigMail sei Dank mit dir verschlüsselte E-Mails schreiben und empfangen kann, aber du nervst, ständig, mit immer neuen Problemen und das, obwohl sich mein Nutzungsverhalten in den letzten Jahren quasi nicht verändert hat. Da kann auch die Versionspolitur nichts dran ändern…

24.07.2011

Ubuntu 11.04: PAE-Kernel + nVidia

Gespeichert unter: In eigener Sache,Software von Kreuvf um 16:37:08

Ubuntu 11.04 installiert zum „normalen“ Kernel noch einen PAE-Kernel, falls dies nötig sein sollte. Standardmäßig wurde dieser Kernel dann bei mir auch gestartet, was dazu geführt hatte, dass ich keine grafische Benutzeroberfläche mehr hatte, da der binäre nVidia-Treiber (current aka 270.41.06) von X nicht geladen werden konnte, was in der Xorg-Log so aussieht:

[    22.448] (II) LoadModule: "nvidia"
[    22.448] (II) Loading /usr/lib/xorg/extra-modules/nvidia_drv.so
[    22.448] (II) Module nvidia: vendor="NVIDIA Corporation"
[    22.448] 	compiled for 4.0.2, module version = 1.0.0
[    22.448] 	Module class: X.Org Video Driver
[    22.451] (EE) NVIDIA: Failed to load the NVIDIA kernel module. Please check your
[    22.451] (EE) NVIDIA:     system's kernel log for additional error messages.
[    22.451] (II) UnloadModule: "nvidia"
[    22.452] (II) Unloading nvidia
[    22.452] (EE) Failed to load module "nvidia" (module-specific error, 0)
[    22.452] (EE) No drivers available.
[    22.452]
Fatal server error:
[    22.452] no screens found
[    22.452]
Please consult the The X.Org Foundation support
	 at http://wiki.x.org
 for help. 

Da einem Benchmarking auf Phoronix zu Ubuntu 11.04, PAE und 64-Bit zufolge aber mit dem PAE-Kernel nicht mit schlechterer Performance zu rechnen ist und durch diesen Kernel der gesamte Arbeitsspeicher zur Verfügung steht, wollte ich dieses Problem lösen und bin auch recht schnell auf eine einfache Lösung gestoßen:

  1. PAE-Kernel im Recovery-Modus starten (GRUB)
  2. Nachdem sich beim Booten nichts mehr tut, Strg + Alt + F1, um im Recovery-Menü „failsafeX“ auszuwählen und zu starten.
  3. Wie gewohnt einloggen, dann „Zusätzliche Treiber“ aufrufen.
  4. Aktuellen nVidia-Treiber deaktivieren/deinstallieren. Nicht neustarten.
  5. nVidia-Treiber wieder aktivieren/installieren.
  6. Neustart.
  7. Normalen PAE-Kernel starten und 3D-Hardwarebeschleunigung mit dem binären nVidia-Treiber genießen.

Eine weitere Lösung, die ich allerdings nicht selbst probiert habe, besteht im Falle eines Upgrades von Ubuntu 10.10 auf Ubuntu 11.04 darin folgendes zu tun:

sudo apt-get install linux-headers-`uname -r`
sudo dpkg-reconfigure nvidia-185-kernel-source

Vermutlich macht das im Endeffekt genau das gleiche, was auch oben beschriebene Prozedur tut.

Der erste Befehl installiert die Linux-Header für den aktuell verwendeten Kernel. Das „`uname -r`“ wird dabei durch den Rückgabewert des Befehls „uname -r“ ersetzt, dieser Befehl also zuerst ausgeführt und die Ausgabe dieses Befehls dann genommen, um das Wunschpaket auszuwählen. Ich würde dabei aktuell für „uname -r“ schlicht „2.6.38-10-generic-pae“ erhalten. Der Befehl zum Installieren des Paketes würde demnach das Paket „linux-headers-2.6.38-10-generic-pae“ installieren.

Der zweite Befehl würde bei mir daran scheitern, dass das Paket „nvidia-185-kernel-source“ nicht installiert ist, was gemäß der Paketbeschreibung auch gut so ist:

Dies ist ein Übergangspaket für »nvidia-glx-185-kernel-source« und kann nach erfolgreicher Installation gefahrlos entfernt werden.

Ich vermute, dass man stattdessen

sudo dpkg-reconfigure nvidia-current

verwenden müsste. Falls das jemand ausprobiert und das funktioniert, bitte ich um Rückmeldung. Ich habe das jetzt mal bei bereits funktionierendem nVidia-Treiber gemacht und folgende Ausgabe erhalten:

Removing all DKMS Modules
Done.
update-initramfs: Generating /boot/initrd.img-2.6.38-10-generic-pae
update-initramfs: Generating /boot/initrd.img-2.6.38-10-generic-pae
Loading new nvidia-current-270.41.06 DKMS files...
Building only for 2.6.38-10-generic-pae
Building for architecture i686
Building initial module for 2.6.38-10-generic-pae
Done.

nvidia-current.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/2.6.38-10-generic-pae/updates/dkms/

depmod....

DKMS: install Completed.

Würde also mal behaupten, dass das gut aussieht. Und es funktioniert auch noch alles wie vorher.

12.07.2011

Flash: Hohe CPU-Last unter Ubuntu 11.04

Gespeichert unter: In eigener Sache,Software,Technologie von Kreuvf um 17:27:20

Vor einiger Zeit hatte ich bereits einen Workaround für den standardmäßig installierten Flash Player unter Ubuntu 10.10 geschrieben. Ich vermute mittlerweile, dass das Problem im Zusammenspiel mit dem binären nVidia-Treiber auftritt, was aber im Endeffekt sowieso egal ist, weil Nutzer dieses Treibers ganz sicher nicht wegen Flash – die Einschätzung im oben verlinkten Artikel, dass es sich bei Flash um rottigen Sondermüll handelt, ist unverändert – auf ihre Hardware-3D-Beschleunigung verzichten werden.

Mit dem aktuellen Ubuntu 11.04 (immer noch 32 Bit) besteht dieses Problem bei mir nicht mehr. Rottiger Sondermüll bleibt natürlich auch mit einem Problem weniger immer noch rottiger Sondermüll, weshalb ich stattdessen eine andere Beobachtung gemacht habe: mit dem standardmäßig installierten Flash Player zeigt sich beim Abspielen eines Youtube-Videos (Manu Chao – Bongo Bong) in 360p-Qualität eine Prozessorauslastung von etwa 77% eines Kerns. Das ist so deutlich zu viel, dass es meinen alltäglichen Betrieb stört.

Ich habe mir also gedacht: „Na, kannst es ja mal versuchen und gucken, ob der Flash Player aus Google Chrome das Problem auch hat.“ Ich habe daraufhin wie im oben verlinkten Artikel beschrieben die libflashplayer.so durch die aus Google Chrome ersetzt, Firefox 5 neugestartet und das Video erneut abgespielt. Ergebnis: Prozessorauslastung runter auf etwa 27% eines Kerns.

Aus irgendeinem Grund ist Googles libflashplayer.so also in der Lage den Flash-Bloat mit Faktor 2 bis 3 geringeren CPU-Ressourcen zu verarbeiten. Danke, Google.

26.03.2011

Flash Player unter Ubuntu 10.10

Gespeichert unter: In eigener Sache,Kurioses,Software von Kreuvf um 13:48:04

Ubuntu 10.10 nutzt den Firefox 3.6 und für diesen die aktuelle Adobe-Flash-Player-Version 10.2.153.1.

So weit, so schlecht. Denn mit dem Flash Player der Version 10.2.153 läuft es so gar nicht rund. Nachdem ich ein Youtube-Video abgespielt habe, bleibt das letzte angezeigte Bild aus dem Flash Player in irgendeinem Speicher (kenne mich mit den Interna zu wenig aus) und scheint ab dann auf sämtlichen schwarzen Flächen, also auch bei Text, durch. In einem schwarzen Konsolenfenster kann man dann diesen Inhalt sogar noch in Gänze betrachten. Das kann ich so natürlich nicht lassen. Dass Flash rottiger Sondermüll ist, steht außer Frage, aber bis die Codecfrage im Internet mal so weit geklärt ist, dass man für Videos auf Flash verzichten kann, ist das ein notwendiges Übel.

Wie lautet die Abhilfe? Irgendwo im Internet, vermutlich bei ubuntuusers.de, habe ich dann die einfache wie auch merkwürdige Problemlösung gefunden: Nutze den Flash Player aus Google Chrome!

Auf der oben verlinkten Seite kann man lesen, dass für Googles Chrome die Version 10.2.154.25 des Flash Players aktuell ist. Da Chrome auch für GNU/Linux angeboten wird und es sogar eigene *.deb-Pakete für Debian und Ubuntu gibt, muss man sich nur das geeignete *.deb-Paket herunterladen (32 Bit bei mir), mit einem Packprogramm da reinschauen und die „libgcflashplayer.so“ suchen und auf den Desktop entpacken.

Im nächsten Schritt aktualisiert man die Datenbank für „locate“ mit

sudo updatedb

und sucht dann nach der Datei „libflashplayer.so“ via

locate libflashplayer.so

und erhält dann eine oder mehrere Fundstellen.

Bei mir lagen die beiden Dateien an folgenden Stellen:

  • /usr/lib/flashplugin-installer/libflashplayer.so
  • /usr/share/ubufox/plugins/libflashplayer.so

Erstmal benennen wir das entpackte Flash-Player-Plugin aus Chrome um, dann löschen wir die vorhandenen Plugins, kopieren unser Chrome-Flash-Player-Plugin dahin und löschen dann die auf dem Desktop befindliche libflashplayer.so:

mv ~/Desktop/libgcflashplayer.so ~/Desktop/libflashplayer.so
sudo rm /usr/lib/flashplugin-installer/libflashplayer.so /usr/share/ubufox/plugins/libflashplayer.so
sudo cp ~/Desktop/libflashplayer.so /usr/lib/flashplugin-installer/
sudo cp ~/Desktop/libflashplayer.so /usr/share/ubufox/plugins/
rm ~/Desktop/libflashplayer.so

Vorsichtige Naturen (wie ich) kopieren sich die vorhandenen Plugins vorher an einen sicheren Ort, um wenigstens einen halbwegs funktionierenden Flash Player zu haben. Auch wenn das nichts machen sollte, habe ich den Firefox vor dieser Löschaktion geschlossen.

Nachdem das getan ist, sollte Firefox unter Extras bei Addons im Tab „Plugins“ für Shockwave Flash die Version 10.2 r154 anzeigen. Und natürlich ist dann auch dieses nervige Problem weg :D

25.03.2011

SimCity: Lacum

Gespeichert unter: In eigener Sache,Software von Kreuvf um 17:29:56

Ich habe in den letzten Tagen ein wenig Zeit gefunden das SimCity für den SNES zu zocken. Entstanden ist dabei eine Stadt mit rund 340.000 Einwohnern mit Namen „Lacum“.

Ich habe mir auch die Arbeit gemacht und aus 27 Einzelscreenshots die gesamte Karte fotografiert wie sie aktuell, im Jahre 2253, aussieht. Ich bin ein wenig stolz auf diese Stadt, weil ich es bisher nicht geschafft habe mich von einem festen Bauschema zu trennen und die Stadt einfach nach und nach wachsen zu lassen. Ich denke, dass Lacum da aber einen sehr realistischen Eindruck macht, auch wenn typisch für SimCity keinerlei Straßen vorhanden sind, weil die nur Nachteile bringen. Die 500.000er-Marke habe ich aber auch dieses Mal wieder nicht erreicht.

Die größten Probleme sind die hohe Luftverschmutzung, hohe Mietpreise, hohe Verbrechensrate und zu hohe Steuern. Die hohe Luftverschmutzung resultiert aus der Landknappheit, die es mir nicht ermöglicht die Industriegebiete auseinanderzuziehen und die Zwischenräume mit Parkanlagen aufzufüllen. Dies ging nur etwa bis zu 150.000-Einwohnergrenze. Die hohen Mietpreise waren mein Ziel, denn ich hatte mir verschiedene Zufallskarten angeschaut unter dem Aspekt der möglichst großen Küstenlinie und 443 hat reichlich davon. Auf der anderen Seite gibt es genug wertlose Wohngrundstücke, einige davon sogar noch unbewohnt, von daher weiß ich nicht, was es da zu meckern gibt.

Die hohe Verbrechensrate ist ausschließlich auf die Industriegebiete bezogen. Ich baue in Industriegebieten so gut wie nie Polizeistationen, denn

  • die Kriminalität ohnehin schwierig in den Griff zu bekommen,
  • Industriegebiete wachsen auch bei höchster Kriminalitätsrate,
  • für ein akzeptables Steuerniveau muss ich eben an der Polizei sparen und
  • Polizeistationen würden nur wertvolle Fläche für Industriegebiete belegen.

Feuerwehren habe ich nur eine einzige, weil die Bevölkerung das mal verlangt hat, genauso wie ein Stadion und einen Hafen.

Das Boot hat sich irgendwie zwischen den beiden Schienen im Wasser verfangen, crasht aber nirgends rein. Da Flugzeuge nur dauernd abstürzen, habe ich mir den Flughafen im Nordwesten mit einem gezielt herbeigeführten Flugzeugabsturz kaputtgeglitcht, sodass wir zwar einen Flughafen haben, der aber kein Strom hat. Dadurch können keine Flugzeuge starten, die ja mindestens ein Mal pro Jahr abstürzen würden. Darauf habe ich einfach keine Lust. Bei der Menge an Flugzeugen sollte das vielleicht alle 25 Jahre bis 50 Jahre passieren. Zudem muss ich mich dann auch nicht um meine Geschenke oder flächendeckende Feuerwehr sorgen.

Die Steuern liegen bei 4 %, wodurch ich pro Jahr rund 2.000 $ Gewinn mache. Bei 3 % kriege ich einen zweistelligen negativen Betrag, sodass ich die Steuern nicht senken kann.

Im Süden gibt es ein Krankenhaus- und Schulviertel. Ich hatte ursprünglich vor wertloses Land für diese zufällig entstehenden Einrichtungen zu nutzen. Im Nachhinein hätte ich dafür lieber die nordwestlich gelegenen Wohngebiete nehmen sollen. Warum ich eine zweite Windmühle geschenkt bekommen habe, weiß ich nicht. Außer die bereits beschriebenen Tricks und Glitches habe ich keine Cheats oder den Debugmodus verwendet.

Mit den Parkanlagen hatte ich mir etwas Zeit genommen: Grünflächen stehen für Parkanlagen, die zum Zwecke der Luftreinigung gebaut wurden, während Bäume für Parkanlagen stehen, die zum Zwecke der Landpreissteigung gebaut wurden.

Die Platzierung der Geschenke habe ich nicht immer so platziert, dass der Effekt möglichst positiv ist. Schade ist vor allem, dass man abgerissene Geschenke nicht erneut erhalten kann. Ebenfalls wäre es toll, wenn man mehr als nur 7 Mal Landgewinnung erhalten könnte, da ich so noch mindestens 2 Inseln in die großen Wasserflächen gebaut hätte, auf denen die Landpreise explodiert wären. Hohe Landpreise bedeuten schließlich auch Wolkenkratzer und die beherbergen sehr viel mehr Einwohner als die Billighütten im Nordwesten. So hätte ich diesen Platz entweder für neue Industriegebiete oder für größere Abstände zwischen einzelnen Industriegebieten nutzen können.

Nächste Seite »