Monday, March 31, 2003

The passage ritual
Ever since graduation day, two weeks ago, we (as in my fellow engineers and me) had planned to attend a large slaughtered pig ceremony with large quantities of alcohol, also known to the world as lechona de sábado en la tarde. It was a twelve hour celebration, featuring 388 beers, 7 bottles of aguardiente, a box of whisky (as in a box of bottles) and several runaway rums. Like every celebration of this nature, by 1:00AM half of the people was gone, and the half that remained was drunk. Several scenes that involved fighting took place, both men showing each other the fists and boyfriends and girlfriends giving each other the bird. Kind of makes you wonder about the future of civilization, if those who are said to be their "finest members" (yeah, right) are (first person, plural form, aka "we" ) involved in such celebrations.

I believe I had not said this befoire so here goes: My ex-kinda-shrink said I was "exogenic", which is a term that means that I seek for causes of bad things in the exterior, instead of looking towards the inside. She also said I was hollow on the inside. But hey, she also said computers are going to suck the living out of human beings, in such a way that coexistance of both humans and machines is not possible. However she did not say this in a "2001 Space Oddysey" kind of way, like something that is going to happen in the future. She said it like something that is going to happen right now. I tried to tell her that the apparent "randomness" of computer behavior (evident seeing the apparent unexplainability of Windows' Blue Screen Of Death) was not the result of an evil mind leaving inside the computer, but that of an evil mind living outside it, also known to the world as "the programmer".

Random unsolicited note:As time passes I see that I enjoy programming computers (or machines, for that matter) more and more, and that I like Beethoven more and more.

Thursday, March 20, 2003

Cries of war

Unavoidably so, the topic that comes to mind the easiest these days is war. However, I don't think that what is happening in Irak deserves to be labeled as war. Slaughter or killing frenzy seems more like it. No superpower in history had ever accumulated such a global influence in all fields as the US has today. Up until now, however the exercise of that power had to be, at least diplomatically, backed up by a set of values like "democracy" or "freedom" that where perceived as the founding values of the US society. After this, however, nothing stops a redneck texan, who had never gone abroad before his election as president from doing whatever he wants. Since US's military budget exceeds, by much, that of the next top five defense spenders, it is safe to say that no one in the planet can stand against the US war machine. Today it is Irak, because of it's oil or its euros or it's location. As Jorge Baron put it: "Y mañana desde cualquier lugar del mundo". Who knows? french wine is too expensive, german beer is taking a cut into the US market, colombian drugs are draining US dollars out of the US economy, Indian software programmers are working too much, the government in China is using too much non Microsoft software, the japanese are not opening their eyes when they talk to uncle Sam, the russians have too cold a weather. Anything can be a reason for war, so sit back and relax, the next one might be you

Friday, March 07, 2003

On commercial software

One of the consequences of industrial revolution was the conversion of town artisans into city workers. In medieval times craftsmen were respected and seen as an important part of a community. This was such an institution, that entire regions of countries were (and still are) known for their crafts. Such is the case with Nimes, in France, that is still known for it's clothing industry, altough most of the actual production is nowadays performed abroad, or with toledan steel works or Murano's cristalry. Craftsmen performed all of the work involved on their craft: They knew how to design it, how to build it, how to decorate it, and were responsible for selling it to the final costumer.
With industrial revolution, however, all of this changed. Craftsmen were not seen as an efficient mean of producing money and delivering goods an services in a resource efficient way, and labor was split among several workers, who didn't own whatever they made anymore. It was not a craft, but a mere job of repetition, that brought no pride to it's performer. The good being produced was not his, but belonged to whomever owned the factory.
This was good from a capitalist point of view: More goods were being produced, at a cheaper price, maybe even, of a better quality (debatable point). But the pride derived from making it was gone.
But this was not the result the capitalist aimed for, just a minor subproduct. What the capitalist wanted to do was to make labor cheaper. Instead of needing a genius craftsmen, that costed $1000, he could do ten times the work with 100 monkeys that costed $5 each. The craftsmen had to know it's craft, the monkeys, with help from machines could be almost brainless.
Software might be on the same path. Technology is slowly stabilizing. Right now it is not imperative to change computer every two years, as it might have been when significant breaktroughs in usability were being achieved. Changing from monochrome to color, or from no mouse to mouse, or from no sound to sound is far more exciting than just adding memory to be able to run the lates game. Besides, other than the gaming community, processor hungry genetic coders and freaks, most people use PCs for word processing (writing letters), spreadsheets (adding columns of numbers), e-mail and internet, which are more than covered (despite what latest windows sales people might say) by today's machines.
This non obsolescence that is just starting to attack (or benefit) PCs has been a companion for a while for bigger commercial applications, because of increasing power of machines, and high costs of migration. Companies can't afford to be changing their technological infrastructure every two years. Maybe not because of the cost of development itself, but because of the cost of teaching their monkeys how to use their new tool, with the learning curve that it involves.
Thanks to this, commercial applications have been done in the same way for a while now (and, in some market niches, will still be done in the same way for a while). The problems the programmers of such applications have to face are the same as three, four, ten years ago, so they know how to deal with them. The problem is not about "what to do" or "how to do it", that is already known. The problem is how to do it faster, cheaper, more productive. So, the solutions are the same as the ones that the industrial revolution brought: bring machines to help you and specialize labor, so that you can use a cheaper workforce to perform tasks.
In this case, however, machines are already there. You need to make programming faster and cheaper, so that a graduated rocket technician is not needed to program. The solution is simple: Bring hyperspecialized tools, that make programming code generation simple for the group of tasks you perform, and start churning out software like a madman.
Under these scheme of things, the strain is on resources and communication, instead of being on the technical side, so it becomes an issue of logistics and business administration, instead of being an issue of technical management of technology boundaries. You will still beed rocket scientists, to make the hyper specialized tools, but then maybe, you might cut a deal with a company of rocket scientists ( or one that has taken this "divide and conquer" technique one step further and can make hyper specialized tools with baboons, instead of monkeys) and buy the technology.
This might produce money, but it doesn't really produce knowledge, in the same way that fabricating bottle caps does not really produce knowledge. This is not bad, it is just a way of doing things but, are the aims of "producing knowledge" and "producing money" (in that order) contradictory? Let me pray they are not.

Sunday, March 02, 2003

yee hay

Last friday I received great news: I've been awarded a "magna cum laude" degree, to be received on march 15th. The selection process included an interview with four deans from school, where I was asked wheter or not I watched TV, and what was that thing called "Linux Day" that was t be held at the school (shamefully I couldn't atted, but that gave mean opportunity to talk to such an important audience about open source, and even to give them pointers to "Free as in Freedom")

So far I've been working for about ten days, so it is to soon to say anything, but, up until now, it's been great. I have been working with the AS/400 and for me, mostly a PC kind of guy, the whole concept of interface on the AS/400 has come as a complete surprise.

Whatever is said here might be completely wrong, as I have only started to grasp the ways and uses of the machine, so this is just a preliminar opinion
From what I've seen these machines have a shell that can accomplish, through a command, any task that can be performed by choosing things in text menus and selecting options, which is the normal interface used to interact with the machine. There is a batch like language, called CL, but I have not yet seen pipes or redirections, or the concept of standard output (it looks like it is a sequential spool, instead of a stream).

From where I'm standing the homo corporativus is a very different species from the homo universitarius, in some aspects it is more evolved, while on others it has just emerged from the primal soup. The main difference, however, is the driving force; for the homo universitarius it is the sense of "finishing"; ending the career, ending the semester, ending the current job, finishing reading or whatever. The homo corporativus, however, seems to have lost this characteristic through a series of mutations, so whatever is not done today, will be done tomorrow, or the next day. In a way, corporativus has more time, and consequently, lives in less of a hurry.