Reasons to leave Mexico #1-1

Here’s a report about how a female elephant escaped a circus warehouse and then wandered into a highway, where it was struck and killed by a passenger bus.

Interestingly the note talked about how the elephant “caused” the accident. I think that any bus driver in decent conditions would be able to spot a 5-ton animal a MILE away and behave accordingly.

So that’s how a 40-year life was ended because the driver just “didn’t know what to do”. In a way, I’m almost glad the driver also died from the impact.

And that’s just a taste of how poor Mexico’s wildlife culture really is. Nobody cared about the elephant really, and if this can happen to such a beast, imagine the hard time other animals are having here : cats, dogs, cattle, horses.

Clearly, Mexico is a lousy country to be in, even for an animal. And today that has turned into tragedy.

Reasons to leave Mexico #1

A few days ago we went to Burger King to buy some cheezburgers. Once inside we witnessed something quite bizarre: about half of the people in the kitchen were seniors, perhaps starting at 70 years old. Here they were, working their asses off to crank out burgers as fast as possible, looking bleary and tired. a 40-something woman was bossing them around and asking them to move faster. Hey, it’s lunch time so things can indeed get pretty hectic.

At first I’d think that it’s great that these people, who probably  wouldn’t have found any other job, can get an opportunity at Burger King. Actually I’ve seen elderly people getting very low-key jobs, like janitoring or burger making, and while it’s a bit depressing, it’s also good that they can get jobs at that age.

Then again, most civilized countries have some sort of policy to take care of their elders. Even here in Mexico we’re supposed to have pension plans (AFOREs, a whole mess where you actually are investing your money on a losing portfolio, but can do nothing about it), government support for the elderly (local support amounts to MXN $700.00 a month, federal government gives a similar amount I think) and in a worst-case scenario a family should be able to support their elders.

So what’s happening? the fact is that those aids are insufficient and elders are forced to go looking for jobs speaks badly about Mexico and its policy regarding the elderly. So here I am working my ass off to survive in this country, and come retiring time, I won’t have enough savings to support myself; government policy to ensure I do have savings is flawed so there’s no guarantee, the economic situation is such that even my children might have a hard time maintaining me, and even relief programs giving a token amount of monthly aid are grossly insufficient, due to the country’s bad economic situation where the aid is hardly enough to purchase basic foods.

So the usual questionis, do we really want to live in a country that’ll be this thankless and ruthless to even an elderly person who shouldn’t have to work his ass off just to scrape by at the end of his life? … as usual the answer is up in the air.

Is virtualization a step backwards?

A note on Slashdot says that vApp, [is] a tool that will allow developers to ‘encapsulate the entire app infrastructure in a single bundle — servers and all.’ Indeed part of the push with virtualization is that you can have an application running on its own instance of the operating system, and share the hardware resources between many such app/OS “bundles”.

I think this way of seeing things is dangerous! Let’s analyze history for a bit. First, application programs ran standalone on a computer. As more and more programs began to appear, it became clear and obvious that they all required several common services: memory management, input/output, disk access, printing, graphics routines, and so on. Thus operating systems were born, where the OS would handle these common tasks and free application programmers from having to do that. An added benefit is that the OS could arbitrate access to these resources and enable multitasking of several applications, since all the apps talk to the OS through APIs and need not concern themselves with low-levelness.

Then beasts such as Windows appeared. Both the OS and the applications that use it are so brain-dead, that most vendors who sell server-grade Windows applications basically require that each app has its own dedicated server on a standalone Windows installation.

This of course is ridiculous and byzantine. This is where VMware came in and realized that a typical organization could have say, 10 servers each running at 5% usage, each with a mission critical application that absolutely must be on its own on this server. And they said “well how about we run 10 instances of Windows, isolated from each other through virtualization, and then we can have a single box at 50% usage running all 10 apps the way they want to”.

This is indeed the bread-and-butter of VMWare. But beware! are you noticing a trend here? by “demoting” each OS/app set to an “app bundle” status, VMWare is indeed taking a step backwards. Okay, so they want VMWare ESX to take the place of the traditional OS, and have each application/OS running on its own. This looks suspiciously familiar to the “app has to do everything by itself” model we escaped from a couple of decades ago!

Sure, as an application programmer I was freed from having to program my own routines for a lot of tasks (for systems such as Mac OS or a decent Linux graphical environment, the libraries free me from a LOT of mundane chores). However, the second killer advantage of an OS providing services is efficiency; this means one piece of software providing access to all applications; I run one OS for all my apps and save on memory, disk space and CPU cycles.

By moving the actual OS (VMWare) down, it provides only very basic services to the “apps” on top (the OS). So indeed, every app carries a gigantic “library” of functions since, in effect, this library is now an entire operating system. The overhead for having several copies of the OS running is gigantic; each Windows installation takes up a couple of gigabytes, while consuming a few hundred megabytes of RAM and a fair share of CPU cycles. On startup, you have 10 copies of Windows, all performing the exact same bootup sequence and reading the same files (albeit from different disk locations, so no caching performance boost).

Worst of all, without proprietary hacks, you also lose the important benefit of interprocess communications. After all, and this is one of VMWare’s purported benefits, each app is isolated from the others, by virtue of running under its own OS instance.

So who is the culprit here? Sure, poorly programmed Windows applications which can’t work without littering your entire hard drive with DLLs and barf if another unknown process is running at the same time, have most of the blame. But this trend is spreading to other operating systems (Zimbra, I’m looking at you). A huge step backwards looms over us, once developers begin to think “hey, I can actually take control of the entire operating system and have it bent to my app’s will and requirement; after all, if the user has a problem with that, he can always virtualize my app and OS”.

What is needed is to go back to well-behaved applications, ones that are designed from the ground up to play well with others, and that by this very design trait, do not interfere with others.

I realize that this might be difficult; after all, with all the dependencies between system components, it might be understandable that my app’s database configuration requirements might break another’s. But then again, the solution is NOT to run two apps with TWO separate databases on TWO different operating systems. Either I find a way to NOT require my app to mess things up, or I provide with a non-system-wrecking component that gives me the service I want. Sure, it’d be a pain in the ass to run two instances of SQL Server, each on a different directory and on a different port, but it beats running two entire copies of Windows. Or wait, wasn’t Windows stable enough for this already?

Still, I think it’s a matter of politeness and cooperation between developers, to not require me to wreck my OS or virtualize in order to run an application. The reasons for virtualization must be different: consolidation of workloads, isolation for security or experimentation purposes, ease of deployment/restoration in case of disaster. Because, hey, do you all remember when everybody was saying “one of the advantages of Windows is that developers don’t have to develop printing, graphics, file access, GUIs and sound separately for each app and for each piece of hardware out there! the OS gives us that service” ? .

Sure developers deserve a break; that’s no excuse to be lazy, and you should think of us, sysadmins of the world, who also have to care for and feed the operating system instances on which your apps run. And trust me, each OS instance, however virtual it might be, still counts as a separate server, with the same care & feeding needs as if it were a standalone box. And however cool it might sound, trust me, I’d rather not wrestle with 150 virtual servers, when 5 well-kept instances would do the same job. KTHX!

Reasons to leave Mexico

I’m officially beginning my long overdue series on reasons for us to migrate away from Mexico. Because if you look at it objetively, we are making a decent living with few worries or fears. But sometimes things happen that shake you to the core, and once you analyze them, you realize they should not happen in a country with Mexico’s “specifications”. So why is everything failing in this country? I mean, it’s not Zimbabwe with its rampant inflation and eternal crysis, not Iraq or Afghanistan, ravaged by war; it’s not even the USA, theoretically we shouldn’t live in fear, as we have no terrorism or worldwide hatred against us. So the point here is to present those events that, as they happen, show the things that everyday citizens like us see that are wrong in Mexico, and make us wonder why are we putting up with all this. What do we get out of the bargain? and the answer, more and more often is, “nothing, really”. And the follow-up question is : why are we here? Indeed, the point of the series is to eventually find an answer to these; but I suspect that we will not, as so many things in this country that go unanswered.

McCain or Obama? You know the answer

Dear United States of America: an amazing oportunity is coming your way this november. So please, take a look at the immediate past. It’s been eight years. So, do yourselves and us, the rest of the world, a big big favor. Vote for Obama. Don’t vote for McCain.