Computer Guy

Computer Guy
Sunset at DoubleM Systems (DBLM.com), Del Mar, California

Tuesday, January 1, 2013

The Laws of Computing and Software Development




The Laws of
Computing and Software Development



The speedup gained from running a program on a parallel computer is greatly limited by the fraction of that program that can’t be parallelized.

Anderson's Law (Law of Computability)
Any system or program, however complicated, if looked at in exactly the right way, will become even more complicated.

For every scientific (or engineering) action, there is an equal and opposite social reaction.

Adding manpower to a late software project makes it later.

When a distinguished but elderly scientist states that something is possible he is almost certainly right. When he states that something is impossible, he is very probably wrong.

The only way of discovering the limits of the possible is to venture a little way past them into the impossible.

Any sufficiently advanced technology is indistinguishable from magic.

Any piece of software reflects the organizational structure that produced it.

If you don't know what your program is supposed to do, you'd better not start writing it.

The most ineffective workers are systematically moved to the place where they can do the least damage: management.

The user base for strong cryptography declines by half with every additional keystroke or mouse click required to make it work.

Ellison’s Law of Data
Once the business data have been centralized and integrated, the value of the database is greater than the sum of the preexisting parts.

As the rate of erroneous alerts increases, operator reliance, or belief, in subsequent warnings decreases.

The more highly adapted an organism becomes, the less adaptable it is to any new change.

The time to acquire a target is a function of the distance to and the size of the target.

There does not now, nor will there ever, exist a programming language in which it is the least bit hard to write bad programs.

If you put tomfoolery into a computer, nothing comes out but tomfoolery. But this tomfoolery, having passed through a very expensive machine, is somehow ennobled, and no one dares to criticize it.

Bandwidth grows at least three times faster than computer power.

As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one.

The cost of computing systems increases as the square root of the computational power of the systems.

Hartree’s Law
Douglas Hartree
Whatever the state of a project, the time a project-leader will estimate for completion is constant.

The time to make a decision is a function of the possible choices he or she has.

The time to make a decision is a function of the possible choices he or she has.

Inside every large problem is a small problem struggling to get out.


A task always takes longer than you expect, even when you take into account Hofstadter’s Law.

Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know.

smart(employees) = log(employees), or “No matter who you are, most of the smartest people work for someone else.”

In cryptography, a system should be secure even if everything about the system, except for a small piece of information — the key — is public knowledge.

Eric S. Raymond
Given enough eyeballs, all bugs are shallow.

People under time pressure don’t think faster.

Lubarsky's Law
There's always one more bug.

In network theory, the value of a system grows as approximately the square of the number of users of the system.

Yes, you can; but what is the goal?

M. McCafferty
Do Good Now, make it better later.
(Sell the software you have, including the bugs; improve with the profits.)

The number of transistors on an integrated circuit will double in about 18 months.

If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.

Software is a gas; it expands to fill its container.

The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time

The explanation requiring the fewest assumptions is most likely to be correct.

Osborn’s Law
Don Osborn
Variables won’t; constants aren’t.

Be conservative in what you send, liberal in what you accept.

Suggested by Joseph Juran, named after Vilifredo Pareto
For many phenomena, 80% of consequences stem from 20% of the causes.
Work expands so as to fill the time available for its completion.

Pesticide Paradox
Bruce Beizer
Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual.

In a hierarchy, every employee tends to rise to his level of incompetence.

The utility of large networks, particularly social networks, scales exponentially with the size of the network.

The cost of a semiconductor chip fabrication plant doubles every four years.

Sixty-sixty Rule
Robert Glass
Sixty percent of software’s dollar is spent on maintenance, and sixty percent of that maintenance is enhancement.

The time it takes your favorite application to complete a given task doubles with each new revision.

For just about any technology, be it an operating system, application or network, when a sufficient level of adoption is reached, that technology then becomes a threat vector.

Ninety percent of everything is crud.

You cannot reduce the complexity of a given task beyond a certain point. Once you’ve reached that point, you can only shift the burden around.

Weibull’s Power Law
Waloddi Weibull
The logarithm of failure rates increases linearly with the logarithm of age.

Software gets slower faster than hardware gets faster.

Every program attempts to expand until it can read mail. Those programs that cannot so expand are replaced by ones that can.

Thursday, December 27, 2012

The Laws of The Universe

In my indefatigable search for Truth and Beauty, and mostly as they relate to business, I study the Laws of The Universe, with particular emphasis on some of the least understood laws, to wit: 
The Laws of The Universe
This Law: States this principle:
Clarke's First Law  When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
Clarke's Second Law

The only way of discovering the limits of the possible is to venture a little way past them into the impossible.
Clarke's Third Law

Any sufficiently advanced technology is indistinguishable from magic.
Diffusion of Innovation, The Law of 
2.5% innovators, 13% early adopters, 34% early majority, 34% late majority, 16% laggards.
Dilbert principle

Companies tend to systematically promote their least-competent employees to management (generally middle management), in order to limit the amount of damage they are capable of doing.
Dolson Principle
The higher the management level, the easier the job.
Dunbar's Number
150 is the number of people we can maintain in our relationships.
Dunning–Kruger effect
A cognitive bias in which unskilled individuals suffer from illusory superiority, mistakenly rating their ability much higher than average. This bias is attributed to a metacognitive inability of the unskilled to recognize their mistakes. Actual competence may weaken self-confidence, as competent individuals may falsely assume that others have an equivalent understanding.


Finagle's Corollary to Murphy's Law 
Anything that can go wrong, will—at the worst possible moment. 
Foster's Law
The only people who find what they are looking for in life are the fault finders.
Hanlon’s Razor
Never attribute to malice that which is adequately explained by stupidity.
Hofstadter's Law
It always takes longer than you expect, even when you take into account Hofstadter's Law.
Jevon's paradox

The proposition that technological progress that increases the efficiency with which a resource is used tends to increase (rather than decrease) the rate of consumption of that resource.


McCafferty's First Law


Do Good Now.  Make it better later. 

McCafferty's Second Law

Success increases as random events are minimized.
McCafferty's Shiny Object Corollary Just because you can, doesn't mean you should.

Metcalf's Law

The value of a telecommunications network is proportional to the square of the number of connected users of the system.
Moore's law The number of transistors on integrated circuits doubles approximately every two years.
Murphy's Law Anything that can go wrong will go wrong.
Occam's Razor Simpler explanations are, other things being equal, generally better than more complex ones.  Among competing hypotheses, the one that makes the fewest assumptions should be selected.
One Percent Rule


In an online community one percent of people will create content, another 10 percent will engage with it, and the remainder will simply lurk.



O'Toole's Corollary to Finagle's Corollary The perversity of the Universe tends towards a maximum



Pareto Principle (aka: the 80–20 rule, the law of the vital few)

80% of the effects come from 20% of the causes.
Parkinson's Law
Work expands to fill the time available for its completion.
Parkinson's Law of Triviality
The time spent on any item of the agenda will be in inverse proportion to the sum involved.
Peter Principle
Employees tend to rise to their level of incompetence.
Putt's Law


Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand.
Putt's Corollary
Every technical hierarchy, in time, develops a competence inversion.
Pygmalion effect, or Rosenthal effect
The phenomenon in which the greater the expectation placed upon people, often children or students and employees, the better they perform.

Snackwell effect

Dieters will eat more low-calorie cookies, such as
SnackWells, than they otherwise would for normal cookies.
Software, The Many Laws


Software development obeys only its own rules, and then only maybe.

Stock-Sanford Corollary to Parkinson's Law

Stuart's Law of Retroaction

If you wait until the last minute, it only takes a minute to do.


It is easier to get forgiveness than permission.

Student syndrome The phenomenon that many people will start to fully apply themselves to a task just at the last possible moment before a deadline.


Sturgeon's Law, aka Sturgeon's Revelation


Ninety percent of everything is crap.


Truly Large Numbers, The Law of 
Given a sample size large enough, any outrageous thing is likely to happen.

Monday, December 17, 2012

Rant: blame for typos


Have you noticed that some people put at the end of their smartphone/tablet email signature line a note about shifting the blame for typos to either autocorrect, or big thumbs/small keyboards?

I suggest that people are less than well served by dodging responsibility for typos. It kind of gives the impression that it might be typical behavior in dodging responsibility in other areas of their life/work.

Ideally, a person would want to give the impression that they willingly accept responsibility, and look forward to more, and that if there is some error made, then they want to know about it and will do their best to avoid that sort of thing in the future.

It's much better to completely omit that sort of thing in the signature.  The odds are that your email is error free if you take the time/care to look it over before you send it; and you should if it is to someone with whom you are doing business.  If the recipient is a friend, then it's unnecessary to mention it anyway, because they will understand. So, again, the blame-dodging is a less than optimum communication.


Friday, December 14, 2012

Advertising

Advertising may be described as 
the science of arresting the human intelligence 
long enough to get money from it.

Stephen Leacock


Half the money I spend on advertising is wasted; 
the trouble is I don't know which half.

John Wannamaker, 
father of modern advertising


Advertising is a tax 
for having an unremarkable product

Robert Stephens, Founder, Geek Squad



Unless you make yourself noticed and believed,
you ain't got nothin'.

Leo Burnett



The more informative your advertising,
the more persuasive it will be.

David Ogilvy



Thursday, December 13, 2012

Radical Transparency


Imagine you got to work on Monday and you knew exactly how you had performed the previous week, and could look up how everyone else was doing. Or a manager could go online, any time of the day or night, and see how their team was performing, who deserved a bonus, who was lagging, even if those people were customer service staff, or engineers", said the introduction to a research article inHarvard Business Review.

Radical Transparency drives business execution.
According to the research, “radical transparency”, the idea of everyone knowing everything, can be a major driver of increased organizational performance. The authors state that the biggest reason companies fail is because people lose focus and get off track. However, by making everyone’s performance visible, this helps to remove distractions and enables people to concentrate on what is important.

Reading this “new research” made me smile. At RESULTS.com we have known about this for years. We even developed our own Business Execution Software to provide this exact solution for running our own company, as well as for of our fast growth client firms.

Fairness drives employee engagement.
Neuroscience shows that our brains work better when we don’t feel the need to hide our performance or cover up our mistakes. Better to rip the Band-Aid off and confront reality straight away, rather than sneak around hoping we won’t get found out.

We also perform better when our brains aren't worrying about whether someone is getting ahead of us because they are better at politicking and buttering up the boss. You know; those charming people who talk the talk, but do not walk the walk. With radical transparency each person’s performance is obvious and objective.

It turns out our brains are strongly motivated by a sense of fairness. When everyone’s performance is made visible, we can clearly see which people deserve praise and recognition, and this removes any suspicion of favoritism. Now the people who consistently perform well get rewarded - not those who are good at getting others to think they perform well.

Autonomy drives employee engagement.
At the beginning of each quarter, every employee should agree what their Goals andKey Performance Indicators are with their managers. The performance targets should be achievable and agreed. The person should then be given the autonomy to figure out how best to achieve their goals. This makes people feel more in control over their own destiny.

With autonomy comes accountability.
Yes, it’s up the individual to figure out how to achieve their goals, but there can be no autonomy without accountability. Each week their key tasks should be discussed and agreed with the manager, recorded, and checked off the following week to ensure consistent progress is being made.

Why progress matters.
Don’t underestimate the importance of showing tangible progress (“small wins”) every step of the way. (Business Execution Software makes this easy).

Studies show that people are happier and more creative when they are held accountable to make continuous progress on their important goals in a series of steps. Research from the book the "The Progress Principle" shows that the most powerful motivating factor for employees is seeing tangible progress while performing meaningful work.

The truth will set you free.
With radical transparency, everyone can see on a dashboard how everyone on the team is performing, and all employees get treated according to their performance. Yes, radical transparency can create winners and losers, and that environment can be tough for people who are not "A" players. Some leaders seem concerned that their people will become disengaged when confronted by the reality of their performance.

I’ve got news for you. It’s a fact of life. We measure performance in school. We measure performance in sports. Would you really watch sports if no one kept the score? Would the coach keep players on the team who are not performing? Of course not.

Why should your business be any different? Are you really doing your team a favor by carrying people who just show up and don’t perform to the agreed standard?
Radical transparency is a technology trend that is pervading all aspects of our lives; from sharing our lives through social media, to having our location tracked by our mobile devices every minute of the day, to advances in wearable technology that measure our health and fitness in real time.

Radical transparency is coming to your workplace as well. I recommend you get on this trend and master these business execution practices now, before your competitors beat you to it.

(from Results.com)

Wednesday, December 12, 2012

Customer Development Diagram by Steve Blank

It doesn't look simple, does it?  
You may need to spend some time with this diagram, 
but it will be worth it.
See the link for the diagram!



Wednesday, December 5, 2012

State of the Web (annual report)

Mary Meeker is a partner at Kleiner Perkins VC firm.
She does a great presentation each year on
The State of The Web.
Last night she presented her findings at Stanford. 

Click here for the slide presentation.