Improving Wetware

Because technology is never the issue

The Rugged Software Manifesto is not a Parody

Posted by Pete McBreen Tue, 29 Jun 2010 01:14:00 GMT

It turns out that I was mistaken, the Onion did not write the Rugged Software Manifesto, or at least if they did InfoQ got taken in as well.

But it still sounds like a parody even if they are serious…

Rugged takes it a step further. The idea is that before the code can be made secure, the developers themselves must be toughened up.

The InfoQ article is not a complete waste of time though, there has been some conversation sparked by the parody, but Andrew Fried seems to have taken the idea in a new direction with his condensed version with just three points:

  • The software should do what it’s advertised to do.
  • The software shouldn’t create a portal into my system via every Chinese and Russian malware package that hits the Internet virtually every minute of every day.
  • The software should protect the users from themselves.

The first point is obvious and does not really require stating except to those developers who are not aware of authors like Gerald Weinberg.

His second point is again obvious, if you are building any software, you should know what the libraries you are including do. Well, Duh!

His third point is just plain wrong, and shows the usual arrogance of developers. Protect users from themselves is not an attitude I would like to see on my teams. Yes, protect users from stupid programmer mistakes, but the kind of arrogance shown in protect users from themselves leads to the kind of problems that fly by wire aircraft have had, notably the Airbus that did a low level pass and continued in level flight into trees and more recently shutting off a warning alarm that released the brakes causing the plane to slam into a wall.

Overall, it still sounds like a parody, but it is getting to sound like a very sick parody, more like graveyard humor.

Wisdom from Neil deGrasse Tyson

Posted by Pete McBreen Fri, 09 Apr 2010 04:33:00 GMT

The Onion has written a software manifesto...

Posted by Pete McBreen Mon, 01 Mar 2010 02:07:00 GMT

I think that the Rugged Software Manifesto has to be a parody.

I am rugged… and more importantly, my code is rugged.

Ok some of the statements are reasonable,

I recognize that software has become a foundation of our modern world.

but overall the whole thing is so over the top that it has to be a parody.

I am rugged, not because it is easy, but because it is necessary… and I am up for the challenge.

So Much For "Don't Be Evil"

Posted by Pete McBreen Sun, 04 Oct 2009 02:14:00 GMT

No Thanks Google

How Do I Disable Sidewiki?

Comments are deliberately turned off on this blog, but now Google wants to enable commenting via Sidewiki so that anyone can put comments directly in view while others browse what I have written.

NOT a good idea.

As Dave Winers says my Website Is My Space

Possible way to disable Sidewiki

Google site states “Sidewiki currently does not support comments over internal or SSL (https) encrypted pages.” So that might be a temporary fix - making the entire site SSL, but again there is the word “currently” which means that it might at some point allow for comments on SSL pages….

Decentralizing social media

Posted by Pete McBreen Wed, 16 Sep 2009 01:28:00 GMT

Decentralizing social media s likely to become a hot topic.

Dave WIner has created RssCloud to enable more or less real time RSS updates and notifications, helping to decentralize the notification system. Twitter was an interesting model for a while, but it has demonstrated that it does not scale to a real flash mob. Sure it works well for large traffic volumes, but when there is a massive spike in traffic the centralized model is always going to be in danger of slowing down.

At some level high traffic is indistinguishable from a denial of service attack, sure the traffic is wanted, but if the servers cannot handle it, then the system exhibits the same behaviors that it would under a real denial of service attack - no new traffic gets through in a timely manner.

Lecturing Birds on Flying

Posted by Pete McBreen Fri, 04 Sep 2009 02:40:00 GMT

Lecturing Birds on Flying is another take on Nassim Taleb’s Black Swan idea, and Pablo Triana does a good job of explaining that a lot of what was supposedly solid theory around financial modeling, is actually not applicable in the real world.

It turns out that most models make the assumption that the probabilities that apply in markets are normally distributed (where anything beyond a three sigma event should be exceedingly rare), is incorrect and that the probability distribution has very “fat tails”, where a twenty-five sigma event is not unheard of. This work complements Nassim’s black swan book by restating the ideas in a slightly different way and by being written after another event that demonstrates that the markets do not have normally distributed probabilities.

The applicability to software craftsmanship stands out for me in the way that the models try to ignore the effect that individuals have on the market. The assumption is made that the actions of individuals are all independent, when it is blindingly obvious that this is not the case. Yes, the assumptions might work if the market was made up of lots of small players, but that is not the case. The markets only have a few players of any significance, the trades of any of these make the markets move, the small players make the random day to day noise, but the big players are what cause the problems - the too big to fail kind of problems.

Software Engineering is too big to fail

To get a good software disaster, you need the big ideas from software engineering that can influence lots of people to make similar mistakes on a project. The average level of software development is abysmal, most projects only succeed to the extent that they have one or two talented or experienced developers who manage to overcome the overall lure of failure.

Software projects should be built around the outliers that happen to be talented or experienced enough to succeed, but even then the sponsors should only bet as much as they can afford to lose. Nobody knows how to make massive projects successful - other than throwing money at it until it is politically acceptable to call the result successful.

The issues in software are different than in finance, but in both cases the underlying model of how the field works is incorrect, and the consequences of this mismatch between model and reality are what causes things to crash and burn.

We Don't Know How To Program?

Posted by Pete McBreen Tue, 06 May 2008 03:03:00 GMT

One to ponder: We don’t know how to program

File this under the same category as Jack Reeves The source code is the design - Yes I know that is not quite the title for the article, but that has always been the way I think about this article. The actual title is “What Is Software Design?”

Paul Johnson points out that there is no real process for software development because most of it is design and nobody really has a process for that, since it occurs in the heads of the designers. I would also add that it also occurs in the conversations between designers and other people, because sometimes it is external ideas that spark great designs.

Overall though there is no process, and just like other design disciplines, software development is best learned through apprenticeship to a great designer.

Some quotes that might be useful

Posted by Pete McBreen Sun, 28 Oct 2007 02:53:00 GMT

“The elementary rules of logic, that extraordinary claims require extraordinary evidence and that what can be asserted without evidence can also be dismissed without evidence.” Christopher Hitchens

“Wishful thinking is one thing, and reality another.” Jalal Talabani

“The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.” - Douglas Adams (1952 - 2001)

“It’s harder than you might think to squander millions of dollars, but a flawed software development process is a tool well suited to the job.” Alan Cooper The Inmates are running the asylum