ia: Benvenite! In mi blog io scribe in interlingua, italiano e anglese.

it: Benvenuti! Nel mio blog scrivo in interlingua, italiano e inglese.

en: Welcome! In my blog I write in Interlingua, Italian and English.

Fixing berserk rotations in Mapper

Maemo Mapper has a nice feature which is called "automatic rotation" and consists in automatically rotating the map so that the direction you are going to is always oriented toward the top of the screen. The direction information comes from the GPS device, and applications can access it from a liblocation structure.
Unfortunately, while this value is rather reliable when you are moving fast, it's totally pointless when you are not moving: and this can be easily seen in the alpha versions of Mapper, when the map starts spinning crazily as soon as you stop moving. One thing that I didn't notice is that besides giving the direction, liblocation also gives the estimated error: the epd field in the LocationGPSDeviceFix structure represents the error on the angle, as a value from 0 to 359. In my opinion it doesn't make much sense to have an error greater than 180 on an angle, so I assume that it must be divided by two.

In the image on the right, the epd is represented by 2 × β. Now, if v⃗0is the current direction the map is oriented towards, and v⃗1 is the new direction reported by the GPS with an error (uncertainty) of β, how do we decide if (and how much) we should rotate towards v⃗1?
The algorithm I've implemented goes like this:

  • if β is greater than 90°, ignore the information altogether (i.e., don't change the rotation). Or,
  • if α (the angle between v⃗0 and v⃗1) is less than 5°, then let the map rotate to v⃗1. Or,
  • rotate towards v⃗1 by γ = α × (90 - β)90, that is the rotation is limited according to the error.
I've been testing the algorithm in the last few days, and it is indeed a huge improvement over the previous situation: now the map does not rotate while I'm not moving, or it does fairly seldom. But still, the map almost always rotates once just right after stopping, and not by a small amount, which is pretty annoying as it means that most of the times when you pause you'll have the map wrongly oriented — and pauses are usually the very moment when you'd look at the map...

I'll investigate this a bit more; this means that I'll have to keep a terminal window open with a view on the syslog, while using Mapper :-)

Mapper removal from maemo Extras repository

As probably many users of Mapper have noticed, sometimes while using this application the device gets stuck for a variable amount of seconds. Even though the situation is not easy to trigger, and I've seen it myself only two or three times out of several months of development, it's still a serious problem for a device which is meant to be used also as a phone.

Unfortunately, the problem doesn't lie in Mapper itself, and there is very little I can do to work around it. I had a chance to run it on the coming PR1.2 fremantle release, and it seems not to be happening there. Anyway, as you can see from this thread and from the related poll, the preferred decision is to remove Mapper from Extras.

On the other hand, for the majority of people (at least judging from the feedback Mapper lately received) the application is quite stable, so I wouldn't like to deprive users of possible updates. For this reason, I'm going to periodically post here links to application releases; of course if you have read the paragraph above you are also aware of the potential problems of these releases (occasional freezes of your device, when using the application). I'm linking them as .deb packages, so to discourage the unexperienced user from using them. :-)

So, here we go with maemo-mapper_3.0+beta2_armel.deb. Changelog (including changelog of the previous unreleased version, too):

maemo-mapper (3.0+beta2) unstable; urgency=low

  * Fix calculation of path distances, not to include breaks.
  * If a tile is missing, try to show a scaled image from another zoom level.
  * Fix a potential out-of-array memory access.

 -- Alberto Mardegan   Sat, 13 Mar 2010 09:33:17 +0200

maemo-mapper (3.0+beta1) unstable; urgency=low

  * Add About dialog.
  * Add panel with track and route informations.
  * Remove obsolete menu items.
  * Fix "Error saving maps. Disk full?" message (see
  * Do not retry downloading of tiles if we already know it will fail.

 -- Alberto Mardegan   Fri, 12 Mar 2010 21:56:48 +0200

Happy mapping! :-)

Nove adresse / New address

Io ha movite le blog a un nove adresse: http://blog.mardy.it. Si vos ha mi sito in vostre lista de sitos preferite, vole ben actualisar le adresse.

Isto essera le ultime message in www.mardy.it

In ultra, io ha decidite de scriber plus frequentemente super cosas computatorial, e io va facer lo in lingua anglese (le ration del selection del lingua es que iste articulos technic pote esser includite in altere sitos plus grande, que totevia permitte le usage del sol lingua anglese). Si vos crede que vos essera enoiate per iste articulos, que pote esser in numero multo major que mi articulos in interlingua, alora usa iste adresse: http://blog.mardy.it/search/label/interlingua

I moved my blog to a new address: http://blog.mardy.it. If you have my website in your bookmarks, please update the bookmark to this new address.

This will be the last message in www.mardy.it

In addition, I decided to increase the number of posts about information technology, and I'm going to write them mostly in English (the reason why I chose English is because I might submit these posts to some feed aggregators, and in most cases no languages other than English are allowed). If you only care about this technical stuff, or are interlingua impaired, bookmark this address: http://blog.mardy.it/search/label/english (RSS feed is at http://blog.mardy.it/feeds/posts/default/-/english)

Actualisation de maemo Mapper

Maemo Mapper, originally uploaded by mardy78.

In le passate septimana io continuava a laborar super Mapper e implementava un pannello (in alto a dextera) con informationes super le strata percurse (in rubie) e le strata a percurrer (in verde).
Le informationes super le strata percurse monstra le distantia e le tempore total (in horas:minutas). A latere del parve bandera verde il ha le longor total del route, e le informationes a latere del puncto verde monstra le distantia verso le proxime puncto del route e le description de iste puncto.

Iste matino io lo experimentava, in un breve cursa con mi amicos. Post pauc plus que duo kilometros io debeva stoppar me, perque mi respiro non plus esseva sufficiente pro currer. Isto pote esser causate per le aere frigide (il esseva circa 0 grados), ma plus probabilemente le ration es que io non es ben trainate, e forsan le rhythmo esseva troppo rapide pro mi condition. Alora, io continuava, alternante cammino e cursa lente. Vos pote vider le analyse del percurso in runsaturday.com.


Io ha passate un septimana in casa, a causa del influentia. Finalmente, mi condition ha initiate ameliorar se durante le ultime dies, e benque io ha ancora alicun symptomas residual, io me senti multo plus ben.

Ma pro haber un mesura plus scientific super mi stato de salute, qual verifica pote esser melior que un belle promenada a -20 grados?

20100220_001.jpg Le quantitate de nive in le stratas es notabile

Le decision de promenar me un poco esseva causate per le bellissime die — le nordicos sape appreciar le raritate de un die de sol!

20100220_002.jpg Vista de Ruoholahti, con le camino de Helsingin Energia

Benque le temperatura esseva de -20 grados, io non sentiva multo frigido, durante que io esseva inter le centro habitate.

20100220_005.jpg Anque io habeva un bonetto de nive sur mi capite ;-)

Le zona proxime al mar esseva plus ventose, e photographar deveniva plus difficile, perque le digitos perdeva lor sensibilitate quasi instantaneemente.

20100220_006.jpg Finalmente un sede ubi reposar...

Le metereologos previde un grande precipitation de nive iste vespere/nocte. Ubi va nos poner tote iste nive?