Embedded productivity and engineering skills

I was at some trade show wandering around with a cynic who was pointing out that every booth advertised productivity improvements. How many improvements we’ve made to productivity, and this has gone on for years” he said,“By now, we must be able to make incredible things with no effort.” In the embedded [...]

Synchronization blues

Synchronization is hard in real-time applications, but not as hard as people imagine. If you follow a few simple rules you can make it manageable.

Never force priority and mutual exclusion to fight each other. You can’t mean “Task A is more important than TaskB” and “TaskB should be able to lock TaskA out of [...]

Class and lack thereof

From the always readable Joel on Software:
Attention, FogBugz competitors: a court has ruled that you are welcome to continue to advertise your products when people search for FogBugz on Google. I actually don’t think there’s anything wrong with this although it does show a certain lack of class, mm, don’t you think? You don’t see [...]

Engineering cool factor

One of our customers wrote to us today and said that he was impressed with how enthusiastic our engineers are about our software and customer applications. And why not? Real-time software is core technology for so many incredible applications.

Here’s Mr. Brunel in front of the Great Western and the Pratt [...]

Soft real-time and software costs

Imagine designing an automobile with a motor that runs really well on a demonstration frame, with none of those heavy panels or safety devices, and only tested on a short flat track. Imagine an engineering team designing an automobile or truck deciding that since high torque is only needed rarely, they don’t have [...]

What is software security for

The natural tendency of an engineer is to assume that “security” is an engineering issue that reduces to a type of reliability. And the Common Criteria security document outlines
a solid engineering approach (written in astoundingly opaque bureaucratese) for assuring software is designed, developed, and tested to limit security failures. But “software security” means different things [...]