My iPad impression: Big risk for Apple

Today, the holy Steve Jobs came down to us once again to present to us his latest prophecy, the long awaited iPad. While the device looks slick as always, I see it as a tremendous risk for Apple unlike any of its other new products of recent years.

Usually, after Apple announces a new gadget, people are excited about the things they saw. But this time the vibes on the comment sections of large tech-sites feel totally different. People are disappointed because the iPad is a weak blend of iPhone and MacBook. It lacks connectivity and storage options big time (no card slots, no USB) and it is not usable as a phone unless using third-party VoIP applications. It brings along the tight restrictions from the iPhone (you can only buy apps and media via iTunes) while offering hardly any advantages of a notebook. Although I probably wouldn’t care, some complain about the absence of a camera and I figure that the comparably short battery life is an issue for people who’d like to use it as an e-reader.

So after all I see only two ways that could lead to a success of the iPad:

  1. The Apple factor: A large portion of people will buy it because it’s a beautiful gadget from Cuppertino and they will ignore the fact that they are forced to use a not-even-that-cheap device exactly the way Apple’s designers want them to.
  2. The iPad is received by consumers as a mobile high-end web and gaming platform.

I can imagine that sitting on a train or in a cafe and having the iPad to surf the web would be a far more comfortable experience than doing the same on an iPhone. But that’s basically the only area in which I see the iPad as a winner. Apple is great at establishing new products – the iPhone being the grandest example – but history shows us that even Apple can fail…and I see the chances of Apple failing with the iPad higher than with any other product in their portfolio.

Christmas Tech: Apple MagicMouse

Christmas – for a nonbeliever like me anyway – largely consists of giving and receiving presents. And the major percentage of the presents I receive nowadays falls into the “tech” category. So I’ll try to give a brief review of the new items that I’ll have to replace again in two years down the road.

To begin with, my new mouse: The recently released MagicMouse from Apple. I’ve been a happy Microsoft IntelliMouse Explorer user for the last years. In fact I hardly saw the need to replace my mouse. So the reason I put the MagicMouse on my wishlist was primarily due to Apple’s excellent marketing…and the fact that I really enjoy the MacBook’s multi-touch functionality which Apple has now added to a seperate input device for the first time.

Like with every new mouse, the first thing that feels awkward is the size and shape of the new tool. The MagicMouse is no different in this respect as it’s considerably smaller than the Explorer and it will take me a few days to completely adjust. Also, since the total of the mouse’s shell is a single button, it feels strange to do a “click” because the whole thing appears to be moving. At this point I got to say that Apple could have put more emphasis on making the click a little less noisy. Somewhat similar to the multi-touch mouse-pad of the new MacBooks, which is a button too, the click is very loud compared to other mice. The “scratching sound” when moving the mouse over the table surface is comparable to that of the Explorer while any sound when scrolling is obviously nonexistant with multi-touch gestures (a noticable issue of the latest IntelliMouse Explorer).

That said, the most important feature of the MagicMouse of course are the touch gestures. Scrolling in all directions feels extremely natural because all you have to do is slide around with your finger. This is extremely useful for web pages with horizontal scroll bars (why do those exist, anyway?) and appears to be a good replacement for the MightyMouse’s scroll ball which apparently caused quite some trouble after extensive use. A two-finger swipe left or right allows to navigate forward or backward, primarily through your browser history. This is extrememely useful, especially since I learned to love this feature while still working under Windows with an Explorer mouse (which had buttons on the side mapped to these functions) and then missing this functionality under OS X due to bad driver support.

So overall I’m quite happy with the device so far. It’s the first wireless device I ever used as I’m very sceptical about having a mouse dependant on a battery, so it will be interesting to see whether the MagicMouse can change my opinion on those in general. When back in my own place I’ll try to write a few lines about the other important piece of tech I found under the tree this year.

Bloß keine Verantwortung!

Kurze Arbeitsunterbrechung um mich über einen Artikel der FAZ aufzuregen. Dort wird in Bezug auf das Minarett-Verbot in der Schweiz mit folgender Argumentation gegen Direkte Demokratie geschossen:

Vielleicht bringt das die Anhänger von Volksabstimmungen in unserem Land zum Nachdenken, die sich so gerne auf Mehrheitsmeinungen berufen, wenn es ihnen in den Kram passt, aber betreten schweigen, wenn ihnen die „vox populi“ gegen den Strich geht. Wer empfiehlt, dem Volk aufs Maul zu schauen, der kann sich nicht ohne weiteres die Themen herauspicken. Man kann Volkes Meinung dann auch nicht in aufgeklärt und hinterwäldlerisch einteilen oder nach richtig und falsch sortieren. Die Schweizer müssen jetzt mit einem Ergebnis leben, das für ihr Land politischen und womöglich auch wirtschaftlichen Schaden stiftet. Darin muss ihnen Deutschland nicht nacheifern.

Ich versuche das kurz zu übersetzen:

Die Schweizer haben in einer Sache das Volk befragt und haben jetzt das große Pech, dass ihre mündigen Bürger für das gradestehen müssen, was sie selbst entschieden haben. Gott bewahre sowas bei uns einzuführen! Wäre ja noch schöner, wenn wir nicht Politiker sinn- und belanglos  vor sich hinarbeiten lassen könnten und uns selbst nicht weiter darum kümmern müssten, was dabei raus kommt!

Interessante Auffasung, was die Aufgaben von Staat und Regierung sowie die Mündigkeit des Wahlvolks betrifft…

Na toll, Schweiz!

Die Schweizer haben überraschend für ein Verbot von Minaretten gestimmt.Während diese Entscheidung in krassem Widerspruch zu den grundlegenden Freiheitsrechten der zivilisierten Welt, aber auch zur eigenen Verfassung der Schweiz steht, macht mich das Abstimmungsergebnis persönlich aus einem ganz anderen Grund sehr traurig: Ich bin überzeugter Verfechter direkter Demokratieformen. Jeder der mich näher kennt hat das vermutlich schon erlebt.

Auf Grund des Ergebnisses aus der Schweiz werde ich es in zukünftigen Diskussionen zum Thema wieder einen Tick schwerer haben, meinen Standpunkt zu verkaufen. Man wird mir entgegen halten, dass es radikale Strömungen in der direkten Demokratie einfacher haben sich durchzusetzen. Und man wird das gestrige Ergebnis als “Beweis” dafür anführen. Genau wie man die vergangenen 60 Jahre der Bundesrepublik als Beweis sehen wird, dass eine parlamentarische Demokratie der schweizerischen überlegen sei. Ansatzweise objektiv betrachtet eignen sich beide Sachverhalte nicht als solcher!

Die direkte Demokratie in ihrer heutigen Form existiert in der Schweiz im Grunde seit Mitte des 19. Jahrhunderts. In diesem Zeitraum waren alle anderen europäischen Nationen an einer vielzahl Kriegen beteiligt, untere anderem den beiden Weltkriegen, während die Schweiz neutral und stabil blieb. Bis heute weist die Schweiz einen überdurchnittlichen Wohlstand auf, Probleme wie beispielsweise die des deutschen Bildungssystems oder der Staatsverschuldung sind weit weniger ausgeprägt als hierzulande. Und selbstverständlich wurde und wird auch die Religionsausübung in keinster Weise eingeschränkt, ist die “Glaubens- und Gewissensfreiheit” doch durch Artikel 15 der Bundesverfassung garantiert. Genau aus diesem Grund erwarte ich auch nicht, dass die gestrige Entscheidung tatsächlich anwendbar ist. Denn wenn ich das System richtig verstehe, so könnte ein Bauherr, welcher ein Minarett errichten wollte, mit Veweis auf Art. 15 auf sein Recht dazu bestehen. Da das Verbot im Konflikt mit diesem Artikel steht, müsste das Volk in einer weiteren Entscheidung die Streichung des selbigen bewirken, um ein Verbot von Minaretten tatsächlich durchzusetzen. Ein Vorgang, der mir höchst unwahrscheinlich erscheint. Wenn dies ein Schweizer liest, so bitte ich darum, auf eventuelle Fehler in dieser Darstellung hinzuweisen.

Und warum taugen die Erfahrungen aus 60 Jahren Bundesrepublik nicht als Beweis für oder wider irgendein demokatischen Systems? Weil wir Glück hatten! Es hat sich in diesem Zeitraum einfach keine Situation ergeben, in der “radikale Strömungen” einen ausreichenden Nährboden gefunden hätten. Aber auf Grund der Anzahl an haarscharf an der Verfassungswidrigkeit vorbei schrammenden Gesetzen der letzten Jahre sollte eigentlich klar sein, dass sich dies schnell ändern könnte. Landet wieder einmal ein Gesetz dieser Art vor dem Bundesverfassungsgericht liegt es in den Händen einer winzigen Personengruppe zu entscheiden, ob es nun als  “richtig” oder “falsch” zu betrachten ist. Warum bei einer solchen Gruppe das Risiko einer Fehlentscheidung geringer sein soll, als bei einer Volksabstimmung, will mir nicht einleuchten.

Was den konkreten Fall in der Schweiz betrifft, so hoffe ich jedenfalls, dass diese ehrlich ausgesprochene und anscheinend in der Mehrheit der Bevölkerung (nur in der Schweiz?) vorherrschende Meinung, auch wenn ich mit ihr definitiv nicht übereinstimme, etwas bewirkt. Und zwar, dass die Gruppe derer, die mit Nein gestimmt haben, nun erstrecht einen Anlass sehen, in diesem Bereich noch mehr für Aufklärung zu sorgen und Gegenmaßnahmen zu ergreifen. Etwas was in Deutschland nicht selten daran scheitert, dass ein Tabu-Thema erst garnicht angesprochen werden darf…aus Angst, die landläufige Meinung könnte nicht “politisch korrekt” sein. Irgendwie verrückt.

Integrating CAS and Wicket

At AirlineSim we use CAS for user authentication and right now we are in the process of migrating parts of the game to the great web framework Wicket. Yesterday I thought about a way of integrating both in a way that a user is automatically redirected to a login page when he lacks access rights and that he returns to the exact same page after he has completed the login. All should be done in a “Wicket way”. Below you find my approach, please let me know when you find errors or if you can think of ways so solve it in a better way. For demonstration purposes I use simplified code passages. It looks slighty more complex in AirlineSim.

The first step is to check in a custom PageAuthorizationStrategy whether a CAS assertion exists. I’m using the filters provided by the Jasig CAS Client to place the assertion in an AssertionHolder. If no assertion is provided (which means the user is not logged in) I use Wicket’s intercept page mechanism to redirect the user to CAS.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class CASPageAuthorizationStrategy
        extends AbstractPageAuthorizationStrategy
{
    @Override
    protected <T extends Page> boolean isPageAuthorized(Class<T> pageClass)
    {
        Assertion assertion = AssertionHolder.getAssertion();
        if (assertion == null && isLoginRequired(pageClass))
        {
            StringBuffer url = new StringBuffer();
            url.append("https://your.cas.installation/login?service=");
            try
            {
                url.append(URLEncoder.encode(
                    "http://your.cas.clientapp/app/redirectAfterLogin", "UTF-8"));
            }
            catch (UnsupportedEncodingException e)
            {
                e.printStackTrace();
            }

            RedirectPage intercept = new RedirectPage(url);
            throw new RestartResponseAtInterceptPageException(intercept);
        }
        return true;
    }
}

As you can see, the code is pretty much straight forward: When the user isn’t logged in and a login is required (”isLoginRequired” just for demonstration purposes), the URL for the redirect to CAS is built. Since I’m using an intercept page, the path in the service parameter always points to “/redirectAfterLogin”, but more about that in a minute. The URL is passed to a new instance of RedirectPage which itself is passed to the RestartResponseAtInterceptPageException. When this exception is thrown, Wicket will “remember” the page the user just tried to call and redirect him to the RedirectPage. The latter will immediately redirect him to CAS for login.

So what about the “/redirectAfterLogin” in the service path? At this location I mounted the following page class:

1
2
3
4
5
6
7
8
9
10
11
public class RedirectAfterLoginPage
        extends WebPage
{
    public RedirectAfterLoginPage()
    {
        super();

        if (!continueToOriginalDestination())
            setResponsePage(getApplication().getHomePage());
    }
}

Its job is very simple. All it does is redirecting the user to the page Wicket “remembered” when the RestartResponseAtInterceptPageException was thrown. Since the user might access this page by accident and there is no markup for it, make sure to provide a response page even if no original destination is available. Otherwise the user will get to see an error page. I used the application’s home page as the default here.

And that’s basically it. Please note that the code snippets above are untested pseude code and will most definitely have to be adjusted to your environment.

Zwei neue Mitbewohner

Seit nun etwas mehr als einer Woche wohnen wir nicht mehr zu zweit, sondern zu viert. Die Neuzugänge heißen Pablo und Luca, sind etwa 4 Monate alt, männlich und stark behaart. Die Rede ist selbstverständlich von unseren zwei Stubentigern, die von nun an hoffentlich viele gemeinsame Jahre mit uns verbringen werden. Die beiden stammen von einem örtlichen Tierschutzverein, welcher ihre Mutter hochschwanger aus  schlechter Haltung gerettet hat. Ihre Namen erhielten sie auf der Pflegestelle, und weil wir sie ganz schön fanden, haben wir sie nicht mehr geändert.

Pablo, benannt nach Pablo Picasso wegen seines Flecks auf der Nase, ist der große starke Bruder, während Luca eher der kleine schlaue ist. Insgesamt hat man den Eindruck, Pablo wäre in der körperlichen Entwicklung einige Wochen weiter als sein Bruder, obwohl sie beide genau gleich alt sind. So war Luca die ersten Tage sehr schreckhaft und scheu, während Pablo eher mal die Nase unter dem Bett hervorgesteckt hat um zu sehen, was im neuen Zuhause passiert. Dafür ist Luca jetzt, nachdem sich alle Mitbewohner aneinander gewöhnt haben, der verschmustere von beiden: Hat er sich Streicheleinheiten in den Kopf gesetzt, ist an arbeiten nicht mehr zu denken. Er setzt sich dann direkt auf die Tastatur, maunzt und gibt so lange Köpfchen, bis man sich mit ihm beschäftigt. Wenn Pablo davon wach wird schaut er eine Weile eifersüchtig zu, um sich dann die ihm zustehende Portion Zuneigung abzuholen.

Wie bei allen Katzen ist die Lieblingsbeschäftigung von Pablo und Luca schlafen, dicht gefolgt von fressen. Bei letzterer legen die Jungs eine beachtliche Ausdauer vor und verputzen an guten Tagen gerne mal drei Mahlzeiten (wobei sie dieses Wochenende zu fasten scheinen). Weil es sich um junge Kater handelt, wird auch ausgiebig getobt. Für den uneingewiesenen Gast evt. etwas befremdlich ist dabei das “mit Vollgas von einem Ende der Wohnung zum anderen rennen”, entweder dem Bruder hinterher oder auch einfach so. Dabei machen die kleinen meisten erst dann halt, wenn sie an einem Ende an eine Tür oder ein Möbelstück geknallt sind (Wieso kriegen Katzen eigentlich keine blauen Flecken?). Zur Rumraserei kommt die Jagd auf alles was sich bewegt, sei es ein Spielzeug, ein Papierball oder eine Fliege. Um letztere zu erlegen rennt man auch gerne mal senkrecht die Wand hoch oder, wie Luca, klettert bis ans obere Ende des Katzenschutzes vor der Balkontür, um sich dann aus 2 Metern höhe wieder fallen zu lassen (Luca ist klein, aber mutig). Bisher ist bei diesen Spielen erst ein Blumentopf zu Bruch gegangen…erstaunlich.

In ruhigeren Stunden ist Pablo großer Fan des Aquariums oder schaut eine runde fern. Luca hingegen macht sich nicht viel aus dem Fernseher, sondern eher aus seinem eigenen Spiegelbild. Mal sehen welche lustigen Eigenschaften wir in Zukunft noch entdecken werden. Wenn es nach etwa einer Woche schon soviele sind, erwartet uns ja eine Menge!

Einige Bilder der kleinen habe ich in einer Gallerie auf dieser Seite online gestellt: Klick! Diese wird über die Zeit hinweg mit zusätzlichen Bildern erweitert werden.

Finally, an update

I wanted to redo my blog for quite a while now and today I finally got to do it. The primary objective was to switch the system from Serendipity to Wordpress. We’re using the latter with AirlineSim and it really grew on me while Serendipity was more of a hassle although I’m everything but a heavy user.

Along came a new theme. I looked around the web for several hours searching for one that was easy to modify, as I wanted the new design to resemble the look of the old one and at the same time to take it a few steps further. Because I really wasn’t in the mood for CSS hackery today I settled with this professional but less customized template. I might switch to another one in the future in case I finally come across a good one I like.

Since I’m often switching between languages here, I tagged all posts with the language they are written in. To list all posts available in your preferred language, simply click DE or EN in the tag cloud on the right. After doing so you can also subscibe to an RSS feed based on that tag.

Please let me know what you think.

Man gönnt sich ja sonst nichts

Ich hatte mir seit Monaten vorgenommen, mich zum bestandenen Diplom einer ordentlichen Portion Autogratifikation hinzugeben. Genauer hatte ich in Planung, mir das LED Cinema Display von Apple als perfekte Ergänzung zu meinem Notebook des selben Herstellers zu schenken. In Anbetracht der Tatsache, dass ich erst im vergangenen Jahr einen neuen Monitor erworben hatte, bin ich aber von diesem Gedanken wieder abgerückt. Auch hätte ich das sperrige und nicht minder empfindliche Gerät dann später in diesem Jahr in eine neue Wohnung (wohin es geht steht noch nicht fest) transportieren müssen, was ich ebenfalls vermeiden wollte.

Mehr oder weniger spontan fiel dann bei einem nächtlichen Espresso in Down-Town-Oldenburg die Entscheidung: Eine Espresso-Maschine muss her. Eigentlich schon immer auf meinem persönlichen Wunschzettel, habe ich bisher nie den Bedarf für ein solches Gerät gesehen. Da meine Arbeitszimmer jetzt aber auch als mein Büro fungiert, wurde eine Kaffeemaschine zum unverzichtbaren Einrichtungsgegenstand. Nach kurzer Recherche im Testheft ging es heute zu Saturn.

Mit dem Namen "Krups" im Hinterkopf fiel die Entscheidung im Laden dann auf eine XN 7106 eben dieses Herstellers, also einen Pad-Automaten, welcher sich ausschließlich mit den Nespresso-Kapseln beschicken lässt. Ich war eigentlich immer gegen derartige Systeme, und insbesondere gegen derart geschlossene wie jenes von Nestlé (ganz abgesehen davon, dass das Unternehmen an sich höchst unsympathisch ist). Der Grund, weswegen ich mich letztendlich doch dafür entschieden habe, zeigt gewisse Parallelen zu meinem Apple-Kauf: Das Gerät überzeugte. Die Maschine ist sehr einfach zu reinigen, hat einen technisch sehr elegant ausgeführten Milchaufschäumer (keine dieser kaum sauberzukriegenden Wasserdampfdüsen) und sieht nicht zuletzt gut aus. Durch den im Mittelfeld rangierenden Beschaffungswiderstand war auch ein akzeptables Preis-Leistungs-Verhältnis gegeben.

Erste Tests ergaben: Allen Unkenrufen zum Trotz, Kapselkaffee schmecke nicht, war das Resultat qualitativ deutlich hochwertiger als das, was ich in den letzten Monaten in Restaurants und Cafes getrunken habe. Ebenfalls positiv anzumerken ist der (theoretisch) gute Wartungsservice. Sollte die Maschine einmal defekt sein, wird das Gerät abgeholt, ein Ersatzgerät gestellt und eine Reparatur innerhalb von 7 Tagen versprochen. Manko: Auf Grund der bereits oben erwähnten Geschlossenheit des Nespresso-Systems, lassen sich die Kapseln nur direkt vom Hersteller erwerben. Einen Vertrieb über den regulären Handel gibt es nicht, der Preis pro Kapsel ist vergleichsweise hoch. Bisher war die Qualität von Maschine und Kaffee aber sehr überzeugend…jetzt muss ich nur noch die 16 verschiedenen "Grand Crus" durchprobieren ;)

Wieder daneben gegriffen

Freitags steht vor dem Supermarkt meines Vertrauens immer der Fischwagen. Da ich nun seit einigen Tagen wieder willens und in der Lage bin, mein Mittagessen selbst zuzubereiten, habe ich mir heute morgen spontan ein Fischfilet für die Pfanne mitgenommen. Ich habe mich dabei auf die Beratung der Fachverkäuferin verlassen und mich vor allem nach den kulinarischen Qualitätskriterien entschieden, also Grätenfreiheit und Geschmack.

Wenn ich Fisch gekauft habe, werfe ich nach meiner Ankunft zuhause meistens einen Blick auf die Infotafel von Greenpeace, welche mir sagt, wie sehr ich dem Planeten mit meinem soeben getätigten Einkauf wieder wehgetan habe. Und diesmal war es mal wieder ein 100%iger Griff ins Klo in die Nordsee: In meiner Pfanne landet heute ein Filet des Rotbarsch, also einer massiv überfischten, schlecht erforschten Art, die auf der Infotafel im tiefroten "katastrophal"-Bereich aufgeführt ist.

Merke an mich selbst: Liste auswendig lernen. Beim nächsten Mal nachfragen *ärger*.

PS: Die eben erwähnte, sehr nützliche Schautafel gibt es mittlerweile wohl nicht nur als Wandbild, sondern auch als kompakten Ratgeber für unterwegs: [klick]. Also doch nicht auswendig lernen :)

Jetzt gibt’s mich auch mit PGP

Im Rahmen der Internationalisierung von AirlineSim hat das Aufkommen von "geschäftskritischer Kommunikation" in meinem Email-Postfach bedeutend zugenommen. Dies betrifft vor allem die umfangreiche Bürokratie die offensichtlicht nötig ist, um mit Payment-Dienstleistern ins Geschäft zu kommen. Da es hierbei letztendlich um Geld geht, steigen natürlich auch die Anforderungen an die Sicherheit. Entsprechend erreichte mich heute die Aufforderung, doch bitte einen öffentlichen PGP-Key zu übermitteln. Der Begriff PGP sagte mir wohl etwas, beschäftigt hatte ich mich damit aber noch nicht. Mit Googles Hilfe lies sich aber schnell ein Tutorial finden, um das recht problemlos auf meinem Mac und mit Mail zum Laufen zu kriegen. 

Kurz eine Zusammenfassung von einem Security-Laien, um was es hier eigentlich geht: Man erzeugt zwei sogenannte Schlüssel, einen öffentlichen und einen privaten. Den öffentlichen Teil lässt man den Personen zukommen, mit denen man gerne sicher kommunizieren möchte (zum Beispiel per Email). Diese können mit Hilfe dieses Schlüssels eine Nachricht verschlüsseln, die vom Empfänger dann nur noch mit dem dazu passenden privaten Schlüssel gelesen werden kann. Da Verschlüsselung mitunter etwas aufwändig sein kann und der Empfänger zwangsweise in der Lage sein muss, die Nachricht mit einer ebenfalls vorhandenen PGP-Installation und dem passenden Key zu entschlüsseln, kann man stattdessen (oder zumindest) die Email signieren. Damit kann der entsprechend ausgerüstete Empfänger überprüfen, ob die Nachricht auf ihrem Weg nicht von Dritten verändert wurde, während sie aber  aber trotzdem für jeden lesbar bleibt.

Wie gesagt war die Installation sehr einfach und verlief problemlos. Ich habe mangels Interesse nicht nach entspechender Software für Windows gesucht, diese ist aber mit Sicherheit ebenfalls verfügbar. Meinen neuen Key kann man sich hier [klick] besorgen…meine ausgehenden Emails werden ab sofort immer automatisch signiert.