Ein Umzug per T-Com

Eine kleine Anekdote für zwischendurch. Seit ich nach endlich 2,5 Monaten von der T-Com mein Entertain geschaltet bekommen habe, scheine ich von Hessen nach Mecklenburg-Vorpommern umgezogen zu sein: Auf sämtlichen Zugriffsstatistiken taucht nun Greifswald auf. Soviel also zu den Statistiken mit der Herkunft der Nutzer im Netz….

Die Tastaturbelegung beim Mac

Kommt man von der Windows-Seite, ist die Tastaturbelegung beim Mac erstmal etwas gewöhnungsbedürftig. So schließt man erstmal jedes Programm, wenn man seine E-Mail Adresse eingeben will. Auf der Windows-Tastaturbelegung tippt man nämlich AltGr-q, wenn man das @-Zeichen tippen will. Beim Mac liegt an der Position von AltGr die cmd-Taste, was also zu cmd-q führt, was leider bei jedem Programm dieses beenden lässt. Man muss statt dessen cmd-l tippen.

Doch dann will man irgendwann beim Prgrammieren geschweifte und eckige Klammern  nutzen. Die sind erst gar nicht eingezeichnet. Man findet sie auf alt-8, alt-9, alt-5 und alt-6. Dies ist erstmal saudoof, weil man immer am überlegen ist, wo denn nun die richtigen Tasten sind. Daher stellt man sich bald die Frage, ob man nicht einfach das englische Tastaturlayout nehmen will. Wenn man eh auf Tasten tippen muss, deren Bedeutung man vorher auswendig gelernt hat, kann man es wenigstens später bequem haben. Auch die spitzen Klammern liegen dann bequemer auf shift-, und shift-. , was bei html-Seiten viel praktischer ist. Auch die Tilde ist nun dort zu finden, wo normalerweise das >-Zeichen liegt und nicht mehr auf alt-n.

Doch wie tippt man Umlaute? Das ist auf dem Mac recht einfach: Per alt-u und dann den passenden Vokal. Das ß erreicht man direkt per alt-s.

Ich werde nun also mal einen Selbstversuch starten und meinen Mac nur noch mit englischer Tastatur bedienen…. Dummerweise taucht der Buchstabe y, ich meine natürlich z, viel zu häufig auf….Um dem Herr zu werden, müsste ich eigentlich auch die Windows-Maschine auf englisch bedienen — nur, wie komme ich da an die Umlaute ran???

 

Probleme bei einer Navigation based Application

Beim Nachvollziehen der Beispielanwendung iRSS aus dem Lehrbuch Programmieren fürs iPhone stolperte ich über folgendes Problem:

Wieso funktioniert das überhaupt? Als Initialisierung scheint folgendes zu dienen:

 - (void)applicationDidFinishLaunching:(UIApplication *)application {
// Configure and show the window
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}

Dort taucht aber nirgends der RootViewController auf.

Sucht man in den Beispielen von Apple (z.B. in https://developer.apple.com/iphone/library/samplecode/TableViewSuite/index.html ), so fällt auf, dass dort die Methode mehr enthält:

- (void)applicationDidFinishLaunching:(UIApplication *)application {

/*
Create and configure the navigation and view controllers.
*/

RootViewController *rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];

// Retrieve the array of known time zone names, then sort the array and pass it to the root view controller.
NSArray *timeZones = [NSTimeZone knownTimeZoneNames];
rootViewController.timeZoneNames = [timeZones sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
self.navigationController = aNavigationController;
[aNavigationController release];
[rootViewController release];

// Configure and display the window.
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
}

Hier werden dann also die Bestandteile benutzt….

Interessanterweise funktioniert das erste Beispiel ja auch. Ich frage micht nur, wieso ….

Ein erster Einstieg in die iPhone Programmierung …

Seit einiger Zeit versuche ich, hinter die Geheimnisse der iPhone Programmierung zu gelangen. Dazu habe ich mir das Buch von Markus Stäuble "Programmieren fürs iPhone" besorgt. Zu diesem Buch ist aus meiner Sicht zu sagen, dass es recht schön in die Programmierumgebung Xcode einführt.

Die im Buch angegeben Beispiele meint man auch nachvollziehen zu können. Versucht man sich dann allerdings in daran, die Beispiele abzuändern, so merkt man sehr schnell, dass es mit dem Verstehen doch nicht so weit her ist.

Außerdem habe ich das Gefühl, dass die Beispiele (hier vorallem die Anwendung iRSS) nicht sonderlich sauber programmiert sind. Mir scheinen da ein paar Memory-Leaks vorhanden zu sein. Da ich allerdings vorher weder mit Objective-C geschweige denn mit Cocoa in Kontakt gekommen bin, wäre der direkte Kontakt zum Autor nicht verkehrt. Leider verlief eine Kontakt-Anfrage über die auf obige Homepage angegebene Seite bei Twitter bisher im Sande.

Die Memory-Leaks meine ich mittlerweile per Instruments nachgewiesen zu haben. Das ist dann bitter, wenn man solche Fehler in einem Lehrbuch findet.

Memory Leaks finden mit Xcode

Hat man jahrelang mit Script-Sprachen gearbeitet, so ist die Umstellung auf Objective-C wegen der Pflicht, sich selbst um das Speichermanagement zu kümmern, doch nicht ganz unerheblich.

Glücklicherweise unterstützt Xcode bzw. das integrierte Instruments die Suche nach Memory-Leaks. Ein sehr schöne Anleitung findet man unter http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/

Umstellung von Windows auf Mac

Die Probleme, die bei der Umstellung von Windows auf Mac auftreten, sind manchmal nur von kleiner Natur. Aber diese kleinen Dinge, können einem manchmal wie Berge vorkommen.

So zum Beispiel der Unterschied von ALT-tab auf Windows-Seite und cmd-tab auf Mac-Seite. Auf einem Windows-System schaltet man so durch alle Fenster durch. Beim Mac schaltet man durch alle Anwendungen durch. Will man aber innerhalb einer Anwendung zwischen verschiedenen Fenstern umschalten, muss man anders vorgehen:

Entweder lässt man sich per F10 (oder auf einem MacBook in der Grundeinstellung fn-F10) die Fenster der aktiven Anwendung anzeigen und wählt dann das gewünschte Fenster aus. Oder aber man blättert mit cmd-< zwischen diesen Fenstern.

 

Über die Systemeinstellung lässt sich im Bereich Tastatur & Maus das Verhalten der Funktionstasten auf einem MacBook ändern:

Systemeinstellung