Monday, April 28, 2003

We see the rise of agile software-development methods. Agile methods are a good thing because they address the social dynamics of small teams, for which the Rational unified method is silent. [Booch]

Good movies, bad movies and life going on

Good movies: Not movies, concerts really. Last friday I went to Alejo's to watch his recently acquired DVD from a David Gilmour concert. For those unfamiliar with him, David Gilmour is (was) Pinkfloyd's guitar, bass and one of the voices. Since I have the same hearing sensibility as a retired gunman I had failed to notice how many instruments were involved. It was amazing for me to see that a great piece like "shine on you crazy diamond" is indeed a one man show 75% of the time. Floyd rules, or, as Sergio likes to put it; manda.
Bad Movies: Saturday I got dragged into a film theather to see by far the worst movie I have spent my money on: A piece of shit called "The Dream Catcher". It is a mixture of "Alien", "Breakout", "The sixth sense" and "Independence Day". I cannot conceive how somebody could even try to mix aliens, farts and paranormal abilities. Please don't go see that.
Life goes on: Today I witnessed that invention organizational fellows like to call an audit. It was a mixture of medieval terror, quiet resignation and theather, all in one place, all in one day. Luckily my mortal soul was spared this time. On other news, tomorrow, for the first time, I'll get to meet face to face that multiple headed creature called "the client".

I want to study here

Wednesday, April 09, 2003

Carpe diem?
Pon amor en las cosas que haces, y las cosas tendrán sentido. Retírales el amor y se tornarán vacias. San Agustín
After about two months on the workforce I have to say that I've learned a lot, not only on the technical side, but on the personal one, and several things puzzle me right now:

  • Since I work at a relatively big company (on colombian standards) there is people from almost all age groups. Most of them have been with the company for about two years, but there are some of them that have been there since the dawn of times. Most of them see their jobs as something boring you have to do during the office hours so that friday can come and you can go drink, or you can pay the bills to sustain your wife/husband and kid/s. I don't want to think about work in this way. It is true, there are certain things that are a pain, but on average is a challenge and it is fun., and in the moment it starts not being it, it is time to move on to something else.

  • I don't know how you can live without hopes, or with extrinsecal ones, when all you have to expect is for the years to pass and for you to obtain your jubilation, so that you can go and enjoy all that you lost because you were working. I don't want to find myself just waiting for that, so that life is just an infinite sequence of boring days, where day n+1 is just like day n, and I'd rather be anywhere else.

Thursday, April 03, 2003

Unix Zen

  • Rule of Modularity: Write simple parts connected by clean interfaces.

  • Rule of Composition: Design programs to be connected to other programs.

  • Rule of Clarity: Clarity is better than cleverness.

  • Rule of Simplicity: Design for simplicity; add complexity only where you must.

  • Rule of Transparency: Design for visibility to make inspection and debugging easier.

  • Rule of Robustness: Robustness is the child of transparency and simplicity.

  • Rule of Least Surprise: In interface design, always do the least surprising thing.

  • Rule of Repair: When you must fail, fail noisily and as soon as possible.

  • Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.

  • Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.

  • Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.

  • Rule of Separation: Separate policy from mechanism; separate interfaces from engines.

  • Rule of Optimization: Prototype before polishing. Get it working before you optimize it.

  • Rule of Diversity: Distrust all claims for “one true way”.

  • Rule of Extensibility: Design for the future, because it will be here sooner than you think.

And shame on me, for reading Raymond. taken from here

Tuesday, April 01, 2003

A few quotes to go around with
(Taken from here)

Q: What's the difference between a terrorist and a methodologist?
A: You can negotiate with a terrorist.

Software should produce a tool to solve a genuine problem. Software is not an end in itself.
An elegant design is great but if the system doesn't achieve anything worthwhile then that's not really success.