header image
MySQL down the drain?
April 20th, 2009 under Devel, OSS, Politics, rengolin. [ Comments: 4 ]

Almost 10 years ago, MySQL became a great open source database, part of the LAMP platform (Perl, not PHP) and had everything to compete with the big players in the next few years.

It was then that they have done major releases, with a huge set of new features each, almost once a year. The community was happy using, developing and integrating with other products. But it was around 2005 that the things started going bad…

Back in 2005, when I was still in the loop, I have to say that I wasn’t impressed with the progress that the database had. I wasn’t also impressed with the new view the board gave to big companies (such as Yahoo!) on what was a good bet and what wasn’t.

After release 5.0 (still the production release, irrespective of what Sun says) there wasn’t a major development until Sun acquired MySQL and only then they’ve released 5.1 which they better shouldn’t.

In the old days, MySQL became famous by not implementing foreign keys and transactions, something that every other database had, because of speed issues. That decision became the core of the company and allowed other storage engines (such as InnoDB and BerkeleyDB which had those features) to be integrated, making it very easy to plan your database, using only the features you needed where you needed.

Who’s to blame?

I’m not sure it has something to do with Oracle buying InnoDB and Sleepycat (and now buying Sun, which owns MySQL). Even with all the politics of Oracle slowly buying MySQL in pieces, I don’t believe it’s the whole story. I see much more of an internal conflict and a lack of vision (probably for the lack of guts to keep taking weird decisions and succeeding) than anything else.

Now, MySQL is going down the same drain InnoDB and Sleepycat went, but with a twist: the source code is still GPL. Sun screwed up MySQL in a way I thought it wasn’t possible, Oracle will do it much more efficiently, even if they still play as good guys, it is definitely the end.

Don’t take my word only, my good friend and MySQL guru Jeremy Cole is taking himself out of the loop to avoid the useless politics. Steven (Computerworld) also cannot see how any of the involved companies will get anything in return of this deal.

Is there a light at the end?

Could Monty’s fork become a new MySQL without all the fuss? Could he, the odd guy with odd ideas, put MySQL on the map again? I do hope so, but that will cost MySQL the hall of fame. They’ll need to start over again and eventually fail once they’re there again and restart…

It’ll be fun to watch, at least MySQL had a GPL license which always ease forks and future development. Long live the open source revolution!

UPDATE:

Two excellent articles about the same issue from The Register and Ars Technica.


Who needs Microsoft’s FAT?
February 26th, 2009 under Computers, Digital Rights, OSS, Politics, rengolin, Unix/Linux. [ Comments: 2 ]

Hydrogenated, unsaturated fat and cholesterol are long enemies of the public, but recently a new type of fat has been added: FAT.

Microsoft has filed a patent suit against TomTom about its FAT implementation on their Linux satnavs. This is a bit of a long story and Microsoft is not tired yet. Probably because of the recent losses with patents, they’re trying to get some profit for themselves.

Luckily, there is hope. The guys at End Software Patents can see some light at the end of the tunnel. Looks like the Bilski case can give precedence for rejecting the lawsuit of that (and many other stupid patents they’re claiming) based on the tangibility of mathematical algorithms (software) when they’re not particularly tied to any concrete implementation (hardware).

This was how it was done before in the US until the first case passed through that wasn’t attached to any particular hardware and then with the final revision in 1998 that they could patent even cake recipes.

Why not ditch it for good?

So, FAT is rubbish, 30 years old and close to zero evolution since then, why keep it? It’s true that there are many other filesystems around, much faster, safer, optimized and well designed, but FAT still has its market: on embedded devices. Because it’s simple and stupid, it’s quite easy to support it on very small machines with reduced RAM and CPU power. It’s also light-weight and fits well for small flash cards and USB storage. But the biggest reason to keep it is another: Microsoft supports it since its birth.

Would you buy an SD card that needs to install a driver to make it work? What’d be the point?

Yet again, because of the market domination (and not technical merits), Microsoft forced rubbish down everyone’s throats live for longer that it was expected. And now, they’re trying to get the profits by suing everyone that followed them for decades. What a nice way to say thank you!

Speaking of which, not only they’re happy by suing companies by using Linux (TomTom in this case and many others during the FAT fight), they’re also asking for the open-source community’s help to make Visual Studio 2010 a better product, isn’t that nice? How lovely is the American way of life, I guess the world will never be able to thank them enough.


Ad infinitum
February 12th, 2009 under Algorithms, Devel, Life, OSS, Physics, rengolin, World. [ Comments: none ]

Quality is fundamental in any job, and software is no exception. Although fairly good software is relatively easy to do, really good software is an art that few can truly reach.

While in some places you see a complete lack of understanding about the minimal standards of software development, in others you see it in excess. It’s no good either. In the end, as we all know, the only thing that prevails is common sense. Quality management, all sorts of tests and refactoring is fundamental to the agile development, but being agile doesn’t mean being time-proof.

One might argue that, if you keep on refactoring your code, one day it’ll be perfect. That if you have unit tests, regression tests, usability test (and they’re also being constantly refactored), you won’t be able to revive old bugs. That if you have a team always testing your programs, building a huge infrastructure to assure everything is user proof, users will never get a product they can’t handle. It won’t happen.

It’s like general relativity, the more speed you get, the heavier you become and it gets more difficult to get more speed. Unlike physics, though, there is a clear ceiling to your growth curve, from where you fall rather than stabilize. It’s the moment when you have to let go, take out what you’ve learned and start all over again, probably making the same mistakes and certainly making new ones.

Cost

It’s all about cost analysis. It’s not just money, it’s also about time, passion, hobbies. It’s about what you’re going to show your children when they grow up. You don’t have much time (they grow pretty fast!), so you need to be efficient.

Being efficient is quite different on achieving the best quality possible, and being efficient locally can also be very deceiving. Hacking your way through every problem, unworried about the near future is one way of screwing up things pretty badly, but being agile can lead you to the same places, just over prettier roads.

When the team is bigger than one person, you can’t possibly know everything that is going on. You trust other peoples judgements, you understand things differently and you end up assuming too much about some of the things. Those little things add up to the amount of tests and refactoring you have to run for each and every little change and your system will indubitably cripple up to a halt.

Time

For some, time is money. For me, it’s much more than that. I won’t have time to do everything I want, so I better choose wisely putting all correct weights on the things I love or must do. We’re not alone, nor is all we do for ourselves, so it’s pretty clear that we all want our things to last.

Time, for software, is not a trivial concept. Some good software don’t even get the chance while some really bad things are still being massively used. Take the OS/2 vs. Windows case. But also some good software (or algorithms or protocols) have proven to be much more valuable and stable than anyone ever predicted. Take the IPv4 networking and the Unix operating system (with new clothes nowadays) as examples.

We desperately need to move to IPv6 but there’s a big fear. Some people are advocating for decades now that Unix is already decades deprecated and still it’s by far the best operating system we have available today. Is it really necessary to deprecate Unix? Is hardware really ready to take the best out of micro-kernel written in functional programming languages?

For how long does a software lives, then?

It depends on so many things that it’s impossible to answer that question, but there are some general rules:

  • Is it well written enough to be easy to enhance to users’ request? AND
  • Is it stable enough that won’t drive people away due to constant errors? AND
  • Does it really makes the difference to people’s lives? AND
  • Are people constantly being reminded that your software exists (both intentionally and unintentionally)? AND
  • Isn’t there something else much better? AND
  • Is the community big enough to make migration difficult?

If you answered no to two or more questions, be sure to review your strategy, you might already be loosing users.

There is another path you might find your answers:

  • Is the code so bad that no one (not even its creator) understand it anymore? OR
  • The dependency chain is so unbearably complicated, recursive and fails (or works) sporadically? OR
  • The creator left the company/group and won’t give a blimp to answer your emails? OR
  • You’re relying on closed-source/proprietary libraries/programs/operating systems, or they have no support anymore? OR
  • Your library or operating system has no support anymore?

If you answered yes to two or more questions, be sure to review your strategy, you might already be on a one-way dead-end.

Ad infinitum

One thing is for sure, the only thing that is really unlimited is stupidity. There are some things that are infinite, but limited. Take a sphere, you can walk on a great circle until the end of all universes and you won’t reach the end, but the sphere is limited in radius, thus, size. Things are, ultimately, limited in the number of dimensions they’re unlimited.

Stupidity in unlimitedly unlimited. If the universe really has 10 dimensions, stupidity has 11. Or more. The only thing that will endure, when the last creature of the last planet of the last galaxy is alive is his/her own stupidity. It’ll probably have the chance to propagate itself and the universe for another age, but it won’t.

In software, then, bugs are bound to happen. Bad design has to take part and there will be a time when you have to leave your software rest in peace. Use your time in a more creative way because for you, there is no infinite time or resources. Your children (and other people’s children too) will grow quick and deprecate you.


Closed source development
January 28th, 2009 under Devel, Digital Rights, OSS, rengolin. [ Comments: none ]

While closed source development has its niche (and a very important one), it does feel a bit weird.

I’m now working on low-level development (debuggers) at ARM, one of the things I like most but also a rare thing to find good quality open source development (with the exception of the gnu tools, of course). Of course there is a portion of your work that goes back to the community (via open standards, limited support for the open tools) but it’s not easy to find a job to write code exclusively to the gdb or gcc.

What I’m finding weirder is the fact that the documentation you need is seldom on the Internet (Google or usenet). The good side is that the guys that created the standards and tools are at your doorstep, so it’s quite easy to get hold of them in case you need something off the charts. But that’s normally true with open source as well.

The other weird thing is knowing what you can tell and what you can’t. I have no idea of what part of my current project is public so I just don’t talk about anything of it. But I think that’s just a matter of getting used to, just like I did before. Besides, albeit at EBI I could even show my (or anybody else’s) source code, I don’t think that anybody ever cared that much.

At last, licences. It’s so easy when you develop GPL or LGPL (or similar). Just write whatever you want, use whatever library you need and put a GPL3 tag on your code. That’s it. Simple as that. Now I have to think what would be the impact of that library on the license of what I write, and that’s something I didn’t want to care…

Also, if a document is GPL-ed, you have to GPL it too. If it’s version 3, everything you write (including company’s previous ideas) become GPLv3 as well. That’s a big nuisance. I do understand GPLv3 for code, even apply that to my own source code, but it does annoy a lot when applied to documents.

Although weird for some reasons, it’s not bad at all. I have many more reasons to love my new job. Excellent team, great environment and an impressive code quality, which for me, is a must.


Music industry scrambles for cash?
January 21st, 2009 under Digital Rights, Media, OSS, rengolin. [ Comments: none ]

BBC link, It almost made me cry. At least, now, bands and writers can start making money out of their work…

Well, with Vista finally worthless and DRM abandoned for good, I can focus my attentions on things I like best: promoting open source software, low-level development and helping Camfed.


Vista is no more
January 10th, 2009 under Computers, Digital Rights, OSS, rengolin, Software, Unix/Linux. [ Comments: 2 ]

It still hasn’t gone to meet it’s maker, but it was also not as bad as it could’ve been.

After Windows Vista was launched with more PR and DRM than any other, Microsoft hoped to continue its domination of the market. Maybe afraid of the steep Linux increase in desktops (Ubuntu has a great role in that) and other market pressures, they’ve rushed out Vista with so many bugs and security flaws, so slow and with such a big memory and CPU footprint that not many companies really wanted to change their whole infrastructure to see it drawn a little later.

China government ditched it for XP because it was not stable enough to run the Olympics, only to find out that the alternative didn’t help at all.

All that crap helped a lot Linux (especially Ubuntu) jump on the desktop world. Big companies shipping Linux on lots of desktops and laptops, all netbooks with Linux as primary option, lay people now using Linux as they would use any other desktop OS. So, is it just because Vista is so bad? No. Not at all. Linux got really user friendly over the last five to ten years and it’s now as easy as any other.

Vista is so bad that Microsoft had to keep supporting Windows XP, they’re rushing again with Windows 7 and probably (hopefully) they’ll make the same mistakes again. It’s got so bad that the Free Software Foundation’s BadVista campaign is officially is closing down for good. For good as in: Victory!

Yes, victory because in one year they could show the world how bad Vista really is and how good the other opportunities are. Of course, they were talking about Linux and all the free software around, including the new gNewSense platform they’re building, but the victory is greater than that. The biggest message is that Windows is not the only solution to desktops, and most of the time, it’s the worst.

In conjunction with the DefectiveByDesign guys, they also showed how Vista (together with Sony, Apple, Warner et al) can completely destroy your freedom, privacy and entertainment. They were so successful in their quest that they’re closing doors to spend time (and donors’ money) in more important (and pressing) issues.

Now, they’re closing down but that doesn’t mean that the problem is over. The idea is to stabilise the market. Converting all Windows and Mac users to Linux wouldn’t be right, after all, each person is different. But the big challenge is to have users that need (or want) a Mac, to use a Mac. Who needs Windows and can afford to pay all extra software to protect your computer (but not your privacy), can use it. For developers the real environment is Unix, they should be able to get a good desktop and good development tools as well. It’s, at least, fair.

But for the majority of users, what they really want is a computer to browse the web, print some documents, send emails and for that, any of the three is good enough. All three are easy to install (or come pre-installed), all three have all the software you need and most operations and configurations are easy or automatic. It’s becoming more a choice of style and design than anything else.

Now that Apple got rid of all DRM crap, Spore was a fiasco so EA is selling games without DRM, the word is getting out. It’s a matter of time it’ll be a minor problem, too. Would DefectiveByDesign retire too? I truly hope so.

As an exercise to the reader, go to Google home page and search for the terms: “windows vista“. You’ll see the BadVista website in the first page. If you search for “DRM” you’ll also see the DefectiveByDesign web page as well. This is big, it means that lots and lots of websites are pointing to those websites when they’re talking about those subjects!

If you care enough and you have a Google user and is using the personalised Google search, you could search for those terms and press the up arrow symbol on those sites to make them go even higher in the rank. Can we make both be the first? I did my part already.


Cloud fuss and computing life
October 1st, 2008 under Computers, OSS, rengolin, Web. [ Comments: 2 ]

Lot is being said about cloud computing recently that culminated on the heated rant from Richard Stallman. As always, I agree in parts, but sometimes RMS can be a bit too reactionary.

I do completely agree that giving away your personal data to companies like Google, Yahoo!, Amazon and Microsoft is not desirable. That this puts too much power on their hands, that they own your data, your history. Problematic ownership grants such as in Second Life proved to be even worse. So, what’s the catch?

Cloud computing

In essence, cloud computing is doing to the internet what IBM did to big companies in the 60′s. They had a big server and hundreds of dumb terminals from where you could access the system, your data and history. Today’s dumb terminals are a bit smarter, though, but the cost of keeping consistent data and history on your own home desktop, work desktop, laptop, mobile phone, pda and whatever else you have that access or deals with your data is still unbearable.

Not only that, but it’s virtually impossible to build a collection of systems that works with any kind of data on any type of device running any operating system and window manager etc etc. Lots of big companies (such as Microsoft and Apple) are trying hard at it for decades and they are failing miserably, over and over.

Agreeing over standards (HTTP, XML, RDF) is one way to go but the intrinsic details of every single application and this Intellectual Property paranoia the world is facing nowadays makes it impossible for two different companies to agree with standards. That, of course, when they don’t start their own standards just for the sake of having one of their own.

On the other hand, on-line software companies like Yahoo! (at its time) and Google (today) grew bigger than those two giants doing on the internet exactly what they couldn’t do on the desktop. Cloud computing is just a beautiful name for “we keep your data safe and sound and pay us with the right to do whatever we want with it“.

Desktop era

Where I don’t agree with RMS, though, is that we should keep our desktops. No matter where you store your data, on Amazon’s S3 or on your desktop, if you don’t protect your data, it’s not yours anymore.

It’s not just easy to break into any machine or network with the required amount of work (NASA and NSA constantly owned is the ultimate proof of that), but if everyone stores data on their desktops it’ll also be worthwhile. Today, if you break into my desktop you’ll see a bunch of pictures of my family and my (already public and GPL) programs.

What’s the point? No point, my desktop today is just a cache of the internet, a fast access to data that is already public on the internet. My personal banking information is on my bank’s website (which I don’t trust, by the way) but that’s life. My emails are on my mail servers, my personal history and chats on my blog, my friends list on social websites, etc. If I was to store all that information on my desktop, that’d be a huge security breach.

Not only is easier to safeguard a bunch of servers than millions of desktops, but it’s spread out. If you break into GMail to get someone’s emails you won’t (hopefully) get his banking details. If you click on scam and loose your financial data, you won’t loose your family pictures, emails from your dead granny, and so on.

Safe cloud computing

What we need to assure is that companies like Google and Amazon not only promise to “not use your data for their own profit”, we need to make sure they will never be able to, even when they change the EULA. How? Simple, use encryption!

We need to make sure that the email service uses GPG (or any encryption/authentication scheme) not only for sending and receiving, but also for storing your emails. Google says it spoils their fantastic advertising engine and you’ll get random ads instead of targeted ads for your email. Thing is, I’m not looking for answers or searching the internet, I’m just talking to my mum! I don’t need to buy “mums on eBay at unbeatable prices“!

On-line storage is easier to work around, just be sure to encrypt the files before you send it back and forth. A simple program could do that using the API they provide to access your data.

Social networks is far more complicated, though. But the way I see is simple: it’s public data, live with it. My blog and web-pages have lots of information about me. If you google my name you’ll see lots of other sites with lots of informations about me, and I can’t do absolutely anything about it. What would be good, though, is to be able to own this data, but it’s not storing on my desktop that will help anyway.

Would be cool, though, if one could download their own information in RDF format and import it to a local tool on their desktops or to another social network. Different websites could do it automatically (some do) to exchange information about you, but again we fall into the value of data ownership, and when money is at stake, people (and companies) can get very naughty.

Conclusion

As I see, cloud computing is inevitable, either because it’s really cool or because those companies will make you believe it’s really cool. It’s not a matter of liking or not, it’s a matter of accepting it, but enforcing your rules to your own data.

I will never, ever, buy anything that has DRM, Root-kits, feedback-systems, usability limitation or anything that takes away my own freedom to own what I’ve paid for, or created myself. A song, a picture of my son, my friends list, this post or my ideas, are all owned by me, no matter where I store them.

Storing copies of my data on another server should not bestow them ownership, but they do reserve the rights to do something with it (like targeted ads). They own a copy of your data. But if you regain control of it, by encrypting everything, you take this last right away from them.

So, if you’re really concerned that Google will take profit of your start-up idea described on your email, don’t use GMail for those things, or at least encrypt what’s sensitive. If you’re concerned that Yahoo! will use your personal photos for advertising, don’t store there sensitive images.

But please, don’t go crazy, blaming a new technology, just because it’ll take away the ownership of your own data. The internet already did that, a looong time ago.

If you’re still paranoid… keep your computer safe, unplug it from the mains. Don’t take pictures, don’t blog, store all that information on your brain. Don’t talk to other people, they might use your ideas for their own benefit, or for the greater good. It’s a choice you have to make, and be consistent with it… Good luck!


OOXML update
September 23rd, 2008 under Digital Rights, OSS, Politics, rengolin, Web. [ Comments: 1 ]

A while ago I’ve posted about how crap Microsoft’s “Open” OOXML is (GPL violations and redundancy among other things).

Now the battle seems to have heated up: IBM threatened to step out ISO (via slashdot) if they don’t roll back the OOXML approval.

Well, they’re big and still a bit powerful. MS is big, but falling apart. Probably other companies would join them, especially those against.

Microsoft is not only failing technically with Vista and their web platform but also financially. They probably spent too much with .NET, Vista and stupid patents. At least the European Patent Office went on strike (I’m really amazed) because they are: “granting as many patents as possible to gain financially”. I wonder is the US patent office ever considered that…

Nevertheless, it’s always good when a big company poses against something bad and restrictive (for the future), although the reasons are seldom for the greater good. Let’s hope for the best.


Intel’s Game Demo Contest announce winners
September 15th, 2008 under Devel, OSS, rengolin, Software. [ Comments: none ]

…and our friend Mauro Persano won in two categories: 2nd on Intel graphics and 5th on best game on the go.

The game, Protozoa, is a retro Petri-dish style frenetic shooting-the-hell-out-of-the bacteria, virii and protozoa stuff that comes in your way. You can play with a PS2 (two-analogue sticks) control, one for the movements and other for the shooting, or just use the keyboard. The traditional timed-power-up and megalomaniac explosions raise even more the sense of nostalgia.

You can download the latest Windows version here but don’t worry, it also runs pretty fine with Wine.

Have fun!


Happy birthday to GNU
September 3rd, 2008 under OSS, rengolin, Unix/Linux. [ Comments: 2 ]

25 years and growing strong, happy birthday!


« Previous entries Next entries »