Archiv der Kategorie: Developer

WWDC Session Videos kostenlos

Für (kostenlos) registrierte Developer stellt Apple die Videos und Slides der WWDC 2010 Sessions kostenlos zur Verfügung – über iTunes U. Und zwar über 200 Sessions, also mehr als eine drei Arbeitswochen Lernfutter. Das ist ein fantastisches Geschenk und kommt praktisch der kostenlosen Teilnahme an der WWDC gleich. Da kann man nur sagen: danke, Apple! (Via iphone-notes.de.)

Und wer dann immer noch nicht genug hat, kann sich noch 90 Minuten Interview mit Steve Jobs reinziehen.

Antworten für iPhone-Programmierer bei StackOverflow.com

Joel Spolsky über Stackoverflow.com

Ungefähr ein Drittel aller geschätzten 9 Millionen Softwareentwickler auf der Welt nutzen schon StackOverflow.com. Der Rest sollte es sich auch mal angucken. Es ist eine „collaboratively edited question and answer site for programmers“ und funktioniert wirklich ziemlich gut. Mitgründer Joel Spolsky berichtet in einem Google Tech Talk („Learning from StackOverflow.com„) über die Vorzüge seiner Site. Joel Spolsky hat auf seiner Site auch sonst ganz interessante Sachen aus seinem breiten Erfahrungsschatz zu berichten, finde ich – er war früher Programm-Manager bei Microsoft, verantwortlich für Excel und hat dort z.B. VBA „verbrochen“.

Auch für neue Technologien wie z.B. die iPhone-Plattform gibt es schon tausende Fragen und Antworten Stackoverflow.com.

Daten aus Webdiensten mit wget sichern (OS X, Firefox)

Für den Seelenfrieden gibt es doch nichts besseres als ein Backup. Für meine lokalen Daten erledigt das unter OS X 10.4 Leopard Time Machine von Apple ohne viel Aufhebens. Übrig bleiben aber die ganzen Daten, die ich im Web pflege, wie z.B. Delicious-Bookmarks und Bloglines-Subscriptions. Manuell kann man diese Daten auf die lokale Festplatte exportieren, und genau das wollte ich heute automatisieren. Das geht nach einigen kleinen Hürden mit wget problemlos.

1. Beispiel Bloglines

Die Seite, die alle Subscriptions als OPML liefert, lautet http://www.bloglines.com/export. Einzige Hürde: man muss eingeloggt sein. Im Browser klappt der Export nach dem Login dann dank Cookies. Und diese kann man auch wget übergeben, und zwar mit dem Parameter "--load-cookies cookies.txt". Cookies.txt ist eine Datei mit Cookies im Netscape-Format. Mein Lieblingsbrowser Firefox speichert die Cookies allerdings seit Version 3 in einer Sqlite-Datenbank. Zum Glück steht hier, wie man die Daten leicht daraus extrahieren kann – und zwar mit folgendem Script (von mir leicht vereinfacht):

#!/usr/bin/python
import sqlite3 as db
import sys
cookiedb = ‚/Users/<username>/Library/Application Support/Firefox/Profiles/<profilename>/cookies.sqlite‘
connection = db.connect(cookiedb)
cursor = connection.cursor()
contents = „host, path, isSecure, expiry, name, value“
cursor.execute(„SELECT “ +contents+ “ FROM moz_cookies“)
file = open(„./cookies.txt“, ‚w‘)
index = 0
for row in cursor.fetchall():
file.write(„%s\tTRUE\t%s\t%s\t%d\t%s\t%s\n“ % (row[0], row[1],
str(bool(row[2])).upper(), row[3], str(row[4]), str(row[5])))
index += 1
file.close()
connection.close()

Der Aufruf zum Sichern sieht dann so aus:

wget –load-cookies cookies.txt „http://www.bloglines.com/export“ -O bloglines.opml

2. Beispiel delicious

Hier lautet die URL zum Export https://secure.delicious.com/settings/profile/export. Wieder braucht man die cookies.txt. Aber es gibt noch ein weiteres Problem: Die export-URL verlangt einige Parameter als POST-Request. Zum Glück kann wget auch diesen Trick mittles „–post-data“. Die Parameter sehen so aus: „.crumb=<ID>&include_tags=yes&include_notes=yes&submit=submit“. Die „<ID>“ muss man aus dem Quelltext der Webseite „https://secure.delicious.com/settings/bookmarks/export“ auslesen (nach .crumb suchen), denn ich denke, die ist variabel (und ich hoffe aber, sie bleibt für mich stabil…). Ausserdem gibt es noch den wget-Parameter „–no-check-certificate“, der Probleme mit dem SSL-Zertifikat ignoriert. Insgesamt sieht der Aufruf dann so aus:

wget –no-check-certificate –load-cookies cookies.txt „https://secure.delicious.com/settings/profile/export“ –post-data „.crumb=<ID>&include_tags=yes&include_notes=yes&submit=submit“ -O delicious.html

Jetzt nur noch das Ganze in ein Script packen, um es via cron-job oder sowas regelmäßig und ohne weiteres Zutun anzustoßen.

Subversion unter OS X

Das coole am Mac ist ja das ausgewachsene Unix Betriebssystem unter dem ganzen Zuckerguss der Oberfläche. Viele wundervolle Tools sind schon vorinstalliert. Eines davon ist Subversion, welches bei Leopard in der Version 1.4.4 beiliegt. Da ja auch der Webserver apache schon vorinstalliert ist (2.2.8), ist es ein leichtes, ein Subversion Repository via http anzubieten, selbst mit https kein Problem. Hier steht wie: Installing a Secure Subversion Server on Leopard.

Bei der Gelegenheit weise ich mal auf das freie Buch (wie „Freibier“) Version Control with Subversion hin, das es bei O’Reilly auch zu kaufen gibt. Bei O’Reilly gibt es übrigens dieses und eine ganze Reihe weiterer freier Bücher: die O’Reilly OpenBooks. Bisher über 30 PDF-E-Books. Empfehlenswert z.B.: Praktischer Einstieg in MySQL mit PHP von Sascha Kersken.

iPhone Developer

Heute hat Apple das SDK für das iPhone für Juni 2008 angekündigt und gleich als Beta zum Download bereitgestellt. Also nicht mehr im Februar, wie ursprünglich angekündigt. Ist das nun eine Woche oder 4 Monate Verzug? Aber ich will nicht meckern, ist ja alles kostenlos – nur registrieren muss man sich. Ich glaube, ich bin nicht der einzige, der es ausprobieren will, denn der Server sieht schwer überlastet aus. Immerhin, nach ein paar Versuchen habe ich nun die Bestätigung von Apple und bin „Registered iPhone Developer“ – nur mit dem Download hapert es noch. Ich bin gespannt, was daraus wird – ob ich mehr als ein „Hello World“ zustande bekomme. Ich hätte gerne eine vernünftige Projekt- und Aufgabenverwaltung á la GTD. Dass ich seit Anfang des Jahres ein mehr als stolzer Besitzer eines iPhones bin, brauche ich hier wohl nicht erwähnen, da mein geneigter Leser es ja bereits weiß.