November 6th, 2009

Berlin 1945 und 1953 in Luftbildern auf Google Earth

Wie das GoogleWatchBlog berichtet, hat Google einige historische Luftaufnahmen von Berlin organisieren können und freigegeben. Benötigt wird Google Earth 5.0 oder höher, der Zugang erfolgt über den Zeitregler (”historical imagery”).

Die 1945er Bilder stammen aus der Endphase des 2. Weltkriegs, zeigen aber leider nur kleine Ausschnitte (interessant neben zerstörten Gebäuden und Verschandelungen städtebaulicher Art wären vorallem das Stadtschloss und das Nikolaiviertel). Dahingegen liegt nahezu die gesamte Fläche Berlins auf einem Stand von 1953 vor, deren Umfang vorallem für Ortskundige interessant sein dürfte – so kann man sich z.B. Wittenau vor dem Bau des Märkischen Viertels, verschwundene ebenso wie noch gar nicht vorhandene Straßen (inkl. ganzer Autobahnen wie der A100) und massenhaft freiliegende Grundstücke in der Innenstadt ansehen. Etwas Ortskenntnis ist auch nötig, da die Bilder nicht exakt an ihren echten Positionen liegen und somit Layer wie z.B. die Straßenkarte zumindest außerhalb der Innenstadt teilweise stärker abweichen.

Die Qualität der Bilder an sich ist soweit ziemlich gut, leider stolpert man an den Kanten häufig über größere Überlappungen beim Zusammenfügen, sodaß man manchmal zweimal hingucken muss, bis man etwas eindeutig identifiziert hat. Leider wird dabei auch ein Teil des Bildmaterials an vielleicht interessanten Stellen verdeckt.

October 23rd, 2009

Disabling HPA on Samsung HDDs

A friend of mine bought a new 1TB hard drive from Samsung (HD103SJ with firmware 1AJ100E4). He used Windows Vista to partition it and format 2 partitions for NTFS, one to install Windows 7 and one to move data from an external drive. Everything worked well, Vista used the drive as intended. When he rebooted to install Win7 everything – Windows 7 setup, BIOS and unfortunately also Vista – saw the drive with only 33 MB capacity, reporting one unformatted partition on it.

Searching the internet we found out it must be a problem with the drive’s host protected area (HPA) in conjunction with his mainboard/SATA controller (ironically from Gigabyte). He updated BIOS and chipset drivers but the problem persisted. According to some forums there are some tools for Windows to fix that issue. Since many people reported data loss afterwards and he didn’t have another copy of the data he moved from his external drive we decided to boot into the new Gentoo Live DVD that also allowed me to log in remotely via SSH to investigate the problem (we are more than 500km away from each other).

Following a short guide on how to detect and disable HPA we could see the settings of his drive:


# hdparm -N /dev/sdb
/dev/sdb:
 max sectors   = 65134/1953525168, HPA is enabled

This seems to have been the opposite configuration of what should have been set according to the guide: While the examples from the guide had a much greater value before the slash his drive seemed to show the intended remainder to be allocated to the HPA set for “public” use, so his HPA seemed to cover almost the entire 1TB of his HDD.

Before we tried to correct that value we wanted to check if we can access any data right away. Unfortunately everything prevented us from accessing the HPA – the kernel did only register /dev/sdb1 but not /dev/sdb2, smartmontools showed 33MB capacity as well, parted refused to work and fdisk finally showed the correct partition table but reported a mismatch in geometry, so at least we still seemed to access the same start sector of his HDD:


Disk /dev/sdb: 33 MB, 33348608 bytes
255 heads, 63 sectors/track, 4 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x24c2a85c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       38245   307200000    7  HPFS/NTFS
Partition 1 has different physical/logical endings:
     phys=(1023, 254, 63) logical=(38244, 193, 29)
/dev/sdb2           38245      121601   669558784    7  HPFS/NTFS
Partition 2 has different physical/logical beginnings (non-Linux?):
     phys=(1023, 254, 63) logical=(38244, 193, 30)
Partition 2 has different physical/logical endings:
     phys=(1023, 254, 63) logical=(121600, 247, 55)

We also tried to access /dev/sdb with dd but only got the 33MB until the drive “ended”. Considering the HPA modifications to be the last resort we tried to change it only temporarily at first, but had to set it permanently to get any effects on the system after a reboot. Please note that the manpage for hdparm explicitely states that changing that setting is “VERY DANGEROUS, DATA LOSS IS EXTREMELY LIKELY”. I copied the old value to a text editor before making the modifications, so I hoped we could at least set it back to what it was before our changes in case it didn’t work well. To make a permanent change, simply run the same command with p (for permanent) followed by the new maximum value to be set (to disable HPA this would be the exact same value as written after the slash):


# hdparm -N p1953525168 /dev/sdb

Having rebooted, fdisk did not complain any more and the kernel recognized both partitions:


Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x24c2a85c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       38245   307200000    7  HPFS/NTFS
/dev/sdb2           38245      121601   669558784    7  HPFS/NTFS

hdparm confirmed that we just disabled HPA:


# hdparm -N /dev/sdb

/dev/sdb:
 max sectors   = 1953525168/1953525168, HPA is disabled

We mounted his data partition read-only using ntfs-3g and since everything seemed fine we started to copy everything back to his external drive, just to be sure we had a backup of his data in case that Windows would decide to crash his partition after another reboot. However, Windows Vista did recognize the drive correctly again and so did Windows 7; he can access all data and nothing seems to be corrupted or missing.

It appears strange that Windows initially ignored the HPA and worked well until he rebooted. But having had extreme, sporadic problems myself using a Silicon Image SATA controller with Windows XP SP2 as well as Windows Vista (without SP, back in 2007) it did not really surprise me any more.

October 5th, 2009

segfaults and libjpeg.so.62 missing after update

I updated my Gentoo system last week (amd64) and ran into multiple problems.

Due to compile errors on many ebuilds I decided to run a revdep-rebuild. After about an hour it recognized that about 380 ebuilds were broken and had to be remerged. I began but could not finish that day so I left revdep-rebuild (which happened to stop due to an error anyway) and shut my system down.

The next day I realized that about half my system was broken. CUPS crashed repeatedly, reporting a segfault with libc whenever I tried to print anything (visible in the kernel log). Remerging cups or glibc did not help, so I went to the Gentoo forums and found the advise to run

emerge -e system 
etc-update 
perl-cleaner all 
python-updater 
emerge -1 libtool 
revdep-rebuild

It took a long time involving the usual stop-and-go caused by build errors but finally it finished. CUPS worked again and so did most of the system. Unfortunately 64 bit binaries like nxclient still did not run because libjpeg.so.62 did not exist any longer. Well, it did for 32 bit apps (so the 32 bit Firefox binary could still run) but not for 64 bit. (the 32 bit version is belongs to app-emulation/emul-linux-x86-baselibs) As usual, linking to the 32 bit library was without success (wrong ELF architecture) and linking to libjpeg.so.7 didn’t work well (I was able to run NX but all JPEGs were missing).

I was lucky enough to find a rather unrelated bug report on the bugtracker that indicates there is a second ebuild for libjpeg called media-libs/jpeg-compat which actually contains the missing 64 bit version of libjpeg.so.62. Having emerged that everything works fine again now.

October 3rd, 2009

Wechsel des Blog-Systems

Nachdem mir jahrelang Serendipity treue Dienste geleistet hat (genauer: 4 1/2 Jahre), ich jedoch an den vielen Features und Plugins, sowie der besseren Oberfläche von WordPress Blut geleckt hab, habe ich nun komplett umgestellt. Die alten Beiträge sind vollständig importiert und Umleitungen auf allen wichtigen Adressen gesetzt. Die meisten alten Links sollten auf die entsprechenden Artikel bei WordPress auflösen; Probleme gibt es nur bei Sonderzeichen und Umlauten, wobei keine allzu wichtigen Artikel davon betroffen sind, weshalb ich das einfach mal ignoriere.

Hier und da gibt es noch ein paar Problemchen und abgesehen davon fehlt dem CSS auch noch der Feinschliff und die Sprache des Templates steht vorerst auf Englisch fest. Da ich jedoch unter dem alten System nicht weiterbloggen wollte, da WordPress schon seit 2 Wochen fertig eingerichtet hier rum lag, habe ich mich dazu entschlossen, die Umstellung gleich vorzunehmen und alles Weitere nach und nach im laufenden Betrieb zu erledigen.

September 10th, 2009

Stromausfall

Die Lampe flackert sekundenlang, dann würgt der Rechner ab und auf einmal ist alles duster. Zum Sicherungskasten: Nein, sind nicht wir. Zum Balkon: Nein, ist die ganze Straße ab unserem Haus abwärts.

Nummer zur Störungsmeldung bei Vattenfall unbekannt, Handy-Akku so gut wie leer. Was tu ich?

Notebook raus, USB-Kabel ans Handy, Einwählen per UMTS. Vattenfall aufrufen, Störungsmeldung per E-Mail raus. Klappt super. Nur meine Daten hätte ich grad gern aber die liegen auf dem Rechner der grad nicht mehr an geht. :P

August 22nd, 2009

Opera 10: finally I got Flash and Java back

I don’t know what they did, but Opera 10 Beta 3 (build 4537) finally got Flash working again on my Linux system. Back in 2007 Flash 9 started to use GTK solely and Opera 10 could no longer run the plugin: Opera would simply freeze and/or crash. Due to security updates I finally had to upgrade the Flash player and had to start Firefox for every flash website (or Flash video) I wanted to view. With every update I checked if support returned but it still would not run. In 2008 I changed to 64 bit and while many people reported it started working again on their 32 bit systems I still only got crashes. In February I started using KDE 4 (and Qt 4) and while people started reporting Flash to work on 64 bit I – again – could not use it.

Maybe I was always upgrading/updating at the wrong time – there is one thing I can read from the filenames portage downloaded:

opera-10.00-b1.gcc4-shared-qt3.x86_64.tar.bz2
opera-10.00-b3.gcc4-qt4.x86_64.tar.bz2

It seems like older versions have only been built (or downloaded) with Qt3 libraries but with beta 3 there finally is a Qt4 version available. Maybe that’s the fix – finally, after 2 years, I can use Flash again in my primary browser! :D

I checked some websites and while all Flash movies run and most run fine, videos still run jerky, highly depending on the players being used and the mode (fullscreen is worst). While these performance problems happen to be worse than in Firefox, it’s still mainly a problem of the Linux version of the Flash player (xkcd made a cartoon about it recently).

The next thing I could not use since I switched to 64 bit was the Java plugin. It was the same as with Flash, I got freezes and/or crashes and no useful error messages. I was quite surprised when I saw a useful backtrace on my terminal: For some reason, Opera 10 tried to use Blackdown JDK 1.4 which some ebuild must have had as a dependency. I unmerged it and now I got errors complaining about libjvm.so not being found. To point Opera to the correct path simply go into Tools/Preferences/Advanced/Content, enable Java and open the Java Options dialog. The path to be entered can be found by running locate libjava.so and should be something like /opt/sun-jdk-1.6.0.15/jre/lib/amd64/ (excluding the filename; you will need to update this on version changes).

On Gentoo you may still get an error message telling you that libjvm.so cannot be found. You may need to symlink it from …/jre/lib/amd64/server/ to …/jre/lib/amd64/ and it should be working after a browser restart.

I don’t know since when there was a Java Options dialog, so maybe I could have been able to use Java for quite some time now. Anyway, it’s great to finally have both plugins working again.

August 12th, 2009

Gewinne bei Einer gegen Hundert (Xbox) Live

Nachdem letzten Monat die Xbox-Version von 1vs100 gestartet hat und ich vor zweieinhalb Wochen tatsache bei den Gegnern saß (Gewinn waren 80 Punkte + ein Arcade-Spiel), habe ich heute nun den letzten Preis vergeben bekommen. Microsoft schreibt zwar, daß man ca. 4-6 Wochen auf die Gewinnausgabe warten soll, allerdings fand sich nichts konkreteres zum Ablauf. In meinem Fall traf letzte Woche eine E-Mail mit Gutscheincode ein. Nach dem Einlösen per Webseite (alternativ ginge es auch direkt an der Xbox) erschienen dann auch die 80 Punkte, jedoch nicht das Spiel. Da in der Beschreibung des Codes (wird nach der Eingabe angezeigt) auch nur von 80 Punkten die Rede war, habe ich bereits vermutet, daß für das Spiel noch eine zweite Mail kommen wird. Das war dann heute auch tatsächlich der Fall – die Mail sieht genauso aus, der Code ist diesmal für das Spiel.

Gewinnen kann man übrigens pro Staffel bis zu 3 mal; bei höheren Gewinnen, wie z.B. den Sachpreisen für die Kandidaten oder durch Verlosung am Ende der Staffel, könnte es auch vorkommen, daß entsprechend den Angaben auf der Webseite nochmal eine Unterschrift geleistet werden muss. Für die kleineren Gewinne ist das jedenfalls nicht der Fall; man muss lediglich ein paar Wochen warten.

June 27th, 2009

ab Kauf defekte Guitar Hero-Controller

Nachdem ich mir schon im Januar Guitar Hero für die Wii geholt, mir später aber eine Xbox angeschafft habe, musste ich nun nochmal bei MediaMarkt zuschlagen und mir das World Tour-Bundle mit “Gitarre” holen. Leider sind massiv viele World Tour-Controller schon beim Kauf defekt. Gleich noch am Kauftag fiel bei meinem nach ca. 2 Stunden Spielzeit der Mikroschalter für den Anschlag nach unten aus, am zweiten Tag verselbstständigte sich dieser sogar. Außerdem fing der Controller an zu quietschen. Alles Macken, die zwar normal sind, aber nicht schon nach so kurzer Zeit auftreten sollten. Also wieder zu MM und dort umtauschen, was auch problemlos getan wurde.

Der neue Controller hat zwar auch nach ca. 6h Spielzeit noch funktionierende Schalter, allerdings fing er schon nach 2 Liedern an, entsetzlich zu quietschen. Da der Controller sonst aber okay ist und ich keine Lust hatte, schonwieder umtauschen zu fahren, hab ich heute mal Silikonspray gekauft und tatsache: Das Zeug wirkt Wunder!

Einfach Riemen, Hals und Faceplate entfernen, Batterien raus, Whammy zur Seite und alles bis auf die Strumbar abdecken, Küchenpapier mit Klebeband reicht. Das Gehäuse nicht aufschrauben! Dann (möglichst im Freien) auf beiden Seiten ein paar Sprühstöße Silikonspray länglich “unter” die Strumbar (zu einer Seite drücken und auf der anderen sprühen). Ein paar mal hin- und herklicken, nochmal abwischen, kurz trocknen lassen, dann wieder alles zusammensetzen. Der Controller sollte nicht mehr quietschen und die Strumbar etwas leichtgängiger sein – perfekt! Am besten gleich ein paar Runden spielen, damit sich das Spray verteilen kann. Zwischendurch immer mal wieder kurz nachwischen, falls es rausschmiert.

Die Mikroschalter fallen übrigens nach ca. einem halben bis einem Jahr, je nach Belastung, so wie oben beschrieben aus oder verbiegen sich. Diese können aber ebenfalls leicht ersetzt oder korrigiert werden. Reparaturanleitungen siehe hier. Laut Datenblatt eines Mikroschalters bei Conrad sollten Mikroschalter in Deutschland mindestens 50.000 Schaltvorgänge aushalten – das sind nur etwa 100 Songs auf mittlerer Stufe in GH WT; als Ersatzteil gekaufte Schalter könnten höherwertiger sein. Neue Mikroschalter gibt es ab 2€ pro Stück zu kaufen.

Ich hab keine Ahnung wie es mit der Garantie bei Silikonspray aussieht (letztlich ist es nur Schmiermittel, das offenbar bei der Herstellung vergessen wurde), beim Öffnen des Gehäuses zum Austausch oder der Korrektur der Schalter wird diese aber verfallen. Falls sich jemand nach dieser Anleitung seinen Controller versauen oder von der Garantie auschließen sollte, übernehme ich keine Haftung. :)

Das Problem mit den World Tour-Controllern ist übrigens bekannt. Laut MediaMarkt sind etwa 4% aller Controller davon betroffen, sprich 2% aller verbauten Mikroschalter. Das Quietschen betrifft beinahe jeden Controller (gefühlte 90%). Laut diversen Foren scheint die Wii-Version von den Problemen (bei Kauf) weitestgehend verschont zu bleiben, während besonders die Controller der Xbox-Versionen diese Macken aufweisen. Die Controller der Vorgängerversion Guitar Hero III sind allen Bewertungen nach scheinbar besser verarbeitet gewesen.

Eine Kaufempfehlung für die Wii-Version würde ich trotzdem nicht geben wollen, da das Spiel grafisch ganz ordentlich kastriert ist; dann lieber an den Controllern der Xbox oder PS2/3 rumflicken. Am Spielprinzip ändert sich allerdings nichts. :) (Weiterer Unterschied: Die Xbox-Version kennt Trackpacks und Alben zum Kauf; die Wii-Version momentan nur Einzeldownloads. Singen kann man auf der Xbox übrigens auch mit dem Headset oder dem USB-Mikrofon der Wii-Version. Ob die Wii überhaupt einen richtigen Multiplayer-Modus übers Internet integriert hatte, weiß ich grad nicht, die Xbox-Version hats jedenfalls.)

June 3rd, 2009

Opera 10 Beta

Mitte März testete ich einige bei mir installierte Browser mittels Peacekeeper. Nachdem heute die Beta-Version von Opera 10 erschien habe ich diesen Test nochmal wiederholt und Opera kommt nun auf stolze 1853 Punkte (schnellster im März war bei mir Konqueror 4.2.00 mit 679 Punkten, Opera 9.64 kam auf 581 – das entspricht einer Steigerung auf das 3,2fache).

Neu sind u.a. Opera Turbo (die Komprimierung von Webseiten für langsame Verbindungen wie z.B. per UMTS oder “Schmalband” durch einen Proxy von Opera), ein verbessertes SpeedDial, eine CoverFlow ähnelnde Darstellung der Tabs (zum Runterziehen bei Bedarf), eine neue JavaScript-Engine mit ähnlichen Optimierungen wie bei Google Chrome (sorgt für den obigen Erfolg beim Benchmark) und einiges mehr. Auch der ACID3-Test läuft mit Opera 10 – wie schon vor einer ganzen Weile von Opera vermeldet – komplett bis 100% durch und ist pixelgenau.

Unterstützung für HTML5-Videos wie sie sich mit Youtube’s Sonderseite testen lässt, fehlt leider noch. Das ist insbesondere deshalb schade, weil auf meinem System nach wie vor kein Flash und kein Java funktioniert (sollte aber angeblich schon seit einigen Versionen wieder; der Fehler lässt sich irgendwie nicht finden). Wann Unterstützung für den Video-Tag kommen wird ist noch offen; ich vermute aber, daß dies noch eine Weile dauern könnte, da diese ja plattformübergreifend funktionieren müsste.

Eine Warnung gäbe es noch: Unbedingt vor dem Starten der Beta-Version das alte Profil-Verzeichnis sichern. Opera 10 benutzt dasselbe wie Version 9, updated jedoch einige Dateien, sodaß Opera 9 diese anschließend nicht mehr verwenden kann.

Update: Ohne Compositing kommt Opera 10 sogar auf 2047 Punkte, also 3,5fache Geschwindigkeit.

May 14th, 2009

Routing-Fehler bei Google

Heute nachmittag kam es zu einem scheinbar weltweiten Routing-Problem bei Google; Traffic floss entweder nur sehr langsam oder gar nicht. Zum Zeitpunkt des Ausfalls habe ich auf Arbeit nichts davon mitbekommen, war also einer derjenigen, die noch eine stabile Route zu Google hatten. Das scheint jedoch eher die Ausnahme als die Regel gewesen zu sein (jedenfalls in Deutschland), wenn man sich entsprechende Blogbeiträge und Benutzerkommentare z.B. beim GoogleWatchBlog (vorallem deutsche ISPs) oder bei ZDNet (USA und andere) ansieht. Google konnte das Problem innerhalb ca. einer Stunde beheben; solange gab es scheinbar wild rotierende Ausfälle (im Artikel bei ZDNet sind entsprechende Screenshots) – bis sich die Änderungen überall hin ausgewirkt haben, scheint es jedoch eine Weile länger gedauert zu haben.

Was ist passiert?

Google äußert sich in seinem Blog:

Imagine if you were trying to fly from New York to San Francisco, but your plane was routed through an airport in Asia. And a bunch of other planes were sent that way too, so your flight was backed up and your journey took much longer than expected. That’s basically what happened to some of our users today for about an hour, starting at 7:48 am Pacific time.

An error in one of our systems caused us to direct some of our web traffic through Asia, which created a traffic jam. As a result, about 14% of our users experienced slow services or even interruptions. We’ve been working hard to make our services ultrafast and “always on,” so it’s especially embarrassing when a glitch like this one happens. We’re very sorry that it happened, and you can be sure that we’ll be working even harder to make sure that a similar problem won’t happen again. All planes are back on schedule now.

Kernaussage in einer groben Übersetzung: “Ein Fehler in einem unserer Systeme hat uns veranlasst, einigen unseres Web-Traffics durch Asien zu leiten, was einen Stau verursachte. Als Ergebnis nahmen rund 14% unserer Benutzer langsame Dienste oder sogar Unterbrechungen wahr.”

Die Firma Arbor Networks hat ein Traffic-Diagramm gepostet, welches den Fehler bestens darstellt (Einbruch ab ca. 10:15 EDT = 16:15 CEST; Traffic gemittelt über 10 Tier 1/2 Provider in Nordamerika).

Der Ausfall erinnert mich etwas an die Entführung von YouTube nach Pakistan Ende Februar 08, als die Pakistanische Telekom als Zensurmaßnahme versehentlich eine für inländische Netzwerke gedachte falsche Route über einen ihrer Carrier ins Internet propagierte und YouTube’s Traffic so weltweit nach und nach Richtung Pakistan lenkte. Google/YouTube hat damals ebenfalls eine Stunde benötigt, um mittels “Tricks” den Traffic zurück in das richtige Rechenzentrum zu dirigieren (technischer: die korrekte Route erneut als shortest und longest path zu propagieren, siehe Analyse durch RIPE NCC; Heise-Meldung vom Tag des Ausfalls, Heise-Artikel zur Analyse des RIPE).

Evtl. hören wir in den nächsten Tagen noch weitere Details zum heutigen Problem, der genaue Ablauf würde mich sehr interessieren. Aktuell gibt sich Google nach Außen eher bedeckt, was die genaue Ursache angeht. ZDNet hat in der Zwischenzeit einen weiteren Artikel veröffentlicht, in welchem Google Gerüchte über seine IPv6-Migration als Auslöser aus der Welt räumt, entgegen McAfees Aussage, dies sei einer internen Mailingliste entnommen. Google bestätigt, daß bei der Propagierung einer ASN etwas schief lief, allerdings lässt Googles Meldung dazu vermuten, daß Google diese Route selbst propagiert und diesmal kein anderer ISP reingepfuscht hat. Youtube war ebenfalls betroffen (daher wohl auch der enorme Traffic-Einbruch), laut serversniff.de ist YouTube (AS36561) durch Google (AS15169) und ein weiteres AS erreichbar und die Route zum AS von Google dürfte verkonfiguriert gewesen sein (sofern ich das richtig lese; direkt mit Routing über AS bin ich leider noch nie in Kontakt gekommen ;) ).