Showing posts from 2009

My preferred Android applications

I bought an HTC Magic a few weeks ago. One of the its coolest thing is the sheer number of apps in the Android Market. There are actually too many and finding the good ones requires lots of searching and testing. These are the ones I use the most so far:

- Wapedia, which greatly optimizes the wikipedia display for mobile devices.
- Pixelpipe, to upload media to Flickr easily.
- QuickDic German, by Thad Hughes (a googler, by the way)
- AnkiOnline. Not actually an app, but a mobile-friendly web site that is always synced with my desktop Anki database. I use it to study german vocabulary while commuting. Pretty cool.
- NewsRob, a Google Reader client (suggested by Cesar from Pinguis Moveis)

Soon I'll hopefully expand this list with an I app I wrote myself, but I've been very lazy lately, so who knows.

Sometimes I miss doing Linux end user support work

Last October I set an Ubuntu desktop for Carla's family. We live very far away from them, so it was important that their system was resilient, otherwise it wouldn't last long. They are all beginners in this internet thing, so installing Windows for them would have been a bad idea.

And I was right. Things ran pretty smoothly, we talked via Skype very often, with no signs of virus or crashes. I even found this file in their system:
clica-aqui.exe (click-here.exe, in Portuguese)
After many months of usage everything was still working fine, until the computer stopped booting.

Helping them from the phone was a challenge. They had to read the error messages in English for me (and they don't understand this language), while we tried to fix GRUB. In the end I assumed the hard disk was just dead.

I asked my good friend Marcelo Lemos for help and he burned an ISO image of Ubuntu and sent them by mail. I live in Switzerland and it would take ages for the package to get there. The customs …

Fixed my first bug in C++. PROFIT!

I'm still trying to learn C++ by fixing bugs. Well, the bug I wanted to fix in Ekiga had already being solved upstream (should I be happy or sad?), but I had fun trying to debug it anyway.

Luckily I found another one to fix today. After 1h30m playing around with gdb and adding debug messages everywhere, I fixed a bug in Gnote where preferences were not being set unless you restarted the program.

The biggest challenge was to find out that all code was written already, it just wasn't working. I initially thought I'd have to write the callback methods myself, but then I saw references to "gconf...notify" in the code, which would normally be enough.

Reading the gconf API docs was sufficient for me to find the culprit. 2-liner patch submitted ;-).

Having fun while trying to learn C++

I've been trying to learn C++ lately. I read a few chapters of a few books, but I got tired of just reading so now I am trying to fix bugs in free software out there.

The first step was to install Ubuntu on the Macbook Pro that I use. Second step was to find useful software written in C++ that needs small bugs fixing.

First I tried to fix a bug in gnote, but I wasn't persistent enough and the lead developer fixed the bug himself after many days without any update from me. The lesson learned here is do not just propose a fix a go walkabout. Stick to it until the end.

Now I'm trying to fix an bug in Ekiga. Actually, I think the bug is in the libopal, but I'm not so sure. The symptom is a segmentation fault in SIPHandler::SendRequest() and it only crashes when I set an outbound SIP proxy. Maybe I'm setting an invalid proxy, but well, it shouldn't be crashing.

Let's see how far I'll go this time.