The Hundred Years War -

The Hundred Years War


The war grinds on. After a century the tally stands at 30 million dead worldwide, with no end in sight to the slaughter. There's a disabling injury every 14 seconds; 100 lives a day are lost. Industry cranks out the machines of death, manned by citizen-soldiers on the field of battle.

No, I'm not reciting a history lesson about Europe in 1453. This is here and now, in the US and abroad. The battlefields are the highways; the instruments of war the automobiles manned by sometimes crazy, sometimes distracted, or sometimes just confused ordinary people. They range in age from 16 to far-too-old, their driving skills might be comparable to a NASCAR professional or perhaps are just being learned. Overconfidence abounds, yet at 100 feet per second, with cars nanometers from each others' bumpers, even a glance in the mirror may spell death.

We accept the carnage because well, I really don't know why. In real wars ordinary citizens are often unwillingly drafted or co-opted into the battle by the power of the state. But on the roads it's different. We ” each of us individually – make decisions to drive too aggressively, change lanes suddenly, run that red light or zip along the right shoulder at 30 MPH when the highway is gridlocked.

Various technology solutions have been presented, such as vehicle data recorders. No one seems very happy about this approach, other perhaps than the lawyers, despite the fact that similar black boxes have made air travel the safest form of transportation ever invented.

The recorders turn accidents (though tragedies) into positive experiences. Investigators root out the cause of the crash and change something so that particular problem never occurs again. Realistically, there are so many car crashes that I suspect no agency or company could ever keep up with the volume of data. And since nearly all stem from stupid driver behaviors, which so far seems immune from change, I doubt that recorders would make the roads any safer.

Every parent of teenaged drivers lives in fear of that late night call. I've tried to give mine training, advice and wisdom, but have told them the most important tool they have, if they should chose to employ it, is reflection. Most drivers are an open-loop system, accumulating bad habits over years, rarely thinking about the implications of these habits. Instead, close the loop. Stop and think about your practices. Change something. No one wants to die, and none of the road insanity gets you to your destination any more than a few seconds faster.

I give the same advice to engineering groups. Stop and think about your development efforts. What crazy practices do you use to ship the system? Do you start in a spirit of professionalism and then descend into the 7 circle of hacking hell as the deadline looms? Are comments accurate or, in change frenzy, do you “forget” to update them as the code changes?

Feedback stabilizes systems, be they electronic systems or human. We all develop bad habits. Stop and reflect, from time to time, about your development (and driving!) practices. Bad habits are like entropy ” they accumulate constantly unless one works hard to keep things in order.

What do you think? How do you avoid developing bad habits?

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

Being a patient, considerate and law-abiding driver generally reduces ones chances of being the cause of a serious auto accident. Being a patient, considerate and procedure abiding developer generally increases ones chances of termination.

Management wants results. (It doesnt concern itself too much with what they are.)

– Dave

My solution to accumulating bad habits is skill re-learning. Programming environments come and go, best practices change, etc. Every year, I get a textbook on the latest fad in software and read it.

– Brad
VP of Engineering
Solidwave Software

Bad habits developing or not are completely left to the individual.

Just want to point out that we spend more than 60% (maybe much more) of the time we are awake with professional colleagues. So, when do we develop social ethics? Also, IMO technology and practices are only ENABLERS for a solution and NOT THE SOLUTION ITSELF. Ultimately, discipline and adherence to good practices are left to the “human” individual.

– Saravanan T S

I think the best way is to add an electronic lane systems + Black Box that records lane switches and any other kind of crazy driving. So when an accident happens, identify whose mistake it was and increase his Insurance and also his points.

For those who are concerned about privacy, Roads are public property.

The reason I am a strong advocate is because my friend nearly got killed in a Road accident because the other driver was drinking some beverage and did not see the stop sign.

– Sateesh K

There is, of course, only one solution to the problem: all vehicles should be self-driving. Until transportation is 100% automated, we will continue to suffer terribly. One of the reasons that we have not yet automated our vehicles has to do with the continuing software reliability crisis. The complexity of our software is hampered by our inability to create bug-free programs.

In this regard, we are not learning from our mistakes. Feedback has not helped. We are still basing our software construction methodology on an antiquated approach used 150 years ago by Lady Ada Lovelace to create the first computer program in history. I am talking about the algorithm. We have undeniable proof that our algorithmic programs are error prone. So why do we continue to base our software on the algorithm? Especially since there is another way to write code that is non-algorithmic.

My thesis is that, if we switch to a synchronous, signal-based approach, the problem will disappear. Only then will we be able to unleash the full promise of computer software: extremely complex systems that are guaranteed bug-free.

– Louis Savain
Software Engineer
Automated Transportation

Great article! I simply can't understand why we actually let dumb humans operate cars (or any other powered vehicle, for that matter). The fact is that automatic vehicles are (or can be) extremely safe. The problem is that our driving systems are adapted to human operators (i.e., roughly the same system people have been using for 5,000 years). We would have to completely overhaul the road system to make automatic cars viable. It wouldn't be particularly difficult if the political will were there–unfortunately, today's politicians think it's more important to invade oil-producing countries so that, er, we can maintain the existing road transport system.

– Tony

Jack, I was discussing this very topic with a college student not long ago, and we both expressed utter amazement at how few developers (of all disciplines) and development organizations employ this simple paradigm. For both of us closing the loop has been a rich rewarding source of inspiration and refinement in both our professional and private undertakings (including driving). Thanks for a great article!

– John Kennedy

I've always been of the opinion that one of the most insidious problems afflicting human beings is a complete lack of consistency. 3,000 people die in a particular incident, and everyone demands swift and severe retribution. 44,000 people die each year on America's highway's, yet no one will even consider the idea of enforcing, much less lowering, the speed limits.

– Harry Jones
Senior software engineer

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.