Illnesses of the U.S. economy

“For the last decade, the U.S. economy has suffered from a combination of hypochondria and iatrogenic illnesses. The hypochondria stems from spurious statistics and deceptive anecdotes and erroneous theories of American decline. It results in a period of fear and anxiety, propagated by the media, measured in public opinion polls, and enhanced by alarmist demagoguery. Iatrogenic illnesses are diseases caused by the doctor — in this instance by hundreds of economic Ph.D.s, government planners, and politicians who have responded to the pangs of hypochondria by inflicting thousands of real cuts on the entrepreneurs who make the economy go, as if, like the physicians of the Middle Ages, the experts believe in bleeding the patient as a way of restoring him to productive health.”

From The Spirit of Enterprise by George Gilder, written 25 years ago (1984).

Related post: Starting a business is not as risky as people say

Dunkin’ Donuts

Driving through New England a few weeks ago, I was surprised at how many Dunkin’ Donuts there were. According the store locator on the DD website, there are 294 stores within a 10 mile radius of the 02134 zip code in Boston. (I picked that zip code because I remember it from the Zoom address song.)

There are only two DD locations within a 10 mile radius of my office in Houston, and only five within a 50 mile radius. However, I’ve heard a rumor that more DD stores are coming to Houston.

Dunkin Donuts logo

Update (August 1, 2010): The rumors of Dunkin’ Donuts opening new Houston locations were false. In fact, DD has closed Houston locations. There are now no DD’s within 10 miles of my office and only three within 50 miles.

Update (October 26, 2020): There are a lot of Dunkin’ Donuts in Houston. I don’t recall when they opened the new stores. Sometime between 2010 and 2020.

Classroom violence, combinations, and permutations

A woman nearly became violent in a math class I taught several years ago.  I was going over homework problems and she wanted to know whether a certain problem was a “permutation” or a “combination.”  She knew how to solve two kinds of problems and was irritated when I told her that her homework problem didn’t fall into either of her two categories.

She insisted that I tell her which of the two techniques would solve the problem and nearly lost control when I repeated that neither would work. The rest of the students and I were shocked. A little nervous laughter broke the tension and we resumed going over the homework.

The angry student had implicitly come to believe that if a counting problem contains two numbers, n and k, there are only two possible answers: P(n, k) and C(n, k). Here P(n, k) = n!/(nk)! and C(n, k) = P(n, k)/k!. She was not alone. Students commonly believe this, and for good reason: most homework problems can be solved this way. For example, a club with 12 members can elect five distinct officers in P(12, 5) ways and they can select a committee of five members in C(12, 5) ways. It’s easy for an instructor or textbook author to think of dozens of homework problems in these patterns and unintentionally imply that these are the only possibilities. However, the following problem contains the numbers 12 and 5 but the solution is neither P(12, 5) nor C(12, 5).

Suppose you have a class of 12 students. Each student will receive one of five letter grades: A, B, C, D, or F. At the end of the course, you tally up how many students received each grade. How many different ways could the tally turn out?  For example, one possibility would be all A’s.  Another would be three A’s, four B’s, four C’s, no D’s, and one F.

The grade tally problem is representative of a class of problems that come up fairly often in application but that lie just outside what students typically learn. The general solution is written up in these notes on counting selections with replacement. The notes include the famous “stars and bars” explanation by William Feller.

By the way, there are 1,820 possible grade tallies for 12 students and five grades.

Related links

Termites and programmers

There are more termites in the world than there are elephants. Not only that, the total mass of the world’s elephants is roughly 1/1000 the total mass of the world’s termites. The big, visible animals, the ones that first come to mind, are a small fraction of the total.

Something similar is true of software projects: the big, visible projects, the ones people write about, are a small fraction of the total. Certainly there are more small projects in the world than large projects. And I imagine more programmers in total work on small projects than on large projects. I don’t have any hard numbers on this, and I doubt anyone else does. Most hard numbers come from large, visible projects! Who is going to do a census of all the little one-man projects that go unnoticed?

This post is a continuation of a comment I made as part of the discussion following my blog post on medieval software project management. My contention there was that most projects involve one developer, have no written requirements, and no external testing. That may not be correct, but I imagine it’s closer to the truth than assuming everyone works on projects with a dozen developers, formal requirements documents, and a staff of testers.

The first books on the “right” way to develop software codified the experience gained from working on enormous federally funded software projects. For example, the recommended practice was to spend huge proportion of the total effort in up-front planning. While that made sense when coordinating the efforts of thousands of contractors in the days of punch cards, it doesn’t make as much sense now. The agile software development movement began when people realized that the world had changed and the “best practices” of a previous generation were not optimal for smaller projects and vastly superior hardware.

Agile software development has replaced the best practices of the 1960’s in many organizations. However, there is still a strong tendency to think that small projects should use the same tools and techniques as large, enterprise projects. Most books are written about medium to large projects and many developers worry unnecessarily about scaling up their projects. (“What if I get a million visitors an hour to my website?” You should be so lucky. Worry about that after it becomes a remote possibility.) Few pundits give advice that scales down, that is, advice appropriate for small projects. I wrote about one exception in a previous post in which Rob Page suggests different methods for projects with a budget of less than $1M and projects with a larger budget.

More software development posts