geo twittering – the twitter / maps mashup

Sorry, but I need to do an extra post about the “geo twittering” I told you about yesterday. Why? Because it’s actually pretty cool.
At our first tours, we created the corresponding google maps after the tour. At our last tours, we used GPS trackers (Christain & Jan) and postet them as we have had an internet connection. But now in Anatolia, we dont expect to have internet so regulary. So we tried twitter:

Twitter is a service for friends, family, and co–workers to communicate and stay connected through the exchange of quick, frequent answers to one simple question: What are you doing?

But the most cool feature ist that you can update your status via mobile. Just send an SMS to a twitter number, and they update your status. You can also change your location, but you dont have a location history. To solve this problem, we use the status update as location history. So we try to send our GPS coordinates at least once a day (maybe more often) and a status upate (short roundup of the day) via mobile (have a look at my twitter page to see what I mean).

<technical stuff>
Now I’m grabbing the latest status updates via the twitter api, parse the result via regexp for the coordinates and the status message and create a javascript file where I write all the selected data into.
Christian includes this file into his OpenStreetMap map. And shows the data as points on the map.
</technical stuff>

Now you can go to this map and track were we have been today and the days before.
Including time/date and the roundup of the day. You can also switch between different layers (yahoo, bing or google maps) and select the view you like most.

geo twittering, it’s eays as this.

Todays webtip: Jamendo

It happens very rarely that I post webtips. Because I’m not that kind of guy who’s posting youtube videos in his weblog. But today I found a real piece of jewellery: Jamendo.

Jamendo is a community of free, legal and unlimited music published under Creative Commons licenses. Share your music, download your favorite artists! Free, Legal, Umnlimited.

You don’t need no login and don’t need do accept licences. Just select your favorite genre, listen to the songs and download the album if you enjoy it. Or buy the CD from the artist website if you realy like it.
There is also a very wide scope of music, e.g. 8-bit lagerfeuer by pornophonique: Very cool music in 8-bit style with some locals in “lagerfeuer romantik” with songs like: “take me to the bonuslevel because i need an extralife” or “space invaders”.

Needless to say that it has all the web2.0 features like: widgets for your own weblog, playlists to share or commenting and rating of the artists.

Enjoy it!

My 1st marathon – Bonn (DE)

Look, if you had one shot or one opportunity
To seize everything you ever wanted in one moment
Would you capture it or just let it slip?

Eminem – Loose Yourself (Intro)

Sunday, April 20th 2008, Bonn (Germany):

  • km 0 – start
  • km 11 – I found the 3:59:59 p(e)ace maker
  • km 21 (1:56) – stopover at McDonalds (the only toilet on the way)
  • km 25 – it’s getting harder with every kilometer
  • km 28 – the hardest part (12 minutes for this only kilometer)
  • km 29 – turned on the iPod – the viewers on the track have done a great job so far
  • km 32 – self-catering in the bag was broken, very adhesive affair
  • km 37 – cramp in the calf, so from now on only very small steps
  • km 42 – it’s done – finished in 4h and 19 minutes – I’m immortal

MySQL-Query: Howto select upcoming birthdays

In a recent software project I needed to select the upcoming birthdays of the
users. But now I detected a problem with the turn of the year. After some time
of researching and trying, I found a stable solution. For your convenience,
here’s the code:
SET @today = '2007-12-20';
DATE_FORMAT(@today, '%Y') - DATE_FORMAT(birthday, '%Y') + IF(
DATE_FORMAT(birthday, '%m%d') < DATE_FORMAT(@today, '%m%d'), 1, 0) AS new_age, DATEDIFF(birthday + INTERVAL YEAR(@today) - YEAR(birthday) + IF(DATE_FORMAT(@today, '%m%d') > DATE_FORMAT(birthday, '%m%d'), 1, 0) YEAR,
@today) AS days_to_birthday
FROM users
HAVING days_to_birthday < 14 ORDER BY days_to_birthday ASC;

And you can easily extend it to limit the result to some specific ages. This is
very useful if you want only the big O coming up:
HAVING days_to_birthday < 14 AND new_age IN (10,20,30,40,50,60,70,80,90,100) ...