Thursday, September 21, 2006

Puttin' Putin in Perspective

INSEAD -- who unselfconsciously dub themselves "The Business School for the World" -- release some very interesting publications across a diverse range of topics that I find quite fascinating.

Quite a few of their publications are available for for free viewing and download, including one of the latest:

Vladimir Putin - Evaluating the 'CEO of Russia Inc.' ... Is it sensible to evaluate the leader of a former superpower using many of the same the same criteria one might use for a leading CEO? Manfred Kets de Vries, the Raoul de Vitry d'Avaucourt Clinical Professor in Leadership Development, and Affiliate Professor of Entrepreneurship Stanislav Shekshnia certainly think so. Vladmir Putin, "CEO of Russia Inc.," is in the last of the three-phase "life cycle" described by the authors. But what might all that mean for his country and the world?

It's rather a good read, even for a geek like me. From now on, I'll be looking at leaders in all sorts of organizations and pondering how far they've progressed in their "three phases" and how long they've got left!

I encourage you to read this report. To further whet your appetite, here's the first paragraph of the Introduction:
In studying leaders in the business world—our particular area of expertise—we have foundthat many CEOs, on attaining the position of top leadership, go through a three-stage “lifecycle”: a distinct period of entry, a period of consolidation, and a period of decline. The period of entry is typically characterized by a high degree of uncertainty as the fledgling leaders struggle to understand what their new position entails, deal with the legacy of their predecessors, and search for business themes that will take the organization forward. Once their power is consolidated, the environment in which they operate is understood, and the key themes are identified, the new CEOs concentrate on pursuing these themes to make their mark on the organization. In most instances, it is during this period of consolidation that they reach their highest performance and build a solid foundation for the organization’s future. In the final stage, the period of decline, CEOs begin to lose their interest in doing new things (though they typically retain their interest in preserving their power base!), often becoming myopic, complacent, and stuck in their ways. They may even engage in paranoid thinking, fearful (frequently with good reason) that others are trying to get rid of them. Leaders in this end stage can become real threats to companies they have led successfully for many years. A dramatic example is the first Henry Ford, who rejected all proposed changes to the famous Ford Model T for 20 years, in spite of changing consumer tastes and a shrinking market share. Ken Olsen, the former CEO of Digital Equipment Company (a firm that no longer exists), was likewise out of touch with market reality, a failing that contributed to the decline and fall of his organization.
And then a bit later on:
Putin does not seem to be functioning well in his leadership role—but why? Given his many positive qualities and the favorable timing of his ascendancy, why has he failed to fully fulfill the relatively simple expectations of his shareholders? The answer is simple: he has not done what effective CEOs do.
So, do go read the article: Vladimir Putin - Evaluating the 'CEO of Russia Inc.' ...

The mysterious and pervasive "Rule Number 10"

Jason Mawdsley has written nicely about Coding Conventions: Make Them Agile ... These are simple rules to let your team deliver high-quality code as efficiently as possible.

Jason's agile coding convention is as follows:
  1. Make your code look like other people's code.
  2. Use the simplest design possible.
  3. Don't re-invent the wheel.
  4. Document your code.
  5. Keep security in mind.
  6. Work in increments.
  7. Work in iterations.
  8. Have your code reviewed.
  9. Don't stay blocked.
  10. (You'll have to read the article to find out)

Thursday, September 07, 2006

Shades of Blue!

I reckon that I must be a blue person -- not blue as in "depressed" but just that it's a color that I really like a lot.

But in fact I like just about every color in the spectrum in one way or another. For example, my waveski (surf ski) is bright yellow and red.

I don't hink that I'll like the default appearance of Windows Vista, because it seems to be moving away from the default (blue) Windows XP color theme.

I just stumbled upon Blogthings today, and my first experiment there came up with the following:

You are Ocean Blue

"You're both warm and practical. You're very driven, but you're also very well rounded. You tend to see both sides to every issue, and people consider you a natural diplomat."
(or so it claims)

What Color Blue Are You?

- - - - - - - - -

There's much more for your own blog or website there, just one other example being: How Cynical Are You?

Tuesday, September 05, 2006 Browser Share - as at September 2006

Click on the chart to see a larger image.
This is the latest in an occasional series. The chart shows visits to (in Australia) and its image/backup site (in the USA). ... Fairly typical of visits to many other sites, I'd expect.

Firefox is hanging in there at around 20% (plus or minus 5% from day to day).

Internet Explorer has dropped right back to around 80%. A small percentage of this is for the brave or the crazy (like me) who are running under IE7.

Monday, September 04, 2006

Sorting out the "quick from the dead"

Well, maybe not so much "dead" as "dawdling" (the fast versus the slow) ...

Dr. Dave Marshall (Senior Lecturer in the Cardiff School of Computer Science and Deputy Director Communication Research Centre) has some excellent programming resources online here including C, Perl and Java programming to mention a few.

I was tickled by his quite nice demo of several basic sorting algorithms: generic bubble sort, bi-directional bubble sort, and quick sort. They're very nicely demonstrated via a Java applet inside your browser.

Click the image to see an enlargment.
You'll' find his sorting demos at so go there and take a gander!

TIP: for best effect, click on the three charts in rapid succession, going from left to right.

UPDATE - 14 September 2006:
Here's another site showing the above trio of sorting algorithms (and this article points out that the three Java applets were written by the famous James Gosling.) ...

Sunday, September 03, 2006

Developing & selling highly profitable unmaintainable software stuff

Variety is the spice of life, as they say. Here's a selection of insightful articles about developing (software) products that are profitable and will keep you in empoyment for years!

  • Five Habits of Highly Profitable Software Developers - examples are in Java language, but the principles should apply universally ... "Software developers who have the ability to create and maintain quality software in a team environment are in high demand in today's technology-driven economy. The number one challenge facing developers working in a team environment is reading and understanding software written by another developer. This article strives to help software development teams overcome this challenge."

  • How To Write Unmaintainable Code (an amazing piece of work by by Roedy Green) - "In the interests of creating employment opportunities in the Java programming field, I am passing on these tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes. Further, if you follow all these rules religiously, you will even guarantee yourself a lifetime of employment, since no one but you has a hope in hell of maintaining the code."

    By the way, Roedy has lots and lots of other good stuff such as Popular Utilities (free and shareware) and continuing the "unmaintainability" theme: Tricks In Offbeat Languages

  • They Write the Right Stuff - about software developed by the 'on-board shuttle group,' a branch of Lockheed Martin Corps space mission systems division. "As the 120-ton space shuttle sits surrounded by almost 4 million pounds of rocket fuel, exhaling noxious fumes, visibly impatient to defy gravity, its on-board computers take command. Four identical machines, running identical software, pull information from thousands of sensors, make hundreds of milli-second decisions, vote on every decision, check with each other 250 times a second. A fifth computer, with different software, stands by to take control should the other four malfunction. ... But how much work the software does is not what makes it remarkable. What makes it remarkable is how well the software works. This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved.

    At the on-board shuttle group, about one-third of the process of writing software happens before anyone writes a line of code. NASA and the Lockheed Martin group agree in the most minute detail about everything the new code is supposed to do -- and they commit that understanding to paper, with the kind of specificity and precision usually found in blueprints. Nothing in the specs is changed without agreement and understanding from both sides. And no coder changes a single line of code without specs carefully outlining the change.

    This careful design process alone is enough to put the shuttle organization in a class by itself, says John Munson of the University of Idaho. Most organizations launch into even big projects without planning what the software must do in blueprint-like detail. So after coders have already started writing a program, the customer is busily changing its design. The result is chaotic, costly programming where code is constantly being changed and infected with errors, even as it is being designed."

    Isn't that mind-boggling, eh? I only wish some of my clients would be willing to undergo (that is, pay for in elapsed time and hard cash) anything even vaguely approaching that! It sure beats being given the software requirements over the telephone or on the back of an envelope -- I'm sure some of you too have been given no more than this to kick off some jobs.

  • Finally, once you've developed your perfect -- or perfectly unmaintainable -- software, you'll want to make your fortune from it, and to kick off your sales process Eric Sink has some good tips: How to get people talking about your product (and there''s lots more really sensible, worthwhile material on Eric's site).