Pizza business vs. software engineering

by K. John Russell

I once attended a seminar given by a Vice President for a software development firm. He discussed the business principle time to market. Time to market means, simply, that the sooner a new product is ready for sale the sooner we can make money on it, and the more money we can make overall. We lose money when a new product takes longer to develop.

He used "starting a pizza shop" as an analogy, and he broke down time to market into what he called think time, production time, and distribution time.

Think time is when you plan out all the things you have to do just to get ready to make and sell the pizza: store front, ovens, employees…you get the idea. (This part of the software development process seems invariably overlooked or ignored.)

Production time is when you do everything you need to do to actually make and sell the pizzas: you hire and train your employees, you make a few test pizzas.

Distribution time is when you actually take orders and make and deliver pizzas.

The analogy and the concepts all sounded grand, but I felt there was something amiss: making a computer software program is nothing like making a pizza.To legitimize the analogy we'd have to say that we're making every pizza… from scratch. We grow our own wheat and tomatoes to make dough and tasty sauce. And we have a cow, too, for cheese.

Under these circumstances our think time is a nightmare. That's why we often skip it. The thought of having to sit down and plan out a garden that anticipates every option a customer might order is nothing any programmer I know wants anything to do with. Read More …

Sneaky calculations (aka Parasitic Computing)

The short version: Some computer scientists have found a way to get web servers to do calculations based on the error detection features of the TCP/IP protocol. There's no need to hack the web server or take advantage of some kind of bug or misconfiguration in the server. Simply because of the way the TCP/IP protocol works, the web server's error detection calculations will give a client information about a problem the client is trying to solve.

You can read the full article in the 17 Nov 2001 issue of Science News. Below is an edited/condensed version of the article. The full article also has as short description of how the TCP protocol does error detection.

Read More …

How many pixels in 35mm film?

Brad Templeton's discussion of 35mm resolution has some interesting points:

Really good shots (good lens, good film, etc) will have 20 million pixels (7000 pixels across the frame), but more typical shots with a decent SLR will have resolution around 10 million pixels (5500 pixels across the frame).

Digital cameras have a contrast range of 255 to 1. Most color negative film has a contrast range of 1000 to 1. Prints have a contrast range of 100 to 1. The human eye has a contrast range of 10,000,000 to 1 (because of your iris).

Back in April I made this post on visual acuity.

Now that's optimistic

In the "People" section of the 9.12 issue of Wired magazine, there's a short interview with Christine Peterson. She and here husband Eric Drexler are unabashedly pro-nanotechnology. So much so that they don't even save for retirement because nanotech will make money meaningless.

When Wired asked her how she'd like to be remembered, she answered,

"I want to be remembered as someone who's not dead."

Pointing the way for micro-tubules

Nano circlesAs reported in the 27 Oct 2001 issue of Science News, Japanese researchers have found a way to control movement of microtubules. They wanted to get the tubules to move around a circular track in one direction, but the tubules would move randomly. Their solution? Simply point the way.

More precisely, etch arrowheads into the circular track, and the tubules will move in that direction only. A good example showing that building micro-machines requires a different way of thinking compared to building macro-machines.