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.)

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.

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 😉 ).

Amarok 2 with Gentoo on AMD64

Finally, that’s possible. I will explain what’s necessary in case it’s not yet in portage (just saw the patches are making it to overlays now 😀 ) but not without a warning and explanation: Amarok 2 has been blocked by MySQL not compiling correctly for use as a shared library. The main bug report on Gentoo’s bugtracker is here for MySQL. Although it now seems to have made its way into mysql-extras overlay (?) it may still take a while to be verified for not causing any problems at all.

DO NOT TRY THE FOLLOWING STEPS ON A PRODUCTIVE SYSTEM!

Read all instructions carefully. I’m not responsible for any data loss or corruption you may experience by following this howto and using the patched MySQL or beta release of Amarok.

You may want to backup your databases before you go into patching. You have been warned (although everything seems to be fine on my system).

Patching MySQL
When I got it working yesterday, I still patched the eclass file to add a USE-flag “pic” for triggering a GCC option. The current status from the bug comments is that it should be a false solution and not be necessary anymore. However, I still get a linker error “recompile with -fPIC” when compiling Amarok 2 afterwards. So you still need to patch the eclass file using the files stroken out on the bug report (mysql.eclass and a patch to it, apply the patch or grab the resulting file here). You may want to try if it works for you without the patched eclass, though. If you choose to apply the patched eclass, you need to put it in your overlay into /eclass directory (top-level like a category). On the next emerge you will be warned to add “metadata-transfer” to your FEATURES variable in /etc/make.conf and run emerge –regen after each sync (this will take a while; ~20 minutes on my 3GHz Core2Duo).

Now we need an ebuild, too. Download the patch file to MySQL’s source code (better check if it’s still current) and store it in your local overlay’s dev-db/mysql/files. Copy the latest ebuild for MySQL from official portage to your overlay and rename it to match version numbers with the patch. Run ebuild mysql-whateverversion.ebuild digest, unmask and emerge it! (using “embedded” USE-flag)

Amarok 2.1 Beta 1
If we go unstable, we do it right. So we are going to create an ebuild for Amarok 2.1 Beta 1, too. Again, BE WARNED: There are some possible corruption issues with ID3 tags (also reported for 2.0.1). You don’t want that to happen, so be careful not to do any writing operations to your files in Amarok until that bug gets fixed. (I got a couple more with reading tags but my files are still intact, so I’m fine; all bugs are already in the bug tracker)

Amarok 2.1 depends on taglib-extras, which is currently not in portage. So simply go to http://gpo.zugaina.org/media-libs/taglib-extras and grab 0.1.2’s ebuild, put it in overlay, digest, unmask and emerge.

For Amarok itself, Beta 1 seems to be version 2.0.90. Simply grab my ebuild, which is a slightly modified version from official portage tree. I removed the iPod patch and the webkit string replacement, added 2 dependencies and had to fake the check for Qt script bindings. Of course, I needed to replace the download URI and add ~amd64 keyword:

--- /usr/portage/media-sound/amarok/amarok-2.0.1.1.ebuild       2009-03-16 11:36:10.000000000 +0100
+++ amarok-2.0.90.ebuild        2009-04-12 17:53:18.000000000 +0200
@@ -14,10 +14,11 @@
HOMEPAGE="http://amarok.kde.org/"
LICENSE="GPL-2"
-KEYWORDS="~x86"
+KEYWORDS="~x86 ~amd64"
SLOT="2"
IUSE="daap debug ifp ipod mp3tunes mp4 mtp njb +semantic-desktop"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.bz2"
+#SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.bz2"
+SRC_URI="ftp://ftp.kde.org/pub/kde/unstable/${PN}/${PV}/src/${P}.tar.bz2"

DEPEND=">=app-misc/strigi-0.5.7
|| (
@@ -25,6 +26,8 @@
>=dev-db/mysql-community-5.0[embedded,-minimal]
)
>=media-libs/taglib-1.5
+       >=media-libs/taglib-extras-0.1
+       >=x11-libs/qt-script-4.4.2
|| ( media-sound/phonon x11-libs/qt-phonon:4 )
>=kde-base/kdelibs-${KDE_MINIMAL}[opengl?,semantic-desktop?]
>=kde-base/plasma-workspace-${KDE_MINIMAL}
@@ -46,7 +49,8 @@
app-arch/unzip
daap? ( www-servers/mongrel )"

-PATCHES=( "${FILESDIR}/${PV}-ipod.patch" )
+# PATCHES=( "${FILESDIR}/${PV}-ipod.patch" )
+PATCHES=( )

pkg_setup() {
if use amd64 ; then
@@ -77,9 +81,10 @@
fi

# Remove superfluous QT_WEBKIT
-       sed -e 's/ -DQT_WEBKIT//g' \
-               -i "${S}"/src/scriptengine/generator/generator/CMakeLists.txt \
-               || die "Removing unnecessary -DQT_WEBKIT failed."
+#      sed -e 's/ -DQT_WEBKIT//g' \
+#              -i "${S}"/src/scriptengine/generator/generator/CMakeLists.txt \
+#              || die "Removing unnecessary -DQT_WEBKIT failed."
+       sed -e 's/CHECK_CXX_SOURCE_RUNS/set( BINDINGS_RUN_RESULT 1 )\n#/g' -i "${S}"/cmake/modules/FindQtScriptQtBindings.cmake

mycmakeargs="${mycmakeargs}
$(cmake-utils_use_with ipod Ipod)

You may need to uninstall Amarok 1 before emerging 2 or you will get file collisions.

Some problems
I have 2 soundcards and Amarok was playing everything on the wrong one on first start-up although I reordered my cards in the configuration dialog. I seem to have gotten rid of that problem by simply restarting Amarok after changing the order. GStreamer backend currently crashes, so you may prefer xine (which I do nevertheless).

I couldn’t get Ampache working yet, but I assume the fault is on Ampache’s side. We were able to track the problem down, likely being the hash being used on authorization which seems to be an issue between 32 bit servers and 64 bit clients (seems to be a different timestamp; I really don’t know why that’s still a problem, I guess it’s very bad programming or at least testing…).

Amarok doesn’t index all files correctly. Some files are not shown with metadata but only with their filenames instead. You may be able to work around it by rescanning your collection multiple times. There also seem to be some index issues on the collection when updating the collection while browsing through it. However, I still got some MP3s not showing up in my collection although they seem to be counted.

Oh, and you scrobble streams to Last.fm which I consider a bug since that’s not the intended behaviour (or at least has not been until now).

I will try to confirm these bugs and report them if they are not already listed in KDE’s bugtracker.

Some scripts currently don’t work. That’s because we faked around the script bindings dependency in order to be able to compile. You may get some ebuild to compile qtscriptgenerator, but it depends on Qt 4.5 which I haven’t yet installed (yes, I know I blogged about the recommendation to use it one post earlier, but I haven’t had time to recompile it yet – I should do that next). Do not report errors about scripts not running to Amarok devs; it’s entirely our own fault. However, if you need those scripts, you are free to get into compiling that dependency as well. 😉

Make it prettier
Amarok’s default theme doesn’t look appealing, at least not when using KDE’s Oxygen theme with default colors. You may have a look at alternative Amarok themes on kde-look.org. Most themes inherit their colors from your color theme, so don’t be surprised if it looks different than on the screenshots. I went for “Amarok Highlights” for the time being.

Unfortunately, Amarok 2 is still lacking a theme manager, so you have to install the themes manually by copying them to ~/.kde4/share/apps/amarok/images/ (one at a time; stylesheet.css goes one level above). You should quit Amarok before changing themes and clean caches before restarting it:

rm ~/.kde4/cache-YourHostname/kpc/Amarok-pixmaps.index
rm ~/.kde4/cache-YourHostname/kpc/Amarok-pixmaps.data

Gentoo and KDE4

Everyone wanting to upgrade to KDE4 with Gentoo should be adviced not to trust the official guide completely. It’s a good start but incomplete and misleading. You should have a look at it nevertheless:

http://www.gentoo.org/proj/en/desktop/kde/kde4-guide.xml

You should know the following facts before getting yourself into trouble:

  • You need KDE 3.5.10 (unstable) prior to KDE 4 if you plan to use both along each other. Some applications of KDE 3.5.10 will break nevertheless, at least if you install without kdeprefix (see below). You will be blocked otherwise.
  • You don’t need an unstable portage 2.2 for EABI 2. Well, you kind of need it nevertheless. portage 2.1.6.* IS portage 2.2 but with all new features (except EABI 2) disabled. If you have enough time, know Python and want to help the portage developers please do it, you know where you find them. If you run a more experimental system (you are unmasking KDE 4, right?), you could unmask 2.2 nevertheless and help Gentoo by testing and submitting bug reports.
  • You need to unmask lots and lots of packages. You can use this file and NOT the file you get there (both are linked in the KDE4 guide but the last one is for kde-testing overlay only). Unfortunately you will need to unmask even more. You can use unmasker, a nice tiny tool that does all that nasty unmasking stuff for you while you can do better things. Following the comments you will end up with a directory /etc/portage.keywords/ and some files in it. Emerge will use all of them. Have a look at the generated file(s) and modify/comment/delete any lines you don’t like. There will be some (e.g. SVN versions).
  • Before starting that huge 250 ebuild session (twice that size if you need KDE 3.5.10), make sure you have kdeprefix in your USE flags! The guide says it would not be necessary to use it but trust me: it is if you want to save yourself some headaches.
  • Having compiled all ebuilds and noticing random crashes and disfunctionality? Start dbus and hald first – you need them in KDE4 or you get weird problems. (that’s not in the guide either 🙁 )
  • Using unstable xorg 1.5 and have no keyboard anymore? Or are you just wondering why you should use 1.5? See this short thread.
  • You use NVidia drivers and see flickering red or black checkerboards covering your videos? Well, guess you are using Amarok. It took almost a year to find that out. Just exit Amarok or open and close the playlist and control window a few times, the flickering will disappear. BTW that also happened with Compiz Fusion and KDE 3.5.
  • Having stability problems? Make sure you use nvidia-drivers 180.27 or 180.29 for the time being, do NOT use 180.37 for now.
  • Your icons disappeared? Check for the Inherits=hicolor setting to be correct (find the icon set configs and possible options for Inherits using locate index.theme), also check for deprecated icons (folder icons etc.) and switch them. Maybe it also helps to upgrade to QT 4.5 and of course x.org 1.5 if you didn’t do that already; this could also fix some weird stuff going nuts in your system tray. Still missing icons? Bad luck I guess. The Oxygen icon set still seems incomplete and Inherits doesn’t seem to work in all cases, so you may try switching to some other icons instead. (Although this is 4.2, isn’t it? But what did other distributions do to fix it if it’s really incomplete/broken?)

These won’t be the only problems you come across, and I wrote some of them from memory because I upgraded about a month ago. Maybe it’s not sufficient what I wrote but it should save you at least 5 hours of work (or even more) figuring everything out yourself.

Good luck!

Wechsel zur Xbox 360

Seit letzter Woche steht eine Xbox 360 Elite neben meinem Rechner. Ich hatte schon seit mitte letzten Jahres vor, mir eine Konsole anzuschaffen, habe aber bisher zwischen PS3 und 360 geschwankt. Die Entscheidung für die deutlich ältere Xbox fiel nach einiger Überzeugungsarbeit durch einen Kumpel recht schnell, obwohl ich monatelang eher auf Seiten der PS3 stand. Meine Gründe, die Umsetzung und Besonderheiten werde ich im Weiteren erläutern. Da dieser Artikel länger ist, geht es in einer Langfassung weiter. Continue reading “Wechsel zur Xbox 360”

Stack Overflow

Stack Overflow is a community-driven website where you can ask any programming related questions and answer other people’s questions. Based on a good reputation system you start being restricted to only post questions and answers. By getting “up” votes on your posts you will gain reputation points and more permissions like voting other people’s posts and commenting them. With a rather large amount of reputation points you will even get moderator permissions for the platform.

Registration is quite easy. If you have any account supporting OpenID (such as Yahoo/Flickr) you will be able to login right away. Avatars are being loaded from Gravatar. Before asking questions you should try searching for earlier posts on that topic; one idea behind Stack Overflow is to build a large FAQ of programming questions. I’ve recently got Stack Overflow threads in Google search results as well (and in most cases they immediately solved my problem).

The speed of questions and answers is rather high paced. Many people are monitoring the list of newest questions and respond in about 3-30 minutes. It’s not uncommon to be overtaken while still writing on an answer – in these cases you will get a notification on top of the site which you can click to see the latest answers while still retaining your unsent answer. Voting is quick, too. But in almost any case quality matters and since there will be some extra points for accepted answers you are never wrong to submit your own one if it adds some new aspects, even to highly frequented threads.

It’s best to try it yourself but be warned: That site is addictive! 🙂

And the winner is…

Mit Peacekeeper gibt es nun einen weiteren Browsertest, diesmal von Futuremark (bekannt durch 3DMark und PCMark). Gebenchmarkt werden wieder JavaScript und das Zusammenspiel mit der Rendering-Engine, der Benchmark ist sofort lauffähig. Unter Linux komme ich auf meinem Hauptrechner zu folgenden Ergebnissen:

Nachtrag: 1853 Punkte für Opera 10 Beta

679 Punkte Konqueror 4.2.00
581 Punkte Opera 9.64 (Binary)
438 Punkte Iceweasel 3.0.6 (selbstkompilierter Firefox)

Im Vergleich zu den Referenzergebnissen meiner CPU sind das aber noch lächerliche Werte. Die “Next Generation”-Engines der Browser (deren Entwicklerversionen oder Betas ich noch nicht installiert habe) sollen locker auf der 3-4fache kommen.

Browser warning for IE6 users

Since the will to do all that annoying extra bugfixes for IE6 is pretty low 7 1/2 years after its release, I finally decided to display a little nag notice on top of my page after having been encouraged to do so by others (see below). The script is multi-language and customizable and you are free to use, distribute and modify it for your websites (even commercial ones) without any further agreement (consider this a license; needed in Germany). It’s multi-language and offers some small options for quick setup.

Please note this does not mean this site (and others I create in my freetime or at work) will completely stop working in IE6 in near future but some functionality or design might be incomplete/broken because I will no longer optimize my personal web sites for IE6. (At work we and our customers cannot afford stopping to optimize for IE6 yet since some companies still won’t upgrade in near future for – in most cases – comprehensable reasons, so either our customers or theirs would not be able to use the websites we build.) Nevertheless it won’t hurt to display a relatively unobtrusive message.

The icon I used for it is from famfamfam’s free mini icon set: http://www.famfamfam.com/lab/icons/mini/

Other sites that encourage their users to upgrade: (not using my script)

Get a preview here: (Note: this may not display correctly in browsers other than IE 6 – no sense to support it elsewhere 😉 )

English
German

JavaScript and CSS (quick setup options on top; language and download arrays inside warn-function)

You will also need jQuery in case you don’t have it already. (include jQuery and CSS before including the nag-script)