For novel ideas about building embedded systems (both hardware and firmware), join the 40,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.

By Jack Ganssle

The Two Things

Published 6/16/2004

Glen Whitman, Assistant Professor of Economics at UC Northridge, has been playing a game called "Two Things." Ask your pals what the two most important things are about their profession. The answers will vary widely, but the results are interesting. He documents his sometimes serious, sometimes amusing results at http://www.csun.edu/~dgw61315/thetwothings.html.

Under computers, his first entry is: The Two Things about Binary Systems:
One: 0
Two: 1

So what are the two things about firmware? Here's a stab:
One: It's the most expensive thing in the universe
Two: It's becoming the most ubiquitous thing in the universe

What are the two things about embedded systems?
One: They're everywhere
Two: They all have limited resources, unless they don't

How about engineering? Glen gives us:
One: It's all about tradeoffs.
Two: The tradeoffs are all about money, time, and quality.

And:
The Two Things about Civil Engineering:
One: Dirt + Water = Mud.
Two: You can't push a rope.

My suggestion for The Two Things about digital engineering:
One: If it's not a one or a zero, call an analog engineer
Two: Digitize everything as soon as possible

Here's another attempt at The Two Things about digital engineering:
One: It's always a software problem
Two: If it's not a software problem, it can be fixed by changing the code

Two Things for analog engineering:
One: Digital is really analog in disguise
Two: You can do anything with enough op amps and 10k resistors

Computer Engineering is a relatively new college major spawned entirely by the microprocessor revolution of the 70s. These folks bridge the hardware, analog and firmware worlds. With each of their three feet in very different camps they experience the best of computers, with perhaps the highest frustration levels. Two Things about computer engineering:
One: Nothing beats making lights flash and motors whirl.
Two: Fuse everything

The Two Things about programs:
One: They all start out with bugs
Two: After they're fixed, they all have bugs

Glen addresses managing PCs. The Two Things about Computer Maintenance:
One: Disk scan, defrag, virus scan, update drivers, wait 30 days, repeat.
Two: Never download Kazaa.

And that's pretty good advice.

Obviously it's na‹ve to condense complex subjects down to a mere pair of attributes. But it sure can be a lot of fun. What are the 10 Things about people?
01: Those who know binary
10: Those who don't

What do you think? What are The Two Things about our profession?