aafm revision 3

When I published the first version of aafm back in July I didn't expect many people to use it... but to my surprise it seems to be way more useful than I thought, and from time to time I get thanks for aafm! e-mails, from random people who were pulling their hairs trying to get their Android device to communicate with their computer without luck... until they installed aafm! And it isn't only Samsung tablets and Ubuntu: I've heard of people using aafm with phones and tablets. Acer, Sony, Samsung... even with Windows! I certainly didn't expect anyone to use this tool with Windows, but it seems that the manufacturers' tools/support are as bad in Windows as they are in Linux. So people flock to alternatives such as aafm. And when they find bugs, they report issues and send patches! Yay! Thanks to that, hopefully from today onwards aafm will work with Windows too, so people won't have to install that horrible Samsung KIES thing.

Something else I've worked on today is making the code compatible with Python 3. As I moved to Arch Linux recently, I found they're really on the bleeding edge, and therefore they are already using Python 3, instead of the "legacy" 2.6/8. But aafm was written with Python 2 in mind, and it wouldn't work with 3. Firstly because I was using the old style "print":

print "hello"

But Python 3 requires parenthesis:


Evidently, that wasn't difficult to fix ;-)

The worst came when I found out that there isn't a PyGTK version that works with Python 3 anymore. Or in other words, PyGTK is deprecated starting with Python 3. I was stunned: did I really read that? are they really deprecating PyGTK?! how are we supposed to write GTK apps in Python then?!.

But fear not: we can still write GTK applications with Python, although we'll be using PyGObject, which will use automatic object introspection to wrap around the GTK library instead of waiting for someone to write the PyGTK wrapping code.

Unfortunately since the PyGObject project page looked so futuristic and "in progress", I decided that I'll wait for them to sort out their minds and decide what they want to do with GTK, GObject and GWhatever. Specially since my code worked by simply changing the shebang to use python2 instead of just python--and it is an "official" and sanctified solution.

This is funny but also very bewildering. I mean, just try to imagine how desperate people might be in order to use this silly tool of mine which requires so many steps to install. Just try to imagine!