Minimum working example for fitbit4j

Update: I build a complete project with Maven now that you can check
out at my github repository. Feel free to
fork the repository and build on it.


Yesterday someone asked me to help out with the first steps with
the Fitbit API and fitbit4j. And although I think
fitbit4j is bloated almost to unusability I wanted to verify my
sentiments and try to build a simple example application that reads out
basic data. This should be a very easy tutorial for the Fitbit API.

Here is what I got after revisiting the help I got from the development
group
when I started:

Make sure your fitbit application is setup as a desktop application to
give you the PIN. The output of the application will show your display
name
and the registration date on fitbit.com.

This is the most basic application that has access to the Fitbit
API
using their own library. Isn’t that a little too much just to
get data from a REST API? They’re forcing a FitbitApiCredentialsCache,
a FitbitAPIEntityCache, a FitbitApiSubscriptionStorage and the
instantiation of a FitbitAPIClientService<FitbitApiClientAgent> down
my throat. Compare that to the same actions in Ruby:

Much cleaner. Just avoiding all the boilerplate about the caches and
storages would make fitbit4j so much easier to use. Well, that is
exactly the reason why I decided to lern myself some Ruby On Rails
while building the fitbit analyzr. No java webapp, no fitbit4j.
Since then I never looked back and I’m happily building my application
with Rails. 🙂

Mein neues MMO – Tera Online

Seit ein paar Tagen spiele ich jetzt schon Tera online und bin auch wieder aktives Mitglied der Gilde Gothic. Heute habe ich dann auch meine erste Instanz gespielt und bin mit einer Zufallsgruppe ganz gut durchgekommen. Alle Gruppenmitglieder waren aufmerksam, haben zusammengearbeitet und ihre Rollen gut ausgespielt. Der Tank hat die Angriffe auf sich gezogen, der Heiler ist immer aussen rum, die Zauberer und Bogenschützen haben ihre Angriffe auf die Bossgegner konzentriert.

Ansonsten gefällt mir Tera immer besser. Mit dem Einbau einer Radeon 6870 konnte ich die Grafikqualität in allen Bereichen auf sehr gut einstellen und die Welt sieht jetzt noch besser aus. Auf meinem Laptop komme ich da leider nicht mehr mit, also werd ich mit einer etwas weniger schönen Welt auskommen müssen… hier sind ein paar Screenshots:

Tera MMO
Tera MMO
TERA - Race: Baraka
TERA - Race: Baraka

Mittlerweile bin ich Level 25, durfte bei der Wahl des Vanarchen abstimmen und erkunde die weitläufige Welt mit den (wirklich gefährlichen) Monstern und der Vielzahl an Quests. In den ersten Leveln lassen sich die Quests allein erledigen. Aber ab Level 20 kommen immer mehr Gruppenquests dazu, so dass man ohne Gilde wahrscheinlich schnell die Lust verliert. Oder man vertraut auf die Zufallsgruppen – aber deren Qualität kennen wir ja alle. 🙁

Das Kampfsystem ist sehr actionlastig und macht deutlich mehr Spass als das stumpfe Klicken in WoW und ähnlichen MMOs. Statt also einen Gegner durch einen Linksklick auszuwählen und anschliessend nur noch die Ladeanzeigen der Skills und Buffs zu beobachten, muss man hier wirklich das Verhalten der Gegner beobachten und auf die Aktionen reagieren. Ausweichen, Angriffskombinationen und Skills müssen zum richtigen Zeitpunkt eingesetzt werden, um überhaupt etwas zu bewirken. Wer seinen mächtigsten Nahkampfangriff abfeuert, wenn der Gegner gerade einen Satz nach hinten macht, macht z.B. überhaupt keinen Schaden.

Ich bin gespannt, wie sich die ersten Instanzen mit den Gildenkollegen spielen werden. Natürlich mit Teamspeak. Selbst wenn man gerade nicht mit einer Gruppe spielt, ist der Teamspeak-Server der Gilde eine Quelle für nützliche Informationen. Im Sofa-Kanal hab ich z.B. erfahren, dass ein Exploit die Runde machte – und zwar genau zu dem Zeitpunkt als ich die Auswirkung des Exploits auch gerade in meinem Spielfenster gesehen hatte. 🙂 Also, nicht nur zur Raid-Organisation taugt der Sprachchat.

Tera scheint jedenfalls mal wieder ein MMO zu sein, dass mich länger als nur ein paar Stunden fesseln wird. Und mit Gildenunterstützung könnte ich mir durchaus vorstellen, hier auch mal den Endgame-Bereich zu sehen. 😀

Wechsel zu git-svn

Es ist wieder so weit: Subversion (genauer: IBM RAD und Subclipse treiben mich in den Wahnsinn. Ich kann kaum noch commiten, bekomme Fehlermeldungen wie malformed XML und nichts geht.

Das liegt zum Teil am Repository, denn ich bekomme bei Revision 2 eine Fehlermeldung “RA layer request failed: REPORT request failed” during git-svn – das liegt wahrscheinlich am komischen Windows-Zeichensatz in Dateinamen in dieser Revision. Das musste ich irgendwann mal mühsam finden und per Hand korrigieren und seitdem kann ich nichts vor der kaputten Revision auschecken.

Damit meine Geduld jetzt nicht übermässig strapaziert wird, werde ich zu git-svn wechseln. Ich kann damit zwar diese Revision immer noch nicht auschecken (und auch einige Tags und Branches machen Probleme), aber git hat mich noch nicht so im Stich gelassen wie Subversion

Mit dem folgenden Befehl habe ich als erstes nur meinen trunk ausgecheckt und den Revisionsbereich eingeschränkt:

git svn clone -r100:HEAD http://svn/path/to/trunk

Anschliessend könnte ich die Branches und Tags einrichten, in dem ich den Branch in die git config eintrage. Ob ich das mache, weiß ich noch nicht. Vielleicht lege ich ja auch nur neue Branches an, ohne jemals auf die alten zuzugreifen… abwarten.

Jetzt kann ich zumindest wieder arbeiten und anständige Diffs machen. Mal sehen, was passiert, wenn ich das erst Mal commiten muss. 🙂

FAZ verkennt mal wieder die Situation der Piratenpartei

Gestern hab ich den Artikel “Die Piraten – Eine Partei wie die anderen
auch” bei der FAZ
gelesen, der mal wieder zeigt, dass die meisten
Leute die aktuelle Situation rund um die Piratenpartei (oder besser: die
aktuelle Situation, die sich gerade durch die Piratenpartei zeigt)
völlig verkennt. Aber erstmal zu den guten Teilen des Artikels.

Der Autor Georg Paul Hefty schreibt:

Die Parteiengeschichte hat eine Grundregel: Nicht Parteigründer
schaffen sich die Umstände, sondern die Umstände schaffen
sich aussichtsreiche Parteien.

Damit ist die Kernaussage zusammengefasst: Die Situation schafft die
Partei.
Nicht ein Sonderling, der gern mal Politik machen möchte,
schaffte die Piratenpartei. Nicht ein Anhänger der Netzgemeinde rief
die Partei ins Leben. Das ist alles Unsinn oder seichtes Aufbereiten für
die Konsumenten von Spiegel Online oder eben FAZ. Die
Piratenpartei entstand, weil einige Leute mit der Situation rund um The
Pirate Bay
, der Verbreitung von Inhalten im Internet, der immer
stärker werdenden Kontrolle und Überwachung im Netz und auch der
Einschränkung der Meinungsfreiheit allgemein unzufrieden waren.

Danach kommt noch ein weiterer treffender Punkt:

Das Ausgreifen des Computers und des Internets in alle Arbeits- und
Lebensbereiche und die Prägung des menschlichen wie
zwischenmenschlichen Alltags durch die Informationstechnologie haben
einen gesellschaftspolitischen Leerraum eröffnet, den die bisherigen
Parteien allenfalls partiell erkannt, jedenfalls programmatisch nicht
verarbeitet haben.

Jetzt schreibt der Autor also in seinem ersten Satz bereits die
Kernaussage auf und lässt auch in den folgenden Absätzen eine gewisse
Einsicht erkennen. Und trotzdem hinterlässt das Fazit bei mir wieder
einen faden Geschmack auf den Augen:

Computer sowie Daten- und Freundschaftsnetze werden – in welcher Form
und auf welcher Entwicklungsstufe auch immer – die nächsten Jahre
alltäglich bestimmen. Damit wird auch die Mentalität erhalten bleiben,
im Netz habe alles frei zu sein und sei umsonst zu haben, von Lexikon-
und Wirtschaftsinformationen bis zu Liebesverbindungen. Insoweit sind
die Piraten eine Partei der Umverteilung von den Habenden zu den
Habenwollenden, von den Bindungen zu den Freiheiten – so wie es alle
anderen Parteien auch immer sind.

Sieht der Autor die Piraten als Meute von Internetnutzern, denen es
eigentlich nur um die kostenlosen Downloads von neuen Musikalben und
Kinofilmen geht? Ich frage mich, wie man auf so ein Fazit kommt, wenn
man doch vorher im Text klar gemacht hat, dass die Piratenpartei aus der
Unzufriedenheit mit der aktuellen Situation entstanden ist. Ist dann die
Beseitigung des Status Quo (“im Netz habe alles frei zu sein und sei
umsonst zu haben”
) nicht gerade das erklärte Ziel der Piratenpartei?

Ich bin verwirrt. Nicht von dem Text, sondern von Leuten, die die
Piratenpartei immer noch als Protestbewegung verstehen und nicht als
Indikator für eine kulturelle Äderung, die in der gesamten Bevölkerung
passiert und nicht nur bei einigen Jugendlichen, die einfach alles
runterladen, was sie irgendwo als Torrent finden…

Quantified Self mit Friday auf Android

Seit längerem verfolge ich schon ein Projekt, dass ‘quantified self’ auf
Smartphones bringen will: friday. Leider hat das Projekt sein
Release immer wieder verschoben, um die Anwendung umzuschreiben oder in
einer geschlossenen Betaphase Feedback von den Benutzern einzuholen. Ich
halte das für falsch, aber die Angst vor negativen Bewertungen bei einem
zu frühen Start der Anwendung in den Appstores ist wohl zu groß… Wer
sich mal die Bewertungen – der auch Kommentare bei Youtube – angesehen
hat, der wird das zum Teil nachvollziehen können. Ich hätte mich aber
auch über eine frühe Version der Anwendung hergemacht und ich schrecke
auch nicht bei Rewrites oder großen Updates mit Äderung der Oberfläche
zurück.

Wie auch immer, jetzt soll es wirklich bald soweit sein und das
Release im Google Play Store steht kurz bevor. Die Oberfläche sieht
jetzt wirklich schick aus und die Timeline in den Screenshots macht was
her.

Timeline von Friday

Mit der Anwendung soll man alles, was auf seinem Smartphone passiert
durchsuchen können – und nicht nur dass. Das Versprechen ist, alles zu
verknüpfen und damit Verbindungen und Rückschlüsse zuzulassen, die aus
den Einzelinformationen nur schwer gewonnen werden kann: mit wem habe
ich am meisten Kontakt, wann erledige ich die meisten Aufgaben, was
passiert nach Events… und obwohl mein Terminkalender eher leer ist und
meine Kommunikation eh nur eine handvoll Kontakte kennt, ist das für
mich interessant. Ich schleppe mein Smartphone nämlich überall mit hin
und habe meine Mails, meinen Kalender und meine Kontakte dort.

Ich hoffe also auf ein baldiges Release – hoffentlich kommt nicht wieder
ein Rewrite oder ein neues tolles Feature dazwischen, dass unbedingt
noch eingebaut werden muss. Und wenn friday nicht an einem Freitag
erscheint, dann gibt es auch schonmal Punktabzug. 😉