Hacking

In 2004 I decided to play with the addon possibilities of Thunderbird. I started to write the “virtual identity extension” and immediately published version 0.1. From version 0.2.1 on, which was published in November 2004, virtual identity was available on mozilla.org.

From 2004 up to 2011 I continued developing this extension, and always tried to get this extension published on addons.mozilla.org. Users of the mozilla mail programs Thunderbird and Seamonkey had therefore been able to find my extension just by the included search features or the main addon sites. Over the years I got around 4000(?) permanent(?) users of this extension worldwide, and publishing at the official mozilla site was one reason for getting people pointed to my work.

But over the years there had been more and more restrictions at addons.mozilla.org, and finally I decided in August 2011 that I will stop my cooperation with addons.mozilla.org by removing all my releases from their site. There are a lot of reasons, and I got asked to declare them in more detail…

My software started as a hack to fulfill some personal requirements. The virtual identity extension is still a hack, everybody who has a look in the code will sign this.
Because it’s no bug-free software, my typical release-cycle is the following: I will add some features or changes for compatibility with new Thunderbird/Seamonkey releases, and publish the resulting version. Once I publish some new version, I often get a bunch of bug-reports which I can easily fix with small code-changes, and rapidly some follow-up-versions will be released.
The problem is, that addons.mozilla.org requires a code-review of my extension before it gets published. Even if my addon fulfills all the requirements of this review, it will take time (and manpower) to get this done. Therefore it might take a week or two before any bugfix can be released.
That’s why I published my extension parallel on my own website. There I was able to fix bugs immediately, which made the development process seen from addons.mozilla.orgs site only worse. If I uploaded another version to addons.mozilla.org while some previous version was still in their review process, I just moved my extension again at the end of the waiting-cue for a review. If I did not uploaded it to mozilla.org, the reviewer told me that it makes no sense to review some old version (he saw the new version at my own site), right…
However, addons.mozilla.org was mostly to slow to get my bugfixes released in short time. And it’s a pity not being able to publish a bugfix immediately, seeing people downloading a broken version and getting reports about already fixed bugs.

The review process got more restricted with the time and now includes some more tests to improve the standards of the extensions at addons.mozilla.org. Which sounds good at the first place, just turned out to be the showstopper for me.
After a year of quietness I continued to develop virtual identity more intense in this summer. While releasing the software at addons.mozilla.org, I got told that I should take care about some namespace pollution, which happened with my extension.
The coding-requirements to fulfill the mozilla-standards had been changed since last year, and therefore I decided to write a new version of the extension for up-to-date Thunderbird and Seamonkey releases which takes care on the critizised issues. Mayor code-changes had been required and I expected the new release to require a while till it would be as stable as the old one.
I decided to do the work on a new brunch and started with the 0.8-line of virtual identity. But I was not able to release this work and publish the changes step-by-step, because they had been required all together to fulfill the improved coding-standards of addons.mozilla.org.
And the old version 0.7 was still around for users with older Thunderbird and Seamonkey versions, and even if it was stable, there had been small bugfixes and feature implementations since than. But I was prevented from addons.mozilla.org to publish these fixes and changes at their site – because of the required overall code-changes.

That’s enough. It’s me who is doing the programming work, therefore it should be me who is the one who decides if there should be an update for one of my releases or not. I like to decide what to release and when [1]. mozilla.org might give me some credits on how useful my software is or not, but I never will give them or anybody else more power then myself over the release process of my work again.

[1] even the release time can be a problem. I remember this one time, when addons.mozilla.org just finished the review at the beginning of my holiday. No Internet for me, no support for the users – I would have used a better timing on my own.

If you don’t like to add my complete overlay (you never know what comes next and how buggy it will be) just download it with „git clone git://absorb.it/gentoo-overlay“ and install the net-dialup section into your local portage tree „/usr/local/portage/“, this should have the same result

Just before starting the trip, it is required to get some maps on the new N900. I hope to get some connectivity in Columbia via Comcel, but it’s better to have the required files on the mobile before the trip starts.

Maemo on N900 comes with Ovi Maps, but somehow this application misses some features I like – especially the option to choose which map-source to use. A probably better application is Mappero, which I already used as Maemo Mapper on my N770. It can be used with any maps you like and comes with some download options to pre-store the used maps. But it’s not so easy to select the areas to download, as well as to understand how many maps are required at all.

5751

A better way to download the maps is to use the Mobile Atlas Creator, which can be run on your local computer. There is no description on how to use it together with Mappero, therefore I can’t say if my way is the only one or the best. But thats how I got it done:

thats it. If I now start Mappero, I have all the files I will need in the next weeks already on my drive. And if I have the time I will add this whole structure to Mappero with the Tiles and Repository configuration. But not today, because it works. Nice one.

Since a few weeks I had a new toy – a N900 from nokia. It’s a mobile phone running Maemo, an adapted Linux distribution. Got a used one for a nice price, which should replace a heavy computer while traveling for a few months through southern America.

Anyway, as usual, one of the interesting things is how to sync contacts and calendar-entries with the Linux-driven Laptop on my desk? Luckily the solutions are now available – not as in the previous days with my ROKR E6, a Linux-phone which required me to get Windows to synchronize it, ugly.

Most of the people won’t like publishing their contacts anywhere in the outside world. Me too. But beside the Funambol online service their is the Open Source Funambol development page. And from there you can download and install Funambol locally and sync to your local server – nice one. Just install this server and change the address in syncevolutions config-file, thats it.

In my case I had to start the first synchronization from the N900 with the command line parameter „–sync slow“ to let it run successfuly. Later synchronizations worked as required without the additional parameter – just from the graphical interface.

Now, as you have all your contacts and dates locally on your server, you just need to synchronize these to your kaddressbook / kontact or whatever you are going to use. Both of these KDE applications are using akonadi as there storage-backend, therefore you actually need a akonadi-funambol synchronization program. Which can be found in Akunambol. Just installed it (it’s part of gentoos kde overlay: „emerge akunambol“ does it’s job) and now I can sync between akonadi and my lokal funambol too.

Great, thanks to everybody who programmed those tools and who documented the required pieces – I’m never going to be out of sync anymore.

After it was quiet for some time on this blog, I added a new layout, now based on CravingForGreen. And restructured the content a little bit, to give you more fun while reading and searching and me a better feeling. An it will make the site more friendly for your eyes – hope you like it.

Going to use GPRS in India to be connected at most places with my own machine, I selected the Airtel offer. You get a PCMCIA card GlobeTrotter EDGE ML2132C2 and a time-independent tariff. If you don’t use more than 500MByte per month, you have to pay only 350rp, which is around 7€. And, not to forget, best is you have some Indian who does the deal for you, else its a little more expensive.

Anyway, having the card is only half the game, so how to run a GlobeTrotter EDGE ML2132C2 with Airtel under Linux, especially Debian Etch? Some tips and the required tools can be found at http://www.pharscape.org (see [1]).

first, install the ppp-deamon and the gcom-tool (which is now named as comgt, but debain still uses the old name for the recent version of the tool).

> aptitude update; aptitude install ppp gcom

Then, create a udev rule which creates a symbolic link at /dev/modem and starts some initialisation script if the card is detected at /etc/udev/rules.d/025_gprs.rules.

# udev rules for gprs
# currently only GlobeTrotter EDGE ML2132C2 recognized
# if your card is not detected, just have a look in the system log
# to which ttySx it is bound and call udevinfo to get the right options
# (udevinfo –attribute-walk –name /dev/ttySx)

If you are now inserting the card in the pcmcia slot, udev should start the script and automatically connects with the pppd over GPRS. It takes a while, the blinking code of the datacard might give you some hints about the status. After inserting it blinks approximately every second, if it is connected to Airtel the red LED is flashing for a somehow longer time and is starting a nervous double blinking, which should indicate that everything is fine (by the way, who invented the first flashing red LEDs to indicate some no problem state?). This is the time the pppd starts to run, a few seconds later you should be online. If you like more information on what’s going on, have a look in your logfiles.

Hope the description helps somebody, feel free to comment if you have any questions.

Once again some days passed by, but a lot of things happened, so can’t say I was completely lazy 😉 But it was time to come back to the Virtual Identity extension and repair some bugs and add some options to make all of us more happy these days. The result is the new version 0.4.3, which is by now available as a pre-release cause some testing and translation-work has to be done before the ‚real‘ release.

Whats new?

added a new option to dynamically switch on/off an email signature if using a virtual identity. To use this option you have to install the Switch Signature Extension. Thanks to Alex for the idea and thanks to Achim Seufert for the nice extension which I could use for this feature.

added a feature called ‚Smart Timestamp‘ which simply changes the address of any new email you are going to compose by adding a epoch-timestamp in the name. This way you can use a unique address for any message you send and check where your mail-addresses go. Thanks to JensMartin for the idea.

added an option to warn you if the mail should be sended with any stored (unchanged) identity. Valdaran had the idea to blank the From: field, which is not really an option, to many other things are relying on this. But maybe a warning will do nearly the same nice job? Thanks to Valdaran for the idea.

removed some old bugs, added some fresh ones 😉 Thanks to all who reported their problems.