Saturday, November 30, 2002

Este año se les acabaron los juegos, los 12 juegos


A man had three sons. When the older one bacame an adult he said to his father:

- Father I must go find my destiny, what is your advice?

And the father said:

My son you must always look far ahead, to the future, to the horizon.

Then the son left, when he went through the forest he was always looking at the future, at the horizon, but he wasn't seeing the obstacles at his feet, and so he tripped with an hole in the path and couldn't make it to his destination.

A few years later the second son said to his dather:
- Father I must go find my destiny, what is your advice?

And the father said:

Son, you must be at all times aware of the obstacles in your path, so that you won't trip on them.
Then the son left. When he went through the forest he was always aware of the obstacles ahead, so he didn't slip. But hea reached a point where he no longer knew where he was, and he got lost, and he couldn't get to his destination.



I am like the second son, and right now am at the point where I am los and I don't know what to do. The point where you find out that the product was not as the advised it in the brochure. At this point everybody asks me "So... what are you going to do with your life" the thing is I really don't know. So, where do you see yourself in ten years time?

Hell I don't know, I can't even see myself in three months time. I know I like studying, but I know I don't like it here anymore. I know I want to go abroad, I know I can't pay for it just yet.

Tuesday, November 26, 2002

Peters' Law


Peters' Law says:
All actions, in order to be completed will consume whatever time is available for performing them. This means that if you have a whole afternoon to do one simple task that one simple task will become so complicated as to take all the available time.



That explains why a retired old lady spends three hours sending a postcard and an occupied businessman uses only three minutes in accomplishing the same task. What is that that happens to us, that makes us less efficient in face of more time to perform a task?



I think is our own subconscious, deceiving us. Since we know we have more time we might, for example, do a little web browsing, instead of going straight to work. As Seneca put it It is not that we don't have enough time, is that we waste too much (that is a rough translation of a sign written on a street wall in 73rd and Caracas)

Sunday, November 24, 2002

What to love about coding?



A few years ago, when I started studying Systems Engeneering I knew I was doing it because I liked coding. I tought I loved making programs, but the thing is, I loved coding, just for the pleasure of it. Now, five years later, and about to graduate I can say I still do, I still like to code.



Due to this attitude towards coding I chose software development as an area to develop my undergraduate's thesis on. The thing is that now, when the thesis is on it's final stage I don't really think that the area where you can enjoy coding the most is software development.



The software industry has been trying to turn the software development into a repeatable process. In order to do so it has been filled with guidelines, diagrams and documentation. Even as this happens, I have not seen the first piece of software that can be thorougly understood in it's current state without looking at the code or, at least, at traces from the code. (Javadoc documentation is a good example of what I refer to as "traces" from the code, in opposition to, let's say, a Class diagram).



I don't know if it is a problem on the tool or on the engineer, but I still think that the process of producing detailed diagrams and documentation for a piece of software takes a lot more time and effort than it is worth. It is true that a great understanding of the problem at hand, but if the same time that was spent on the diagrams is spent on looking at the code the understanding can be much deeper.



I am not saying that we have to stop documenting, much on the contrary, documentation is an absolute must of a software development process, but the documentation must be produced in a way that it is not a burden to maintain, because if it is, then it will eventually not be maintained due to time constraints. Because you can always say "the code is working, so don't worry, docs will be there next week". This is the problem that arises when documents are conceived in a development cycle different from that of code.



In a word, I'd rather spend an hour looking at a well built piece of code, that can almost document itself than look through a myriad of diagrams that cannot be assured to be consistent with the working version of the software.



I don't mean to abolish diagrams or artifacts like that completely, I'm just saying they are tools used to approach a problem. You draw a diagram on a napkin, it helps you understand a key part of a problem, you throw it away. It might be important to maintain component diagrams or physical diagrams, but not much more, if the code is well written, that is.



Take the example from Linux's kernel. It has no diagrams and it hardly contains any comments, but a lot of people have worked on it and it fullfills it's job perfectly

Thursday, November 21, 2002

Live to fight another day
Sunday I made it. I ran like 14km, all in one stroll. That is, on Avenida Boyacá from Pepe Sierra to 170th street, forth and back. This time, however the distance was much smaller and I had already gone through the same route several times. Anyway, it is really nice to arrive after several hours, totally tired, but proud of oneself.

Friday, November 15, 2002

On technologic dependency
Yesterday Alejandro and I gave a talk on basic Unix. More than a talk it was a trivia-like contest. We had prepared the questions in about 55 slides (by the way, congrats to OpenOffice.org for sucha a great tool) in a floppy disk. However there was no computer in the classroom to show the slides on. If the exposition had been a few years back we would have had the questions on billboards or cards, but since it is 2002, we didn't have them. The best we could do was to go, find a computer, download the text file we had the questions on, download it to yet another diskette and print it. It is amazing how we have become dependent of technology, connectivity and networks. Just two three months ago, I connected to the internet through dial up, now that I have "upgraded" to a permanent connection I am dependent of it and need to be online every minute I'm working on the computer. The funny thing is, that was not such a pressing need when I didn't have the connection.


Despite all that the talk went great, we divided the class in two groups and started giving away points for each correct answer, all in all, it was fun.

Sunday, November 10, 2002

Sporty sunday
Today I went jogging. I was just going to do like 5km but some guys talked me into attemping to run 20. The idea was to go from Avenida Boyacá up to Colegio Nueva Granada, all in all about 10km uphill, and back. I managed to make it the way up, but about 25% into the way down I just collapsed: I wasn't able to run anymore and had to take a taxi on the way down. (As Shan-tzu puts it, you have lo live to fight another day)


That leaves a challenge open for next week: I have to be able to make it forth and back on my own feet.
Party, party, party
Another of Alejo's inspired parties took place yesterday, along with some friends, seven of us. We went to Chia. We stayed like four hours at the place and danced about three and a half of those. It was one of those "dance till you drop" kinda things. It is cool to do those every once in a while, to just let everything go and dance.

The place was really crowded, the ceiling was covered with egg cases and every once in a while tiny - and not so tiny- drops of *something* fell on your face. It is curious with places like these: It it is not completely filled up with people the party is not good. It is as if we liked to be crowded.

Saturday, November 09, 2002

High bandwidth network


Today I had to install the software we've been working on with Mauricio and Jorge for the thesis. The only thing I had to do was copy a few jar files in the correct places, deploy an ear file and leave. However, if it seems simple it won't be. There was no Internet access on the machine and no access to any machine that was plugged to the net. To make a long story short, it took me about an hour and a half to get the files and about 10 minutes to do what I was supposed to do with them. It is funny how, even with all the network connectivity we have nowadays the answer to moving file from one place to another in this particular case wasl snicker net, where a guy tossing 3.5" diskettes around increases the speed of the connection by walking faster and the bandwidth by carrying more disks .
Just came back from giving a class, and my computer was busy. Seems like gaming has replaced coding, at least for tonight. We have a brand new demo, it is hard to admit it but there is still a reason to keep a Windows partition around.

Thursday, November 07, 2002

After several weeks of cooking up the idea I have finally decided to start blogging as a way of exorcising whatever gets inside.