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 here.
Under computers, his first entry is: The two things about binary systems:
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
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 are The Two Things about our profession?
Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges. Contact him at . His website is .Reader Response
– Some guy
The Two Things about Embedded System Design:
1: It's all about the hardware.
2: It's all about the software.
– John Patrick
The two things about development:
One: There are n ways to solve a problem
Two: You know n/1000 ways, other people the rest
– Maarten Verhage
One: The customer doesn't know what they want.
Two: You have to give the customer what they want.
– Mark Holdgrafer
1. Managers are not needed.
2. Management does not know.
1. Projects succeed w/o meddling managers.
2. Meddling managers can't manage successful projects.
– Jack D. Crack
What do you think are The Two Things about our profession?
10, Adapt or die.
– Steve King
The two things about software delivery:
1. If it was not delivered on time, it was QA's fault.
2. If it was delivered on time but had a bug, it was QA's fault.
– Ed Sankey
Two things about a software guy working in an analog/hardware company:
1. If it's not a schematic it's “just software”.
2. If an analog product fails an in-house factory automated test, there must be a bug in the test software.
– Alex Specker
Two things about software, according to mechanical designers:
1) Replacing a mechanical part never affects software
2) All it takes is “just a firmware upgrade”.
– Fredrik L
1. It's CSU Northridge, not UC Northridge.
2. Software is easy except for the special cases. Unfortunately, stopping and starting are special cases.
1.When a engineer say's it's not likely.(it wont happen).
2.Economics play a big part and budgets are not made of swiss cheese.
– fred barnes
Two things about distributed systems:
1. There are always race conditions.
2. Some race conditions cannot be resolved.
On designing large-scale distributed systems:
1. Model, simulate, model, simulate
2. Loop to 1.
– Bill Boyle
1. Seeing the big picture is essential.
2. The product succeeds or fails on the details.
1. The division between hardware and software is a fiction.
2. Know enough about everything to be able to understand the detailed answer from an expert.
– Forrest Wunderlich
1. Thinking only inside the Box for design/development/testing.
2. Presenting all Out of the box ideas to our customers
1. Add features 'on demand', build a fully configurable product.
2. Shrink code size, reduce component count.
– Monali Bhalerao
01. Never use 'goto'
10. goto 01
01. Under Pressure (Always!)
10. On Time (Ever?)
1) From the software guy: it's a hardware problem.
2) From the software guy: it's a software problem.
– Troy McVay
1. Just after you're “almost done” is when the real work begins.
2. Prolonged exposure to computers is not good for the mind or the body.
– Lester Burnham
SW Development phases:
1. Authoring/coding bugs
2. Defacing them into features.
1. It is a bug, only if customer sees it.
2. Special Feature: is a bug, that customer doesnot notice.
1. To have sales, product design must be market-driven.
2. Market research is usually as bad as the sales forcasts.
– Steve Addison
1) It is always software bug.
2) If it is not a software bug, work the software around or it will become a software bug!
1. You need to know more to implement less.
2. Never letting the customer know you are implementing less..the more the costlier!
1. PRIDE: It took an electrical/electronics engineer to design the PC.
2. DISMAY: No software/computer engineer will ever agree.
– Gautam Morey
1. “Creature feap” (or feature creap) happens.
2. Keep a bit in your back pocket.
– A.L. Devine
1. Recursion is bad. (See 2.)
2. See 1.
– Pedro Alves
10 truths about digital systems?
01: Systems seek their windows of vulnerability.
10: The hardware works, the software works, but the system doesn't!
– Peter Moss
1. Hardware problem, Replace it.
2. Software problem, Fix it.
1. Every manager needs developers.
2. Vice versa is not true always.
1. Successful projects are developed properly.
2. Failure projects are managed poorly.
1. Requirements are always unclear.
2. Deadlines are always clear.
1. The Watchdog will catch it.
2. To paraphrase the Latin “Quis custodiet ipsos custodes”, “Who watches the watchdog?”
– Ken Kelly