Schedules I – Bozos & Clowns

My post, They Say We Landed a Man on The Moon, resulted in a number of private conversations about schedules. Enough private chats; let’s light the fire and really get this discussion going. This is part 1 of a two-part discussion on schedules, scheduling, and adhering to schedules. Let me start by saying that schedules are as important […]

Read More

Patents and Copyrights and Sharks… Oh My!

It can be educational and stressful when an engineer goes through the corporate patent process for the first time. Some companies emphasize creating patents and some don’t. Some engineers work their entire career and never file a patent while others seem to be involved in a new patent almost monthly. As an engineer, not a lawyer, I […]

Read More

Firmware Disasters

First, an Airbus A330 fell out of the sky. Then two D.C. Metro trains collided. Several hundred people have been killed and injured in these disastrous system failures. Did bugs in embedded software play a role in either or both disasters? An incident on an earlier (October 2006) Airbus A330 flight may offer clues to […]

Read More

Dude! I just want my email

I have several computers and as a consultant often work at different locations. Because of this I tend to pick up my email using a web browser instead of one of the email applications. The problem is some of the email hosting services use accessing email as an opportunity to sell things. My browser recently declared “Completed loading […]

Read More

Thoughts on BCC’s, LRC’s, CRC’s and being experienced

Those of us that have been working in this field for a long time are referred to as ‘experienced’. Experienced is taken to mean that we have been doing this for long enough that we have experienced many of the problems common to embedded systems and thus know how to solve them. Although this is […]

Read More

Forked Dreams

I bought a fork the other day. It came in a plastic bubble that required the use of a chainsaw to open. After the bubble was opened I found I could not use the fork until I accepted the fork licensing agreement. The agreement was seven pages long and included the following: · This fork is leased, not sold. You […]

Read More

Do I have the technical skills to be a consultant?

My previous post on being a consultant addressed the issue of how to market yourself. Today I’ll look at something a little more prosaic – how can you tell if you have the necessary technical skills to be a consultant? This post was motivated by an email I received from Victor Johns who basically asked the aforementioned […]

Read More

Passed!

I was in the lab talking to the manager of the test team. A member of the team was running tests at a nearby workbench. As the manager and I continued our discussion we could see the test failing. Once, twice, three times it failed. On the forth try the test passed and the staff […]

Read More

Three byte integers

One of the enduring myths about the C language is that it is good for use on embedded systems. I’ve always been puzzled by this. While it is true that many other languages are dreadful for use on embedded systems, this merely means that C is less dreadful rather than ‘good’. While I have a […]

Read More

Division of integers by constants

An issue that comes up frequently in embedded systems is division of an integer by a constant. Of course most of the time we try and arrange things such that the divisor is a power of two such that the division may be performed by shift operations. However, all too often we have to divide […]

Read More