sábado, 30 de enero de 2010

There's nothing wrong with being thankful (or why I say GNU/Linux)

When I was a little kid (not that I'm too big, anyway... 5'10/~150lbs or 1,75/74Ks.... whatever you get better) I was taught to be thankful for things that I get. There's nothing wrong with saying "thank you" when someone has fulfilled one's need/wish for something... even more if the person who fulfilled it was not in any way forced to do it for us.

In the FLOSS community there's this old argument about whether we should call the OS that people usually call "linux" as GNU/Linux or plain linux.

The ones who defend "plain linux" say it's out of simplicity, being more catchy, undoubtfully easier to pronounce than GNU (at least in english... in spanish we convert GN to Ñ... or at least, I do it), and a long etc.

But there are many sides to this story that, at least to me, don't add up.

For example, simplicity for newcomers: What about when you have a distro that doesn't have Linux inside of it? Say, Debian's hurd or kFreeBSD or NetBSD ports? Those are distros, but Linux is not to be found inside cause it (the kernel) has been replaced for another kernel. What are we gonna call them? Debian Non-Linux? Go figure how you will explain that to newcomers ("sure... it's Debian Linux... but it has no linux... yet it is linux". Priceless).

Some people have said that it's out of Stallman's big ego that he wants everybody to call it GNU. Well, I think Stallman hits the nail (at least on the funny part) when he says that "sure... and that's why I ask people to call it Stallmanix". So I think it's not out of ego... but maybe if he had named the OS Stallmanix in the first place, we wouldn't be having this argument as it (too) is more catchy than GNU. :-)

Then we have the people who say that then we should call distros Kubuntu KDE/X/GNU/Linux, for example... but I think there's a line where we can say that KDE/X/GNU/Linux is just too much and GNU/Linux is ok: The minimum usable machine by a user would require GNU/Linux (I can work perfectly well on a GNU/Linux computer with bash and no KDE/X, so that makes the basic machine for me) while a machine with just linux (the kernel) would be pretty pointless as there's laking a system so that I could interact with it (the shell of the OS, at least).

Also I don't like to call things something they are not. For example, I wouldn't say "I like driving my wife's V4 16-valve 1.4 engine to work" as just the engine doesn't make up the whole car (yeah right, like she actually allows me to drive her car :-)). Of course, you can hear people bragging about their 5.0s, but sure as hell these people actually want to talk about _the engine_, not the whole car.

Linux (the kernel) is quite a nice thing. I'm still overwhelmed by its capability to run on the tiniest machines and the biggest supercomputers as well. How it's capable of running on all this different architectures, how you can basically hack it whatever ways you fill like to fit whatever need you have. To all of that (and more), I take my hat off and fill humble (and, trust me, that's not something I can say of many things or people:-)). But I think (that's me, personally, I'm not asking anyone to do something agains their will) GNU deserves being named alongside linux.

I'm thankful to all the people who have helped develop GNU (and linux) into what it is and so I call it GNU/Linux just like, though I use Kubuntu, I proudly wear a Debian cap (cause I know where Etcbuntu gets a lot of what makes it what it is)... and you will pry it off my cold dead hands.

And finally, to bring this chapter to an end from where it started: Thank you!

PS The cat in the picture is Tomás (after Tom from Tom & Jerry), my wife's pet.

viernes, 22 de enero de 2010

FF3.6 on ubuntu is not a reason why GNU/Linux is not ready for the mass-market


I have become quite a replicator lately, right?

Well, yet another article from an IT journalist/commentator I have to disagree with.

In the article the writer states that it's too difficult to get FF3.6 installed on Ubuntu and that it's reason enough to call GNU/Linux dead on its tracks to get to the mass market. That sounds compelling at first sight.... but

First: I bet the users of software that aren't quite up to date and that make up those huge botnets differ with the writer of the article. They all make up a part of the mass market as we know it, don't they? So it's OK to have outdated* software, isn't it? (I know, I know... it's not OK... but we are talking about mass market here, so go with the flow!).

Second: Remember that the way software is installed/maintained in the GNU/Linux world is completely different from Windows'. In Windows, as the writer said, you grab the software from internet (hopefully form a reliable location.... but we know that's not always the case, is it?), click on it, maybe will have to restart your computer.... a couple times (why the hell installing Adobe Reader requires you to reboot Windows? Is Adobe Reader the equivalent for Windows of glibc or something?) and then finally you are done with the software. In GNU/Linux, at least in Ubuntu (and every other distro that prides itself of being such), you have to wait for the maintainers of Ubuntu to review software to make it available. That's right.... they do that job for you, the user. And it's not just firefox that they maintain... they take care of thousands (literally) pieces of software to make them fit together and not mess with each other when you installed them on your beloved Ubuntu-powered box. And that not only sounds like a dauntin task... it really is. And what would be the equivalent of that in the Windows world? It would be like waiting for Microsoft to review the software when it's made available by its developers (have you seen how long it takes Microsoft to work on their own bugs? How long would it take them if they had to review other people's software as well?) and make it available to you through the centralized software they provided Windows with so that their beloved customers don't have to go leaping from site to site to grab the latest piece of malware-infested piece of software... oh, but there's no such thing for Windows, is there? Such a shame, you know.

So, in other words, FF3.6 is not made available in the stable Ubuntu release because it's going to be a major work to get it merged, but that doesn't mean there is no way to get it packaged so that our dear writer can use it. It didn't take me too long to find unstable/unsupported repos for FF3.6 (probably its stable enough, don't know for sure) for Ubuntu:


I'll personally wait for Ubuntu to make 3.6 available through their standard repositories... which I hope will happen for Jaunty... but maybe they won't and will make it available for lynx only... will have to wait and see.

Just so that it's crystal clear. This article doesn't state that GNU/Linux is ready for the mass market. I'm just stating that the writer-of-the-article's difficulty to install FF3.6 on Ubuntu is not an excuse to dismiss GNU/Linux's readiness for the mass market. Also, I do think GNU/Linux is ready for the mass market, but that's another quite different story.

That's it.

* FF 3.5 is not outdated, by the way. It will be maintained (at least, security-wise, by the Mozilla foundation for a while).

jueves, 21 de enero de 2010

How can people blame on GRUB if Windows doesn't like another bootloader?

I was reading this very interesting article on a guy who noticed that when going from Vista SP1 to SP2 windows would almost finish the process (taking quite a while, apparently) and then it would report an unknown error and rollback all the things that it had done (wasting CPU and real time, by the way). After seeing the problem show up a couple of times the person realized that grub was there in the MBR. Replaced the MBR with Windows', tried to update it it was done. Great.

So.... a very interesting read, I have to say. Then I hit the comments and what do we find? None other than people saying that it's grub's fault. Say what?

What's there for Windows to see that belongs to grub? Not much, really. The first phase bootloader, located in the MBR, in other words it's comprised within the first 512 bytes of the HD. The second phase bootloader (which is called from the first phase bootloader) is located somewhere within the GNU/Linux partitions set up at the box. So, the only thing from GRUB that Windows can actually see (unless Windows is capable of reading out of the box ext2, ext3, ext4 and the other gazillion FS that we have available in GNU/Linux) is the first phase bootloader.

In my opinion, it's something as simple as old Microsoft's motto in action: "It's the Microsoft way or the highway". The update process is taking a look at the MBR and notices that's it's not Windows' bootloader. "Who in their right mind would dare install something on the MBR that's not made by Microsoft?" I bet they think there at Redmond. End of the game, let's stop the update process... _and_ (specially) not tell the user what's going on. It wouldn't be as insulting if at least they would suggest the user to replace the MBR with Microsoft's tools. You know, it can be replaced with GRUB a couple of minutes later after shutting Windows down after the upgrade process is done... but what do we expect from a OS that was made to resemble black magic, anyway?

As I have already said before:
Windows equals esotericism
GNU/Linux equals determinism

martes, 5 de enero de 2010

A little bug fix for ADOdb (php) for MySQL


I'm using ADOdb to connect to more than one MySQL db at the same time but then i noticed that queries where being done on the last DB connection that was established. After researching for a while, i ended up modifying MySQL driver of ADOdb. It's a rather simple trick, so be free to use it as needed:

On adodb-mysql.inc.php, go to the definition of _query($sql, $inputarr=false) and change it to:

@mysql_select_db($this->database, $this->_connectionID);
return mysql_query($sql,$this->_connectionID);

That should do. By the way, I've only tested it connecting to a single mysql server (with two different DBs, obviously) but I think it should work with multiple DB servers as well. Also, It works like a charm when doing ->Execute() so it could be necessary to add that mysql_select in other places so that it worked with other functions that deal with the DB, but Execute() is enough for what I need so....

I did this patch on flisys, and I'll upload it in the following days.