Popular Posts

Friday, August 27, 2010

Java concurrency guidelines

An extensive report on Java concurrency guidelines - by Fred Long et al. and published by SEI-CMU recently - can be found here.

Thursday, August 05, 2010

Eponymous laws

Eponymous laws are adages, laws, principles, theorems, etc. named after a person. Wikipedia has a fabulous list of such laws here.

A few from the above list (taken as is) that may be of interest to folks in software engineering:
  • Amara's law — "We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run."
  • Brooks' law — "Adding manpower to a late software project makes it later." Named after Fred Brooks, author of the well known book on Project Management, The Mythical Man-Month.
  • Campbell's Law - "The more any quantitative social indicator is used for social decision-making, the more subject it will be to corruption pressures and the more apt it will be to distort and corrupt the social processes it is intended to monitor." Named for Donald T. Campbell (1916 - 1996)
  • Classen's law — Theo Classen's "Logarithmic Law of Usefulness" - 'usefulness=log(technology)'.
  • Conway's Law — "Any piece of software reflects the organizational structure that produced it." Named for Melvin Conway.
  • Dilbert Principle — Coined by Scott Adams as a variation of the Peter Principle of employee advancement. Named after Adams' Dilbert comic strip, it proposes that "the most ineffective workers are systematically moved to the place where they can do the least damage: management."
  • Gall's law — "A complex system that works is invariably found to have evolved from a simple system that worked."
  • Gibrat's law — "The size of a firm and its growth rate are independent."
  • Godwin's law — An adage in Internet culture that states, "As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one." Coined by Mike Godwin in 1990.
  • Goodhart's law — "When a measure becomes a target, it ceases to be a good measure."
  • Kranzberg's First Law of Technology — "Technology is neither good nor bad; nor is it neutral."
  • Linus' law — "Given enough eyeballs, all bugs are shallow." Named for Linus Torvalds.
  • Murphy's law — "Anything that can go wrong will go wrong." Ascribed to Edward A. Murphy, Jr.
  • Pareto principle — States that for many phenomena 80% of consequences stem from 20% of the causes. Named after Italian economist Vilfredo Pareto, but framed by management thinker Joseph M. Juran.
  • Rothbard's law — "Everyone specializes in his own area of weakness."
  • Sayre's law — "In any dispute the intensity of feeling is inversely proportional to the value of the stakes at issue."
  • Wirth's law — "Software gets slower faster than hardware gets faster.
  • Dunning-Kruger Effect - Per this Wikipedia article: "... is a cognitive bias in which an unskilled person makes poor decisions and reaches erroneous conclusions, but their incompetence denies them the metacognitive ability to realize their mistakes. The unskilled therefore suffer from illusory superiority, rating their own ability as above average, much higher than it actually is, while the highly skilled underrate their abilities, suffering from illusory inferiority".