Jun 24

…werde ich so jedenfalls nicht:

Jun 24

Was man morgens auch nicht gerne realisiert: Daß einem zum BRK-Dienst etwas dazwischengekommen ist und man vergessen hat, den Wachverteiler rechtzeitig zu informieren. In der Folge sind nun 5 Leute sauer auf mich. Der Wachverteiler, der Wachleiter und drei Leute, die ich im K-Sanka hätte fahren sollen. Sorry. :-(

Jun 24

Was man morgens nicht gerne liest:

Disk ‘SAMSUNG HE322HJ-SF9ZJ1CQ258854′ at Controller1-Channel7 failed.

Immerhin:

Spare disk took over.(Array: RAID_1_0)
Array ‘RAID_1_0′ rebuilding started.

Das hatte ich hier ja bereits vermutet. Nu wirds wohl Zeit, daß ich meine (derzeit) letzte Platte mit fehlerhaften Sektoren einschicke. Blöd: Die steckt nicht im HottSchwapp-Wechselrahmen, sondern ist fest verbaut. Da wird nix ohne Server-Downtime gehen. Deshalb hatte ich das Thema auch geschoben. Gelobt sei der S. Pare Disk, Erfinder der gleichnamigen, auf Bereitschaft stehenden Scheibe.

Auch ein Bisschen gelobt sei Samsung. Nicht für die schnell abrauchenden Scheiben, sondern für den bislang immer recht unkomplizierten Tausch. Dies wäre dann mein vierter. Oder fünfter? *grübel*

Jun 23

Heute melde ich mich mal mit einem ausführlichen Essay zum Thema PHP-Entwicklung.

Vor kurzem stand ich vor der Aufgabe, für einen Kunden Facebook in dessen CMS zu integrieren. Mittels der Facebook-API ist das auch relativ komfortabel. Mal abgesehen davon, daß selbst auf developers.facebook.com verschiedene PHP-APIKits herumschwirren und dort widersprüchliche Anweisungen gegeben werden, ist es dennoch recht schnell schaffbar, eine komplexere Facebook-App zu schreiben.

Bei mir war jedoch die Anforderung gegeben, daß die Applikation zeitgesteuert Daten auf Facebook veröffentlichen können sollte. Asynchron, ohne jegliche Benutzerinteraktion. Das entwickelte sich schleunigst zu einem Problem. Denn bevor die Facebook-API die Arbeit aufnimmt, verlangt sie ein Facebook-Login-Cookie, das nur begrenzt haltbar ist.

Alle meine Versuche, dieses Cookie zu faken scheiterten an einer UID, die Facebook erst nach einer Browser-Anmeldung herausrückt. Im Netz fand ich diverse HowTo’s, wie man das Login curlt und danach ebenfalls via curl seinen Status updaten kann. Aber damit wars das auch schon. Kein Löschen möglich, keine Links posten, Notizen, etc. bla. Und ich wollte ja die volle API-Funktionalität nutzen können.

Also habe ich die cURL-Idee ein wenig modifiziert:

Facebook checkt den Login mit der API-Methode $fb->require_login($permission); – Ist der User nicht bereits in der aktuellen Browser-Session angemeldet, gibts einen Redirect zur “Ja, diese App darf auf meine Daten zugreifen”-Seite und im Anschluß erst einen Redirect zurück zur App, zusammen mit dem begehrten Auth Token. Was an sich schonmal schlecht ist, denn das CMS des Kunden liegt in dessen Intranet, nix mit externer Erreichbarkeit. Mal abgesehen davon, daß das Script ja zeitgesteuert per Cron laufen soll.

Anstelle des Facebook-eigenen Redirects lasse ich mir das API-Kit die entsprechende URL erstellen und curle diese Login-Seite. Dort parse ich alle relevanten Parameter und übergebe sie dem Login-Formular wieder, zusammen mit meinem Benutzernamen und Passwort. Den Redirect fange ich ab und werte statt dessen die zurückgegebenen Header aus. Dort steht nämlich praktischerweise der Auth Token direkt in der zweiten Redirect-URL.

Weiterlesen »

Jun 22

Ähem. Gerade beim SVN-Commit den folgenden Kommentar geschrieben:

* facebook support added
* flickr category support added (MISSING: upload whole cats)

Beim Klick auf “ok” kams mir dann… Scheiß-Abkürzerei. :D

So, Fire Evening nu!

Jun 14

Diese abartigen LärmStressNullIQ-Geräte polarisieren doch tatsächlich! Ja, richtig gelesen: Es gibt Leute, die diese Drecksteile NICHT nervig finden!

Der Herr HillSpancer z.B..

Googelt man hingegen mal UweSeelers, findet man unter den WM (Fernseh-) Zuschauern kaum Fans dieser Instrumente.

Ich kann die auch nicht leiden. Wenn ich nämlich Fußi in Surround gucke, gehen die Kommentatoren vollkommen unter. Back to the roots und stereo. Saugt. :D