If you try to get the route from “Sydney, Australia” to “Porto Alegre, Brazil”, Google Maps won’t say you to swim across the ocean. But, if you use Maemo Mapper, it will say that the distance between the two cities is 12.527,37km (using the same Maps!).

(Actually, that’s the distance between where I work and my mum’s apartment.)

Now, if you take that the Earth has a Equatorial circumference of 40.075,02km and that both Sydney and Porto Alegre are around the same meridional zone (Porto Alegre is 31o while Sydney is 33o) it means that I’m just a few kilometers from being in a cartoonish position where I could say “If I dig a hole, I’ll get back home!”.

I should stop thinking

Why everytime I stop to think about my life, I always end up looking for this?

Robert: I wish I had a good reason for always striking out, but I don’t. It’s just me. It’s me. Most people find their other half, and I just need to wake up and realize that maybe there is no other half for this.

Thinking may be dangerous at work

Phase one: someone points something of a bad technology into something that may appeal business people.

Phase two: you realise how you can use points of a better technology to revert the opinion about the first person and still convince business people.

Just be sure that the first person is not into a higher position inside the company ’cause, as soon as they realise what you just did, your job may be at risk.

I should’ve listened to myself

Besides my own thougths, I decided to install Canola on my N800, because I wanted to listenn to a DAAP source with it. And I must say: it is crap. The player finds the DAAP source, but fails with “Error” (and just that); the configuration tool spawns the browser, which means I’m now running a webserver on my UMPC; also the config server likes to load a page and after that redirect to another before your eyes.

Next time, I will listen to myself.

Coders and the levels of bug fixing

Level 1: “I’ll fix this bug.”

Level 2: “I’ll fix this bug and change the design and fix 20 or even more bugs at the same time.”

Level 3: “I’ll fix this bug and that bug with this change.”

Level 4: “I’ll fix this bug.”

Although it seems we “go back to basics”, those are completely different levels. On Level 1, you try to fix the bug, but not what is causing it. Speaking in code, it is something like testing if a pointer is NULL before freeing it, but not checking why it is getting as NULL at that point of the code.

On Level 2, instead of fixing the bug, we try to fix the design. It is never a question of if the design is right or wrong, it is a question that we don’t want to check why it was designed that way.

On Level 3, we finally start understanding the design and how a change affects another part of the system. Suddenly we see how one change can affect other parts of the system (and no, it is not ONE change to fix two bugs, it is TWO changes to change TWO bugs, but the second change is affected by the first one.)

On Level 4, we see why the damn pointer is coming as NULL at that point of the code.

It sounded dirty, but I decided to dig anyway; I just found more dirt

My iPod is starting to behave quite weirdly: it is locking up, the volume sometimes starts to jump from very high to very low when you are moving really slowly in the circle thing and the “letter jump” is really annoying now (I guess this is somewhat related to the circle problem).

Should I buy another iPod? Probably. But I have right here, in my gadget pack, a brand new N800, which can have two 8Gb SD cards. Ok, it is nowhere near the 60Gb I have on my iPod, but I guess I could get rid of some songs or buy some more SD cards and have some music collections instead of putting all them in the same place.

When you think about multimedia on the N800, the first thing that may come to your mind is Canola. It is a media player developed by INdT, the “Instituto Nokia de Tecnologia” (Nokia Technological Institute), which seems to be a Brazilian arm of the Nokia guys. I was kinda worried about installing it on my N800, as there were several reports of other applications crashing or simply not working once you install it, due some changes in the DBUS configuration, which manages almost everything in the device (or, at least, that’s what the INdT reported in the list as the reason things were failing after the installation). Digging in the site, looking for some more technical information, I found this:

Q: Is Canola Free? Is it also Open Source?
A: Yes and No. Canola is free, and will continue to be free but it’s not YET open source. We have plans to release the source or at least a big part of it, which will allow users to create custom plugins.

Ok, hold a second there. What do you mean “it is not free”? It runs on a free kernel (Linux), using a free graphical interface (KDrive, based on the X.Org code), using (probably, as you can’t open it to check) free sound library (GStreamer) (and the interface seems to be build using SDL, which is also free, but I’ll not push that far on my assumptions) and your code, which may crash several other applications is not free?!?!?

Wake up, INdT. You are not in Microsoft bandwagon, where you can write crappy applications and say “ok, it is fine; the problem is somewhere else”. You want Canola to rule? Open it up! Let people hack it! Let people fix those little stupid things you left behind for you.

Really. I want to write a Last.fm plugin for it. But I completely refuse to do such a job or install it if I can’t see the code.

PS: And when I was thinking about writing one media player myself, I just found UK Media Player and life is good again.

From Browser Wars IV: A New Hope

Another good Slashdot comment:

Luke Spyglass: “You fought in the browser wars?”

NCSA Mosaic: “I was once a web browser the same as your father.”

Luke Spyglass: “My father didn’t browse the web. He was a finger server at the community college.”

NCSA Mosaic: “That’s what your Uncle told you. He didn’t hold with your father’s ideals. He thought he should stay home. Not gotten involved.”

Luke Spyglass: “I wish I had known him.”

NCSA Mosaic: “He was a cunning application, and the best downloaded in the galaxy. I understand you’ve become quite a good downloader yourself. And he was a good friend. For over a thousand days the W3C protected the web. Before the dark times. Before the Empire”

Luke Spyglass: “How did my father die?”

NCSA Mosaic: “A young web browser named Internet Explorer, who was a derivative of mine until he turned to evil, helped the Emporer hunt down and destroy the W3C standards. He betrayed and murdered your father. IE was seduced by the Dark Side of the internet.”

Luke Spyglass: “The internet?”

NCSA Mosaic: “Yes, the internet is what gives a web browser his power. It’s an energy field created by all connected computers. It surrounds us. Penetrates us. Binds the world together. Which reminds me. Your father wanted you to have this when you were old enough, but your Uncle wouldn’t allow. He thought you’d follow NCSA Mosaic on some idealistic crusade.”

Luke Spyglass: “What is it?”

NCSA Mosaic: “It is open source browser source code. The weapon of a web browser. Not as random or clumsy as a closed source. An elegant idea for a more civilized age.”

The Linux Extremist » Blog Archive » Darth Linux

The Linux Extremist » Blog Archive » Darth Linux

I would just like to add something: while the author use the Ewoks as a way to show some dangers to open source community, maybe we can see it in another way: the Empire also become greedy when it destroyed the Republic. Palpatine had all the power, no matter if the regional control was divided: everyone had to follow his orders, for good or for worst.

Maybe there is something else, something we can’t really see right now, that will take the throne of Linux and truly set us free (although I don’t think we could get into some “vendor lock-in” with Linux).