Quote of the day

I am not alone in thinking this and here is the quote to prove:

The scary thing about platforms is that there are always some that seem to outsiders to be fine, responsible choices and yet, like Windows in the 90s, will destroy you if you choose them. Java applets were probably the most spectacular example. This was supposed to be the new way of delivering applications. Presumably it killed just about 100% of the startups who believed that.

— Paul Graham

--> continue reading →

Plato’s parable of the State

Reading this excellent book called “The Republic” written by Plato reportedly in circa 380 b.c. amuses me to no end. This passage is simply irresistible:

I perceive, I said, that you are vastly amused at having plunged me into such a hopeless discussion; but now hear the parable, and then you will be still more amused at the meagreness of my imagination: for the manner in which the best men are treated in their own States is so grievous that no single thing on earth is comparable to it; and therefore, if I am to plead their cause, I must have recourse to fiction, and put together a figure made up of many things, like the fabulous unions of goats and stags which are found in pictures.  Imagine then a fleet or a ship in which there is a captain who is taller and stronger than any of the crew, but he is a little deaf and has a similar infirmity in sight, and his knowledge of navigation is not much better. The sailors are quarrelling with one another about the steering –every one is of opinion that he has a right to steer, though he has never learned the art of navigation and cannot tell who taught him or when he learned, and will further assert that it cannot be taught, and they are ready to cut in pieces any one who says the contrary. They throng about the captain, begging and praying him to commit the helm to them; and if at any time they do not prevail, but others are preferred to them, they kill the others or throw them overboard, and having first chained up the noble captain’s senses with drink or some narcotic drug, they mutiny and take possession of the ship and make free with the stores; thus, eating and drinking, they proceed on their voyage in such a manner as might be expected of them. Him who is their partisan and cleverly aids them in their plot for getting the ship out of the captain’s hands into their own whether by force or persuasion, they compliment with the name of sailor, pilot, able seaman, and abuse the other sort of man, whom they call a good-for-nothing; but that the true pilot must pay attention to the year and seasons and sky and stars and winds, and whatever else belongs to his art, if he intends to be really qualified for the command of a ship, and that he must and will be the steerer, whether other people like or not-the possibility of this union of authority with the steerer’s art has never seriously entered into their thoughts or been made part

--> continue reading →

Stainless Steel Rat

It is refreshing to hear someone speak out for the necessity of crime. Last time I heard that was from James Bolivar DiGriz, “The Stainless Steel Rat” of Harry Harrison. This time it comes from nobody else than Whitfield Diffie, speaking at the Australian Information Security Association’s National Conference 2012 in Sydney this week. I remember I always sympathized DiGriz and I am apparently not alone there as Whitfield Diffie speaks out about the philosophy of crime’s usefulness:

“I’m inclined to think that society needs crime,” he said, explaining that in the event of a crime taking place offline, such as a home robbery, it creates jobs for police, judges, lawyers, insurance companies.

Yeah, all right, as long as we do not get caught!… -->

continue reading →

Conceptual integrity

I always admire people that can summarize your thinking into a simple and elegant phrase. This is akin to software design, reflecting the beautiful harmony. Behold:

“I will contend that conceptual integrity is the most important consideration in system design. It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas.”

–- Frederick P. Brooks, Jr, “The Mythical Man-Month”

--> continue reading →

Agile philosophy is flawed

I am convinced that agile software development methods the way they are used now do not work. They are actually a prescription for failure. The problem is that Agile philosophy fails even before starting.

Agile is described in many different ways but when you think about what it tries to achieve you must come to the unavoidable conclusion that it tries to provide a method to develop software with cheaper workforce. That’s the whole idea behind it. The business expects to get the software developed with not-so-brilliant programmers who can be paid a fraction of what the really good people would be paid. And then the good programmers can be also pressured into accepting lower pay for their work.

Well, it does not work. Oh, it does work to pressure the salaries of programmers, that it does. But the software becomes developed in a piecemeal fashion and it becomes really difficult to keep to a single encompassing coherent design. You must use really brilliant programmers to be able to keep the system well-designed, sleek and coherent. Unfortunately, this contradicts the original goal of not using brilliant programmers. And thus the system turns into a patchwork of vaguely connected functions and pieces.

To make a parallel, I think when I see a mechanical product labeled “Made in China” I hardly can expect some brilliant German engineering in it. The same goes here, when I see something coming out of Agile, I do not expect any brilliant engineering either. Agile is the source of cheap, faulty and disposable software.… -->

continue reading →