How well do you sleep at night?

What are the nightmares that cause software engineers to wake up in the middle of the night in a cold sweat? Is it a bad dream about finding their prized toy collection with all of the action figures out of the box? Maybe it’s a mythical sink hole that swallows up the town of Riverside, IA (the future birthplace of Captain James Kirk)? Or, could it be something work related?

Industry Survey Results

DISTek recently surveyed engineers, engineering managers, and engineering executives from companies that manufacture off-highway equipment on the technical outlook for the industry. In the survey we asked respondents about their largest concerns with future on-vehicle technology. The largest concern, selected by 3 out of every 4 respondents, was reliability.

Debugging: The Little Things

Not the offending USB drive

Recently I was working on some embedded software that someone else wrote. I needed to add some new functionality to the code, and I was working through how the existing code was working. In particular, the software was parsing a file, and the previous developer had done a good job of sending out diagnostic messages to the terminal, and the code was parsing a line of the file as a bad record.

Well as a good little developer, the first thing I did was

Don’t Let Technology Leave You Behind: The Pager Disaster

Don't get caught behind the technology curve

When I was a kid my parents bought my grandparents a VCR one year for the Holidays. To the best of my recollection that VCR was used a total of 5 times; each of those times was when we would visit my grandparents and my dad would pop in a video we had recorded for my grandparents to watch, or if he wanted to “tape” the game he was watching to view again later when we took the Maxwell or TDK cassette home.

Now that I’m older I am witnessing this same lack of desire to adapt to new technology with my mom who is great at so many things…except technology. She still has a 7 year old flip phone and a DVD/VCR combo player – of which she only uses the VCR portion.

My point? Technology can be scary and hard to adapt to, so at some point many people just say “No world, you go on, I’m comfortable right here.”

Advantages of Using an Agile Development Process for Embedded Software

desk

According to Wikipedia, Agile software development is “a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.” While there can be some variability among Agile organizations, there are a few important definitions which generally hold true. A Potentially Shippable Increment (PSI) is a 2 month period of time in which the team will commit to delivering a set of features to a customer.

Using Google Test to Unit Test C Code

While the Google Test framework is designed for C++ it can be used to create a framework for C unit testing. Reference the Google Test documentation for more details on the capabilities of Google Test.

The Framework

These framework files are included in any C unit test project.
•A header file to define macros to interface from C++ to C – gtest_c.h
•A header file to provide C interfaces to the Google Test comparison functions – Gtest_helper.h.
•A helper file to interface Google Test comparison function to C – Gtest_helper.cc