Saturday, March 17, 2012

Chrome for Android on SD card

Ever since I installed Chrome for Android the 'low space' notification started to pop out every now and then. At first I thought that I simply installed too many applications to the phone memory. So I moved one or two larger ones to the SD card and everything was alright. At least for a while.
The annoying notification would pop out again sooner than I would have hoped. So I transferred more apps to the SD card and the problem would go away. For a while, again. After some time this behavior became suspicious and I decided to see what was causing it.
The applications that were SD-ready were not that big to cause the problem. I even installed an app to diagnose space usage on the phone. That was even more confusing because it did not show any indication on why the low space would be reported at all. There seemed to be enough free space on the phone memory. I simply moved some more apps and was done with it.
Or so I thought. Now when the notification popped out again and I was not willing to move more apps it became really annoying. However, I also noticed that the notification mostly appeared while I was using Chrome for Android. I checked where Chrome was installed and, rightly, found that it was in the phonephone's internal memory. All 70 MB of it! 48 MB was the application and 23 MB the data. Mostly cache, I guess. Which is kinda OK since caching should save a lot of network traffic when browsing from the phone. But keeping ever increasing caching on the phone was threatening to use up all the available space there.
Chrome for Android was not listed as 'movable to SD' so moving it to the external memory was not supported by default. Titanium Backup to the rescue! This awesome app provides an option to move any app to the external storage. Not without a huge red warning, of course, but I was willing to give up Chrome otherwise anyway and was willing to risk system lockdown. That would, at least, provide an excuse to flash the latest Cyanogen Mod ROM. But no. The app simply obeyed and moved Chrome and related data to SD card without a hiccup. Chrome works just fine from external memory. Browsing works, bookmarks are there, and even the Chrome service starts and runs without problems. That was my only concern, whether the service would run. Secretly I was hoping that it would not, leaving the system with one less service to run in the background. I really don't understand why an Internet browser needs a background service running but that's a topic for another story.
So, yeah, 70 MB freed from the phone and an example set for other large apps should they not behave. :)

Friday, March 09, 2012

Google hybrid maps

I always admired how Google married the satellite imagery with regular map data or, rather, a layer of useful information on top of the satellite image of the world. The interesting thing is that other map providers did not do it in the same way, although the result was quite similar in some cases. But doing it in this way there was no need to have different data sources. It was simple to view only satellite images without overlay, or with it.
The information is served from the same servers (there are 4 apparently - mt0 to mt3) and the difference is in the first parameter.

Map overlay:
The pattern:{1}&y={2}&z={0}

Map data: 

The pattern is "{1}&y={2}&z={0}"

Satellite data:
The pattern:{1}&y={2}&z={0}

For more details on how to embed maps, see here:

(Re)Installing Comodo Firewall

A little, unexpected and unnecessary, ordeal happened today with Comodo Firewall. I had installed Spybot while I was troubleshooting some malware on our family PC. Then I run Comodo Firewall installation in order to block any unwanted traffic in and out of the machine. However, it turns out that only parts of the firewall were installed. I guess none of the registry entries were written and who knows what else. My suspicion was that Spybot was blocking some parts of the installation. So I removed Spybot and tried again. However, the installation would not proceed.
Then I tried manual removal. I deleted files in Program Files \Comodo but that did not help. The installation would stop at only a few percent with Error 1603. I used Unlocker to delete the remaining files in the directory. There was a Windows service cmdAgent left in there. I removed the service entry with Autoruns.
After reboot the PC did not have the Internet access. There is a Comodo network driver installed and that failed to work with all the files deleted. So I removed that in Safe Mode from the network adapter.

I also, during the above activities, tried running the unofficial Comodo Uninstaller but I did not understand what I was supposed to enter at the command prompt. I was typing "I acknowledge the risks" and the message afterwards flashed so quickly that I did not know whether it was successful or not. Only after 100 repetitions I figured out that the message was indicating that there was something wrong. The user is supposed to type in '1' or '2', not the full acknowledgement text. Phew. That worked, then, and it removed (or tried to remove) whole lots of stuff from the computer.

Running installation after this worked. However, most components were not installed this time. All the kernel drivers and services were missing. At least this time the uninstallation worked properly.
The installation after this looked much better. The dashboard notified me that I needed "to restart the computer for some changes to take effect", so I did. I clicked "Fix It" and it restarted the computer.

And then, finally, everything was fine with the firewall.

Friday, March 02, 2012

Upgrading Eclipse From Galileo (3.5) to Indigo (3.7)

I was refreshing my Eclipse development environment and Android SDK. While updating the Android SDK I noted that I only had version 3.5 (Galileo) of Eclipse and the new SDK would not work.
Thanks to this article - How To Update Eclipse From Galileo (3.5) To Helios (3.6) In-Place Without Reinstalling - it was relatively easy to update to 3.7. The tips in the previously-mentioned article are not even necessary. I just added Indigo software repository as recommended on Eclipse wiki and after that I found many 3.7 and Indigo repositories already added but disabled. All I had to do is enable those repositories and the software upgrades were available.

To update Android tools, run SDK Manager and update the platform tools and SDK from there first. Then add the latest Eclipse repository, for example I copied Google repository from "" into a new one