Hacking

Archived Posts from this Category

what’s wrong with http://addons.mozilla.org

Posted by on 24 Sep 2011 | Tagged as: Hacking, virtual id

(or why I removed my extension from mozillas addons site)

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.

gentoo hsoconnect 2.1.19 python 2.6 ebuild

Posted by on 19 Mai 2011 | Tagged as: gentoo, Hacking

On my former system I used HSOconnect for my internal 3g modem to easily connect to my ISP. Changed to the always-up-to-date gentoo I run into the problem, that the version from the dottout-overlay didn’t installed on my 2.6 python. Therefore I hacked my first own ebuild, and pushed into my brandnew gentoo overlay.

To use it, activate my overlay by adding a line „http://absorb.it/software/gentoo/gentoo-overlay.xml“ in the overlays section of /etc/layman/layman.cfg

vi /etc/layman/layman.cfg

overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
http://absorb.it/software/gentoo/gentoo-overlay.xml

Than sync your overlays with „layman -s“ and add my one with „layman -a absorb.it“. Now you should be able to install hsoconnect 2.1.19 with emerge.

rene@sailfish ~ $ emerge -pv hsoconnect
These are the packages that would be merged, in order:
Calculating dependencies… done!
[ebuild   R   ] net-dialup/hsoconnect-1.2.19  0 kB [1]
Total: 1 package (1 reinstall), Size of downloads: 0 kB
Portage tree and overlays:
[0] /usr/portage
[1] /var/lib/layman/absorb.it

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

#> git clone git://absorb.it/gentoo-overlay
#> cd gentoo-overlay
#> cp -r net-dialup /usr/local/portage/

Maps Download for Mappero

Posted by on 26 Jan 2011 | Tagged as: nokia n900

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.

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:

  • selected to store the Atlas as „OSMTracker tile storage“
  • selected some Google Maps, created the Atlas
  • copied the whole Atlas structure (in my case  atlases/Columbia_2011-01-25_200000/Google Maps) to the N900, into folder /home/user/MyDocs/.maps
  • renamed folder „Google Maps“ on N900 into „GoogleVector“

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.

Sync N900 with KDE Desktop (kaddressbook / kontact)

Posted by on 23 Jan 2011 | Tagged as: nokia n900

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.

The N900 can easily synchronize with the Funambol online service. Just add syncevolution and syncevolution-gui to your N900, configure it by giving in your credentials and you are done.

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.

troubletechnology

Posted by on 02 Dez 2008 | Tagged as: ... ? ..., Hacking

Ja das passt ja wieder mal – pünktlich zum anstehenden Liftoff geht meinem Rechner ein Licht aus. Das gute alte Thinkpad X31, schaltete letzten Samstag einfach mal das Display ab. Also besser, das backlight fiel aus, und ich stand im Dunkeln. Klar war spätestens nach einigem gesurfe, dass Notebook-Displays meist mit CCFL Röhren beleuchtet werden, und dafür brauchts nen Inverter, der aus der Notebookspannung Hochspannung zaubert. Der dann auch gern kaputt geht.

Nun, zum Glück gibts ein vernünftiges Hardware-Manual für den X31 im Netz, also Rechner auseinandergebaut und geschaut, was für ein Inverter drin verbaut ist. Dann kreuz und quer nach der Typenbezeichnung ( 91P7315 ) gesucht und schnell noch nen neuen Inverter bestellt. Mit super extra Kosten liefern lassen und nun sitz ich hier in der Warteschleife. Müsste jeden Moment kommen, oder morgen, oder so. Und hoffentlich leuchtet danach wieder alles, ansonsten muss ich noch ne neue Röhre reinbasteln, doch woher bekommen so schnell? Wir werden sehen…

new layout for the blog

Posted by on 21 Nov 2008 | Tagged as: Hacking

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.

it’s not working…

Posted by on 04 Feb 2008 | Tagged as: Hacking

or what? eigentlich blog ich grad von meinem Handy, aber niemand hat was von. Offenbar. Moeglicherweise spricht das Handy nur Hindi? Oder chinesisch? hmmmmm….

its burning, yeah

Posted by on 04 Feb 2008 | Tagged as: Hacking

SGF0dCBpY2ggZWlnZW50bGljaCBzY2hvbiBlcndhZWhudCBkYXNzIGRpciBheXVydmVkaXNj
aGUgU29ubmVuY3JlbWUgbWl0IExpY2h0c2NodXR6ZmFrdG9yIDQwIGVpbiByaWVzZW4gRmFr
ZSBpc3Q/IEhhdHQgaWNoLiBFYmVuLiBXYXJ1bSBiaW4gaWNoIGRhbm4gc28gYmxvZWQgdW5k
IHNjaG1pZXIgbWlyIGRpZSBpbW1lciBub2NoIGF1ZiBkaWUgSGFlbmRlPwpHZXN0ZXJuIDI4
OWttIG1pdG0gTW90b3JyYWQgZ2VmYWhybiwgd2lsZGUgRWxlZmFudGVuLCBQb2xpemlzdGVu
IHVuZCBTY2h3ZWluZSBnZXNlaGVuLCBkaWUgYWJlciBhbGxlIGdhbnogZnJpZWRsaWNoIHdh
cmVuLiBEZXIgV2VnIG5hY2ggT290eSwgZW5kbGljaCByYXVzIGF1cyBkZXIgU3RhZHQgdW5k
IGFiIGluIGRpZSBOYXR1ci4KRWluIHdpcmtsaWNoIGVpbmRydWNrc3ZvbGVyIFdlZywgZ2Vn
ZW4gRW5kZSBzbyB2aWVsIE5hdHVyIHVuZCBzbyBzdGVpbCBzZXJwZW50aW5pZywgZGFzcyBp
Y2ggc2Nob24gQmVkZW5rZW4gaGF0dGUgb2IgbWVpbiBNb3BlZCBkYXMgc2NoYWZmdC4KQWJl
ciwga2VpbmUgUHJvYmxlbWUgYW0gQmlrZSwgYmlzaGVyLiBPYndvaGwgZGEgdm9ybiBzbyBl
aW4ga29taXNjaGVzIEdlcmFldXNjaCBpc3QsIG51bmphLCBpcyBlYmVuIHNvLiBQcm9ibGVt
ZSBnaWJzIG51ciBtaXQgbWVpYmVuIEhhZW5kZW4sIGRpZSBzaW5kIGhvZmZudW5nc2xvcyBz
b25uZW52ZXJicmFubnQuCkRhcnVtLCBuZXVlIFNvbm5lbmNyZW1lIGJlc29yZ3QsICJhbHNv
IGNvbnRhaW5zIHNhZmUgYW5kIGludGVybmF0aW9uYWxseSBwcm92ZW4gJiBhcHByb3ZlZCBz
dW5ibG9jayBhZ2VudHMiLCAiMTAwJSBzYXRpc2ZhY3Rpb24gZ3VhcmFudGVlIi4gT2J3b2hs
IGljaCBzY2hvbiB1ZWJlcmxlZywgb2IgSGFuZHNjaHVoZSBuaWNoIGJlc3NlciB3YWVyZW4u
Li4gQWNoamEsIGljaCBoYWIgUHJvYmxlbWUuCkplZGVuZmFsbHMgZ2VodHMgbW9yZ2VuIHdl
aXRlciBuYWNoIEtlcmFsYS4gVW5kIGhvZmZlbnRsaWNoIHRyZWZmIGljaCBMYWx1IGRvcnQs
IG1hbCBzZWhlbi4uLg==

GlobeTrotter EDGE on Linux

Posted by on 13 Okt 2007 | Tagged as: Hacking

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)

# GlobeTrotter EDGE ML2132C2
SUBSYSTEM==“tty“, SYSFS{prod_id3}==“ML2132C2″, SYSFS{manf_id}==“0x0314″, SYSFS{card_id}==“0x0007″, SYMLINK=“modem“, RUN+=“/lib/udev/gprs.hotplug.wrapper“

Create the script at /lib/udev/gprs.hotplug.wrapper. This script is called, if the card is detected and it first runs gcom, which initializes the card. After this the pppd is started.

#! /bin/sh
logger $(gcom) && logger $(pon Airtel)

To let the pppd work the right way, you have to create some configuration files for it. First create /etc/ppp/peers/Airtel and insert your mobile Number in the user line near the end of the file.

#!/bin/sh
# Description:
# Serial cable, IrDA, Bluetooth and USB pppd options for GPRS phones.
# See ‚man pppd‘ for detailed option descriptions.# set the device to use
/dev/modem

# Most GPRS phones don’t reply to LCP echo’s
lcp-echo-failure 0
lcp-echo-interval 0

# Debug info from pppd:
# Comment this off, if you don’t need more info
#debug

# Serial port line speed
38400 # the card has problems if you use a speed higher than this

# pppd must not propose any IP address to the peer!
noipdefault

# Add the ppp interface as default route to the IP routing table
defaultroute

# DNS servers from the phone:
# some phones support this, some don’t.
usepeerdns

# The phone is not required to authenticate:
noauth

# Username

user „mobile number“
remotename Airtel
ipparam Airtel

connect „/usr/sbin/chat -v -f /etc/chatscripts/Airtel“

Now create the chatscript at /etc/chatscripts/Airtel and you are done.

ABORT BUSY ABORT ‚NO CARRIER‘ ABORT VOICE ABORT ‚NO DIALTONE‘ ABORT ‚NO DIAL TONE‘ ABORT ‚NO ANSWER‘ ABORT DELAYED
# modeminit
“ ATZ
# ispnumber
OK-AT-OK „ATDT*99***1#“
# ispconnect
CONNECT \d\c
# prelogin

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.

pre-release of Virtual Identity 0.4.3

Posted by on 25 Jun 2007 | Tagged as: ... ? ..., Hacking, virtual id

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.

The new version is now available for testing. Feel free to use it and report bugs and problems or help to translate the extension.

Nächste Seite »