iPhone Multitasking mit ProSwitcher
Sicher nicht ganz neu, aber eben durch die Empfehlung eines Freundes entdeckt: ProSwitcher.

ProSwitcher bringt Multitasking auf das iPhone. Und zwar richtig smooth. Die App ist kostenlos über Cydia zu beziehen. Sieht nach ersten Tests für mich so aus als würden Programme durch das Drücken des Homebuttons nicht mehr beendet, sondern in den Hintergrund gelegt. Sie laufen also weiter. Das gleiche Verhalten also, das die Telefon-Applikation oder der Browser ab Werk haben. Es könnte also sein, dass das Telefon dadurch auf Dauer etwas träge wird. Ich werde das mal eine Weile testen.
iPhone Bildschirm für Präsentation freigeben
Seit iPhone OS 3 sind Entwickler in der Lage einen In App Store in ihre Anwendungen zu integrieren. Möglich wird dies über APIs, mit deren Hilfe man eine Kommunikation mit dem App Store anstoßen kann. Die Implementierung ist heute – Januar 2010 – recht gut Dokumentiert und stellt für erfahrene Entwickler kein Hinderniss dar. Geht es allerdings darum Kunden die implementierte Lösung zu präsentieren wird es schon schwieriger. Hauptsächlich liegt dies daran, dass das In App Store Modul im iPhone Simulator nicht zur Verfügung steht, also auch während der Implementierung nur auf dem Gerät selbst getestet werden kann – was, nebenbei bemerkt, oftmals ziemlich lästig ist.
Auf meiner Suche nach einer Möglichkeit die Applikation, die auf dem iPhone läuft, irgendwie auf meinem Laptop-Bildschirm zu bringen habe ich meine Logitech Webcam zweckentfremdet. Es stellte sich doch heraus – und daran hätte vorher gedacht werden können – dass das auf dem Bildschirm erscheinende Bild spiegelverkehrt und somit nicht für eine Live Präsentation geeignet ist.
Nach einiger Suche stieß ich auf das Tool DemoGod. Zusammen mit dem Programm ScreenSplitr kann alles, was im iPhone getan wird, komfortabel am Bildschirm des Macs angezeigt werden.

Wie gesagt: praktisch vor allem in dem Fall, wenn Funktionen zu präsentieren sind, die im iPhone Simulator nicht vorhanden sind. In meinem speziellen Fall ein implementierter In App Store in einer iPhone Applikation.
Bleibt nur noch das Hindernis, dass die Verbindung zwischen DemoGod und ScreenSplitr über WLAN hergestellt wird. Eigentlich kein Problem, aber in einem großen Firmennetzwerk häufig oft mal umständlich. Am besten legt man sich, nachdem man mit dem eigenen Notebook über WLAN verbunden ist, ein ADHOC-Netzwerk an verbindet das iPhone mit diesem. Dann sollte der Rest wie von selbst laufen.
–
edit 01.02.2010
Bleibt nur noch das Hindernis, dass die Verbindung zwischen DemoGod und ScreenSplitr über WLAN hergestellt wird. Eigentlich kein Problem, aber in einem großen Firmennetzwerk häufig oft mal umständlich. Am besten legt man sich, nachdem man mit dem eigenen Notebook über WLAN verbunden ist, ein ADHOC-Netzwerk an verbindet das iPhone mit diesem. Dann sollte der Rest wie von selbst laufen.
Heute in der UNI auprobiert. Kein Durchkommen. Selbst mit eingerichtetem Ad-Hoc Netzwerk. Sobald das VPN ins Spiel kommt, funktioniert das so nicht mehr. Es muss also eine andere Lösung her um dem Publikum das Display des iPhones zugänglich zu machen.
Setting up multiple targets for iPhone projects
Creating multiple targets for Xcode iPhone Projects
Excellent post on how to setup different targets in your iPhone project.
Zeiterfassung mit Things, iCal und Minco
Seit einiger Zeit nutze ich Minco um die Zeiten pro Task zu erfassen. Von hinten durch die Brust ins Auge, könnte man dieses Vorgehen beschreiben. Weshalb soll nachfolgend kurz erklärt werden.
Um Tasks, also meine Aufgaben, zu erfassen, verwende ich cultured code’s things. Eins der intuitivsten Tools für das Management von Aufgaben am Mac – längst nicht perfekt, aber in Ansätzen gut.
Was mir immer wieder fehlt ist eine Möglichkeit die Zeiten, die ich für eine Aufgabe benötige, zu erfassen. Möchte ich beispielsweise einen konkreten Milestone erreichen, so wäre es im Nachhinein durchaus interessant zu betrachten, wie lange ich für diesen Schritt benötigt habe.
Things versteht sich als Todo-Management Software und bietet diese Funktion nicht. Daher musste etwas anderes her. Mein Feedreader hat mir irgendwann einmal von Minco ( Celmaro) erzählt. Optisch ein durchaus ansprechendes Tool.

Als StatusBar Tool lässt es sich nahezu komplett mit dem Keyboard bedienen. Visuelle Effekte runden den optisch positiven Eindruck ab. Doch wie kommt Minco an meine Tasks?
Minco arbeitet von Haus aus mit iCal – dem Kalender des Mac – zusammen. iCal kann zumindest rudimentär etwas mit ToDos anfangen. Drückt man cmd-alt-t in iCal, zeigt sich die ToDo Leiste. Rudimentär deshalb, weil lediglich das ablegen von ToDos (in unterschiedlichen Prioritäten) möglich ist. Keine Gruppieren, kein Anlegen von Projekten oder sonstiges.
Wie alles zusammen läuft
Jede in iCal erfasste ToDo wird von Minco im Hintergrund abgegriffen und dargestellt. Das heißt: speichere ich eine ToDo in iCal, ist diese automatisch auch in Minco verfügbar. Das funktioniert auch andersherum: in Minco selbst können ebenfalls ToDos erfasst werden. Sehr bequem über globale Shortcuts.

Wie eingangs allerdings erwähnt verwalte und verarbeitet ich alle digitalen ToDos allerdings mit Things. Glücklicherweise bietet Things die Möglichkeit alle anstehenden ToDos in einen definierten Kalender in iCal zu synchronisieren. iCal hat bei mir also einen Things Calendar, der sämtliche ToDos aus Things automatisch erfasst.
Diese werden dann wiederum automatisch von Minco erfasst und dargestellt.
Wozu das alles?
Bis jetzt wurde erklärt, wie die ToDos zu Minco gelangen. Was nun mit Minco selbst gemacht werden kann ist ganz einfach. Mittels globaler Shortcuts kann in Minco der zu bearbeitende Task eingestellt sowie die Zeiterfassung für selbigen gestartet bzw. gestoppt werden.
Die Voreinstellunge erlauben dem Nutzer genau zu definieren, welche Kosten für welche Kategorie von Aufgabe entstehen, welcher Stundenlohn also erwirtschaftet wird.
Die erfassten Zeiten speicher Minco in einem CSV-File ab. So kann es dann beispielsweise zum Erstellen einer Rechnung verwendet werden.
Zusammenfassung
Wie eingangs bereits erwähnt ist das alles etwas aufwendig. Zeiterfassung stellt allerdings häufig ein gutes Mittel dar um seine Erfahrung was die Aufwandsschätzung angeht zu erweitern. Nachträgliche Auwertungen lassen häufig Schlüsse über Verbesserungspotential in der eigenen Arbeitsweise zu. So lange es keine Software gibt, die in die Verwaltung und Abarbeitung von ToDos auch die Zeiterfassung mit einbezieht, werde ich diesen Weg weiter gehen (müssen).
Bildschirm sperren unter Mac OS X
Einen expliziten Menüeintrag zum Sperren des Bildschirms – also eine simple Lock Screen Funktion – habe ich auch in 10.6 Snow Leopard nicht gefunden.
Sicher ist es möglich den Rechner einfach in den Sleep-Modus zu schicken, wenn man mal kurz nicht am Arbeitsplatz sitzt. Das geht mittels Ctrl-Eject, Tab und Space auch recht schnell. Was aber, wenn weitere Personen auf dem Mac arbeiten, er deshalb also nicht in den Sleep Modus geschaltet werden soll?
Neben der Option ihn von quasi Remote aufwecken zu lassen, sobald jemand auf ihm arbeitet, könnte eben einfach von dem Sleep Modus abgesehen werden. Dafür ist schließlich ein Lock Screen Modus gedacht.
Da es diese Funktion am Mac nicht zu geben scheint (?) greife ich nun zu
/System/Library/CoreServices/"Menu Extras"/User.menu/Contents/Resources/CGSession -suspend
Das gibt man in einem Terminal ein und sieht nach dem Drücken der Enter-Taste dann den Login-Screen. Nach der Eingabe seines Passworts gelangt man wieder in seine Session zurück, alle Programme sind noch geöffnet und der Rechner bleibt während meiner Abwesenheitsphase ansprechbar.
Spotify in Deutschland wieder nutzbar
Nun scheint spotify die Sperre für die Deutschen Nutzer wieder aufgehoben zu haben. Man darf gespannt sein für wie lange.
(via)
Tag der Abgabe
Am morgigen Montag, den 04.01.2010, reiche ich meine Abschlussarbeit ein. All die Arbeit für ein PDF File, dass im Endeffekt 1,6 MB groß ist und ein Programm, das auf eine Diskette passen würde.
Wenn es sich letztendlich lohnt, soll es mir recht sein. Nochmal schreiben möchte ich die Arbeit nicht. Ich bin froh, dass es geschafft ist.
Im Februar dann noch zwei Prüfungen und das Studium der Informatik liegt hinter mir. Ging doch schneller als Anfangs gedacht.
BibTex und Autorennamen
Sobald der Autorenname von {Vorname Nachname} abweicht, bekommt man mit der Erfassung einer Quelle ein Problem. Standardmäßig wird der Name des Autoren als Nachname, Vorname dargestellt, was aber schon dann nicht korrekt funktioniert, wenn der Autor zwei Vornamen oder zwei Nachnamen hat.
Hier schafft die explizite Deklaration des Nachnamens durch die Verwendung von geschweiften Klammern weiter. Die Deklaration würde nicht {Vorname1 Vorname2 Nachname} lauten, sondern {Vorname1 Vorname2 {Nachname}}. Dies hätte den Effekt, dass in der Literaturauflistung später wie oftmals gewünscht Nachname, V. V. steht.
Die explizite Deklaration eignet sich auch sehr gut, wenn als Autor mal eine Firma angegeben werden muss. Diese Namen haben häufig die Form Company Inc. was normalerweise zu einem Bibliography Eintrag a la I., C. (oder Ähnlichem) führt. Die explizite Angabe [{Company Inc.}] führ dazu, dass in der Bibliographie wie gewünscht der Name des Unternehmens Company Inc. erscheint.
Update UITableview > Problem mit Sections
Da kann ich ja lange versuchen meinen Code zu fixen. Während des Updates einer UITableView (neue Section mit zwei neuen Rows) crashed die Applikation und erzählt irgendetwas von wegen NSRangeexception. Nach einer Stunde des “es muss doch gehen – alles ist genau so wie es sein muss – aber warum geht es dann nicht” fand ich dann diesen Link. Dankenswerterweise steht dort genau mein Problem im Bug Tracker. Kurzum habe ich also versucht mal anstatt zwei Rows nur eine in die neue Section einzufügen und siehe da. It just works.
Was lernt man daraus? Eventuell doch nicht immer die Schuld bei sich suchen und öfter mal daran denken, dass auch im Framework von Apple Bugs stecken können.
Jetzt muss eine Alterantivlösung her.
Syntaktisch korrekt
Getreu dem Motto
[[[User withNick:@"am"] numberOfPosts] increaseByOne];
möchte ich doch hier mal mein neues Syntax Highlighting Plugin testen. Nice.
