My Java library for OpenCage Data has been discovered

Over the last six weeks or so, I was writing a frontend to the nice geocoding service at http://www.opencagedata.com/ with the sources being stored at github.

As it always is the case, I never got around to really polishing the library and do a proper release. Imagine my surprise when I saw a post on the opencage data blog and a tweet mentioning me and my library.

Seems like I really have to do a proper release now, but only after my summer vacation… No coding allowed while visiting the relatives 🙂

 

RoboGuice – Pitfall – RuntimeException on Activities

Last weekend, I started developing a application to sync OpenStreetMap contacts into my Android devices.

Wanting to avoid boilerplate code, and to experiment a little with Dependency Injection in Android, i based my work on RoboGuice. I think I followed all the example code, but my activities would simply crash with a RuntimeException on startup.

Since finding the root cause of this problem was not as trivial as I wished it to be, I decided to write this up as an article for myself and of course for all the other Android developers out there who don’t want to waste time hunting this issue when they could be gold-plating their apps 🙂

To cut to the core of the problem: If your activity is throwing this:


E/AndroidRuntime( 246): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 246): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.gurkensalat.osm.osmsync/com.gurkensalat.osm.osmsync.HelloAndroidActivity}: java.lang.ClassCastException: android.app.Application
E/AndroidRuntime( 246): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
...

maybe you need to declare your actual application class type in AndroidManifest.xml:


<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="roboguice.application.RoboApplication">
...
</application>

(Deutsch) Rest in Peace N810, du wurdest gerächt

Bevor ich vom Geocachen angesteckt wurde war mein Haupthobby (neben rumreisen) OpenStreetMap. Nicht zuletzt dafür hatte ich mir ein Nokia N810 zugelegt.

Eigentlich ein klasse Teil, das darauf laufende Linux hat mir viel Gelegenheit zum Spielen geboten, recht schnell hatte ich auch eine schöne Kombination vom minigpsd, Maemo Mapper, und carman. Zusammen mit einem Bluetooth-OBDII-Interface zum Auto eigentlich das perfekte Geek-Spielzeug 🙂

Ende März flammte mit Hilfe von heart86 das Interesse am Geocachen wieder auf, gpxview war dann auch ein schönes Stück Software dafür.

Recht schnell, speziell auf der Jagd nach dem Multi Erholung stellte sich heraus, daß der GPS-Chip in dem Gerät nicht wirklich mit feuchter Laubdecke zurechtkam. Dieses Problem hätte sich mit einem externen GPS-Receiver lösen lassen, aber dann kam Holzbach… Den Cache vermutete ich unter der recht niedrigen Brücke, also N810 in die Jackentasche, Tasche zugeknöpft, und unter die Brücke gebückt… Leider war weder die Tasche ordentlich verschlossen, noch der N810 sturz- und wasserfest 🙁

Gut, nach reiflicher Überlegung und Produktvergleichen (und Empfehlung von heart86) kam dann der Oregon 300, und das Cachen konnte weitergehen.

Heute aber war der Tag der Rache, mittlerweile wurde der Holzbach neu gelegt (der alte war bei Renovierungsarbeiten einbetoniert worden), und ich war am Ende eines Abendspazierganges in der Nähe… Nur mein Cache-Rucksack war natürlich weit weit weg im Auto…

Also Handy gezückt, mittelt GCzII die Cachebeschreibung geladen und hingelaufen. Nur waren die Bäume an der Location inzwischen so voller Grün und die Dämmerung schon so weit fortgeschritten, daß man den Bach nicht mehr sehen konnte, geschweige denn etwas was sich unter den Baumkronen und der Brücke befindet. Die Taschenlampe war natürlich auch im Cache-Rucksack, also unerreichbar… Zum Glück hat das Handy gute Dienste als Nottaschenlampe geleistet, und ein paar Handgriffe später war der Cache dann gefunden 🙂

Also, ruhe in Frieden, N810. Der Cache, der dich das (elektronische) Leben gekostet hat, wurde heute, nach drei Monaten, doch noch gefunden und geloggt

(Deutsch) Garmin Oregon 3.01-beta mit flexiblen Kartennamen

»Es ist schon alles gesagt – aber nur noch nicht von allen«, meinte einst der Münchner Komiker Karl Valentin. Also will auch ich meinen Senf zur 3.01-beta geben 🙂

Carsten , die Dosensucher und die blaue Rennmaus haben schon gebloggt, daß es das Firmwareupdate gibt. Im grünen Forum gibt es auch schon eine lebhafte Diskussion darüber.

Interessant ist, daß die flexiblen Kartennamen, die mit der 2.99 hinzukamen, jetzt in einer benutzbaren Firmware enthalten sind.

So kann ich meine Landkarten auf der SD-Karte wiedererkennbar benennen, und, was noch viel wichtiger ist, ohne MapSource aktualisieren. Das ist bei den kommerziellen Karten kein größeres Thema, die ändern sich ja sowieso nur alle Jahre mal, aber die OSM-Karten ändern sich ja doch recht schnell, und diese dann jedesmal in die gmapsupp.img zu integrieren war mir dann doch zu aufwendig.

Jetzt habe ich aber meine Karten unter nachvollziehbaren Namen auf dem Speicherchip, und kann einfach nur ein bestimmtes File per Skript updaten.

Aktuell habe ich auf dem Oregano:

Ob ich mir die Topo Deutschland zulege oder nicht entscheidet dann der Lottogewinn 🙂