Debugging fürs iPhone mit Xcode

In einer Freitags-Sitzung des iPhone-Programmierkurses der Stanford Univerity wird sehr anschaulich dargestellt, wie sich ein iPhone Programm mit XCode debuggen lässt. Schritt für Schritt werden die einzelnen Teile des Debuggers erklärt und auch auf typische aber schwer zu findende Fehler hingewiesen. Das sollte man sich wirklich mal anschauen.

Google sagt dem IE6 den Kampf an

Darauf hätte man auch selbst kommen können:Ein Monopolist bekämpft den anderen. Google will den IE 6 los werden. Was zig Webseiten nicht schaffen, könnte Google gelingen: Die Nutzer des hoffnungslos veralteten IE 6 zum Upgrade zu bewegen. Allerdings will Google zunächst nur einige Dienste nicht für den alten Browser anbieten. Ob das wirklich hilft? Wir wäre es mit alten oder falschen Suchergebnissen?

Und wenn der IE 6 erstmal weg ist, dann nehmen wir alle anderen Internet Explorer aufs Korn. Und dann den Firefox und Opera. Und dann bleibt uns nur noch der Chrome.

Das erinnert mich an Macchiavelli mit seinem Motto divide et impera bzw. im Deutschen teile und herrsche.

Aber Google macht so etwas ja nicht: Don't be evil.

Zusätzliche Header per Mechanize übergeben

Ich habe die Tage ein wenig mit der API von Google Analytics gespielt. Ich wollte dort per Ruby zugreifen. Da fiel mein erster Blick auf Garb. Allerdings war ich nicht so recht glücklich damit. Daher wollte ich selbst direkt auf die Webschnittstelle zugreifen.

Dabei muss man sich erst an einer URL ein Login-Token holen und dieses dann bei den nächsten Requests als HTTP-Header mitschicken (vgl. Doku). Um die Webzugriffe möglichst einfach lösen zu können, fiel meine Wahl auf Mechanize

Dabei stolperte ich dann über eine Falle bzw. eine schlecht Doku. Dort heißt es zum Aufruf der Methode get:

– (Object) get(options, parameters = [], referer = nil) 

Demnach sind die options (also URL und andere Header) getrennt von den Parametern zu übergeben. Leider stimmt das nicht. Schaut an sich die Implementierung an, so werden die Parameter aus dem options Hash genommen.

 

netbeans und das ewige Indizieren

Ich habe auf dem Mac mein Netbeans  von 6.7.1 auf 6.8 aktualisiert — mit fatalen Folgen. Das Indizieren der Projekte dauert ewig und hört nicht mehr auf. Selbst wenn in der Fußleiste der Balken verschwindet, ist die CPU noch immer auf 100%.

Ich habe dann unter ~/.netbeans//var die Verzeichnisse cache und filehistory gelöscht, wie dies hier empfohlen wird — leider ohne Erfolg.

Daraufhin habe ich sukzessive in ein Testprojekt die Verzeichnisstruktur aus einem Problem-Projekt gezogen. In der Tat war bis zu dem Zeitpunkt alles okay, bis ich einen Ordner, der in Unterordnern insgesamt 5000 Bilder hatte, hinzufügte. Ich habe diesen Order auch sofort zu den Ignored Folder hinzugefügt — Ihr wisst schon: ohne Erfolg.

Selbst das Löschen dieser einzelnen Dateien brachte keinen Erfolg. Er das Löschen des gesamten Ordners und das Leeren des Caches brachte nach einigen Minuten wieder ein ruhiges System.

Praktikabel ist das leider nicht — wofür gibt's denn die Ignored Folder?

Vorlesung iPhone-Programmierung in iTunesU

Die University of Stanford bietet in der iTunes U die Mitschnitte einer Vorlesung über iPhone Programmierung an. Die ersten beiden MItschnitte sind zur Zeit verfügbar.

Im ersten Teil geht es neben organisatorischen Dingen um eine kurze Demonstration von XCode und dem InterfaceBuilder.

Der zweite Teil steht im Zeichen einer Schnelleinführung in Objective-C.

Charlie Weis als anstößig Koordinator

Mein Google Alert zum Suchbegriff Charlie Weis, dem ehemaligen Head Coach der Notre Dame Fighting Irish, lieferte mir eben eine tolle Seite. Diese muss wohl eine automatische Übersetzung aus dem Englischen sein. Darin wird Charlie Weis als "anstößig Koordinator" bezeichnet. Das wird wohl die Übersetzung für "Offensive Coordinator" sein. Es lebe die Technik

ldd für Mac

Ich kämpfe gerade damit, über die dmg-files sowohl subversion wie auch git zu installieren und dabei zu erreichen, dass git svn die neu installierte Version nutzt und nicht die standardmäßig unter /usr/bin/svn liegende.

Ich habe dies zunächst mit dem Setzen der PATH Variable versucht — ohne Erfolg. Dann setzte ich noch LD_LIBRARY_PATH — leider auch ohne Erfolg. Nun wollte ich checken, ob denn die passenden Libraries überhaupt gezogen werden. Also rief ich ldd svn  auf. Es gab einen Fehler.

Ich musste feststellen, dass ldd auf dem Mac otool -L heisst, und statt LD_LIBRARY_PATH muss man DYLD_LIBRARY_PATH nehmen. Allerdings führt das in meinem Fall zum Absturz…

NFL SuperBowl Quiz

In Anbetrachrt der Tatsache, dass ja heute die Playoffs der NFL beginnen, stolperte ich über dieses Quiz auf der Seite der NFL.

Logo

Rank: First-Year Captain
Points: 14
Yards: 155
Think you can do better? Test your football knowledge with NFL 2-Minute Trivia.

Im zweiten Anlauf habe ich es immerhin zu 2 Toudchdowns gebracht. Den Titel des First Year Captains hatte ich allerdings auch im ersten Versuch, als ich vier Yards vor des Gegners Endzone die 2 Minuten erreicht hatte ….

Ein absolutes Muss für jeden Football Fan!