Blog | Shared | Projects | Info
Browsing posts tagged with: Quotes
My final thesis for my first University degree was about automated software testing and how it can be implemented at a company. While doing my literature review I stumbled across this beautiful Zen-like explanation why software will always contain bugs.

Thus spake the master: "Any program, no matter how small, contains bugs."

The novice did not believe the master's words. "What if the program were so small that it performed a single function?" he asked.

"Such a program would have no meaning," said the master, "but if such a one existed, the operating system would fail eventually, producing a bug."

But the novice was not satisfied. "What if the operating system did not fail?" he asked.

"There is no operating system that does not fail," said the master, "but if such a one existed, the hardware would fail eventually, producing a bug."

The novice was still not satisfied. "What if the hardware did not fail?" he asked.

The master gave a great sigh. "There is no hardware that does not fail," he said, "but if such a one existed, the user would want the program to do something different, and this too is a bug."

A program without bugs would be an absurdity, a nonesuch. If there were a program without any bugs then the world would cease to exist.

- Geoffrey James, The Zen of Programming
It's RailsConf time and of course people started blogging about it. I love this quote from Chris McAvoy:

"The Rails Optimization session was great. It solidifies my long held belief that if you're going to have an optimization talk, try and get a German to do it. There's something about benchmarking that begs to be explained in a German accent. Stefan Kaes runs http://railsexpress.de, and is clearly into benchmarking and streamlining software. I have three pages of notes from his talk. Stefan was very critical (in a good way) of Rails, and is clearly committed to making big performance improvements."

Yep, this sounds like a German developer :)
I am a big fan of Ward Cunningham's quote "What's the simplest thing that could possibly work?". It is not as easy to follow as it sounds. Just today I found a nice example.

I regularly update the software which comes with every ThinkPad. The update tool looks pretty cool at first sight. It is simple, reliable and just gets the job done. Well, not exactly. Today, I wanted to clean my harddrive and discovered this folder called drivers where the update tools stores the updates. The folder is now 1gb big and stores only drivers which are already installed. So I began to suspect that the download update tool compares my local folder with currently available updates on their servers. A quick test confirmed my assumption. What does it mean? It means that I cannot get rid of the garbage because otherwise the automatic updates will not work anymore.

What about using a file for storing the information about already downloaded software or even better ask Windows which driver and software versions are currently installed?
I am a software engineer so it is only logical that I have a natural interest in outsourcing or to be more precise to find out what is needed to secure my job. I recently listened to a podcast with Kent Beck, the inventor of extreme programming (XP). He was asked what he thinks about the future of XP and replied something interesting about the companies in India.

"its primarily the driving forces in the developing countries because they have to find some way, some low capital way to gain a competitive advantage. [...] talked about the Indian outsourcing and they said these Indian companies will do anything to deliver on time and it was said as if they were cheating somehow to do that."

Why is this interesting? Because lots of people in Europe are not able to change their habits. They still do not feel the pressure to embrace change and accept techniques like agile software development. On the opposite the companies in the outsourcing countries do not care about how they are doing there work. They have to find a way to be as cost-efficient as possible. If XP is doing the job then they will choose it otherwise they will choose something else. And the companies in Europe? Instead of trying to catch up they usually only blame their competitors.