Ungewöhnlich, dass ich dazu noch nichts schrieb. Dann muss ich es halt jetzt tun.

Watched.li ist mein “neustes” kleines Projekt. Die Anführungszeichen deshalb, weil es eigentlich garnicht neu ist. Denn bereits Ende letzten Jahres kam ich auf die Idee die Seite zu basteln. Doch worum geht’s überhaupt?

Also, zuerst einmal muss man wissen, dass ich gerne Serien schaue, vor allem amerikanische, wie House, How I Met Your Mother oder Castle. Mit unter ist es nicht ganz einfach sich immer zu merken, bei welcher Folge man jetzt jeweils stehen geblieben ist, vor allem wenn man mal ne Woche Pause macht. Daher brauchte ich eine Möglichkeit meinen Status festzuhalten.

Dazu könnte man natürlich einfach eine Exceltabelle anlegen (die meisten Probleme der Menschheit lassen sich durch Exceltabellen lösen). Allerdings war mir das dann zu langweilig und unkomfortabel. Ich wollte einfach eine Seite, auf der ich eine Liste meiner Serien hab und einen “Plus”-Button, den ich drücken kann um das “Lesezeichen” hochzuzählen.

Natürlich machte ich mich erstmal auf die Suche, ob es sowas vielleicht schon gibt — unter anderem sidereel.com. Die Seite ist leider hässlich und hat viel zu viel sinnlosen Content rund um die Serien-Tracking-Funktion drumherum. Dann fand ich da noch followmy.tv — nich ganz so hässlich, dafür dauert aber alles ewig und es ist gespickt mit sinnlosen Social Network-Funktionen die ich nicht brauchte.

Also kurzum entschlossen schnell selbst was zu basteln. Der Herr Oelze schaltete sich relativ schnell ein und bastelte mir ein ganz schickes Design. Die Grundfunktionalität hatte ich dann schnell zusammengeklebt und ich konnte es benutzen – wunderbar.

Jedoch meldeten recht schnell andere Leute auch ihr Interesse an und so entschied ich mich die ganze Sache noch etwas auszubauen und richtete eine Seite ein, auf der man sich für eine Einladung in die Beta-Phase bewerben kann, ganz Web 2.0-mäßig.

Ende Februar gab ich den ersten paar Leuten Zugriff. Dann tat sich lange nichts, denn ich hatte nicht soviel Lust und der Jan hatte nicht soviel Zeit das Design zu vollenden. Jetzt vor ein paar Wochen fragten allerdings immer mehr Leute, wann es endlich neue Einladungen gibt — letzendlich für mich der Anlass mir das alles nochmal genau anzuschauen und einen Plan zu machen, was noch zu tun ist.

Ein paar Skizzen und zwei Samstage später ist watched.li jetzt in einem Zustand, in dem ich es auch weiteren Leuten zeigen kann und so gebe ich in den letzten Tagen immer mal wieder ein paar Einladungen raus — solang keine größeren Fehler auftreten wird das auch so weiter gehen, bis alle Bewerbungen aufgebraucht sind. Und dann wird man sich vielleicht auch einfach so anmelden können. Vielleicht. Irgendwann wenn noch die kleinsten Design- und Code-Fehlerchen gefunden und gefixt sind.

Falls ihr jemand Interesse hat früher reinzukommen, einfach bewerben. Weitere Informationen zum aktuellen Status gibts auf status.watched.li.

·

HBCI Push und so.

23. February 2011 · Code · 10 Kommentare · 4 Likes

Mal wieder ein Post, der etwas technisch angehauchter ist, zu einem Thema, was ich letztens mal bei Twitter erwähnte, dann aber wieder relativ in Vergessenheit geraten ließ.

Es geht um folgendes: Wie sicherlich viele von euch auch, habe ich ein Girokonto bei einer Bank. Bei mir ist das die Sparkasse. Ich bin sehr gerne darüber informiert, wer mir Geld abbucht, und vor allem wieviel Geld mir wer abbucht. Der normale Workflow um an diese Information zu kommen sieht nun so aus:

  1. Webseite öffnen
  2. Benutzerdaten eingeben
  3. 3x Klicken
  4. Sehen!

Soweit so gut, so hab ich es Jahre lang gemacht. Jedoch wünschte ich mir schon immer eine einfachere, automatischere Möglichkeit das zu erledigen.

Letztens las ich dann irgendwo irgendwas über Homebanking und kam auf diesem Wege zu dem HBCI-Protokoll, welches von verschiedenen Software-Dingern benutzt wird um mit Banken zu kommunizieren. Wunderbar.

Schnell erkundigte ich mich, was es so für Bibliotheken gibt, die HBCI implementieren. Zunächst versuchte ich AqBanking, welches ich aber nicht in einer vernünftigen aktuellen Version compiliert bekommen habe. Also Wechsel zu Java und HBCI4Java.

Da waren ein paar gute Beispiele dabei, womit es es, nach etwas rumprobieren, geschafft hab ein kleines Programm zu schreiben, was mir die letzten Umsätze von der Bank abfragt und sie in eine SQLite-Datenbank abspeichert.

Dieses Progrämmchen läuft nun gemütlich auf meinem VServer, ruft alle paar Stunden die Umsätze ab und speichert sie. Soweit so gut. Jetzt kann man mit den Umsatzdaten, auf die man jetzt locker und flockig über eine Datenbank zugreifen kann, anfangen was man will.

Ich schrieb mir zum Beispiel erstmal ein kleines PHP-Skript, welches neue Umsätze via Prowl an mein iPhone pusht. Ebenso werden die Umsätze über die REST-Schnittstelle meiner “Finanzverwaltungswebapp” in ebendiese eingefügt. Ein Traum!

Natürlich ist das ganze nur relativ schnell zusammengehackt. Zum Beispiel steht Kontonummer und Onlinebanking-PIN im Klartext im Source. Nicht so schön, aber für mich ausreichend. Falls Interesse besteht, lad ich das Zeug aber trotzdem mal bei GitHub hoch, vielleicht kann jemand der Lust auf sowas hat, es ja schöner gestalten!

·

Striche und Bildchen.

16. February 2011 · Code · 9 Kommentare · 3 Likes

Letztens hatte ich so eine Idee, das es lustig wäre, mal visualisiert zu haben, wer mit wem so auf Twitter kommuniziert. Oder so.

Ich bin relativ sicher, dass es sowas irgendwo schon gibt, aber ich war zu faul zu suchen. Außerdem wollte ich mal was mit dem <svg>-Tag basteln1

Jedenfalls bastelte ich schnell ein Script, das meine letzten 200 Tweets2 läd, und außerdem auch noch die letzten 200 Tweets von allen Leuten, denen ich eine @-Nachricht schrieb.

Aus diesen Daten versuche ich dann irgendwelche Striche zu erzeugen. Das Komplizierte daran, zumindest in meinem Kopf, ist die Sachen am Ende vernünftig anzuordnen.

In dieser Ansicht z. B. stehe ich in der Mitte. Die “Stärke” der Kommunikation (eine gewichtete Summe aus @-Replies und einfachen @-Mentions) ist dabei dargestellt durch die Dicke der Linien und den Abstand in der Horizontalen.

Das sieht etwas ungeordneter aus, hier sind die Leute einfach von links nach rechts geordnen, danach wie oft sie erwähnt wurden. Die Dicke der Striche ist wie oben.

Nachdem ich das jetzt hier zusammengehackt habe, weiß ich nicht so recht, was es mir nun bringt, außer das ich ein bisschen SVG-Zeug ausprobiert habe. Und naja, das erste sieht schon nicht so schlecht aus. Könnte aber sicher irgendwelche Algorithmen vertragen um es noch schöner zu gestalten.

Aber von diesem Mathe-Kram hab ich zu wenig Ahnung. Vielleicht räum ich morgen den Code etwas auf und Packs in ein github, ich denke, es gibt Leute, die können das besser.

Update: Ist im GitHub.

Fußnoten

  1. Auf Twitter kündigte ich fälschlicherweise an, ich würde mit <canvas> arbeiten, aber das war natürlich Quatsch
  2. Vor allem deshalb nur 200, weil sonst das dämliche API-Limit nervt
·

knuspercode.de

11. February 2011 · Code · 7 Kommentare · 3 Likes

Schon seit längerer Zeit gehört knuspercode.de zu der Vielzahl an Domains, die auf mich registriert sind. Bisher fristete sie ein eher tristes dasein.

Die Idee, da mal eine kleine “Projektübersicht” draufzupacken hatte ich schon länger, heute ist mir dann endlich mal ein halbwegs hübsches Layout geglückt, mit dem ich zufrieden bin.

Ich mag es.

·

Tool: Dailybooth Backup

23. December 2010 · Code · 3 Kommentare · 3 Likes

Hallo Freunde,

heute hatte ich eine Idee. Ich hab ja da diesen Dailybooth-Account, wo ich in unregelmäßigen Abständen ein schlechtes Bild von mir per Webcam hochlade. Nun hatte ich da schon eine beträchtliche Anzahl an Bildern meines wunderschönen Antlitzes gesammelt.

Aus Gründen ist bald Weihnachten, und was gibt’s da schöneres und persönlicheres zu verschenken als Bilder von sich selber? Schnell kombiniert. Eine Collage aus Dailybooth-Fotos! Grandiose Idee.

Leider bietet Dailybooth keine solche Funktion. Irgendwie musste ich also an die Bilder kommen. Die tolle neue Developer-API funktioniert irgendwie noch nicht so super und RSS-Feeds gibt’s ja auch keine mehr. Notlösung: dreckiges HTML-Parsing. Schmutzig, aber funktioniert.

Und falls nun jemand zufällig etwas ähnliches braucht: hier könnt ihr euch das Tool aus dem github ziehen!

Die Collage habe ich dann übriges mit Shape Collage gemacht.

·

Wir entwickeln eine kleine Webseite, Teil 1.

27. November 2010 · Code, quote.fm · 12 Kommentare · 13 Likes

Wie einige wissen, entwickel ich ja im Moment für den Herrn Wichmann so eine Webseite. Da er ja quasi schon mit so einer Art Transparenz-Kampagne angefangen hat, dachte ich, es ist vielleicht auch ganz interessant, die Geschichte aus der Entwicklersicht etwas zu beleuchten. Daher werde ich in der nächsten Zeit eventuell öfter mal darauf eingehen, was ich eigentlich so mache.

Was ich hier beschreibe ist nur mein Weg zu entwickeln, so wie ich ihn mir in den letzten Jahren angeeignet habe. Ich erhebe keinerlei Anspruch darauf, dass das hier alles richtig, sinnvoll oder gesellschaftlich anerkannt ist. Nur so nebenbei gesagt.

Alles fing damit an, dass mich Marcel irgendwann kontaktierte und seine Idee präsentierte. Ich fand es gut und erklärte mich bereit es mal zu versuchen. Nach ein paar Mails und Layout-Skizzen im Laufe der letzten Woche war mir dann soweit alles klar, die Sache visualisierte sich im Kopf.

Wie ging ich nun also vor?

Zuerst müssen natürlich einige Grundlagen geklärt werden. Das ist bei mir nicht so schwer, da ich in den letzten Jahren viel rumprobiert habe und meine Werkzeuge kenne.

So war es von Anfang an klar, dass ich es in PHP entwickeln werde. Kann ich am besten, geht am schnellsten und macht wenig Probleme. Des Weiteren kenn ich mich mit dem Yii-Framework mittlerweile ganz gut aus und weiß, dass es eine wunderbare Basis darstellt. Natürlich gibt es noch 2000 andere Web-Frameworks in allen Sprachen dieser Welt, aber Yii ist mir nach den Monaten, die ich jetzt damit rumspiele einfach am sympatischsten.

Der Rest ist wenig spannend, denn es handelt sich alles um relativ normale Tools. MySQL als Datenbank, Subversion zur Versionsverwaltung, Redmine als Bugtracker und Netbeans als IDE.

Also. Aktuelle Framework-Version runtergeladen, entpackt, ./framework/yiic webapp quotefm. Grundstruktur fertig.

Jetzt könnte man ja eigentlich anfangen loszuprogrammieren, schließlich befindet sich alles quasi schon im Kopf, was man so braucht. Trotzdem ist es zu diesem Zeitpunkt durchaus sinnvoll sich mal kurz zurückzulehnen und die gesamte Sache nochmal zu überdenken und eventuell ein paar Skizzen zu machen.

Zumindest bei mir ist es jedenfalls so, dass mir das alles leichter fällt wenn ich etwas habe, was ich mir anschauen kann, wo ich mir vorstellen kann wie es funktioniert und aussieht. Durch die grandiosen Design-Entwürfe vom Marcel die mich dann in den letzten Tagen erreichten hatte ich da dann leichtes Spiel.

Auf Basis der Mockups habe ich nun also erstmal brav Requirements erstellt und in den Bugtracker eingefügt. Mit Requirements meine ich hier jetzt nichts hochgradig kompliziertes, sondern einfach nur die benötigten Features die halt eingebaut werden müssen.

Dadurch, dass man sich das nicht nur im Kopf zusammenreimt sondern auch mal aktiv formuliert und aufschreibt, fallen einem meistens noch viele tolle andere Dinge ein, die man sonst wahrscheinlich vergessen hätte. Außerdem hat man am Ende eine relativ gute To-Do-Liste. Ein paar Rücksprachen später hatte ich mir dann auch ein bisschen eingeteilt, was für den ersten Prototyp rein soll, was für den zweiten, und so weiter.

So. Vorbereitungsphase eins quasi abgeschlossen. Wir wissen was wir wollen und haben es sogar in Textform formuliert. Wie es jetzt weitergeht, erzähle ich dann im nächsten Post.

·