Skip to content


Think Horses, not Zebras

There is a popular quote in medical circles:

When you hear hoofbeats, think of horses, not zebras. — Dr. Theodore Woodward

“Zebra” is the American medical slang for arriving at a surprising, often exotic, medical diagnosis when a more commonplace explanation is more likely.1 What does this have to do with product development? Like the medical profession, we often diagnose problems — we call it debugging. Below are three recent cases where I would have been helped by applying this approach a little more rigorously.

Read More »Think Horses, not Zebras

The Technology Trajectory

See also a podcast episode where we discuss this topic.

Modern systems require the integration of technology, often from many sources. This can come in the form of processors, integrated circuits, operating systems, open-source software components, databases, messaging systems, cloud infrastructure, programming languages, build systems, frameworks, etc. All technology follows a trajectory — an example is shown below. The timeline may be short or long. Your usability threshold may be low or high, sloped right or left, etc. But the fact remains that most technology will eventually be replaced by something newer. We can debate whether or not newer is better, but the fact remains that time marches on.

Read More »The Technology Trajectory

Reflections on KiCad and EDA Tools

A recent interview with a KiCad developer prompted some reflection on KiCad and EDA (electronic design automation) tools in general. Below are samples of several PCB (printed circuit board) designs, created with KiCAD, and implemented as part of the SimpleIoT project in the last couple months.

The experience has been excellent. Above all, the tool is very fast, efficient to use, and stable. Schematic and PCB integration works well enough, and routing and copper pours are easy. Switching between inches and millimeters can be done on the fly. The KiCad library has many parts in it, and other organizations, such as DigiKey, Seeed, SnapEDA, and Ultra Librarian are also providing libraries. If a KiCad symbol/footprint for a part is not already available, it is relatively easy to create new symbols and footprints as needed. There is a good KiCad support forum. KiCad is a pleasure to use and production-ready for standard PCB designs.

Read More »Reflections on KiCad and EDA Tools