19.10.2009

Restaurant Tagebuch: Tapas Y Mas und Feuerschiff

Dreijähriges im Tapas Y Mas:

Weihnachtsgutschein im Feuerschiff:

Forschungswoche - Abschlussschwierigkeiten am Sonntag

Nun ist die Forschungswoche bei blau schon wieder vorbei und es wird Zeit ein kleines Resumé zu ziehen.

Meine Bemühungen um die Verbesserung der Dokumentation von Buildr und die Erstellung von einigen eingänigen Beispielen für die unterschiedlichen Fähigkeiten von Buildr haben noch keine richtigen Früchte getragen.
Ich habe zwar einen Grundstein gelegt, es werden aber sicherlich noch einige Wochen vergehen, bis ich genügend Beispiele erstellt habe, um das Projekt publik zu machen. Ein Beispiel-Projekt ohne Beispiele erscheint mir ein wenig unsinnig :-)
Die Verbesserung der Doku, mit der ich bereits angefangen hatte, wurde durch das gerade veröffentlichte Release von Buildr zu großen Teilen überflüssig, zumal der Github Buildr Fork auf dem ich gearbeitet hatte, nicht aktuell war und ich erstmal meine Änderungen auf den richtigen Git-Zweig bei Apache umziehen musste.

Immerhin habe ich bei der Arbeit mit Objective-C/Cocoa festgestellt, dass ich so langsam ein Gefühl für die Sprache und die Entwicklungsumgebungen (XCode, Interface Builder) bekommen. Allerdings erscheint mir die ganze Geschichte sehr zäh. Man beschäftigt sich hauptsächlich damit Objekte zu verwalten und viel Code zu schreiben, der einen eigentlich nicht interessiert.
Um mein Wissen in diesem Bereich zu erweitern habe ich mir gleich noch mal ein neues Buch (Programming in Objective-C) besorgt und mein altes Buch (Cocoa Programming for Mac OS X) ausgekramt, dass schon seit letztem Jahr in bei mir oder in Niels Bücherregal versauert...

14.10.2009

Forschungswoche - Objective-C/Cocoa - UPDATE

"Jedes Jahr eine neue Programmiersprache lernen" ist eine der gutgemeinten aber nur schwer zu beherzigenden Ratschläge, um als Entwickler immer auf dem Laufenden zu bleiben.

Besonder schwer fällt mir dies, wenn die neue Sprache mal wieder alles gelernte auf den Kopf stellt. Hatte ich mich gerade an die Simplizität von Ruby gewöhnt, so geht Objective-C und die Mac Programmierung eher in die entgegengesetzte Richtung - "Einfach" ist hier relativ.

Betrachtet man beispielsweise die Integration der Oberflächengestalltung in Interface Builder und XCode, so ist es sehr einfach eine Verknüpfung zwischen Schaltflächen in der GUI und Objekten im Quelltext herzustellen.


Schaut man sich allerdings den Code an, der in Objective-C dafür geschrieben werden muss, so ist es ungefähr das genaue gegenteil...


Hier ein paar Dinge die mich abschrecken:
  • Speicher muss (de-)alloziert werden, es gibt keine automatische Garbage-Collection
  • Es wird viel mit Pointern gearbeitet
  • Sehr verboser Programmierstil
  • Syntax weicht vom Standard ab
  • Eigentümliche Aufteilung zwischen Header- und Implementierungsdateien
Und ein paar Dinge die überall so sein sollten:
  • Integration von GUI und Code
  • Integration der Dokumentation in XCode
  • Generierung von Properties
Vielleicht werde ich in den 2 mir noch verbleibenden Tagen noch warm damit, ich kann es mir allerdings nicht wirklich vorstellen... MacRuby to the rescue!



UPDATE:

Nachdem ich nun noch ein wenig mehr über die OS X Entwicklung in dem wirklich exzellenten Buch Cocoa Programming for Mac OS X gelesen habe hat sich mein Eindruck erheblich verbessert.
Man erfährt dort bereits am Anfang, dass mit OS X 10.4 (sprich Tiger) eine automatischer Garbage-Collector eingeführt wurde! Mit dieser Information könnte man in dem E-Book, dass ich mir zu Gemüte geführt habe gleich die Hälfte aller Kapitel ersetzen...

13.10.2009

iPhone unlock

Ein Wunder ist geschehen! Nachdem ich mich mehrere Tage lang versucht habe, den Simlock meines iPhone 2G zu entfernen, habe ich es nun doch tatsächlich geschafft!

An dieser Stelle noch mal ein kleines "Dankeschön du Arsch" an meinen lieblings Kollegen Daniel, der mir die ganze Sache durch das Firmware-Update auf iPhone OS 3.0.1 erst ans Bein gebunden hat...

Dies sind die Schritte, die ich noch in Erinnerung habe:
Voilà!

Schade eigentlich, dass ich das Ding gerade bei E-Bay verkauft hab...

Forschungswoche - Anlaufschwierigkeiten am Dienstag

Nachdem ich mich gestern mit JRuby, Buildr und Preview auf meinem Mac rumgeplagt habe und fast alle Probleme beseitigt habe, widme ich mich heute ein wenig der Mac-Programmierung.

Dazu habe ich mir vor kurzem das Buch Beginning Mac Programming von aus dem Pragmatic Bookshelf besorgt. Wie bei Pragprog üblich, handelt es sich mal wieder um eine PrealphaBeta-Version. Im Gegensatz zu meinem letzten Griff, sind diesmal aber immerhin die Kapitel 1 bis 11 schon fertig. Damit kann ich mich vielleicht etwas länger beschäftigen.

Das Buch behandelt hauptsächlich die Oberflächenprogrammierung mit XCode und Interface-Builder und ich hoffe, dass ich einige praktische Tips für mich herausziehen kann.

Um auch die Programmatische Seite der Mac-Anwendungen besser kennen zu lernen, wollte ich mich gleichzeitig auch noch mit MacRuby beschäftigen. Dieses ehrgeizige Projekt versucht die doch etwas verbose Cocoa/Objective-C schnittstelle hinter einer schönen Ruby-Fassade zu verstecken. Darüber hinaus wird dort versucht mit sinnvollen Defaultwerten (sensible Defaults) den Programmieraufwand zu reduzieren.
Ich finde diese Herangehensweise sehr sinnvoll, denn es waren genau diese Punkte, die mich bei der Arbeit mit RubyCocoa, quasi die Mutter von MacRuby, gestört haben.

Nach meinem Update auf Snowleopard war allerdings auch meine MacRuby-Installation zerstört... Ich habe jetzt aber immerhin eine lauffähige Variante (0.5 beta 1) gefunden. Was mich ein wenig schockiert: der MacRuby-Trunk Rake-Task bricht nun schon seit fast 2 Wochen regelmäßig mit anderen Fehlermeldungen ab! Jungs, habt ihr kein Continous-Integration?!

12.10.2009

Forschungswoche - Buildr

Ein selbstgestecktes Ziel für diese Woche ist die Verbesserung der Dokumentation des Build-Werkzeugs Apache-Buildr.

Hierzu werde ich einerseits die Code-Beispiele in der bestehenden Doku korrigieren und andererseits ein neues Projekt mit erweiterten Beispielen erstellen.

Forschungswoche - Anlaufschwierigkeiten am Montag

Heute hat nun endlich meine lang ersehnte blau Forschungswoche begonnen!

Eigentlich wollte ich mich hauptsächlich mit der Mac-Programmierung, sprich Objective-C, beschäftigen, allerdings hatte ich letzte Woche schon feststellen müssen, das es mit MacRuby nach dem Update auf Snowleopard einige Schwierigkeiten geben würde...

Deshalb hatte ich mir zusätzlich auch noch das Thema Buildr ausgesucht, von dem ich glaubte, dass ich mit wenig Setup-Aufwand sehr produktiv sein könnte... Allerdings hat mir mein System gezeigt, dass auch meine normale Ruby und meine JRuby Installation inklusive TextMate Integration killen kann...

Ein weiteres Mysterium seit dem Upgrade auf Snowleopard: Preview funktioniert nicht mehr richtig!

Im Moment habe ich folgende Preview-Merkwürdigkeiten (hier gibts noch mehr):
  • der Dokument-Hintergrund wird transparent (man sieht die Kacheln)
  • die Suche in Dokumenten von vor dem Upgrade geht nicht (Suche nach '123' findet 'ace')
  • Sonderzeichen können in der Suche nicht genutzt werden (.'| etc werden ignoriert)
Problemlösung: keine, ich benutze den Adobe Reader, der macht das was ich will!

Ach ja, falls jemand in TextMate folgenden Fehler bekommt:
env: ruby: No such file or directory
Da kann TextMate Ruby nicht finden. Bei mir war es nicht unter /usr/bin/ruby zu finden, was sich allerdings leicht beheben ließ (weiter Tips):
sudo ln -s /opt/local/bin/ruby /usr/bin/ruby

03.10.2009

unscheinBAR

Gestern Abend waren Daniel, Petra und ich mal wieder ein wenig auf der Schanze unterwegs, um uns ein kleines Wochenendbier zu gönnen. Wir wollten uns die neu eröffnete unscheinBAR einmal anschauen, da ich dort seit ein paar Wochen fast Tag auf dem Weg zu Blau dran vorbei laufe und die Umbauarbeiten verfolgen konnte.
Die Bar in der Schanzenstraße befindet sich im Souterrain und ist mit Parket und Ledersesseln sehr gemütlich eingerichtet. Kein vergleich mehr zu dem ömmeligen Laden, der da vorher drinn war.
Nach ein paar Drinks ist auch noch Enno zu uns gestoßen und wir 4 haben uns bei der von DJ-Weißbrot (der Azubi von DJ Plazebo oder was auch immer der uncoole Typ war - Digga NICHT SCRATCHEN!!!) aufgelegten Black Musik sehr gut amüsiert.
Nachdem wir die Cocktail-Karte einmal rauf und runter getrunken hatten, sind wir dann auf dem Heimweg noch auf ein Bier in der sehr dubiosen Das Nord Bar eingekehrt...
Eine Sehr schöner Einstieg in den Tag der Ossis.