Schlagwort-Archive: time machine

Bug: DVD-Player verliert Vollbildmodus während des Abspielens

Der DVD-Player (bei mir Version 5.0.3, OS X 10.5.8) verliert während des Abspielens einer DVD gelegentlich den Vollbildmodus und schrumpft zum Fensterchen zusammen. Das hat mich heute mal wieder schwer gestört, weil es scheinbar immer an den spannendsten Stellen des Films passiert. Über Google sind viele Leidensgenossen aufzuspüren, z.B. hier, hier, hier, hier und hier. Anscheinend hängt das mit laufenden Backups durch Time Machine zusammen. Der Bug wird schon sein März 2008 berichtet. Mir geht er auch schon länger auf die Nerven. Warum behebt Apple das nicht? Als Workarounds sind mir nur bekannt: DVD-Player nicht verwenden, Time Machine nicht verwenden.

Dieser Bug bekommt nun endlich einen Platz auf meiner allerdings kurzen Liste von Bugs in Apple-Produkten.

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.