Sunday, October 6, 2013

Won 3rd place Dare-to-Dream Medtech Design Challenge

I won third place in Medical Device + Diagnostic Industry magazine's Dare-to-Dream Medtech Design Challenge.

MD+DI is a magazine written exclusively for original equipment manufacturers of medical devices and in vitro diagnostic products.
A month ago, the editors of MD+DI created a medtech design contest, where we challenged you to design your dream device under the assumption that real-world challenges were non-existent.

3 Dream Devices Take Top Honors in Medtech Design Contest

In August, the editors of MD+DI asked you, the medtech community, to put on your creative hats and dream up a device that would tackle health-care problems both big and small.
You responded, submitting an array of innovative medical device concepts that addressed a broad spectrum of issues. The editors of MD+DI reviewed and debated the merits of each submission, and narrowed the field to 10 finalists. ...
Rounding out the winners' circle in third place is the Intracranial Cerebrospinal Fluid Pressure Regulator. The entry, submitted by Bob Paddock, was inspired by a personal experience; his wife committed suicide after an excruciating headache that resulted from cerebrospinal fluid leakage.
"The inspiration for this dream device obviously came from a very personal place," said Jamie Hartford, managing editor of MD+DI. "The Intracranial Cerebrospinal Fluid Pressure Regulator is a novel improvement over the standard of care for intracranial hypotension caused by cerebrospinal fluid leaks, a condition that can cause devastating headaches. I like that it uses wireless power transfer, which is really the next step for implantable devices."
Thank you for voting on my design. Hopefully it will get the attention of some medical manufacture...

See 1st and 2nd place winners here:

October 17th Debt Ceiling: Are you ready for the Greater Depression?

Unless you never read a newspaper, watch TV or turn on the radio, you know that the politicians in Washington DC are screwing up the world economy and don't even know it.

The only solution is to get rid of parties.

Remember the Wigs and Hat parties from your Civics Class in school? The Founding Fathers saw, in their own day, the dangers of parties over Statesmen.

When was the last time you were invited to one of their parties?

I don't vote based on parties. I vote on if I think the person will represent my interests. None of them do anymore.

None of them understand how the monetary system works.

That you think a green piece of paper has value is only a mater of belief that it has value, a mater of perception.

The perception that the Dollar is worthy of being the worlds reserve currency is also a mater of perception. The damage has already been done to the perception of the Dollar being worthy of holding.

Oct/17/2013 is when the US run out of the ability to borrow 'Money'.

The conspiratorially minded will think that is what 'They' want to happen so they can put 'Their' new system into place...

For the last few years I've detailed how the system works here in my blog:

Are you ready for the Greater Depression?

Saturday, September 28, 2013

Introduction to Physiotronics [TM]

This week I spent a bit of time with Dr. J. C. Chiao, of University of Texas at Arlington, learning about the field of Physiotronics [TM], which covers the area of Implantable Wireless Medical Devices and Systems. With the recent suicide of my wife due to chronic pain, from Intracranial Hypotension caused by leaking Cerebralspinal Fluid (CSF Leak), the information on An integrated wireless body network for chronic pain management. The system provides a wireless closed loop for neurorecorders to recognize pain signals and neurostimulators to inhibit pain is of great personal interest. Page two and six are the pain related ones.

Perception of pain requires propagation of Neural Signal Action Potentials (APs) via communication between neurons (Nociceptors) over Nociceptive afferent fibers (Aδ, C).

Dr. Chaio's group is currently doing animal trails, with rats, of their APRI [TM]: Automatic Pain Recognition and Inhibition which is a closed-loop On-demand feedback system that is measuring the actual nerve signals that transmit pain to the brain. To my knowledge all other current techniques use only subjective methods of those in actual pain, such as the Mosby Pain Rating Scale, or fiddling with the knobs of a TENS unit far to much as Karen often did. The closed loop system will allow for less pain medication to be injected, and being automatic allow the user to get on with having a life.

I do have one significant concern, due to my bias of not wanting to puncture the spinal dura, which is what causes Intracranial Hypotension, is currently the neural sensors require physical contact with the pain sensing nerve. I'm hoping this does not cause erosion of the dura leading to a CFS Leak. This may be nothing but my personal parainoia.

Also I'm not sure Dr. Chiao, and the medical field at large, understand the importance of the ratio encoding of the nervous system. Something I researched extensively when working with Dr. Flanagan on an update to his Neurophone [TM] years ago. You can read my old research here: Mind9.

This weekend is your last chance to vote for my device in the Dare to Dream Medical Device Contest: How do we make this device happen?. If you are having trouble voting in the device contest from a phone use this link and vote for #5, "Intracranial Cerebrospinal Fluid Pressure Regulator". See here for more information.

Sunday, September 22, 2013

Is consciences itself influencing your Embedded System?

This week [Sept. 20th 2013] I spent a fascinating evening with Bob Jahn and Brenda Dunne of the former Princeton Engineering Anomalies Research (PEAR) laboratory, who are now running the International Consciousness Research Laboratories (ICRL). Bob Jahn is Emeritus Professor of Aerospace Sciences and Dean Emeritus of the School of Engineering and Applied Sciences of Princeton University. He was founder and director of PEAR from its inception in 1979 until its closing in 2007, with Brenda serving as its laboratory manager. Bob is now Chairman of ICRL and Brenda serves as its President.

Bob and Brenda over 28 years investigated psi from an engineering point of view. That is, the primary subject of their human/machine experiments was not the human, but the machine. This shift in emphasis required different experimental designs based on the accumulation of very large databases from a relatively small group of human operators, manipulation of physical variables rather than psychological ones, and data processing and statistical techniques drawn from engineering practice.

The way we pose our questions can frequently affect the answers we get.

PEAR experiments involved many different types of Random Event Generators. For our discussion here I assume the REG is based on the decay of a radioactive element. It is impossible to know when a radioactive particle will be emitted from a mass. The unpredictably of this emission form a random event that is coupled into a logic system to record such events.

Lets assume we have a simple apparatus of three bins in which a collection of balls can accumulate. The bin on the left is called the 'low-side', middle bin the 'baseline' and the bin on the right is called the 'high-side'.

The Random Event Generator determines which of the three bins the balls will fall into. Over a long enough period of time, without any outside influences, the three bins will accumulate the same number of balls.

Now the fascinating part to me is that untrained operators (that is people that claim no special abilities of any kind) can influence which bin gets the most balls. It gets even more interesting that the device can be influenced remotely from the present, past or future! Time and distance are a construction of our current physical understanding of the world, however they are not a requirement of Nature. In their studies they did determine that this is a wave-based phenomenon and not particle based.

What I found strangest of all (as if this all isn't strange enough) is that the influence on the devices were gender specific. Males who could see the device had the best outcomes of getting the balls to fall into the bins of their choosing. Females regardless of their choice tended to have the balls fall into the 'high' bin. Bonded couples (that is dating or married heterosexual couples) had a seven fold increase in the balls falling into the bin of their choosing. Pairs of males or pairs of females had no better outcomes than an individual operator of the same gender.

PEAR accumulated billions of bits of data from the REGs of many types and found the same outcomes over 28 years of study.

So what do we do with this knowledge? At this point I have no idea. However maybe the next time the customer complains that something was not working perhaps we should ask them what they were thinking at the time of the anomaly...

Wednesday, September 18, 2013

Dare to Dream Medical Device Contest: How do we make this device happen?

On August 7th, my wife of twenty years committed suicide.

For twenty-four year she battled with Chronic Pain, that she ultimately lost to suicide, when she could take the pain from Intracranial Hypotension, caused by leaking Cerebral Spinal Fluid (CSF Leak), no longer.

I refuse to let Karen's death be in vane, see about donating her spine:

Now I need your help. I know some of you work in the medical device field. Now do we make this device happen (I know it is a slow process), see below?

[Bob you] have been selected as a finalist for the Dare-To-Dream Medtech Design Challenge. Please see the announcement and who else made the list at:

10 Finalists Announced For Dare-to-Dream Medtech Design Challenge (slideshow).

Editors have already scored the submissions. Now it's up to readers.

##** Get your friends, co-workers and family to vote on your entry. **##

The scores will be added to reader votes and a grand prize winner and two runners up will be announced Oct. 1.

This one is mine: Intracranial Cerebrospinal Fluid Pressure Regulator.

Vote on which of the ten designs you'd like to see become reality here:

If you are having trouble voting in the device contest from a phone use this link and vote for #5, "Intracranial Cerebrospinal Fluid Pressure Regulator":

When I saw this contest announced I thought it was a good way to get the issue of Intracranial Hypotension in front of the group of people, Nerds like me, that design medical devices, so that someday this group will have a solution to IH.

Wining the contest will get IH in front of even more people. However wining is that not important to me, I'll be donating the proceeds to IH research. What I want accomplish is getting IH in front of the people that can do something about it. I know some of you work in the medical device field. Now do we make this device happen (I know it is a slow process)?

See animation of pump here:

Karen's complete medical history is here

Updates on her facebook page:

Thank you for your help.

Friday, August 30, 2013

Reminder: "The Codebreaker": A film about Alan Turing-to youngstown state university, in two weeks

NASA's first-ever Software Engineering Handbook (SWEHB) released to the public

After years in the making, NASA has now released to the public their first-ever Software Engineering Handbook (SWEHB); NASA-HDBK-2203 (2013-02-28).

YouTube video showing how a person can navigate through the NASA Software Engineering Handbook to find software engineering related information. This video is about ten minutes long and can be used as a good training or awareness tool.

Each section of the SWEHB provides six areas of information per entry: the requirement, its rationale, guidance for implementation, notes for small projects, associated resources, and related lessons learned.

The 135 software engineering requirements for NASA projects are listed in a small, blue booklet, seventy pages long, called NASA Procedural Requirement (NPR) 7150.2 AKA NASA Software Engineering Requirements; View all pages in PDF. The new handbook is "A sort of hitchhiker's guide to the NPR". The handbook does not impose additional requirements; it is meant to be an assist.

Haley Stephenson explains how the SWEHB was developed as a collaborative Wiki in The Hitchhiker's Guide to Software Engineering at NASA. Many mangers do not seem to appreciate the value of using something like Dokuwiki to collaborate and document the development of a project. Without such documentation, years later, we are left to wonder "why did we use the red widget, rather than the better blue widget?". Perhaps they are afraid of Federal Rule of Civil Procedure Rule 26; Duty to Disclose; General Provisions Governing Discovery? See also Michael Barr's Dead Code, the Law, and Unintended Consequences.

Always keep in mind that Software never works in isolation. Safe Software is useless if the system as a whole is not safe. To that end make sure that NASA Systems Engineering Handbook (in PDF here) has a place on your desk or bookcase.

Related Documents:

Sunday, August 11, 2013

My wife's Suicide

I have worked with many of you over the years. You know that I'd occasionally be absent for that planed meeting and recently was out of town for a few months to get my wife treatment for a Cerebral Spinal Fluid Leak (CSF or CFSL); Intracranial Hypotension.

Her problems started with a car accident 23+ years ago and it was only last fall that she learned, through her own studies, that the cause of her debilitating headaches were from CSFL.

Your brain is supposed to be floating around in your skull as a protective shock absorber. A leak of this fluid cause the brain to start hitting things and yanking on things that were never meant to be yanked.

Ultimately she could bare the pain no longer and this Wednesday, Aug./7th/2013, she took her own life to stop the pain.

There are no words to describe the emptiness I fell right now. If you have a wife/spouse/significant other make sure you appreciate all the things they do for you, and let them know it. Also make sure you know how to do the important ones too. At the moment I have no idea how to pay the gas bill on the on line account she setup. Would you know the passwords if you had to take over this duty? Fortunately I do in this case as she was good at keeping some of them written down, but alas not all of them.

Her funeral is tomorrow, August 12 2013.

The research into CFS Leaks is only about ten years old and Karen had this problem for nearly 24 years. We only know two people that are known to have had it longer at 26 and 32 years.

I refuse to let Karen's death be in vane. To that end I am paying for a private autopsy to be done Monday morning Aug. 12th, even tho the cause of death is known. The reason for the autopsy is to have her spine removed. It will be sent to Duke Medical School to be studied in the hopes something may be learned to prevent an other suffer of this painful condition from taking the same route Karen did to end her pain.

Karen touched so many lives that the outpouring of sympathy and support has been amazing that I can not keep up with the number of people she helped. I will be updating Karen's web site with more details and resources to help others, and most of all educate doctors about CSFL.

It was always hard to get Karen to leave the house on time for any event. She may indeed be late getting to her own funeral...

Sunday, July 14, 2013

Bringing the movie "The Codebreaker": A film about Alan Turing-to youngstown state university. Free Viewing with Executive Producer Patrick Sammon Questions and Answers

The Northeast Ohio Professional Chapter of the Association for Computing Machinery (NEOACM), in association with the Youngstown State University's Student ACM and Computer Science Department is sponsoring a college screening of a drama-documentary on the life of Alan Turing titled CODEBREAKER. Patrick Sammon, the Executive Producer and Creator of CODEBREAKER, will attend this screening to introduce the film and provide Q & A afterward. This screening will be free and open to the public and will take place on September 12, 2013 at the Williamson Auditorium on Youngstown State University's campus. NEOACM is looking for sponsors for this event.

This drama-documentary is about the heroic life, death, and legacy of Alan Turing, one of the 20th century's most influential scientists, yet few people have heard his name, know his story, or understand his legacy. Turing was a British mathematician and logician, who made major contributions to mathematics, cryptanalysis, logic, philosophy, and biology. He also laid the foundations for computer and cognitive science, artificial intelligence, and artificial life thus laying the foundation for our modern society. Turing's crucial involvement in breaking the German naval Enigma code during World War II is accredited by historians in helping shorten the war by two years and saving millions of lives. Tragically, this great mind only lived 41 years. In 1952, British police arrested him for having a relationship with another man. Two years later, Turing committed suicide due to events surrounding his arrest.

Considering Turing's wide influence, this film is ideal to be watched by students and professionals of a wide variety of disciplines including computer science, mathematics, engineering, informatics, information security, biology, and history. During 2012, marked the 100th anniversary of Alan Turing's birth, universities, technology centers, and professional associations worldwide celebrated by honoring his legacy. This special screening will enlighten a well-varied audience and inspire them to value diversity in their profession and in our world.
It is our hope you will see the value of this screening on YSU's campus and will choose to serve as a sponsor for this important event or join as an advertiser!
If you have any additional questions or concerns, please do not hesitate to contact Tracey Hughes:

Saturday, July 13, 2013

Secure High-voltage Infrastructure for Electricity from Lethal Damage Act or SHIELD Act, to prevent EMP damage

Can your teenage children survive without Texting or Internet, for a day, a weak or years? Recent storms across the country have had many go without power for days, and a few people without power for weeks. Now consider what happens when the power goes out for years. The U.S. has 80,000 miles of extra-high voltage (EHV) transmission lines making up the backbone transmission grid that enables the long-haul transport of electricity for our nation, all of it acting as a giant antenna to pick up Electromagnetic Pulse (EMP) events. Such a EMP event could come from natural solar storms or a man made deliberate attack. "The first warning the U.S. would have of such a strike in progress would be the EMP..."

Congressional documents (see below) from the Committee on armed services indicate that a small nuclear device detonated 250 miles above northeastern Nebraska would have wide spread devastation throughout the continental United States, as well as Canada and Mexico.

As hard as it is to believe, Congress (113th Congress, 1st Session) actually tries to do something that makes sense on a very rare occasion. In this case they created H. R. 2417 "Secure High-voltage Infrastructure for Electricity from Lethal Damage Act" or the "SHIELD Act":

Secure High-voltage Infrastructure for Electricity from Lethal Damage Act or SHIELD Act - Amends the Federal Power Act [16 U.S.C. § 824a(c)] to authorize the Federal Energy Regulatory Commission (FERC), with or without notice, hearing, or report, to order emergency measures to protect the reliability of either the bulk-power system or the defense critical electric infrastructure whenever the President issues a written directive or determination identifying an imminent grid security threat.

Directs FERC to consult with governmental authorities in Canada, Mexico, and the Electric Reliability Organization (ERO) regarding implementation of emergency measures.

Prescribes: (1) implementation procedures; and (2) related cost recovery measures affecting owners, operators, and users of either the bulk-power system or the defense critical electric infrastructure.

Directs FERC to require any owner, user, or operator of the domestic bulk-power system to implement measures to protect the system against specified vulnerabilities.

Requires FERC to issue an order directing ERO to submit for approval, within 30 days, a reliability standard requiring implementation, by any owner, operator, or user of the bulk-power system in the United States, of measures to protect the bulk-power system against an identified grid security vulnerability (including a protection plan with automated hardware-based solutions [This could be creating a new market area for Embedded Systems]).

Directs FERC also to order the ERO to submit reliability standards to: (1) protect the bulk-power system from a reasonably foreseeable geomagnetic storm event or electromagnetic pulse event (EMP); and (2) require entities that own or operate large transformers to ensure their adequate availability to restore promptly the reliable operation of the bulk-power system in the event of destruction or disability as a result of attack or a geomagnetic storm or EMP.

Directs the Secretary of Energy to establish a program to: (1) develop technical expertise in the protection of electric energy systems against either geomagnetic storms or malicious acts using electronic communications or electromagnetic weapons; and (2) share it with owners, operators, or users of systems for the generation, transmission, or distribution of electric energy located in the United States and with state commissions.

If you are not familiar with the potential threat from Electromagnetic Pulse (EMP) events, I've have explained how it works and the decades worth of damage that could be caused in the past:

Some of the mega-transformers have a two year lead time, when they need to be replaced. 90% of consumed power passes through a high voltage transformer at some point. If these transformers fail, especially in large numbers, therein lies a very big problem. --- Power Hungry: Prototyping Replacement EHV Transformers EHV transformers, and the nation's electric grid, are on the Department of Homeland Security's mind.

Alas in typical politics can't just get something done in one try, H.R. 2417 has been handed off to the Energy & Commerce Committee, where it may take a EMP event to get it moving...You may want to speak to your congressional representative about this issue.

Not addressed is the issue of the cost to the 'user', which is you and I. In typical government overreach The Man could come and demand that you retrofit your house with EMP protection, at your expense. On the upside the massive and permanent failure of The Grid could finally result in things like Cold Fusion becoming a reality on a large scale.

Make no mistake here, far more than just The Grid will fail during a EMP event. Potentially every unprotected semiconductor, that is your fancy phone for example, could be damaged beyond any hope of repair. The hobby of Steampunk, that typically features steam-powered machinery, could suddenly go from a hobby of some, to the survival of the fittest for all in a EMP flash...

Congressional Committee on armed services EMP reports, and other government documents:

Sunday, July 7, 2013

They could not afford Linux?

I was recently walking down Beverley Boulevard in Beverley Hills, where I walked past a store that my bank account is unworthy of entering. In the store's window there was a very large multicolor LED sign. What the sign was selling was the Windows[TM] crash dialog, asking for a button to be pressed. I'm sure this is not what the store wanted to be selling. My first thought on seeing this was "This place can't afford a sign that uses Linux?".

It is unlikely that the buyers of that sign had any idea of what made it work, until it crashed. Makes me wonder if we should start labeling our products like "Linux Inside"? A quick web search even found a GNU/Linux distribution intended for digital signs.

While Linux has no fee that does not necessarily mean it has no costs with designing it into a product. A designer that has only ever used Windows may end up spending less money designing in Windows[TM] due to the learning curve that it takes to embedded Linux in a product.

Something that I find a bit annoying is that the majority of the world thinks the choice is either Linux or Windows[TM] when there are other options available. Commercially there is QNX, vxWorks. uCOS-II and uCOS-III from Micrium, and other commercial vendors. I'm partial to uCOS-II myself, as you find my name in the first edition of the book for helping getting it debugged and documented.

In the Free and open-source software (FOSS) area there is NetBSD that works, and can be made to work, on many kinds of odd hardware. I'd prefer it over Linux due to its non-viral license. There is also Minux-III, the original Minux being the direct parent of Linux. Inferno is also interesting if you need a large scale networked system for something like a medical office application.

What uncommon systems do you recommend? Do you even think such systems are always required for embedded devices? Sometimes a simple 'big loop' might be enough, or be preferable as it is easier to verify.

Monday, June 10, 2013

Bug of the Month Ends

For the last ten years Gimpel Software has posted a short stand alone program with an obscure C bug in it, with the challenge to the reader to figure out the bug.

Gimpel does this to show off their static analyzer Lint, the nitpickyest of all programs, something that I use almost daily. Lint exposes bugs by looking at a project as a whole, with multi-pass value tracking, rather than just as a file at a time as most humans would. Lint also can test for compliance with various guidelines such as MISRA or The Barr Group's Embedded C Coding Standard.

You can even input your own bugs to test short snippets of code that you might come across. For example the abysmal "if( A==B==C )" found in some of Freescale's USB stack code (I'll save the rant on poor manufacture example code for an other time).

I always looked forward to the challenge of the Bug of the Month, sadly it has be discontinued in favor of a new blog (May not be operational until late summer). I really don't like how everyone thinks replacing something useful with something akin to 'Social Media' is a good thing, how about you?

Colleagues over the years have complained that Lint puts out to many warnings. That is usually the case of Linting legacy code. Error messages may be turned off in layers. Get rid of the ones that will crash the system first, followed by the ones that might, until you get down to none or the ones you are willing to live with. Also with people trying to turn serious development in to some kind of game, see Development has become the game. Whats your Potty Mouth Score today?, make Lint a game. Can you write code that will give no Lint errors today?

The Cyborg Era Begins

Looks like I'm up for a trip to the library, just came across an intriguingly titled paper: The Cyborg Era Begins by Robert F. Service in Science in the area of Bioelectronics.

Abstract: Electronic components are invading the body. In the lab, cling wrap–like circuitry draped over the hearts of test animals can track the activity of each of the heart's four chambers and kill tissue that initiate potentially deadly arrhythmias. Other arrays penetrate brain tissue to monitor the abnormal nerve firing patterns in epilepsy or induce gene expression in the brain tissue of mice. One team has even made a 3D printed bionic ear able to pick up ultrasonic bleats that humans cannot hear. These early prototypes can't produce science-fiction cyborgs; most are used in medicine. But over time, expect devices that will make us better athletes and soldiers, or even improve our complexions.

Science 7 June 2013:
Vol. 340 no. 6137 pp. 1162-1165
DOI: 10.1126/science.340.6137.1162
Robert F. Service

M. Scott Veach and I have been discussing the ethics of replacing our organs so that we can live forever, or until the batteries run down at least, in the comments of my Brain Boost Button one step closer article from last year. Ahead of the curve again it seems...

Monday, May 20, 2013

TI Tech Day 2013

Texas Instruments held their fifth annual Technology Days 2013 in Cleveland this past Thursday [May/16/2013]. According to Jackie Filby, Technical Sales Rep for TI that covers my area 264 people attended this year, the largest crowed ever. If you did not make it check the TI calender for the Tech Days that may be in your area this fall.

The day had six parallel tracks running for during the day, two classes in the morning with a half hour between the classes to explore the exibits, and three sessions after a very good lunch. This years tracks were:

  1. Industrial and Sensing
  2. Signal Chain Design
  3. Power Supply Considerations
  4. Wireless Connectivity
  5. Embedded Microcontrollers
  6. ARM® Processors

The Cleveland presentations are available here. Just reading the presentations online lacks the interaction with the other participants and TI instructors. For example I got to discuss gas sensors research with someone I just meet, and discussed how to design a gas gauge for Alkaline Batteries with TI's Analog Field Applications Engineer Keith Keller.

Keith did a good job of condensing the vast area of battery charger design in to the hour of time he had available, especially concentrating on the safety aspects. Using a simple resistor to charge a battery like in the days of NiCads and Lead Acid are long gone. The other area Keith concentrated on was measuring the battery capacity. In the old days you could simply measure the batteries voltage to tell how long it was until it would no longer support a load, not so any more. Some modern Lithium chemistry's a 1 mV change in battery voltage can represent a 10% change in battery capacity. TI has brought to market Gas Gagues that measure the batteries impedance, which rises as the battery discharges, to give a true indication of remaining battery capacity. For completeness I want to point out the late Jim Williams of Linear Technology describes a battery test system based on impedance measurements in Application Note Power Conversion, Measurement and Pulse Circuits.

Art Kay, of Operational Amplifier Noise: Techniques and Tips for Analyzing and Reducing Noise fame present the courses Ten Little Analog Lessons and Parasitics in Precision PCB layout. After the session Art and I got in to a discussion on how to make noise rather than get rid of it. For example out of band 'noise' injected, in the form of Dither, into a A/D can improve the Spurious-free dynamic range (SFDR).

If you have not attended events such as these in the past, make a point of getting out of the cubical, as sometimes the people in you run into at lunch and in the hallways adds to the excitement of the day. For example I ran in to Andrew Girson president of the Barr Group, Michael Barr's new company (Mike is well known in the Embedded Space from his books, training and time as editor of Embedded Systems Magazine). Members of the Barr Group were teaching the Android Introduction class on the TI Sitara™ platform.

The other reason that will motivate you to go next year is the coupon at the TI EStore for any item on their selected tool list of about 50 items for $10. Note that is not $10 off, rather you get the tool regardless of its list price for $10. I picked up the $475 TMDSSOLARCEXPKIT - Concerto-based Solar Explorer Development Kit.

The only disappointment I had this year was that in the past there was a gymnasium sized exhibit area, with TI showing many of their products and independent supporting vendors, inductor suppliers as an example. This year the demos were a few tables in one of the hallways. Jackie said that they downsized this year and last due to budget constraints but was hopping to be back at full force next year. Hope to see you there!

Sunday, May 19, 2013

DHS Study of Critical Infrastructure Risks from GPS Disruptions

I've blogged about how we are to reliant on GPS, for example see: Are we to reliant on GPS/GNSS? Royal Academy of Engineering says we are. Now the Department of Homeland Security is saying the same thing in the report:

National Protection and Programs Directorate Department of Homeland Security
National Risk Estimate: Risks to U.S. Critical Infrastructure from Global Positioning System Disruptions
The Office of Infrastructure Protection

Bottom Line: U.S. critical infrastructure sectors are increasingly at risk from a growing dependency on GPS for positioning, navigation, and timing (PNT) services. Such dependencies are not always apparent

"Human skills for using manual techniques could erode due to lack of training and practice as GPS becomes more ubiquitous", means that just because we have calculators and computers does not mean we should not teach and learn to do math with paper and pencil, and how to use a sextant. Also few understand how the banking and stock market have become dependent on timing synchronized transactions, at the nano-second or better levels of accuracy and precision.

For more information visit,, today. The day-after-tomorrow may be to late. Space Weather is reporting that sunspot AR1748 may release more X-Class flares this week, this time directed toward Earth. See Geomagnetic Storms: An Evaluation of Risks and Risk Assessments, 2011.

See also, The National Infrastructure Advisory Council Final Report and Recommendations on the insider threat to critical infrastructures, 2008 and Critical Infrastructure Partnership Advisory Council 2012 annual update.

Saturday, April 27, 2013

Software Estimation

My entry on Probabilistic Programming got me to wondering about estimating productivity. Made me dig out J.P. Lewis classic paper Mathematical Limits to Software Estimation.

Abstract: Algorithmic (KCS) complexity results can be interpreted as indicating some limits to software estimation. While these limits are abstract they nevertheless contradict enthusiastic claims occasionally made by commercial software estimation advocates. Specifically, if it is accepted that algorithmic complexity is an appropriate definition of the complexity of a programming project,then claims of purely objective estimation of project complexity, development time, and programmer productivity are necessarily incorrect.

Mr. Lewis wrote a lengthy supplement, elaborating on the many misunderstands of what the paper actually said. Alas it did not really help me figure how to estimate the time it might take to use probabilistic methods. At this point, that is probably not even possible given this prenatal state of the probabilistic methodology?

Probabilistic Programming

The Defense Advanced Research Projects Agency's (DARPA) budget proposals are always an interesting read. They lead to things like this, potentially Open Source Project: Probabilistic Programming for Advancing Machine Learning (PPAML); Solicitation Number: DARPA-BAA-13-31

Machine learning is at the heart of modern approaches to artificial intelligence. The field posits that teaching computers how to learn can be significantly more effective than programming them explicitly. This idea has revolutionized what computers can do in a wide range of domains, including Intelligence, Surveillance, and Reconnaissance (ISR), Natural Language Processing (NLP), Predictive Analytics, Cyber, and various scientific disciplines. Example applications include self-driving cars, image search and activity detection, object tracking, topic models, spam filters, recommender systems, predictive databases, and gene sequencing. Unfortunately, building effective machine learning applications currently requires Herculean efforts on the part of highly trained experts in machine learning. Probabilistic Programming is a new programming paradigm for managing uncertain information. The goal of the Probabilistic Programming for Advancing Machine Learning (PPAML) program is to facilitate the construction of machine learning applications by using probabilistic programming to: (1) dramatically increase the number of people who can successfully build machine learning applications; (2) make machine learning experts radically more effective; and (3) enable new applications that are inconceivable today.

Machine learning applications work by building a model of a phenomenon of interest and then training or conditioning that model with observed data, similar to the way we may 'teach' a Neural Network today. What Probabilistic Programming is not is the classic Inference Engine, rather it is a front end to classic IEs or yet unthought of IEs. BUGS would be an example of a classic IE. The Probabilistic Programming approach separates the model from the solver, making it possible for one set of users to develop the model without having to implement or know the details of the solver. With Probabilistic Programming languages, once they exist, developers will be able to focus on developing their models while solver experts will be able to embed their expertise in reusable new style inference engines.

Where I see Probabilistic Programming being of the most use in Embedded Space is in the area of network routing for the Internet of Things (leaving aside the issues of lack of conventional radio spectrum and the raising Internet noise floor slowing everything down for the moment).

There are some Software Safety issues to address, such as how is a Probabilistic Programming verified and validated? No human may actually know how it works, to explain how a particular conclusion was reached. MISRA well known for their C and C++ safety Guidelines does have an obscure section on Autocode generation. However that is still based on conventional technology of today. What happens when true Artificial Intelligence systems do start creating programs that we rely on?

To keep up to date follow the Mailing List.

Monday, April 1, 2013

Weight of the Soul or Dust on the Scale?

Back around Halloween I mentioned my visit to the J. B. Rhine Research Center (Rhine was the first to do experiments with 'ESP' at Duke University in Durham, North Carolina in the 1920's), see Near Death at the Rhine Research Center. The first formal report of the optical work, Electromagnetic Emission From Humans During Focused Intent by William T. Joines, Stephen B. Baumann (deceased), and John G. Kruth, see Journal of Parapsychology 76(2), is now online (Membership is required). The formal report does cover Mitogenetic Radiation something I thought was lacking previously.

What also fascinates me is that if they can get the funding for this future research project: They want to try to weigh people that claim they can leave their body, sometimes refereed to as Astral Travel or Astral Projection (the original experiments invovled death, no one wants to be killing the research subjects today) , and see if there is a change in their weight.

If you believe in such things that is your personal choice, what is fascinating to me after looking into this a bit is just how hard it is to make an precise and accurate weight scale. This scale road has been traveled in the past:

[Jim Williams] worked for a few years with the Nutrition and Food Sciences Dept at MIT, building equipment for them. Once he built a scale that was so sensitive he could stand on it, take a bite out of a donut and measure the weight of the bite. He had to add a low frequency notch filter to take out the heartbeat of the user as the blood flowed up and down the femur arteries, modulating the weight on the scale. - I Remember Jim Williams, a Guru of the Analog Electronics World, as Much an Artist as Engineer.

Scott Wayne, Analog Dialogue's editor, pointed me to Jim Williams scale paper, Thank You Scott: High resolution scale: Measures up to 250 lb +/- .01 lb, detects a single bite of food, Analog Dialogue, vol. 10, no. 2, p. 17, 1976. Every issue of Analog Dialogue, from Volume 1, Number 1, 1967 through the present is available in Analog Devices' Analog Dialogue's archives.

Getting back to our current time, Vishay Precision Group (VPG) has released a Video, described here, on their Z-Foil Resistors.

In the video, a custom designed scale is used to weigh 200 grams of gold at +25C and +60C, first utilizing thin film technology for the gain resistors and then using the Z-foil resistors.

At +25C, both the thin film and Z-foil resistors measure the 200 grams of gold for a value of $11,400. With an ambient temperature increase to +60C, however, the assembly utilizing precision thin film resistors weighs the gold as 197.8 grams for a value of $11,277 - which represents a 'loss' of $123. The same assembly using Z-foil resistors is not affected by the temperature change, providing an accurate measurement of 200 grams at +60C - and no loss in measured value.

See also Why Honest Weigh Scales Are Application Specific and Application Note 5275: Calibration - Needless or a Necessity?, from Maxim Integrated.

In 1976 we could measure +/- 0.16 of ounce change in a 250 pound person. Thirty-seven years on, I wonder if Analog Devices, Intersil (see the video), Linear Technology (Jim Williams), Maxim Integrated or Vishay Precision Group (VPG), would step up to the challenge of funding the Rhine's project to showcase their current technologies, on how things have improved? Maybe you think you are up to the challenge of this scale design? Let us know.

'Magic Smoke' Resistors available off-the-shelf

Anyone that has been around electronic devices for any length of time know that when the devices fail, they tend to go up in smoke, leading to the idea that electronic parts are run by Magic Smoke. Alas our sterilized, sanitized, paranoid society is taking the *fun* out of such things as hands on learning.

While places like Analog Devices' Engineering University are great for learning theory and hands on labs with their hardware, sometimes it is far more educational, and down right *fun*, to learn why things went wrong. Only experience is going to teach one, the important debugging skill, of the differences in smells between burning resistors, burning capacitors, and burning circuit board material. Also teaches the importance of wearing protective eyewear (never know when a backwards part might try to impale itself into the ceiling or ones face if it is closer), and having a electrical rated fire extinguisher next to the workbench.

What brings us to Magic Smoke, is that Vishay has upgraded their old line of Electro-Pyrotechnic Initiator Chip Resistor (EPIC) (and Design Guide and App Notes) to the new Massive Electro-Pyrotechnic Initiator Chip Resistor (MEPIC).
MEPIC resistors, also known as bridge resistors, are resistive elements that convert electrical energy into heat energy in a precise electro-thermal profile for the purpose of initiating a series of pyrotechnic events in a controlled energetic reaction. [They go *BOOM* on command, which is different than Rapid Spontanious Self-Disassembly.]
The new Vishay Sfernice resistor is optimized for electronic igniter applications in automotive safety systems for the deployment of airbags and other safety devices; digital blasting in mining applications; and in fireworks applications for better synchronization of fireworks, music, and special effects.
With firing energy down to 1.5 mJ and a typical ohmic range of 2 Ohms (+/- 10 %), the device provides designers with very predictable, reproducible, and reliable behavior.
Offered in the standard 0805 case size for the wraparound and flip chip versions, with other sizes available upon request, the resistor features easy set-up of firing levels, and is compatible with various pyrotechnic compositions.
Offering ESD withstanding to 25 kV without extra protection, the MEPIC resistor's performance meets no fire/all fire conditions and the requirements of USCAR, AKLV16, and major car manufacturer standards. The device is RoHS-compliant and conforms to Vishay "Green" standards. [Is it not great that Fuzes are 'Green'?]
Almost lost in the mists of time is that in the past manufactures made military specific parts, before someone thought that Commercial Off The Shelf technology (COTS) was a good idea (it wasn't). National Semiconductor's, now part of TI, Application Note #761:Electronic Fuzing covers the basic terminology of Fuzing:
Fuzing mechanisms are devices used to "safe", "arm" and detonate explosive military munitions (such as missiles, mines, demolition charges, explosive shells ranging in size from 20 mm to 16 inches, unguided bombs and various submunitions). Early electronic fuzes developed for 5-inch naval air defense...
Sadly even tho I'm it good standing with my Vishay Rep. Firm, samples of (M)EPIC parts are restricted to people that can show good cause for getting them, so Homeland Security can relax. To bad, think of the fun the people at Hack A Day or Make Magazine could have with some well as those great educational experiences that are being lost...

Picture of Aliens and UFO's found on military web site.

Picture of Aliens and UFO's found on military web site.

Sunday, March 24, 2013

How many are taking the Software Engineering exam this April?

As regular readers are aware I've been chronicling events related to the new Software Engineering Exam, that some states are starting to offer as part of a Professional Engineer title.

I contacted the National Council of Examiners for Engineering and Surveying (NCEES) and asked them how many people had signed up for the new test, to be given for the first time this coming April. Sadly I was told that information was confidential. Answers like that always invoke thoughts of conspiracy theories in my mind, as to what is being hidden? More than likely it is simply a mater of confidentiality. The data probably could be gotten from each states licensing board if you were motivated enough to ask, I'm not right now.

I did pick up a couple of other tidbits of information. The new Software Engineering exam is considered a Group-2 exam, meaning that it has very small numbers of takers each time it is given. Hence this exam is only given once a year. Group-2 exams are required to have a sponsoring society, which for this exam is the IEEE. Do you think interest in this exam will increase with time (Without government mandates)?

The Electrical and Computer Exam, that has been around since 2009, is a Group-1 exam meaning that it is one of the larger exams that has been given frequently, as such requires no sponsor.

There has been concern that so few schools have the required accreditation for taking the Software Engineering exam. As each state board must approve a candidate before they are allowed to take the exam. They are the final decision maker on who is eligible and who is not.

At this point now we wait. We are waiting for the next software disaster that kills people due to our collectively buggy software rushed out the door to meet trade show deadlines and market pressures, rather than properly engineering the software in the first place. That will lead to the draconian government regulations. The framework for the regulations are now in place. As an industry are we going to clean up our act now or complain greatly when it is to late, when regulations are forced upon us?

By the way, what do you tell the Middle School Student that asks "Um, I'm in middle school... Are jobs actually like this?". I've given my answer in the past.

Software Engineering, License to write software, Firmware

Safer Embedded Software

Something new I'm trying here in the blog is to open it up to an occasional Guest Blogger. If you have an idea for something that fits in with the general theme of the site, get in contact with me.

Today's Guest Blogger is Rajstennaj Barrabas, whom may be contacted at: RB (at) OkianWarrior (dot) com . If you have comments for RB use that address or leave comments below. I'll turn it over to RB now:

Examining past software failures gives us insight into how failures arise, so we can anticipate and avoid failures in the future.

One such failure is the Therac-25, a radiation therapy machine that killed several patients due to buggy software.

Very briefly, the Therac has a high-power mode which is used once a metal shield drops into place to protect the patient. A particular keyboard sequence entered by the operator (double-pressing the "return" key at just the right moment) caused a cascade of failures where the software eventually jumped into the middle of a function. The system engaged high-power mode without first lowering the shield, killing the patient.

To my mind, this was the first fatal accident caused by a software problem; or at least, the first well-known one. People suddenly realized that software could hurt people, and that perhaps special care should be taken.

(The link has a more detailed summary, with pointers to more in-depth reports.)

Analysis at the time noted that the high-power function did not check that the protective shield was in place. Lowering the shield was done prior to the call, and the function assumed that this had happened.

The conclusion was that software should always check its assumptions, and this became a set of "best practices" for safety-certified systems.

In safe software, every function should began with ASSERTs that check the arguments for validity, and these should be active in the released code. The execution time is negligible in most cases, and ASSERTs do a good job of ensuring proper behaviour.

As calculation proceeds, more ASSERTs should check the intermediate results; for example, to ensure nothing overflows, or that values are in range.

The Therac function could have ASSERTed that the shields were in place.

Most embedded programs don't use 100% of the CPU time. The spare capacity can be used to check up on the program and further ensure that everything is going well.

Each module can supply a function "xxxBIT" (where "BIT" stands for "Built In Test") which checks the module variables for consistency. As the program runs, it can call these functions during idle moments.

For example, the serial driver (SerialBIT) can check that the buffer pointers still point within the buffer, that the hardware registers haven't changed, and so on.

On bootup, the memory manager (MemoryBIT) knows the last-used static address for the program (ie - the end of .data), and should fill unused memory with a pattern. In it's spare time it checks to make sure the unused memory still has the pattern. This finds all sorts of "thrown pointer" errors. (Checking all of memory can take too long, so MemoryBIT can be coded to check a small portion each call.)

The stack pointer can be checked - put a pattern at the end of the stack, and if it changes you knew something went recursive or used too much stack (StackBIT).

The EPROM can be checksummed periodically.

Every module should have a BIT function which checks every imaginable error, to be called in the processor's spare time - over and over continuously.

The Therac could have continually tested its calculations to check for cascade failures.

The overall effect is a very "stiff" program - one that will either work completely or won't work at all. There is no intermediate behavior, no flexibility of action. Cascade failures are caught early, terminating the operation before things get out of hand.

A "stiff" program doesn't give erroneous or misleading results - it either works as intended or fails completely. Showing a blank screen is better than showing bad information, or even a frozen screen.

(Of course, this is situation specific. A blank screen is OK for aircraft - where the flight crew can take appropriate action - but perhaps not medical. You can still detect errors, log the problem, and alert the user.)

Some functions are time sensitive and can't afford the time spent error checking (interrupt handlers, for instance), but these can be identified and removed on a case-by-case basis.

Conventional wisdom says to use checking during development, and remove it on released code.

Done right, error checking has negligible impact on code speed but returns great gains in safety.

Sunday, March 17, 2013

Government raises your taxes with new CPI calculations

I have written in the past, Why is the cost of my Bill of Material (BOM) so much higher than last week? The Orwellian doublespeak answer: Quantitative Easing, about how the government is manipulating the money supply, and how it has real world effects on our designs. Dollar Stretcher Guest Blogger Rick Kahler has written about how the government is now inflating the money supply, as my past columns predicted they would, by manipulating how the Consumer Price Index (CPI) is calculated. They have manipulated this number many times in the past such as by adding in the Military Personnel, removing real world items like food, gas and fuel. So do check out Rick's The Ultimate Stealth Tax: Inflation. Also you can get real inflation numbers (1980 and 1990 based) from John Williams ShadowfStats.

"...The chained CPI is a tax increase for much the same reason. Many income tax brackets and deductions are indexed to inflation. Smaller annual adjustments to the brackets because of the lower CPI will push more people into higher tax brackets..."

1980 Based Inflation Chart

1990 Based Inflation Chart

One of the significant causes, of which there were many, of the Great Depression was when the Federal Reserve contracted the money supply. Even Warren Buffett has stated that he is concerned what will happen once the Federal Reserve Bank starts selling its holdings. Interestingly Governor Ben S. Bernanke has commented on this in the past: Money, Gold, and the Great Depression -- Remarks by Governor Ben S. Bernanke, At the H. Parker Willis Lecture in Economic Policy, Washington and Lee University, Lexington, Virginia, March 2,2004.

Many are saying that we should return to the Gold Standard. That is each 'dollar' is exchangeable for real tangible gold, in theory. Places like the World Gold Council are, of course, all for this. Many banks are already starting to dump US Dollars to stock up on Gold. Hence the same people that are creating the mess we are about to face will be the same people controlling the Gold. Do you see this as an improvement? I do not.

"Central banks have begun to reduce reserve portfolio allocations to US dollars and euros in favor of alternative reserve assets. A portfolio optimization analysis concludes that gold, with its lack of credit risk and deep and liquid market, is one of the most attractive alternatives in this diversification process. Accordingly, building gold reserves in tandem with new alternatives is an optimal strategy as these markets need time to develop and allocations to gold remain largely below optimal levels." -- Central bank diversification strategies: Rebalancing from the dollar and euro. [Registration is required to download the report.]

My past ramblings on the issue of 'Money' and Inflation:

Even the main stream press is catching up to what I was talking about in 2010:

The Treasury sells bounds, sheets of paper with no intrinsic value, to the Federal Reserve for things that politicians do not have the honesty to come out and say directly that they need to raise our taxes to support. The Fed buys these bonds with 'money' that it created from nothing. This created 'money' is put into circulation, making your money worth less each time it happens. This inflation is the most insidious hidden tax that you and I pay. Few figure this system out because it is usually hidden behind the Orwellian doublespeak of economics such as Quantitative Easing.

Will you be ready for the Greater Depression?

Saturday, March 2, 2013

Are You Licensed Yet? Will Engineering Software Become Illegal Unless You Have a License?

This week the Northeast Ohio Chapter (NEOACM) of the Association for Computing Machinery is going to hold a round-table discussion on government mandated licensing of Software Engineers.
I have been chronicling the developments of what the various states are doing or have planed for licensing of software professionals over the last year, so I have been invited to be one of the panelists. If you are going to be in the Youngstown Ohio area this coming Thursday [2013/Mar/7th] stop by the Youngstown Business Incubator at 6:00 PM.
Are You Licensed Yet? Will Engineering Software Become Illegal Unless You Have a License?
Sponsored by NEOACM on:
March 7th
6:00 - 8:00 PM
Youngstown Business Incubator
241 West Federal Street
Youngstown Ohio, 44503
In chronological order these are my past entries on mandatory licensing of Software Engineers:
  1. Do you have your license to write firmware?
  2. Government Responses on Software License Questions
  3. More Government Responses on Software License Questions
  4. Yet More Government Responses on Software License Questions and Study Guide
  5. A Principles and Practices Exam Specification to Support Software Engineering Licensure in the United States of America
Add to those documents from NEOACM that you should review when considering mandatory licensing of Software Engineers:
There are a few items that are important to understand, before you can take the Software Engineering Exam: NCEES Principles and Practice of Engineering Examination Software Engineering Exam Specifications
First you must have a four year degree (The state of Maryland has an exception that I need to look in to), and the degree must be accredited by the Accreditation Board for Engineering and Technology (ABET). ABET lists only twenty-two Software Engineering programs. Software Engineer Insider summarizes a few of them. The closest to the NEOACM chapter are Penn State Behrend and Gannon University, both in Eire PA.
Next you must take, the completely unrelated to Software Engineering, the eight hour long exam that covers Chemical, Civil, Electrical, Environmental, Industrial, Mechanical, Other Engineering Disciplines, before you can even take the Software Engineering exam. Perhaps this is why Software Engineer Insider states "Other software engineers may want to take the licensing exam as a badge of accomplishment.". I'm sorry but I find that distressing. Egos have no place in the areas of safety that this Software Engineer license claims to be about. Read some of the background links above and you find Ego makes more than one appearance. Pathetic.
You must also have experience in Software Engineering, four to twelve years as it varies by state, before you can take the Software Engineering (SE hereafter, not to be confused with Structural Engineering that is a more common NCESS exam right now) exam. Seems like a classic bootstrap problem, can't get the license until you have experience, and you are not allowed to practice without a license? This is where Mentoring enters the picture, however there are no state licensed Software Engineers yet to be Mentors.
It is important to understand the difference of the various computer/software degrees that are relevant to licensing. David Janzen, Associate Professor California Polytechnic State University Computer Science Department, explains the difference between Computer Engineering, Computer Science, Software Engineering, which I summarize below, see his page for the whole text:
  1. "Computer Science covers the core concepts and technologies involved with how to make a computer do something. Learning to program a computer by writing software is essential, and computer programming is used in most computer science courses..."
  2. "Computer Engineering teaches you how to design systems that include both computer hardware and software. You will take classes on how computer hardware works and how to build a computer..."
  3. "Software Engineering focuses on how to design and build software in teams. You will take many of the same courses as you would in computer science, but you will take additional courses that teach you about topics like requirements engineering, software architecture, software testing, and software deployment. You will learn about working with people (communication, management, working with non-technical customers), processes for developing software, and how to measure and analyze the software product and the software process..."
So Software Engineering knowledge that is being tested for is more about project management than anything else. As I've said for years "Most causes of system faults are created before the first line of code is written, or first schematic is drawn. The errors are caused by not understanding the requirements of the system", so in this one regard these new exam requirements may be a Good Thing. However good requirements doesn't directly address real world problems like the number one cause of most crashes and security breaches being buffer overflows.
Some Safety Myths:
Just make it reliable Just use redundancy
Just do a lot of testing Just make the software "safe"
Just do it all in software Its always the operator's fault

What is on the exam and who brought us to this point (besides our collectively buggy software)? The organizations that I know have been have been involved in the preparation of the exam are IEEE-USA, assisted by the IEEE Computer Society, the National Society of Professional Engineers, and the Texas Board of Professional Engineers. Do you know of others?
Exam contents:
Requirements 17.5%
Design 13.75%
Construction 11.25%
Testing 12.5%
Maintenance 7.5%
Configuration Management 7.5%
Engineering Processes 7.5%
Quality Assurance 7.5%
Safety, Security, and Privacy 15%
I have said all along this is more about selling training material than safety. Sadly I felt I should purchase the Principle and Practice Exam Sample Questions and Solutions Book to be participate in the round-table discussion. Not being a IEEE member the 50 page document cost me $49.99. Three of the pages are the ones from Exam contents that I just listed above, eleven pages are blank or not relevant to the exam like the copyright notice. I showed the document to a couple of other people and they felt the question/answer contents was okay, but that the limited volume of information supplied was a complete rip-off for $50. One person even asked "Why can't they just put this on a web site?". If this is about safety then why isn't it free? Also only Internet Explore worked to buy the document, Opera and Chrome did not. IEEE is pushing for better software and their own software based web site doesn't work...
The most valuable section of the document is the list of fifteen reference books from which the exam question pool is based. The exam is 80 questions, however I have not found how many questions are in the actual question pool anyplace. Reproducing the list here would be certain to have the copyright police show up. So I'm only going to mention three that I know are safe from the copyright police. First is professor Phillip A. Laplante's Requirements Engineering for Software and Systems (Applied Software Engineering Series) that supports my conjecture this is about selling training material not safety. Second Steve McConnell's Code Complete: A Practical Handbook of Software Construction, Second Edition that is on any software design reading list, as it should be. If you have read this book before, then read the new rewritten second edition. Finlay Linda Westfall's The Certified Software Quality Engineer Handbook , as I was already familiar with it, so felt safe to list it.
For full disclosure if you buy those books by the above links I do get a small pittance from Amazon's Affiliate Program, so I too am making a profit related to safety.
I'll give a few representative questions. Note these are not the actuall qustions rather my paraphrasing and simplification of them. Some of them are constructed like story problems that made you groan when you where in math class:
  1. Given a small key space (a few bits) calculate the Diffie-Hellman secret key value. I taken this as representation of the silly concept that such a exam as this is useful. I am not a cryptographer and I have no idea how to calculate a DH key by hand. I base my designs on people that are experts in the relevant fields and rely on their expertise and software to calculate such keys. A better question might be why DH is used verse the One Time Pad (one of the other questions). Knowing how keys are exchanged is what is important, not how they are calculated.
  2. Given a flow graph, typical of Dot from Graphviz, calculate the flow path.
  3. Given a similar flow graph as above, calculate McCabe's Cyclomatic Complexity value. Myself I use C and C++ Code Counter to do such things.
  4. Given a set of statistics calculate the probability of software failure on demand; they use the incorrect acronym 'POFOD'. Are they are saying it is impossible to have perfect software?
  5. What software keeps an aircraft stable in flight? Their answer is overly simplistic.
  6. What is the difference between Real Time and Non-Real Time modeling languages?
  7. Incoming tasks must be serviced in a given time to meet requirements. How many processes does it take to guarantee requirements are meet? Myself I'd use Erlang, but that is not one of the answers.
  8. What is the best way to keep a project on schedule?
In closing there are two items I came across while doing research on this licensing issue today. First according to the U.S. Bureau of Labor and Statistics Computer Software Engineer stopped being a viable profession in 2009, or at least it is the last year they list Software Engineering in the Occupational Employment Statistics database. After 2009 things move to Software Development. Makes me wonder what to expect from
Occupational Employment and Wages, May 2009
15-1031 Computer Software Engineers, Applications
Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. Exclude "Computer Hardware Engineers" (17-2061).
Occupational Employment and Wages, May 2009
15-1032 Computer Software Engineers, Systems Software
Research, design, develop, and test operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific, and general computing applications. Set operational specifications and formulate and analyze software requirements. Apply principles and techniques of computer science, engineering, and mathematical analysis.
Occupational Employment and Wages, May 2011
15-1132 Software Developers, Applications
Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. May supervise computer programmers.
Secondly, returning to ABET, they describe the difference between a two year technology degree and a four year BS degree. From all the job ads I see in the Embedded Space the work that companies want done fall into the area of ABET's two year degrees, yet most all of the jobs demand that you have a four year degree to make it past the HR gatekeepers. Anyone care to explain that? Fortunately most new opportunities are found via networking bypassing these impediments to your career.