gdal2tiles for OSM: rename tiles with python in a minute

You need to easily publish tiles for Openstreetmap editors?
You tried gdal2tiles because it’s easy and lightweight?
But tiles have a wrong naming scheme?

Yep! Have a look here:

TMS and GoogleMaps like have a little difference in naming scheme… the origin of Y!
gdal2tiles will produce pure TMS names, and il you want to change it, math is simple:

googleY = 2^{zoomlevel} - tmsY -1

Python also is:

Just place it a the root of your tiles folder and run it:  python

How to change MySQL root password in 6 easy steps (linux here…)

Step 1 : Stop mysql service

Step 2: Start to MySQL server without password (grants) managment:

Step 3: Connect to mysql server using mysql client

Sould show your MySQL welcome message and the console…

Step 4: Setup new MySQL root user password

Step 5: Stop MySQL Server

Step 6 : Start MySQL server

Bonus Step : Test it!

Using Lotus Notes Traveler with native Exchange client on iOS and Android

Traveler for Android CalendarDomino is able to emulate a MAPI server to use is with Exchange clients, yeah good idea, but:

  • On iOS you can use native client, but you have to use the IBM configurator, yep we can live with it.
  • On Android you have to use this ugly, buggy, power consuming Traveler client. (That’s certainly why you’re here 😉 )

Do you know why you can’t use Lotus Traveler natively with an exchange client?


Yup! Just because it’s not the root of server, it needs full url!

Why IBM developers didn’t create any kind of alias? Virtual host? No idea! Certainly because they wanted to create an other proprietary – ugly – slow – unusable client…

Solution proposal

So, there may be multiple solutions, but we choose to create a simple reverse proxy, we already have an Apache2 exposed for other purpose, and mod_proxy is very accessible for anyone.

Continue reading

Fixing “Your device isn’t compatible with this version” – the framwork troubles..

I own a Samsung Galaxy S2 (GT-i9100), since ever, I run Cyangenmod on my ‘droid devices. But yesterday, I was close to throw it by the windows and buy and iDevice (yeah, I was THAT desperate!).

I had the idea to upgrade from Cyanogenmod9 to 10.
I wanted a clean install, since my phone was a mess, lot of stuff, lot of shit.
So, my phone is already rooted, and I got all I need:

  • CM10 nigthly zip
  • Google Apps for Jelly Bean

I proceeded:

  • Boot inrecovery
  • Install CM10 zip
  • Install Gapps zip
  • do a factory reset
  • reboot
  • enjoy!

… oh, wait, no, no joy here… many of my favourites apps in the Play Store where incompatible… WTF?

The problem :

Your device isn't compatible with this version



(“Cet article n’est pas compatible avec votre appareil” in French, for your records..)

The research :

What could it be? I thought about:

  • Jelly Bean incompatibility (sounds strange, got very old apps running fine)
  • Is my device correctly declared for Play Store?
  • Are those developers very restrictive on some requirements?
  • Is there location restriction, and my lovely Cyano has trouble with it?

But how really does Google match an application to a device? I had a look at Google doc about “Filters on Google Play”

Declarations in the manifest file that are compared to the device’s configuration is not the only part of how applications are filtered. Filtering might also occur due to the user’s country and carrier, the presence or absence of a SIM card, and other factors.

The manifest file we’re talking is called “AndroidManifest.xml” and is packaged in the APK.

But it encrypted… 🙁

Thanks to the power of search engines, I found “android-apktool”

Whith it you’ll be able to extract and decrypt content of an APK file. Yey!

But you need the APK… there’s multiple solutions for this:

  • you steal it from another (working) phone
  • you use a dirty tool to get it from google (like APK downloader for chrome)
  • you use a dirty website to get it from other sources
  • you already have it (let’s say that was my case .. ahem)

Once unzipped apktool can be run with parameters here we want : apktool.bat d myapplication.apk

It will extract and decode you file. The file looks like this:


I did this for many applications, some that my phone can run, and some other (the ones I want it to run!)

I compared the manifest files, and found a common thing to all non-working application’s manifests.

<uses-library android:name=”” />

What? I already installed Google Apps framework and Google Maps!

Then I fell on an XDA devs thread talking about multidpi store, I already heard about DPI problems for the store, but my phone displays 240 dpi which is standard.

But there’s something else here, about file permissions.

Solution :

Using a file explorer with root permission (I used “File Manager”), I had a look at file permissions in /system/framework and /etc/permissions

And some files didn’t have ANY PERMISSIONS AT ALL … that didn’t looked good, and of course, that was the case of /system/framework/ !
All other framework files had 644 (rw-r–r–) , so I chmoded the same to the “permissionless” files.
Rebooted, opened the the Play Store and installed my apps without a problem!!!

References :

the xda dev thred:
filters on Google Play:






Welcome to

Hi! Welcome to you InterWeb guy!

This web site is just our knowledgebase of IT & GIS tricks. We don’t pretend to be a good/up-to-date/quality source, we just want to post somewhere things we think that can help somebody with the same problem…

We’re not perfect and sometimes total noobs, so leave comments – we read them!

We’ll always try to quote original sources, and publish our job under Beerware license:

One more thing: we don’t speak English – but we’ll try – promise.