no need of sun to light the way…

Schöne neue Welt

Murphy am Montagmorgen

Da hat unser städtischer Nahverkehrsbetrieb, also die Würzburger Straßenbahn, vor geraumer Zeit die Fahrkartenautomaten im Stadtgebiet erneuert. Sinn und Zweck sei mal dahingestellt – ich persönlich fand jedenfalls nicht, dass man mit den alten Automaten nicht klarkommen konnte. Im Gegenteil, aus Sicht der Barrierefreiheit waren die sogar besser: Jede Fahrscheinart hatte eine eigene Taste. Nun gibt es nur noch einen Touchscreen, der eher wenig haptisches Feedback gibt. Sehbehinderte Personen sind da jetzt deutlich im Nachteil.

Aber zurück zu meinem heutigen Problemchen: Mir fiel gestern Abend, als ich es mir auf dem Sofa so richtig gemütlich gemacht hatte, ein, dass meine Barreserven nicht mehr reichen würden, um mir heute morgen die neue Monatswertmarke am Fahrkartenautomaten zu ziehen. Zum Geldautomaten zu dackeln, hatte ich aber sofalümmelnder Weise keine Lust mehr. Ahahaaber! Automaten, genau! Wenn da jetzt schon überall neue Fahrkartenautomaten stehen, dann nehmen die vielleicht ja auch EC-Karten, dachte ich mir.

Und siehe da: „Bargeldlose Bezahlung mit EC- oder Geldkarte“ verkündet die WVV auf ihrer Infoseite zu den Automaten. Wunderprächtig. Dann konnte ich den Sonntagabend ja in aller Gemütlichkeit ausklingen lassen.

Heute morgen beschlichen mich dann so leise Zweifel ob meiner Entscheidung. Immerhin war es Montagmorgen. Die perfekte Zeit, dass nach Murphy mal wieder genau das schiefging, was schiefgehen konnte. Zumal ich eh schon wieder spät dran war. Gespannt, ob das mit der Kartenzahlung denn klappen würde, trat ich also vor den Bildschirm und wählte meine Fahrausweisart, den Starttag der Gültigkeit der Monatsmarke (also heute) und tippe zum Abschluss auf den verheißungsvollen Button „Kartenzahlung“. Karte rein, „bitte warten“ …und siehe da, es klappte natürlich nicht.

„Kartenart nicht in Betrieb“ erklärte das Display am PIN-Pad mir und der Automat brach den Kauf komplett ab. Und natürlich fruchteten auch ein zweiter und dritter Versuch nicht. Einziger Effekt war, dass ich meiner Straßenbahn nur noch hinterherschauen durfte. Abgesehen von der völlig unverständlichen Fehlermeldung mal wieder lautet das Fazit: Faulheit lass nach! In Zukunft werde ich mich also doch wieder vom Sofa quälen und noch zum Geldautomaten gehen.

Advertisements

Zensur!!^11einseinself!

Ein Aufschrei ging gestern früh durch die Medienlandschaft. Von Zensur war die Rede, das Ende der Meinungsfreiheit wurde gar heraufbeschworen (zum Bleistift auf Spiegel Online). Oh mein Bob! Wir werden alle sterben!!^11einseinsdrölfundrölfzig!! Der Gipfel war dann das „#TwitterBlackout“ Hash-Tag, unter dem dazu aufgerufen wurde, am heutigen Samstag komplett auf die Twitternutzung zu verzichten. Damit würde man denen ja schon zeigen, wo der Hammer hängt, jawollja!

Doch was war geschehen? Bislang war es so, dass Twitter auf staatliche Forderungen hin, bestimmte Aussagen und Inhalte zu entfernen dermaßen reagierte, dass betreffende Tweets gelöscht wurden. Und löschen bedeutete in dem Fall, dass eben jene Tweets absolut und unwiederbringlich weg waren und von niemandem mehr gelesen werden konnten. In einem Blogeintrag kündigte das Unternehmen nun an, künftig einen anderen Mechanismus zu verwenden, um in bestimmten Ländern unerwünschte Inhalte zu blockieren. Wohlbemerkt, nur in bestimmten Ländern.

Der Satz in besagtem Blogeintrag ging aber tatsächlich noch weiter; hieß es doch da: „[…] while keeping it available in the rest of the world.“ Blockierte Inhalte werden also nur noch in dem Land nicht zu sehen sein, das die Sperre angeordnet hat. Offenbar war da bei den meisten Lesern aber die Aufmerksamkeitsspanne schon erschöpft. Bei mir ging stattdessen das Hirn an. Denn wenn man mal den bisherigen Status Quo mit dem nun neuen Zustand vergleicht, stellt das doch wohl eine deutliche Verbesserung dar. Anstatt Tweets weltweit für jeden komplett zu löschen, bleiben sie nun für den Rest der Welt erhalten. Und mehr noch: User in dem Land, in dem ein Tweet blockiert ist, werden sogar explizit darauf hingewiesen, dass hier gerade gesperrte Inhalte an ihnen vorbeirauschen.

Wer sich bei Twitter mal auch ein bisschen mit den Konfigurationsmöglichkeiten vertraut gemacht hat, weiß, dass man in seinem Profil sein Heimatland einstellen kann. Bislang wurde dies hauptsächlich dazu genutzt, die „Trending Topics“ zu filtern. Aber ach! Ich konnte da zum Beispiel auch „United States“ anstelle von „Deutschland“ einstellen – und schwupps, sah ich eben deren TTs. An dieser Stelle mal weiter spekuliert, käme man also unweigerlich auf den Gedanken, dass Twitter gesperrte Inhalte eben auch auf diese Art filtern dürfte. Und tatsächlich: Auf Nachfrage von heise online bestätigte eine Sprecherin des Unternehmens, dass man so verfahre (letzter Absatz in dem Artikel).

Ich sehe dies als ziemlich gelungenen Versuch, gegen Staaten zu trollen, die versuchen, die Meinungsfreiheit zu beschränken. Denn Zensur war, was Twitter bislang tun konnte. Das, was jetzt geschieht, führt in meinen Augen zu einem drastisch erhöhten Maß an Transparenz und gibt betroffenen Nutzern sowie dem Rest der Welt wirklich ein effektives Mittel an die Hand, dass Meinungen nicht mehr so leicht unterdrückt werden können.

Also, kommt mal alle wieder runter. Statt eines Twitter-Blackouts, der Leuten, die Meinungen unterdrücken wollen ja eigentlich nur in die Hände spielt, sollten wir ab jetzt erst Recht twittern, was das Zeug hält.


Wie mache ich meinen Linker wieder glücklich?

Manchmal sitzt man trotz jahrelanger C++-Erfahrung vor so manchem Konstrukt und denkt sich für ein Sekündchen „WTF?!“ – so heute mal wieder geschehen. Ein eigentlich trivialer Linkerfehler hat mich dazu gebracht, mal ein wenig über eine möglichst knappe und mit wenig Aufwand verbundene Lösung nachzudenken.

Aber mal Eins nach dem Anderen: Einer meiner Kollegen ist momentan im Urlaub, hat aber kurz vorher noch einen dicken Batzen Code auf den main-Branch geliefert. Und klar, natürlich würde niemand solche großen Änderungen liefern, wenn er sie nicht zumindest an seinem Rechner erfolgreich kompilieren konnte. Nur: Wenn bleistiftsweise der Microsoft-C++-Compiler ein Statement anstandslos frisst, heißt das noch lange nicht, dass etwa der gcc das täte. Und selbst wenn der Compiler mitspielt, gibt es ja immer noch den Linker, der die weiße Fahne hissen könnte – wie hier geschehen.

Nehmen wir mal folgendes absolut standardkonforme Konstrukt:

class Foo 
{  
public:  
    static const int CONSTANT = 1;  
};

Die Klasse „Foo“ hat also einen konstanten Member namens „CONSTANT“. Das an sich führt nun noch nicht zu einem Linkerfehler. Lustig wird das Ganze erst, wenn man diese Konstante nun wie eine gewöhnliche Variable an eine Funktion übergeben möchte, die gerne eine Referenz als Parameter hätte:

void bar(const int& ref) { … }
bar(Foo::CONSTANT);

Während der Microsoft-Linker hier ohne mit der Wimper zu zucken sein Binary zusammenschnürt, bekam ich – als Stellvertreter des besagten Urlaub habenden Kollegen – nun diverse Meckermails von unserem Continuous-Integration-System (Jenkins im Übrigen), dass der Build unter Linux fehlgeschlagen sei. Und zwar wegen „undefined reference to `Foo::CONSTANT’“. Hmpf. Wobei er ja nicht Unrecht hat, der Linker. Für eine Konstante reserviert der Compiler nun mal keinen Speicher, da kann ich mich noch so auf den Kopf stellen, Foo::CONSTANT kann so nicht als Referenz an bar() übergeben werden.

Klar, das Einfachste wäre jetzt gewesen, den Compiler explizit dazu zu bringen, Speicher anzulegen (was der Microsoft-Compiler wohl implizit macht). Da aber mein Kollege die betroffene (recht leichtgewichtige) Klasse komplett inline im Header angelegt hatte, hätte ich jetzt noch ein extra .cpp-File erzeugen sowie das Skript für CMake anpassen müssen. Zu viel Aufwand wegen so eines Bisschens. Man ist ja nicht umsonst Entwickler geworden, wäre man nicht so bequem veranlagt. 😉

Die zweite Lösung, die dann ohne ein zusätzliches .cpp-File auskäme, wäre ein Typecast. Dabei würde aber die Zeile (oben angeführter Code ist nur ein Beispiel) die Zeichenbegrenzung, die unsere firmeninternen Coding Guidelines für eine Zeile vorsieht, sprengen. Und ein Zeilenumbruch bei einem Funktions- bzw. Methodenaufruf mit nur einem Parameter? Das widerstrebte mir irgendwie.

Schlussendlich geht das Ganze aber auch noch simpler: Durch Hinzufügen eines einzigen Zeichens. Damit sieht der auf beiden Plattformen komplierende und linkende Funktionsaufruf dann so aus:

bar(+Foo::CONSTANT);

Ich musste ja nur den Compiler dazu bringen, dass er mir ein temporäres Objekt im Speicher erzeugt, auf das ich mir dann eine Referenz holen kann. Das passiert wie gesagt bei einem Typecast – aber ganz genauso erledigt dies auch der unäre +-Operator. Das Statement sieht dann zwar auf den ersten Blick wirklich ziemlich „WTF?!“ aus. Aber es macht wie gewünscht auch den Linker glücklich. 😀


Never touch a running system

Alte Informatikerbinsenweisheit. Natürlich sind Informatiker ja quasi ununterbrochen dabei, irgendwelche laufenden Systeme anzupassen. Es sei denn natürlich, sie entwerfen gerade Systeme von Grund auf neu. Aber selbst dann: Einmal in Betrieb genommen, ist Wartung und somit weitere Anpassung notwendig. Und was die Wartung angeht, ist irgendwann mal der Punkt erreicht, an dem man einfach mal die Schnauze voll hat und dann doch wieder alles umkrempelt. 😉

So kürzlich geschehen mit dem Netzwerk bei meinen Eltern. Da werkelte seit 2003 ein Windows-Server-System lustig vor sich hin. Und fraß eine gehörige Menge Strom. Und nervte allmählich mit zunehmenden Systemabstürzen – vermutlich war die schon damals nicht ganz taufrische Hardware einfach in die Jahre gekommen. Außerdem trieb mich die unzuverlässige Backup-Software bald an den Rand des Wahnsinns, weil die sich alle Nase lang verschluckte und ein fummeliges Neuanlegen des Backup-Jobs nötig machte.

Klein Karlchen stellte also diverse Überlegungen an: Schnellere und zuverlässigere Hardware muss her. Sie sollte aber genügsam im Stromverbrauch sein. Zudem sollte das Backup der Homelaufwerke zuverlässig funktionieren. Da ich jetzt ja doch schon bald 3 1/2 Jahre überwiegend einen Mac nutze, gingen weitere Überlegungen in die Richtung, das W2k3-System gegen einen Mac mini mit OSX Lion Server auszutauschen. Das Kistchen frisst im Leerlauf ja nur um die 10 Watt – müsste also ganze 10 Stunden laufen, um genauso viel Strom verbraucht zu haben, wie der alte Server in nur einer einzigen Stunde. Tjaha, das Argument zog bei meinen Eltern. Zudem war auch eine komplette Domäne inklusive servergespeicherter Benutzerprofile im Gegensatz zu damals nicht mehr nötig, so dass Lion (das im Gegensatz zu Snow Leopard Server ja nicht mehr als Domaincontroller fungieren kann) auch ausreichen sollte.

Erster Start der Server-App

Erster Start der Server-App

Nach einigem Hin-und-Her war es dann vorletztes Wochenende soweit: Ich konnte die Umstellung in Angriff nehmen. Frohen Mutes ging ich ans Werk; grundlegende Einstellungen waren – obwohl ich, getreu besagter Binsenweisheit, mein MacBook immer noch nicht von Snow Leopard auf Lion upgegradet habe – wie von Mac OS gewohnt, ratzfatz erledigt. Etwaiges Gejammer über irgendwelche Seltsamkeiten von Lion konnte ich so weit mal nicht nachvollziehen. Dann blieb ja nur noch, mal eben schnell (Harhar!) die Server-App zu kaufen und einzurichten. Wenn das auch so Apple-typisch butterweich über die Bühne ginge, wäre das Einrichten des neuen Servers an einem Abend geschafft – so dachte ich zumindest, ich Naivchen.

Nachdem die Server-App schon beim ersten Start und der grundlegenden Konfiguration der Dienste erst mal einen Fehlerbericht gen Cupertino schicken wollte, bekam meine Euphorie schon einen ersten Dämpfer. Aber nun gut, nobody’s perfect, und solange so ein Absturz nicht im laufenden Betrieb geschieht, ist ja so weit noch alles in Butter.

Hilfreiche Hilfe ist hilfreich

Aber weiter im Text: Die App startete dann doch irgendwann und präsentierte mir eine Liste zu konfigurierender Dienste, wie bleistiftsweise Dateiserver, Mailserver, Webserver… Allein: Die grundlegenden Dinge, die ich zuallererst mal einstellen wollte, blieben mir verwehrt. Keine Konfiguration für DHCP und DNS und dergleichen. Die Hilfe gab sich ungewohnt microsoftsch und verriet mir, dass ich doch bitte darauf achten solle, dass der Server im DNS korrekt eingetragen ist. Im Übrigen sogar mit einem Link zum Thema DNS-Server – der dann auch eher microsofttypisch ins Leere führte. Ein wenig Resignation machte sich breit.

Verzagen stand allerdings definitiv nicht auf dem Programm, also was tun? Das Internet™ befragen! Und siehe da: Für diese Zwecke gibt es die Server-Admin-App, die separat von den Apple-Support-Seiten heruntergeladen werden muss. Ja nee, is’ klar. An dieser Stelle blickte ich mich verstohlen nach der verstecken Kamera um. Das war jetzt nicht wirklich Apples Ernst, oder? Immerhin: Nach der Installation der Server-Admin-App ging dann die weitere Einrichtung recht reibungslos von statten, wenn man mal über diverse weitere Seltsamkeiten auf Apples Supportseiten hinwegsieht.

Unbeschreibliche Fehlermeldung ist unbeschreiblich

Unbeschreibliche Fehlermeldung ist unbeschreiblich

Den nächsten Brüller lieferte sich dann in der Tat – und wie eigentlich von vornherein erwartet – Microsoft. Damit die Familie die noch im Netz vorhandenen Windows-Rechner weiterhin wie gewohnt nutzen konnte, mussten natürlich die bis dato als Domainuser angelegten Benutzerkonten jeweils am gewünschten PC lokal angelegt werden. Dazu galt es natürlich, die lokalen Admin-User zu reaktivieren… Der Screenshot spricht mal wieder Bände – ebenso die Kuhle im Schreibtisch an der Stelle, an der mein Kopf diverse Male auftraf.

Nachdem diese Hürde genommen war, rechnete ich mit weiterem Ärger beim Klonen der Benutzereinstellungen. Zwar bietet Windows hierzu eine wenn auch reichlich versteckte aber trotzdem simple Funktion: Altes Benutzerprofil auswählen, „Kopieren nach…“ anklicken, Zielverzeichnis und neuen Usernamen angeben und warten. Der Kopiervorgang geht dann völlig ohne Fortschrittsbalken von statten. Der einzige Indikator, dass es geklappt hat, ist das Verschwinden des Dialogfensters. Bleibt es dagegen stehen während im Gegenzug der Mauscursor aber wieder zum gewohnten Pfeil wird, ist es schiefgegangen. Eindeutiges Benutzerfeedback for the win!

Klappte diese Übung am PC meiner Mutter noch reibungslos, so machte mir am Laptop meines Vaters der Standby-Modus erst mal einen Strich durch die Rechnung. *hüst* Nun ja. Man kann ja auch nicht an alles denken. Also zweiter Versuch mit abgeschalteten Energiesparoptionen. Aber da spielte Windows nun nicht mehr mit: Ohne einen Neustart ließ sich das Profil nicht kopieren. Aber immerhin klappte es dann. Die härteste Nuss war dann der PC meines Bruders. Diverse Versuche, sein Userprofil zu klonen, schlugen allesamt fehl. Nun half Windows ja auch tatkräftig mit, dass ich mir noch mehr meiner eh nur noch sparsam vorhandenen Haare raufen durfte. Wie gesagt: Keine Fehlermeldung, kein gar nix.

Schlussendlich half dann der Versuch, einfach mal manuell sämtliche Verzeichnisse umzuziehen. Hier motzte dann der Windows-Explorer beim Versuch, Dateien des SecuROM-Kopierschutzes zu kopieren. Und siehe da: Kaum war der entfernt, klappte auch das ordnungsgemäße Kopieren des Benutzerprofils über die von Microsoft vorgesehene Weise. Die Windows-Domäne konnte also endgültig aufgelöst werden. Kinners, was ein Akt.


Parallele Schattenwelten

Ich habe ja letztens schon davon geschwärmt, was heutzutage so alles mit einem Mobiltelefon möglich ist. Was die kleinen Kisten an Hardware in sich tragen, wäre einem vor noch gar nicht allzu langer Zeit noch beinahe wie Magie vorgekommen. Womit ich quasi auch schon beim Thema bin: Die Magie kehrt in diese Welt zurück. Also, nun natürlich nicht real, aber man kann sein Smartphone ja zum Spiegel in eine Parallelwelt machen, in der genau das der Fall ist.

Ein Blick aus dem Bürogebäude in die Welt von Shadow Cities

Ein Blick aus dem Bürogebäude in die Welt von Shadow Cities

Wie? Nun, nichts leichter als das: „Location based MMORPG“ ist in diesem Fall das Zauberwort. Im Speziellen rede ich von „Shadow Cities“ – dieses Spiel für iOS hat mich die letzten beiden Tage ganz schön im Griff gehabt. Wenn ich nämlich mit Hilfe dieses Spiels einen Blick aus dem Büro werfe, sieht das in etwa so aus, wie auf dem Screenshot da links. Zu sehen ist dort eines der Gateways, durch die magische Energie in diese Welt tröpfelt. Nebendran stehen zwei sogenannte „Dominators“, die diese Energie anzapfen können.

Im Untergrund gut zu erkennen ist die Karte, auf der sich das Ganze abspielt: Der Würzburger Stadtteil Grombühl. Die Verteilung der Gateways scheint sich im Übrigen danach zu richten, wo in der Map markante Punkte – zum Beispiel eben Mittelpunkte von Stadtteilen – sind. Aber auch auf der Würzburger Festung Marienberg bspw. findet sich so ein Gateway. Die Karte entstammt dem Open Street Map-Projekt.

Das niedliche, rote Kerlchen im Vordergrund ist ein Geist (Spirit), derer da doch einige durch die Welt schweben. Diese gilt es zu jagen, um Erfahrungspunkte sowie mehr magische Energie zu sammeln. Allerdings sollte man dazu genug Mana übrig haben – der blaue Halbkreis unten links verrät mir, dass ich vermutlich nicht genug Mana habe, um diesen roten Geist dort erjagen zu können. Diese herumschwirrenden Wesenheiten lassen einen zwar grundsätzlich in Ruhe. Greift man sie aber an, wehren sie sich auch – und dann geht meine Gesundheit (der rote Halbkreis) aber mal ganz schnell flöten.

Ein Besuch in New York City

Ein Besuch in New York City

Mal abgesehen davon, dass jeder Treffer, den man einsteckt, das Zurückzaubern erschwert, denn den Treffer spürt man deutlich. Jedenfalls lassen sich die nötigen magischen Runen nicht so leicht auf den Touchscreen malen, wenn einem das Telefon in der Hand herumvibriert – Force Feedback, anyone? 😉 Und hat man selbst genug Treffer eingesteckt, geht’s erstmal für Pi mal Daumen eine Minute in die Verbannung.

Um nun von mehr Gateways Energie anzuzapfen, gibt es verschiedene Möglichkeiten. Die Erste wäre da die, die den Location-Based-Teil so richtig ausnutzt:
Man geht einfach mal mit seinem Handy spazieren, bis man an ein Gateway kommt. Allzu nerdig sieht man dabei wahrscheinlich gar nicht aus, es stiefelt ja eh schon die halbe Gesellschaft aufs Mobiltelefon starrend durch die Weltgeschichte. 😀

Die andere Variante ist das „Warpen“: Das geht zum einen zu allen Dingen im Spiel, die zum eigenen Team gehören – also andere Mitspieler, Dominatoren, Gateways unter Kontrolle des eigenen Teams – oder zum Beispiel zu Beacons. Diese Leuchtfeuer ermöglichen einem dann aber auch, die große weite Welt zu erkunden. Also zumindest die Welt von Shadow Cities. So ist dann etwa auch mal ein schneller Ausflug nach Feierabend zum Broadway drin.

Apropos Teams: Derer gibt es da zwei. Einerseits die grünen „Animators“ und die orangenen „Architects“ andererseits. Und als Mitglied einer der beiden Fraktionen ringt man dann um die Vorherrschaft in der Welt.

Bislang ein ziemlich interessantes und fesselndes Spielkonzept. Und es bringt mich sogar dazu, jetzt nochmal aus dem Haus zu gehen – vorhin haben so ein paar Architects hier in Würzburg rumrandaliert und meine mühsam erbauten Dominators hinweggefegt. Drum muss ich mich jetzt auf die Suche nach dem nächsten Gateway machen, um da neue zu errichten.


Punkt, Punkt, Komma, Strich

…fertig ist das Mondgesicht. Nun ja, nicht ganz. Aber es ist ja schon verrückt, wenn man sich überlegt, was man heutzutage alles mit einem Mobiltelefon anstellen kann. Zugegeben, „Mobiltelefon“ ist der falsche Ausdruck, neudeutsch sagt man ja „Smartphone“ zu diesen Hosentaschenalleskönnern. Was mich in meinem gerade zu Ende gegangenen Urlaub sehr fasziniert hat, ist die „Photosynth“-App von Microsoft.

„Gorch Fock“ und Eingang zum Ozeaneum in Stralsund

So habe ich hin und wieder versucht, Panoramabilder aufzunehmen. Orte, deren Gesamteindruck wirklich nur zur Geltung kommt, wenn man nicht nur einen klitzekleinen Ausschnitt als Foto festhält, gibt es zu Hauf. Dummerweise ist das Erstellen von Panoramabildern eine mühselige Angelegenheit. Da hat man sich für ein Anschlussbild zu weit gedreht oder hat – falls man es ohne Stativ versucht – die Kamera schief gehalten oder oder oder. Und dann erst das Zusammenstöpseln der Einzelbilder zu Hause am Rechner. Meist habe ich dann gemerkt, dass ich nochmal los und Bilder nachknipsen müsste, damit das Panorama was wird.

Mit besagter App geht das so kinderleicht, wie das eingangs erwähnte Mondgesicht zu malen. Als wäre ein Smartphone für nichts anderes gebaut worden, als damit Panoramabilder zu erstellen. Dadurch, dass inzwischen fast jedes Smartphone mit Lagesensor und E-Kompass ausgestattet ist, weiß die App, wie weit das Gerät zwischen zwei Aufnahmen bewegt wurde. Dementsprechend löst sie auch automatisch aus, wenn das nächste Anschlussbild geschossen werden muss. Ist man fertig, wird nach dem entsprechenden Tippen auf den Bildschirm das fertige Panaroma berechnet.

Wolkenhimmel in Lubmin

Das Ergebnis wird dann zum Einen als Foto auf dem Gerät gespeichert. Außerdem hat man in der App selbst die Möglichkeit, sich das Panorama anzuschauen. Der Unterschied zum normalen Foto wird schnell sichtbar: Panoramabilder wirken zwangsläufig immer so, als sei die Welt an den Rändern weggeklappt. Nicht so in der App selbst. Hier ergibt sich ein – je nachdem, wie weit man sich bei der Aufnahme gedreht hat bis zu 360°-Panorama. Diese lassen sich auch ins Web hochladen und am Rechner in groß bewundern. Einfach mal auf die Bilder im Artikel klicken (Silverlight wird benötigt).

Zwar ist der Algorithmus noch nicht hundertprozentig perfekt. So sieht man beispielsweise beim Wolkenhimmel in Lubmin, dass das Geländer der Seebrücke nicht richtig zusammengefügt wurde. Hier würden manuelle Eingriffsmöglichkeiten, um dem Programm Hilfestellung beim Zusammenfügen der Bilder zu geben, das Ergebnis noch deutlich verbessern können. Aber für ein bisschen Mit-dem-Handy-in-der-Luft-Gewedel-und-auf-dem-Bildschirm-Rumtippen ist das, was dabei herauskommt, schon sehr beeindruckend.