Friday, December 21, 2012

Did the world just end?

I am composing this message on August 11th 2012, and set this message to be auto-posted on December 21st, 2012 at 11:11 EST.

5125 years ago on August 11th 2012, the first cycle of the Mayan Long Count Calendar started ticking, on August 11 3114 BC. The 12th cycle of the 144,000 day Long Count just completed at December 21st, 2012 at 11:11 AM EST (The moment this should have appeared if the world did not end).

What do you think will happen when Earth lines up with the Center of the Galaxy today, an event that happens every 25,920 years (360 degrees times 72 years)? No, leap years have nothing to do with any of this, Mayan Calendar is based on star positions...

Did the world end, and you are the only one left to read this? Does Internet still exist? Did the New Madrid Seismic Zone cut the US in half in October with a 7.7 or grater magnitude quake? Was there a new Carrington Event? Did the Dollar Die? Was there a good October Surprise? Was there a presidential election?

Hopefully none of those events happened. If the world has ended then let us hope that the 4th Age of Mankind has ended and the new 5th age is one of a new concusiuoness...

How are you spending your End of the World day today?

Sunday, December 16, 2012

Tricorder gets a step closer with the iTube food allergy tester

The Star Trek Tricorder inches closer to reality. Lab on a Chip journal recently published an article, A personalized food allergen testing platform on a cellphone, dubbed the iTube (Are you getting to hate these meaningless 'i's as I am?).

Abstract: We demonstrate a personalized food allergen testing platform, termed iTube, running on a cellphone that images and automatically analyses colorimetric assays performed in test tubes toward sensitive and specific detection of allergens in food samples. This cost-effective and compact iTube attachment, weighing approximately 40 grams, is mechanically installed on the existing camera unit of a cellphone where the test and control tubes are inserted from the side and are vertically illuminated by two separate light-emitting-diodes. The illumination light is then absorbed by the allergen assay that is activated within the tubes, causing an intensity change in the acquired images by the cellphone camera. These transmission images of the sample and control tubes are digitally processed within 1 sec using a smart application running on the same cellphone for detection and quantification of allergen contamination in food products. We evaluated the performance of this cellphone based iTube platform using different types of commercially available cookies, where the existence of peanuts was accurately quantified. This automated and cost-effective personalized food allergen testing tool running on cellphones can also permit uploading of test results to secure servers to create personal and/or public spatio-temporal allergen maps, which can especially be useful for public health in various settings.
Other details may be found at: Got food allergies? Thanks to UCLA, you can test your meal on the spot using a cell phone and the Lab on a Chip blog. The Tricorder gave immediate results, with the iTube we must wait twenty minutes. Yes there is an App. for that...

What does a new politician have to do?

We all know from watching the news that to be a politician at least one of the Seven Deadly Sins of Mankind must be the driving force in the politicians life.

Maybe you don't like how the recent election turned out, continuing the Status Quo, and had a fleeting thought of become a politician that could actually do the Will of the People. What does it take to become a new politician beyond money? Did you know there is actually a book about this?:

Setting Course A Congressional Management Guide by the Congressional Management Foundation, and the New Member Resource Center: Helping Members-Elect Successfully Transition to Congress. There is also the Members' Handbook put together with your tax dollars.

Just remember if you have any ethics you need not apply. After all who else gets 67 days of paid vacation a year, and does not have to do their job (pass a budget) and still get paid, and get to vote to raise...

A Principles and Practices Exam Specification to Support Software Engineering Licensure in the United States of America

The first quarter 2013, Volume 15 Issue 1, issue of Software Quality Professional from the American Society for Quality has a couple of articles on the state mandated licensing of software engineers, that I have been chronicling.

A Principles and Practices Exam Specification to Support Software Engineering Licensure in the United States of America (PDF, 142 KB) by Phillip Laplante, Beth Kalinowski, and Mitchell Thornton, along with some Supplementary Material (PDF, 483 KB).
Software Quality Professional has published many open access articles over the years, alas these are not among them, you must be a ASQ member to read them, this only serves to reinforce my view that this whole licensing issue is all about making money for those that sell training material.
Summary: In April 2013 several states in the United States will require licensure for certain individuals who are involved in the creation of software that can affect the health, safety, and welfare of the public. It is expected that eventually, all states and jurisdictions in the United States will require such licensure. Each state has different licensure criteria, but all include certain educational and experiential requirements, passing two tests, with one being a common test of engineering fundamentals, and the other a test of minimal competency in relevant areas of software engineering knowledge and practice. While the common test of engineering fundamentals exists, the software engineering examination does not. In order to develop this examination, the authors conducted a study using a multimethod approach in identifying the professional activities and knowledge/skills that are important to the competent performance of software engineers who serve the public. In this article the authors describe the study, the results, and the test specification that was derived. Demographic information for the survey respondents is also presented.

I'll summarize some of the highlights. The article opens by telling us that many engineers are exempted from licensure such as industrial or government entities. This reinforces what I said in my first article, this is about killing off the independent contractors and those with no formal degrees (Maryland does have a non-degree path to licensing, and other states will recognize Maryland's license). Also the information that I have gathered and posted about what each state is doing is up to date, where the cited material in the article is from 2010.
Most of the article is about how the statistics and sampling methods used to come up with the areas for the test, based on the format of The Standards for Educational and Psychological Testing, coming up with these main categories:
  1. Requirements
  2. Design
  3. Construction
  4. Testing
  5. Maintenance
  6. Configuration management
  7. Engineering processes
  8. Quality assurance
  9. Safety, security, and privacy
Those categories were deemed the most important of those surveyed from IEEE-CS and IEEE USA, of which only 323 people participated. Apparently few to none of those returning the survey are doing firmware nor Embedded Systems. We need to have more representation in those groups? Personally I aways find it troubling that groups that I have no representation in are creating rules that affect my life. On the other hand I personally have no desire to participate in nor support such groups.
Data analysis by respondent subgroups was in some cases based on job title. This is ironic considering the Texas Board of Professional Engineers, one of the main groups behind licensing, states:
"The best way to avoid problems is to practice title abstinence." - What Do You Mean I Can't Call Myself a Software Engineer? by John R. Speed.
The supplemental material goes into detail about the demographics of the survey respondents.
Then we have this final nugget, saying that whole process may be improperly biased:
Finally, there is controversy as to the need for professional licensure and it is possible that those who disagreed with the need for licensure opted out of the survey upon receiving an invitation, thus biasing the results somehow.
Myself I would have abandoned this approach when I found that there was only a 7.36 percent participation. Guess if you have an agenda to push such things don't matter...
The Institute for Software Excellence 2013 (Indianapolis, May 6-8), sponsored by the ASQ Software Division, is planing to have a session on the professional licensing topic presented by Professor Laplante. The ISE website has not been updated as I write this with the exact details.

Thursday, December 6, 2012

Comet to cause EMP Armageddon? Are you prepared for EMP?

At least once I year I try to bring attention to how vulnerable our technology is to Electromagnetic Pulse (EMP) events. David Eichler and David Mordecai article Comet Encounters and Carbon 14 published in The Astrophysical Journal Letters; Volume 761 Number 2 got me motivated to write my 2012 EMP warning.

The [Carbon-14] production of shock-accelerated particles is calculated in terms of the total energy released in energetic particles. The recently reported 1.2% jump in the [Carbon-14] content of the atmosphere in the year C.E. 775, it is found, would require 1034 erg in energetic particles, less than first estimates but far more than any known solar flare on record. It is noted that the superflare from a large comet (comparable to C/Hale-Bopp) colliding with the Sun could produce shock-accelerated GeV cosmic rays in the solar corona and/or solar wind, and possibly account for the C.E. 775 event. Several additional predictions of cometary encounters with the sun and other stars may be observable in the future.

Bruce Dorminey, converts that to Human in his article Sun-Grazing Comets As Triggers For Electromagnetic Armageddon. The bottom line is that a comet in the year 775 may have triggered the largest EMP event ever recorded on Earth within the time of Human Memory, and it could happen again. The end of the Mayan Calender is less than twenty days away...

Several interviews with Government officials on their concerns over EMP, and most importantly Are you prepared for EMP? are items that you must read.

See also Congress told: U.S. life 'unsustainable' after EMP by F. Michael Maloof, in reference to: Written testimony of National Protection and Programs Directorate Infrastructure Analysis and Strategy Division Director Brandon Wales for a House Committee on Homeland Security, Subcommittee on Cybersecurity, Infrastructure Protection, and Security Technologies hearing titled "The Electromagnetic Pulse (EMP) Threat: Examining the Consequences."

" large a swath of American technology that between 70 percent to 90 percent of the United States' population could become unsustainable."

My past articles will explain the issues with EMP if you need a refresher:

As reported in a recent issue of the Amateur Radio Magazine QST if you need an impromptu Faraday-Cage for your equipment, put it in your washing machine (and don't run it as if it that needs to be said, sigh).

Watch the sky and keep an eye on the Space Weather...

Military wants to test your Widgets Firmware for Malice

Defense Advanced Research Projects Agency (DARPA) starts the DARPA-SN-13-07: VET - Vetting Commodity IT Software and Firmware program and announces upcoming Proposers' Day on December 12th.

DARPA wants to make sure that any devices used by the Department of Defense (DoD) does not contain any hidden backdoors, such as this real world case from this week [Dec/6/2012] as reported in @RISK: The Consensus Security Vulnerability Alert; Vol. 12, Num. 49, from the SANS Institute:

ID: : CVE-2012-4964
Title: Samsung Printer Firmware Contains A Backdoor Administrator Account
Vendor: Samsung
Description: Samsung printers contain a hardcoded account that could
allow a remote attacker to take control of an affected device.
CVSS v2 Base Score: 9.0 (AV:N/AC:M/Au:N/C:C/I:C/A:P)

If you are printing Classified Documents, or documents that your competitor would really like to see, can you be sure that your printer is not spying on you? Point your web browser at your printers IP address and you might find there is a web server running there that you knew nothing about.

How would you check your printer for such a backdoor? Now how would you check millions of different devices for possibly millions of different ways of exploiting the device? This is the challenge facing the DoD. They need an automated way to vet devices to prove that no such backdoors exist. I covered this to some degree a couple of years ago in Killed by Code: Software Transparency in Implantable Medical Devices. Making source code available for independent audits is one approach (admittedly a bit self-serving as I do such audits on occasion), but that method does not scale to the number of devices in question. What would you do, is what the DoD wants to know?

VET will attempt to address three technical challenges:

"DoD relies on millions of devices to bring network access and functionality to its users," said Tim Fraser, DARPA program manager. "Rigorously vetting software and firmware in each and every one of them is beyond our present capabilities, and the perception that this problem is simply unapproachable is widespread. The most significant output of the VET program will be a set of techniques, tools and demonstrations that will forever change this perception."

VET will attempt to address:

  • Defining malice: Given a sample device, how can DoD analysts produce a prioritized checklist of software and firmware components to examine and broad classes of hidden malicious functionality to rule out?
  • Confirming the absence of malice: Given a checklist of software and firmware components to examine and broad classes of hidden malicious functionality to rule out, how can DoD analysts demonstrate the absence of those broad classes of hidden malicious functionality?
  • Examining equipment at scale: Given a means for DoD analysts to demonstrate the absence of broad classes of hidden malicious functionality in sample devices in the lab, how can this procedure scale to non-specialist technicians who must vet every individual new device used by DoD prior to deployment?

Anyone up for a Road Trip to Arlington, VA for the Proposers meeting? Note that DARPA is a secure facility. Visitors should arrange an appointment with a program manager or other DARPA staff prior to visiting.

IRS Releases Job Killing Medical Device Tax Guidance

The Office of the Federal Register has released the Internal Revenue Services (IRS) guidance document on the job killing Taxable Medical Devices, that I covered last year: Do you work in the Medical Device field? You won't after 2013 due to this new Tax. My four top picks:

One commenter suggested that the listing rule is overbroad because it includes virtually all types of medical devices in the tax base. The commenter requested that the final regulations narrow the definition of a taxable medical device so that the excise tax is imposed only on devices that Congress specifically intended to subject to the tax.

The final regulations do not adopt this suggestion.

[Doublespeak translation: It is a device if we say it is a device.]

Sale price:

Numerous commenters suggested that the IRS apply the constructive sale price rules with flexibility and sensitivity to data limitations that medical device companies face. The IRS and the Treasury Department recognize that the medical device industry will likely face some implementation issues when the medical device excise tax goes into effect on January 1, 2013, and the IRS intends to work with stakeholders on compliance-related issues, such as the determination of price.

[Doublespeak translation: You and I are going to pay through the nose for any medical device to just to handle all this new paperwork!]

Licensing of software:

One commenter requested clarification on whether the licensing of software that is a taxable medical device is a taxable event. Under existing chapter 32 rules, the manufacturers excise tax generally attaches upon the sale or use of a taxable article by the manufacturer. The lease of a taxable article by the manufacturer is considered a sale. Neither the existing chapter 32 rules nor the final regulations address the issue of whether the licensing of a taxable article is a taxable event. However, the IRS and the Treasury Department will issue separate interim guidance along with these regulations to address this issue.

[Doublespeak translation: Not even the FDA can figure out what the IRS wants, or is it the other way around?]

Semimonthly deposits:

Several commenters suggested that the semimonthly deposit requirements under section 6302 are burdensome to medical device manufacturers because device manufacturers have little or no experience with returning and paying federal excise taxes and because manufacturers need time to develop their systems to implement these final regulations...Given that the tax goes into effect on January 1, 2013, the IRS and the Treasury Department will issue separate interim guidance along with these regulations that addresses penalties under section 6656.

[Doublespeak translation: We don't care if you know how any of this stuff works, and we have not gotten around to writing the statute that would tell you yet, even tho we had a year to do it, but we do have the system of applying involuntary monetary fortuities {high fines that raise costs for you and I} in place now.]

The job killing tax, part of the Patient Protection and Affordable Care Act, has already been taking its toll this year. It may hit the Cleveland/Pittsburgh area hard. Resume anyone?

Friday, November 23, 2012

Yet More Government Responses on Software License Questions and Study Guide

This month I received responses from Maryland and Idaho to the questions I asked in August, and IEEE-USA has released the Study Guide for New Software Engineering Exam. See my previous blogs on the subject at Do you have your license to write firmware? and Government Responses on Software License Questions.

The Idaho Board of Professional Engineers and Professional Land Surveyors, sent me a formal written response via Snail Mail:

November 9th, 2012

Dear Mr. Paddock:

At its meeting on November 7 and 8, 2012 the Idaho Board of Licensure of Professional Engineers and Professional Land Surveyors voted not to utilized the NCEES Principles and Practice of Software Engineer examination at this time for licensing professional engineers in Idaho, but they may reconsider that decision in the future.

Please call if you have any questions.

Sincerely, David K. Bennion , P.E. Board Chair.

Nov. 13 2012

Dear Mr. Paddock:

In your e-mail of August 12, 2012 you asked a number of questions regarding the NCEES Software Engineering, Principles and Practice of Engineering Examination. Please excuse us for not responding sooner, but I needed to consult the Board in detail to be able to provide you answers to your questions.

You asked if the "Software Engineering" license will be required in Maryland. Maryland does not license engineers by discipline. So no a "Software Engineer License" is not required (because there is no Software Engineer license), However, the practice of any engineering discipline including software engineering in the State of Maryland, does require a Professional Engineer License, subject to the exception provided in statute.

You asked: "Should such a license be required by the state, will there be any distinction made between types of computer systems such as your desktop PC, your Smart Phone or an Embedded System (those that run your microwave and your car)?" The practice of engineering is defined in Maryland statue as including: consultation; design; evaluation; inspection of construction to ensure compliance with specifications and drawings; investigation; planning; and design coordination. The planning, design, evaluation of any kind of software that could affect the health, safety or welfare of the public would fall be included in this definition and be considered the practice of engineering in Maryland.

You asked: "What will the prerequisites for taking the test, should it become required? Software is significantly different than any of the current required licenses." The requirements for taking the exam are the same as any other Principles and Practice of Engineering Examination (see § 14-304 and § 14-305). You also stated that you are concerned that there "..will there be academic requirements that will exclude those that have been practicing in the industry for years, yet have do not have a degree from a state recognized institution" Current Maryland Statute provides a path for licensure without a degree (see § 14-304 and § 14-305).

You asked: "Does Maryland license by comity?" Yes, Maryland does license by comity.

You asked: "How often will this license have to be renewed and what is the expense?" A Professional Engineering License in Maryland is renewed once every two years. The cost to renew is currently $68.00.

Finally you asked: "As a holder of a CSQE, will there be any ramifications of using the word 'Engineer' on my business card or web site?" Only Licensed Professional Engineers may practice, attempt to practice or offer to practice engineering in the State of Maryland. This includes using the title "engineer" on business cards, web sites or any other forms of communications.

I hope this clarifies the issues you were concerned with regarding software engineering and the practice of engineering in Maryland.

Please feel free to contact me again if you need any additional clarification on these issues or additional information.

Pam Edwards Executive Director - DLLR's Division of Occupational and Professional Licensing [Maryland].

News Release: Study Guide for New Software Engineering Exam Now Available:

WASHINGTON (31 October 2012) - A study guide for those planning to take the new software engineering exam is now available from IEEE-USA. It includes 40 representative questions and solutions, a suggested reference list and test specifications.

The Principles and Practice of Engineering (PE) Software Engineering exam - PE Software exam -- will be offered by NCEES, The National Council of Examiners for Engineering and Surveying, for the first time in April 2013.

IEEE Fellow Dr. Phillip Laplante, a professor of software engineering at Penn State University's Malvern, Pa., campus and chair of the Software Engineering Licensure Examination Development Committee, said the study guide is an essential tool in preparing for the exam.

"All prospective exam takers would be well-served to review the book to help identify weaknesses in their knowledge prior to taking the exam," Laplante said.

The study guide is $39.99 for IEEE members and $49.99 for nonmembers.

PE Software exam registration begins 17 December. Check to find out about your state's approval and registration process. See exam specifications at

Just as I predicted the people that have been pushing this have a vested interest in selling training material. What prices should there be on safety?

The Time At the Tone is Nov. 19th 2000. Say what?

On November 19th one of the primary Network Time Protocol (NTP) clocks, The Official Source of Time for the Department of Defense (DoD) for the Global Positioning System (GPS), and a Standard of Time for the United States, broke for 51 minutes, reporting that the year is now 2000, about 30 million seconds ago.


On Monday, November 19, USNO made what was expected to be a routine upgrade. Unfortunately, for 51 minutes, between 21:07:32 - 21:58:56 UTC, the server gave out the year as 2000 instead of 2012. We have resolved the issue that caused this error.

We regret the disruptions that this may have caused. We strongly recommend that all NTP users configure their software to get time from three different sources at a minimum. Most software should be able to use the redundant data to identify and ignore incorrect time sources. You can find a list of other time sources at

Many of our Embedded Widgets rely on getting accurate time from Internet. Sometimes because we are to cheap to put in a real clock, or we think that the Internet will always be here and is always telling the truth which will give us accurate time.

Ask Bjørn Hansen who runs the time pool, what I believe to be the most common source of time for Embedded Widgets had some comments on the Nov. 19th incident.

The official advice from NTP is that you should always configure at least four different NTP time servers when you use NTP. No two from the same organization and, as much as possible, reachable only via diverse, nonintersecting paths, and no more than 128 ms apart. Can your Embedded Widget coupe with that? Many do not have the required resources to do it.

In an related time issue that shows that time can be truly hard to code correctly, as it can take literally forever to test all future dates, Android 4.2 Deletes December From People App.

One year one of my colleagues got a yearly calender that he used all year long. In December he showed us that Thursday December 17th was missing. Calendar went from Wednesday 16th to Thursday the 18th. The lesson here is that even pre-Internet technology still can't figure out time...

Wednesday, November 14, 2012

MARK V Home Computer Alarm Robo-Judge vs Google's 4ft Gator

Today [Nov/14/2012] reading Google's Server Cooling Plan Produces 4ft Alligator and the comments about adding a moat around the facility, reminded me of this classic from Creative Computing Magazine (Sep-Oct 1977). Now, 35 years later, this MARK V Alarm system is almost reality. What is left to do? Do take note of the impressive time marks.

 How'd you like to have a computer like this one:
    * D * A * N * G * E * R  *
        *  D  *  A  *  N *  G  * E * R *

I, the MARK V Home Computer Alarm, detect a suspicious looking individual attempting to force entry into the building.

Commencing Intruder Log:
18:33:47.023  Front door breached.
18:34:54.543  Photocell Checkpoint Alpha passed.
18:36:06.105  Weight of 97 kilograms detected on first stair-step.
18:37:22.133  Intruder on  landing; digital photograph taken.
18:37:22.345  Photograph stored and processed: analysis indicates White Anglo Saxon Catholic male with a scar above the left eye and a slight lisp.
18:37:22.665  Photograph dispatched via telesat to interpol.
18:37:22.982  Interpol returned id as "Greg Heiss," known computer thief  and Arlingtonite.
18:37:22.995  Energize defense system.
18:37:23.442  Target on fifth step of second tier.
18:37:23.445  Defense system ready.
18:37:25.045  Target at top of stairs. Lock on 50 megawatt laser.
18:37:25.050  Laser locked on. Query supreme court Robo-Judge for permission to terminate life of intruder.
18:37:25.052  Permission granted and verified.
18:37:25.053  ======  Z  A   P  ======
18:37:25.054  Switch air recirculation system to High Clean.
18:37:25.100  Notify building engineering office of repairs needed to front door and rear wall over stairs.
18:37:25.125  Reset alarm system.
18:37:25.143  Terminate Intruder Log.
       MARK V, ready.

[Alas they confuse Weight with Mass. Killiograms are a unit of Mass. Sigh.]

Sunday, October 28, 2012

Near Death at the Rhine Research Center

The Eve of All Saint's Day better known as Halloween is almost upon us this week. It is a sad commentary on society when we remember to celebrate the demonic and forget the pure. Why do I bring this up?

This week I found myself in Durham North Carolina, at the International Association for Near-Death Studies, Inc. They let me checkout their private library once they figured I was not a flake chasing ghosts. No one in these organizations have any interest and don't want to be bothered by Ghost Hunters I did not see my favorite book on the subject, for those that are technically inclined, is The Ghost of 29 Megacycles by, one of my favorite authors, the late John G. Fuller. What thirteen tones would you use?

While Near Death Experience are interesting I was really here to visit the Rhine Research Center, that shares office space with IANDS, to discuss their research into Human Biofields. In 1930, academic research into the field of parapsychology began at Duke University and in 1935 the Duke Parapsychology Labs were established. Joseph B. Rhine led this department and provided a professional study of parapsychology in a university environment.

One of the projects fitting to Halloween is trying to verify the research of Dr. Duncan MacDougall whom in 1907 tried to figure out how much a Human Soul weighed at the time of death, by measuring the weight of the body immediately before and after death. There is also a bit of newer research in the 1980's. As the research center does not want to kill anyone/anything they are trying to weigh people that clam to be able to leave their bodies, and see if it changes when they come back. Regardless of what you may think of the experiment, it still offers technical challenges that need solved. How would you design a precision weigh scale that needed to measure a change of +/- 5 ounces? Load Cells, LVDTs, or something fittingly strange? There are interesting challenges of layout and power supply design as well.

I spent a good two hours taking to the Executive Director, John Kurth about their current line of research into Biofeilds, the reason for my visit.

I was a bit disappointed, as all they are using is a Photo-Multiplier Tube in the Ultra-Violet range. They get people that claim to be able to do Energy Healing and such. They put them in a double dark room, establish a base line. An empty room has about four photons per minute. With anyone, you for example, will be in the ten to forty photons per minute. Of the 150+ people that they have tried the test on, they have found ten that give repeatable results every time. Some people just give "spikes" of photons with no pattern to them. People that ask for feedback learn to make more photons. The best person puts out 600,000+ photons per minute consistently. The highest peak they ever saw was 1.2M but it was not repeatable.

The reason for my disappointment was they knew nothing about such things as Mitogenic Radiation, and could not tell me if their PM was made of Quartz or Glass, which is important. Mitogenetic Radiation is the force or specific energy that is supposedly given off by cells undergoing division. It may in turn stimulate the process of mitosis in other cells, better known as Gurvich Radiation, named after Alexander Gurwitsch. See also Otto Rahn Invisible Radiations of Organisms. V.P. Kaznacheyev work is summarized in The Excalibur Briefing. Kaznacheyev work has been more recently carried on by Michaylova in Novosibirsk, that explains the Quartz/Glass issue..

At any rate it was an interesting few hours. They have the largest library of PSI related books I've ever heard of, and that makes a visit worthwhile if you are in the area.

Saturday, October 6, 2012

"What Good Are Strong Specifications?"

"I'll go up and find out what they need [this project to actually do], the rest of you stat coding it [right now]" is meant to be humorous, alas I've seen it the Real World far to often. What is our new widgets actually required to do (Validation: Have we built the correct device? Do we meet the customer's requirements)? Which brings us to the subject of this blog, writing software specifications (Verification: Have we built the device correctly? Did we find and remove all of the 'bugs'?) and User Documentation.

What Good Are Strong Specifications? [PDF] by Nadia Polikarpova, Carlo A. Furia, Yu Pei, Yi Wei and Bertrand Meyer Chair of Software Engineering, ETH Zurich, Switzerland.


Experience with lightweight formal methods suggests that programmers are willing to write specification if it brings tangible benefits to their usual development activities. This paper considers stronger specifications and studies whether they can be deployed as an incremental practice that brings additional benefits without being unacceptably expensive. We introduce a methodology that extends Design by Contract to write strong specifications of functional properties in the form of preconditions, postconditions, and invariants. The methodology aims at being palatable to developers who are not fluent in formal techniques but are comfortable with writing simple specifications. We evaluate the cost and the benefits of using strong specifications by applying the methodology to testing data structure implementations written in Eiffel and C#. In our extensive experiments, testing against strong specifications detects twice as many bugs as standard contracts, with a reasonable overhead in terms of annotation burden and runtime performance while testing. In the wide spectrum of formal techniques for software quality, testing against strong specifications lies in a "sweet spot" with a favorable benefit to effort ratio.

- {Trackback}

In a less formal, more practical implementation to the everyday Embedded System Developer, Doxygen is a popular method of generating documentation from source code. Doxygen can be extended with 'alias' to add features, and a thread over at Stack Overflow, Custom tags with Doxygen shows how to add 'Requirement' and 'Requirement Verification' aliases.

While Doxygen excels at Program Documentation, it is often pressed into service to generate User Documentation, which far to often a novel concept to software authors, that is not the domain Doxygen was intended for and often has to be beat into submission. On the other-hand AsciiDoc is written specifically to author User Documentation, and can be used to extract the User Documentation from the source code files. If you truly want to keep your project on track then write the User Documentation first before any line of code is ever written. Keeping the Source Code, Program Documentation and User Documentation as a single file gives them the best hope of actually being maintained.

Something I always find extremely frustrating is the disconnect between Academia Research into Software Safety, and the Real World of "we must ship 782 Widgets by Friday to meet payroll!". Take for example Net-Centric Software & Systems Consortium's Software Safety Tutorial, that is reproduced below, which seems more like an expedition for finding more funding from industry. How do you actually apply this kind of information in the Real World? The European Network of Excellence of Embedded Systems Design is a bit more in-line with the concept that a product must having shipping it as one of its primary requiremnts...

Alas the problem is not just one of academic discussion as Dave Woll explains the issues of our aging infrastructure impending failure in The coming wave of process safety system migration: Systems changes require rigorous hazards analysis.

If you do like Slid Shows check out CPLD Course Draft International Software Safety Conference 2011:

"A Methodological Framework for Software Safety in Safety Critical Computer Systems"

The Journal of Computer Science is frequently overlooked in the Embedded Space for the solutions to many problems, for example the September issue covered topics as diverse as, Speed Control of Switched Reluctance Motor Using New Hybrid Particle Swarm Optimization for the hardware types and among us, and Fuzzy Cost Enabled Cluster Based Multipath Routing Algorithm for Mobile Ad-Hoc Networks for those putting together the latest sensor net.

Of particularly interest to me is A Methodological Framework for Software Safety in Safety Critical Computer Systems [PDF] by P. V. Srinivas Acharyulu and P. Seetharamaiah. These authors have put together one of the best introductions to issues related to the safety of systems controlled by software, from defining the terms to building a model system out of a real model train set to demonstrate the techniques described.


"Software safety must deal with the principles of safety management, safety engineering and software engineering for developing safety-critical computer systems, with the target of making the system safe, risk-free and fail-safe in addition to provide a clarified differentaition for assessing and evaluating the risk, with the principles of software risk management. Problem statement: Prevailing software quality models, standards were not subsisting in adequately addressing the software safety issues for real-time safety-critical embedded systems. At present no standard framework does exist addressing the safety management and safety engineering priniciples for the development of software safety in safety-critical computer systems. Approach: In this study we propose a methodological framework involving safety management practices, safety engineering practices and software development life cycle phases for the development of software safety. In this framework we make use of the safety management practices such as planning, defining priniciples, fixing responsibilities, creteria and targets, risk assessment, design for safety, formulating safety requirements and integrating skills and techniques to address safety issues early with a vision for assurance and so on. In this framework we have also analysed integration of applicability of generic industrial heirarchy and software development heirarchy, with derived cyclical review involving safety professionals generating a nodal point for software safety. Results: This framework is applied to safety-critical software based laboratory prototype Railroad Crossing Control System (RCCS) with a limited complexity. The results have shown that all critical operations were safe and risk free. Conclusion: The development of software based on the proposed framework for RCCS have shown a clarified and improved safety-critical operations of the overall system peformance."

Journal of Computer Science
DOI: 10.3844/jcssp.2012.1564.1575
Volume 8, Issue 9
Pages 1564-1575

Do keep in mind it is an introduction, a real Rail Road Crossing Control System (RCCS) would be made from two or more systems running parallel, using different processors, different hardware developed by different teams in different languages such C and ADA. The real fun part is developing a system that must run for a few decades and not the eighteen month life span for many components today.

More Government Responses on Software License Questions

I have been covering how the Government is getting involved in writing firmware in a couple of past blogs. Two more States have responded to my questions.

The state of Idaho previously said they would send me a formal written letter with their response. I now have that in hand as you can see below. While the nostalgia of a formal letter is nice, was it really required when a email would have done?

Board of Professional Engineers and professional Land Surveyors

Dear Mr. Paddock

At its meeting on September 5 and 6, 2012 the Idaho Board of Licensre of Professional Engineers and Professional Land Surveyors reviewed the email inquiry about licensing of software engineers which you submitted to David Curtis dated August 5, 2012. You have raised some interesting question which the Board has voted to take under advisement and study. We will communicate with you further after we have had the opportunity to determine how we will handle the issues.

Please call if you have any questions

For the Board [Signed] David K. Bennion, P.E. Board Chair

DLC/DKB/dc:Paddock,Bob.2012-09 Meeting

From the state of Mississippi:

Mr. Paddock,

At this week's Board meeting, the members reviewed and discussed your email below.

Your questions about the exam should be referred to NCEES (

The requirements (education, examination and experience) are all on our website at; look at Initial PE licensure requirements. These requirements are set by both Mississippi statutes and by Board regulations.

If a person passes the NCEES Software PE exam in Mississippi, then the person would be a licensed Professional Engineer in this state. The license expires every Dec. 31; the current renewal rate is $35 and 15 hours of continuing education every year.

Regarding the use of the title "engineer", Mississippi statute 73-13-39 restricts this title to those who are licensed Professional Engineers. When it comes to the Board's attention that an unlicensed person is using this title in a public manner, such as to to solicit business, to claim credentials or to certify something, the Board is compelled by state law to direct the person to cease and desist.

I hope this information is helpful to you.

- Rosemary Brister

Sunday, September 30, 2012

National Additive Manufacturing Innovation Institute. Printed 3D Cell Phone or Liver anyone?

Thursday [Sept. 27th 2012] I spent some time at the National Additive Manufacturing Innovation Institute open house in Youngstown Ohio; Additive Manufacturing is often called 3D printing.

I had a few moments with James Cossler, the head of the Youngstown Business Incubator, before we were interrupted by a cell phone. When I asked if they would be able to print circuit boards he told me they wanted to be able to print a working Cell Phone within four years. He also told me that in four years they wanted to be able take some of your DNA and be able to 'print' replacement organs. [An area of science becoming known as 'Regenerative Medicine'; See Star Trek The Original Series - What are Little Girls Made Of on how this ends badly.] This would put an end to organ rejection during transplants. James also said that there was a machine that could hold 440 different feed stocks on its way.

For more on Developments in Printed Electronics see John Andresakis talk with I-Connect007 Editor Ray Rasmussen about developments in printed electronics. The IPC has made printed electronics a technology priority and John details the progress with standards and technologies in the market.

"Engineered Comestible Meat" (3D printed muscle tissue) has already been purposed to the USDA:

The objective of this proposal is to construct muscle tissues by a novel and versatile tissue engineering technology and to assess their texture and composition for use as minced meat. The patented "print-based" technology has several distinguishing features...

Too much 3D hype, says 3D printing consultant James Snodgrass, comes to mind:

"Additive manufacturing and 3D printing are a poor substitute for conventional manufacturing," said [Todd] Grimm, suggesting that the industry needs to look for the niches where it can offer a unique solution.

"The opportunity lies when you change the game. Stop looking at it as a direct substitute for injection molding or die casting."

Does this mean the tool-and-die shops that drive this region's (Meadville, PA) economy and give this town its "Tool City USA" nickname will become an other ghost-town with high unemployment?

I also hope there is not to much of a 'Can Do' attitude due to the large sums of money being thrown around that leads to tax payer waste. For more on why 'Can Do' is bad see: The Priming of 'Can Do' and the Language of Influence by RISKEX / Dr Robert Long.

An example of waste, or at least poor planing, was while refurbishing an old furniture factory to become the consortium's new home, a wall was removed, a garage-door was put in, the wall was replaced, and then the whole process was repeated a second time, with a larger door, when it was realized that the incoming equipment was to big to fit through the first new garage-door. Largely due to the current Administration's rushing things to get around an obstructionist Congress. [They all, Administration and Congress both, need to go in my personally opinion. When was the last time you were invited to a political 'Party'? We need Statesmen, not partiers! When did our Public Servants, as envisioned by the Founding Fathers, become our 'Leaders' anyway?]

I'm hopeful that there will be lots of out-of-the-box ideas that make it into the Real World, and exceptionally thankful that something new and modern has found a home in my own home region for a change.

Reference material:

Tuesday, September 25, 2012

Segger, the JTAG people, left no one to mind the store

Today I was working on integrating some of our equipment with that of a customer. Found that the customers equipment was sending data far faster than the specifications allowed. They sent me a new .HEX file, and the day goes down hill from there.

The people on the other side of the world that sent the .HEX file, tell me that their hardware is a ST ARM micro, set up to use a Segger J-Link JTAG pod. No problem, I've got one of those deep under the workbench, from evaluating a ST ARM7 years ago. Dig it out, blow the dust off go to plug in and..

The next problem appears, which is they used a 2mm pitch connector and not a standard JTAG connector that mates with the J-Link. Get that wired up and got the J-Link to connect and...

The next problem appears, when I hit "Program". Rather than see my ST micro sucking in my new .HEX file, I'm greeted with:

You need to enter a valid license file

#$_)(@$#$! Follow the dialog that says to email my serial number to the address in the dialog. Do that and wait, and wait, and wait, after an hour of waiting I found a phone number on the web site, and...

The next problem appears, when the phone answering voice, Jane, tells me that anyone that could help me is at a Trade Show for the next few days. Jane gives me a different email address to try, so I do that and wait, and wait, and wait... Remember the people I'm working with are on the other side of the planet and they want to go home. After waiting two hours, I found a different phone number on the web site and...

The next problem appears, the voice at the different phone number is Jane again. Not that Jane is the problem, she very sympathetic with my plight, but has no technical knowledge to help me. She gave me a third email address to try. At the end of my day, long after the upset people on the other side of the world went home, I still did not have my license file! #)$*#)$*! A technical company like Segger can't setup a license server to automate this?

Never had any complaints about Segger until today, there stuff worked and was not a hassle to use, as least in the past. Seems now some lawyer has taken over what once was a good technical company. So who else makes JTAG equipment that does not require lawyers to use? I need one by 7AM...

Is (415) 762-1722 bothering you too?

Today [Oct/24/2012] I got this email transcribed by Google Voice::

New voicemail from (415) 762-1722 at 3:01 PM

Hey, it's me. Please speak with a Mr. Bob Paddock Hello, yo. Hello.

I'm sorry but I don't know anyone named 'Me' and no one I want to talk to would have ever called this number! I've never used the number, I've never given my Google Voice number to anyone.

Two weeks ago this same number started calling my Cell Phone. There are only five people that I've given my Cell Phone number to, and I'm sure 'Me' was not one of the five.

A Google Search shows lots of people are being hassled by this number. A few seem to think it has to do with Trade Magazines. I get several as those as many of us do. Those calls are also annoying to the point I put the number from the opening scene of the Matrix down. How many times in a year are you going to hassles me about renewing? If I want the magazine I already renewed on line. Why do you call and ask me to renew a magazine that I do not currently subscribe to and do not want?

Anyway back to (415) 762-1722, maybe there is a lawyer out there that wants to start a class action suite for all of those ticked off at this phone number interrupting us, multiple times a day?

Please join me in filling a complaint with Federal Trade Commission to put an end to calls from this number. You need to register the number that you are being hassled at on the Do Not Call list, that these people are ignoring (what would you expect from the Government?).

Sunday, September 23, 2012

Short a pin? There ain't no more up!

Picture Kentucky Coal Miner on the phone to the maker of their Man-Hoist ("Coal Miner" for open air elevator, beats any Amusement Park ride, only next to the 'Man-Trips', the Roller-Coaster like ride that takes you into the Mine, where you may lose your head at any moment).

Our Hoist only goes up. We've run out of cable, it is all on the spool. There ain't no more up!

I'm sure you have experienced the frustration of needing just one more pin on your Micro. Here is why you don't let the Boss force you into take shortcuts to increase company profits, in the shortsighted short-term. Seems the Hoist designers used two inputs one for Run/Stop and one for Up/Down. Up/Down faulted to 'Up', no mater what you wanted it to do, you only went up.

They should have used four inputs, Run, Stop, Up, Down. Seeing both Up and Down asserted simultaneously would then signal a fault.

The morale of this design tip: Do not take short cuts, people ultimately pay the price. Warrant Repairs are expensive when you have to travel to the mine.

Thursday, September 20, 2012

Brain Boost Button one step closer

In 1972 Orson Welles narrated a short documentary film, directed by Alex Grasshoff, based Alvin Toffler's book Future Shock.

In that film there is a man shown getting out of bed, groggily finding a 110VAC wall socket to jack-in his neural implant, and pressing a button with his thumb to charge up his cognitive co-processor brain implant for that day, the way many people feed their caffeine addiction every morning.

Now the Journal of Neural Engineering has published (Volume 9 Number 5; J. Neural Eng. 9 056012) Facilitation and restoration of cognitive function in primate prefrontal cortex by a neuroprosthesis that utilizes minicolumn-specific neural firing [PDF]. This is a simple brain implant to augment the brains processing power (currently in animal tests with monkeys), where there has been brain damage due to trauma or disease. It is the first small tentative step to the Brain Boost Button that Toffler warned us of being on the horizon in 1972...

Tuesday, September 4, 2012

Government Responses on Software License Questions

Last month I explained that many states are in the process for requiring a license to develop software . This month I have the states response to questions about their upcoming license requirment.

How did we get here? The perspective from those advocating for Software Licensing can be summed up in New developments in aftermath of Deepwater Horizon disaster emphasize role of licensure in ethical engineering practice on the Louisiana Licensing Board site:

Most of the media reports about [former BP engineer Kurt] Mix are referring to him as an engineer. Individuals such as Mix practice engineering in the private sector every day without a license under licensure exemptions. While state laws may not always require a license, NCEES is committed to advancing licensure for engineers to better protect the public from incompetent or unethical practice.

Professional engineers are licensed at the state level; they must meet education and experience requirements in addition to passing a standardized examination program. To maintain a license, a P.E. must adhere to a strict code of conduct, with the primary charge being to practice the profession in a manner that protects the health, safety, and welfare of the public. A professional engineer who violates this obligation is subject to losing his or her license. -- Jerry Carter, Executive Director NCEES, May 3, 2012.

Requiring software developers to get a license will certainly save many lives, right? Reality:

"Key alarms were turned off prior to the explosion that led to the oil spill, because people higher up in the chain of command do not want to be gotten out of bed at two in the morning due to false alarms." -- Testimony of Mike Williams Deepwater Horizon Incident, Gulf Oil Spill.
I once asked the longwall foreman that I was with why the 4400VAC trailing cable (powers the shearer [coal mining machine]) had so many band-aid's (several layers deep) on it, "Did it get an ouchy or what?" I recall asking. His answer was chilling: "Management thought we were using to much electrical tape, so they refused to give us more. They don't care how many band-aids we use." -- 29 miners lost their lives because safety systems failed.

Lets assume that the Software Engineers had passed their licensing exams and were dully licensed by the state. Would that license have done anything to prevent those disasters? Absolutely not.

Here is a personal example. When I was designing Coal Mining Equipment for the UK, one of the specifications required a break-interlock, because the machine operated on a steep grade. Following the requirement document I wrote the software such that it had to see the brake-interlock open then close. Soon after the machine was put into service the customer was on the phone complaining that the brake-interlock could not be defeated with a clip lead, and they wanted the software changed. I took this to my boss who said "Do what the customer tells you", took it to the company owner who said "Do what the customer tells you". So if I had my Software License that means I quit the job and move on to a new opportunity to keep my license, and let someone else in the now former company "Do what the customer tells you" that is clearly not in the interest of safety? Today I would, then I was younger... What would you do?

What is this test going to contain? The document SOFTWARE ENGINEERING PRACTICE STANDARDS Licensure Guide has been prepared for State Licensing boards by TPBE/IEEE CS ad hoc, modified by IEEE LRC, and the Texas Software Engineering Taskforce Members. It is not currently publicly available (If this is truly about safety why make it hard to find?). This document largely draws from NCEES Model Law (110.10 General Provisions, 110.20, Definitions; A. Engineer; 5. Practice of Engineering; paragraph 1;, 170.20 C. Exemption Clause, 130.10, General Requirements for Licensure; C. Professional Engineer; 1. As a Professional Engineer;, 140.10 Certificates of Licensure, Seals). The Licensure Guide cites the following section several times, the emphases is theirs:

Annotates: Model Law 110.20, Definitions; A. Engineer; 5. Practice of Engineering; paragraph 1; Practice of Engineering. The term "Practice of Engineering," as used in this Act, shall mean any service or creative work, the adequate performance of which requires engineering education, training, and experience in the application of special knowledge of the mathematical, physical, and engineering sciences to such services or creative work as consultation, investigation, expert technical testimony, evaluation, planning, design and design coordination of engineering works and systems, planning the use of land, air, and water, teaching of advanced engineering subjects, performing engineering surveys and studies, and the review and/or management of construction for the purpose of monitoring and/or ensuring compliance with drawings and specifications; any of which embraces such services or work, either public or private, in connection with any utilities, structures, buildings, machines, equipment, processes, work systems, projects, communication systems, transportation systems, and industrial or consumer products, or equipment of a control systems, communications, mechanical, electrical, hydraulic, pneumatic, chemical, environmental, or thermal nature, insofar as they involve safeguarding life, health, or property, and including such other professional services as may be necessary to the planning, progress, and completion of any engineering services.

The software engineering PE exam will assess a potential licensee's competency in the following areas of software engineering:

  1. Requirements
  2. Design
  3. Construction
  4. Testing
  5. Maintenance
  6. Configuration Management
  7. Engineering Processes
  8. Quality Assurance
  9. Safety, Security, and Privacy
These areas were determined by an extensive Professional Activities and Knowledge/Skills (PAKS) study conducted by the NCEES in cooperation with the SELC.

Anytime new regulations are created there is always unexpected side-effects. For example Model Law section 140.10 Certificates of Licensure, Seals requires that any version control management system that is used for the final storage must be one that considers the history and contents to be sacred and unchangeable. This is the only way to place a 'Seal' on the software. Also don't over look "teaching of advanced engineering subjects". Try to help out someone by answering a question or write an educational blog entry on software and we now need a license?

I am curious, as a developer of Firmware did anyone ever ask you to take part in the following survey?:

"Groups representing software engineers have long maintained that software engineering should be licensed because it is increasingly practiced in areas that reach into the everyday lives of the general public, such as traffic control systems and the electrical grid. An IEEE Computer Society survey of software engineers indicated that two-thirds of those employed in the industry support a licensure exam for their profession." --

We as Firmware Designers (By Law we can no longer be Firmware Engineers, see the next section) have done so well in our craft that as a group we are unknown to those developing the licensing test?

One universal outcome from contacting the states is that using the word "Engineer" without a license is illegal, and in many states punishable by a fine (Involuntary Monetary Forfeiture). According to What Do You Mean I Can't Call Myself a Software Engineer? by John R. Speed, PE, Texas Board of Professional Engineers, the solution is:

"The best way to avoid problems is to practice title abstinence."

So make sure you take any title off your door and business card and send the state the bill for the time and materials to get it done...

The other universal item from the states is that unless you have at least of a minimum of a four year Bachelor of Science degree from an ABET-accredited school you can not get your license. Also the number of years of experience you are required to have vary by the state. Fifteen years was the highest amount I came across.

If you have a non-ABET accredited engineering degree from a foreign country, you must also have your degree evaluated by NCEES Credentials Evaluations. This evaluation will be performed at your expense, and you're responsible for submitting the all necessary information to the evaluation service.

I found that many states do not license Professional Engineers by discipline. This means that you can take any of the NCEES tests, the state doesn't really care which one you take, just as long as you passed one of them. Then the Professional Engineer license and Code of Conduct requires the PE to restrict their practice to their area or areas of expertise which they have obtained by either education or experience. Everyone licensed holds the title Professional Engineer, regardless of the field in which they are educated, trained or in which they practice. Besides the Software Exam some states will require you to take the Fundamentals of Engineering exam as well.

With the exception of the states of Alabama, Delaware, Florida, Michigan, Missouri, New Mexico, New York, North Carolina, Texas and Virginia, as it is already known they require a license. I asked each state some variation of the questions that follow. The variations were driven by the information that I found on each states web site. Ever state has a different site format, some with searches that work well and some that return "page not found" when clicking on important links. Trying to find relevant information on most of these sites has made this blog entry the most time consuming of all I've done to-date. I guess we should be thankful that a standardized Software License test is coming...

Subject: Will there be a Software Engineer license?

Dear Mr./Ms [as appropriate with the name taken from the NCEES directory].

I'm working with Firmware Planet in regards to the possibility of licensing Software Engineers, I was unable to find anything related on the website, [taken from the NCEES directory]. I am contacting each state. Thank you for taking your time to respond.

The National Council of Examiners for Engineering and Surveying (NCEES) will be implementing their "Principles and Practice of Engineering Examination Software Engineering Exam" in 2013. Are there any plans to require this license in [State]?

Should such a license be required by the state, will there be any distinction made between types of computer systems such as your desktop PC, your Smart Phone or an Embedded System (those that run your microwave and your car)? Will there be any distinction for networked systems (Internet being the best well known, but not the only network system)

What will the prerequisites for taking the test, should it become required? Software is significantly different than any of the current required licenses.

A concern that I have is that there will be academic requirements, that will exclude those that have been practicing in the industry for years, yet have do not have a degree from a state recognized institution. Will there be any type of grandfathering or allowances for years of practice, so that the most experienced people are not prevented from taking the test?

Does [State] license by Comity/Reciprocity? Software is many times not confined to geographic boundaries.

Currently the American Society for Quality has their "Software Quality Engineer Certification" (CSQE). As a holder of a CSQE will there be any ramifications of using the word "Engineer" on my business card or web site?

How often will this license have to be renewed, and at what expense?

Thank you for your help.

This is each states response. I present them generally as I received them, however I did not always reproduce the color and formating (Who thinks HTML in email is a good thing?). Colorado requested that I edit their response, I did so with minimal changes:

  • Alabama: Did not contact.


  • Alaska:

    The Board at its August 2-3, 2012 meeting in Anchorage moved to start a regulation project to evaluate and/or adopt software engineering licensure. They will study it and the concerns in your email and decide whether or not it would be in Alaska's best interest to recognize software engineers. It could take several years to consider all the issues and establish the requirements for licensure.


  • Arizona: No response to questions.


  • Arkansas: No response.


  • California: No response.


  • Colorado:

    At this time, the AES Board's position on software engineering has not changed with the coming offering of the new PE examination in this discipline, and the laws regarding licensing have not yet changed either as of this date. The Board is undergoing sunset review and it is possible that a change could happen in the Legislature next year, but I would be surprised. At this time, Colorado does not license by discipline, so anyone licensed here may practice in as a Professional Engineer in the area of his or her expertise. We do not license individuals as Civil Engineers, Structural Engineers, Mechanical Engineers, etc.

    With regard to software engineering, if an individual is performing work that comes under what is described in the definition of the Practice of Engineering in section 12-25-102(10)(a), C.R.S., then that person would be required, unless exempted as in section 12-25-103, C.R.S. to have a license in Colorado. You may find these provisions of the law at

    The qualifications for taking the examinations and for getting licensed by endorsement (also known as reciprocity or comity), can also be found at the link above at sections 12-25-110-114, C.R.S. and there is more information in our application and application instructions at

    There would be no grandfathering provision. Renewal occurs on a two-year cycle and the cost is set prior to each renewal period. The cost has not been above $75 for nearly a decade for a two-year license, however. Certification from another body would not qualify in this instance.


  • Connecticut: No Response.


  • Delaware: Did not contact.


  • Florida: Did not contact.


  • Georgia:
    Georgia has not yet addressed the issue of Software engineers. I imagine the Board will follow the lead of the NCEES Model Law at some point, but I cannot give you a time period in which any action might be taken.


  • Hawaii:
    Hawaii licenses by discipline of engineering but the Board has not indicated they want to add software engineering as another discipline to license. Therefore, you would need to be licensed as an electrical engineer in Hawaii and meet the requirements for an electrical engineer. For more detailed information on our requirements and to download an application, please visit our website at


  • Idaho:
    I am adding your inquiries to the agenda for the Board meeting scheduled for September 5 and 6, 2012. We will send a letter with the Board decisions the following week. Please provide u a mailing address for the response.


  • Illinois: http:// Minutes of the July 2009 meeting supported requesting NCEES to develop a software test.

    Illinois does not license by discipline. A PE can do all that he is qualified to do by education and experience.

    When NCEES starts offering the Principles and Practice examination for software engineering, Illinois will offer it as well along with the other Principles and Practice examinations. Passage of this examination and meeting all other qualifications (education, experience and passage of the FE as stated by the Act and Rules) would allow licensure as a PE.

    The following is a link to where you can access the PE Act, Rules and application forms.

    Use of the title "Engineer" is protected under the Act. Unless you are licensed, you may not call yourself an Engineer in Illinois.


  • Indiana:

    Thank you for your inquiry. Please keep in mind the State of Indiana does not license by discipline. If apply to Indiana to become a licensed Professional Engineer and you take and pass a new discipline of examination by NCEES you will be a licensed Professional Engineer in Indiana.

    Once registered you will have to renew like all other engineers; the renewal deadline is July 31, of every even year.

    For your convenience, here is the link to the Indiana Statutes and Rules,


  • Iowa: No Response.


  • Kansas:
    Kansas will recognize any NCEES exam. We do not license by discipline. All PE's licensed in Kansas must meet the same requirements of education, experience and exams. These same requirements will be made of anyone wishing to take the NCEES software exam. Comity applicants are required to meet the requirements that were in place in Kansas when they were granted their first PE license. Our Board has no plans to make specific rules for software engineers.


  • Kentucky:

    You should also contact IEEE and review "Guide to the Software Engineering Body of Knowledge" (SWEBOK) for further information.

    We offer all NCEES exams so it will be offered when available.

    Yes, the distinction will be whether the work is related to public health, safety, and welfare. For example, development of a webpage or a game is not, while development for nuclear reactors and the electric energy grid is. Also, there is a distinction between computer programming and software engineering.

    The requirements will be the same as for all engineers; an EAC ABET accredited engineering degree (or one determined to be equivalent by the board); pass the national Fundamentals of Engineering (FE) exam; and obtain four years of progressive engineering experience. A person would then qualify to take the Principles & Practice of Engineering (PE) exam.

    No "grandfathering" or substituting of experience for education or exams is planned. Their education will be analyzed on a case by case basis to see if they qualify to begin the path to licensure.

    Comity is for those who are all ready licensed as a PE in another state. Their qualifications are reviewed on a case by case basis to see if they meet the requirements we had in place when they were originally licensed in another state.

    Our law states that no person shall "use, assume, or advertise in any way any title or description tending to convey the impression that he or she is a professional engineer". Therefore, it would depend on how you are using the word and the related context.

    Licenses are renewed every two years @ $150.


  • Louisiana: No response.


  • Maine:

    Maine will offer whatever exams NCEES has to offer. The requirements to take the PE exam will be the same as other engineering disciplines, A BS degree in Engineering, the Fundamentals of Engineering exam and four years of engineering experience following the BS degree. There is no waiver of the FE exam for any disciplines, by board Statutes. Maine does license by comity, so anyone that has become licensed in another State and who meets the requirements for licensure in Maine, would be eligible for comity licensure. All licenses in Maine expire on the odd numbered year with renewals required every two years.


  • Maryland: No response.


  • Massachusetts:

    The Massachusetts Board does not currently license Software Engineers. However I will bring your email to the next board meeting and provide a more informative response after the meeting on August 30th.

    [This came on Sept. 6th 2012:] At their August 30th meeting the Board of Professional Engineers and Professional Land Surveyors discussed your email and concurred we do not license software engineers and at this time they are not aware of any legislation to change that.


  • Michigan: Did not contact.


  • Minnesota: No Response.


  • Mississippi:

    [I did not ask the Comity/Reciprocity question as they gave that answer that was easy to find, unlike most other states. On the other hand most of the links on the website required an unidentified browser plugin that I did not have. Maybe if the website was developed by a Software Engineer with a license that would not happen?]

    Mississippi does not issue PE licenses by discipline, so there won't be a Mississippi "Software Professional Engineer" license. We issue the Professional Engineer license and our Code of Conduct requires the PE to restrict his practice to his area or areas of expertise which he has obtained by either education or experience.

    Mississippi has a long-standing policy of offering all the NCEES PE exams.

    As to your other questions, I'll need to put your inquiry on the next Board meeting agenda for the Board members' response. That meeting is at the end of September, so you'll receive the members' response in early October.

    [They added this about a week later:]

    No, there will not be a Software Engineer license. There will be a Professional Engineer license and the PE may practice software engineering.


  • Missouri: Did not contact.


  • Montana:

    The Montana Board does not license professional engineers by discipline. All engineers licensed in Montana are "professional engineers." If a person is going to practice engineering in Montana, of any discipline, they are required to obtain licensure as a professional engineer either by exam or comity.

    If NCEES is offering an exam beginning in 2013, then individuals may begin applying to take that discipline of the exam. However, the requirements for sitting for the exam will remain the same. There are four different sets of qualifications for licensure which are outlined in 37-67-306 MCA. If a person meets one set of those requirements and is already licensed out of state, then that person could apply by comity.

    Montanan licenses renew June 30 of every even-numbered year so it's a biennial renewal. The renewal fee every two years is $90.


  • Nebraska: No response.

    [I did not ask the Comity/Reciprocity question as the home page said "the comity license application fee was reduced from $200 to $150". Exactly how many people do we have to pay 'fees' to be allowed to do our jobs?]

    "...applicants with a minimum of fifteen years of licensed engineering work experience in another state." Only government logic could require 15 years of experience for a license that doesn't actually exist yet. So does this mean you still have to take the test in Nebraska?]


  • Nevada:

    I will present your questions to the Nevada Board at its September Board Meeting. I will get back to you after that meeting.


  • New Hampshire:
    NH does not license Professional Engineer's by discipline. We have one general license. We follow NCEES guidelines regarding what exams are offered. I'm sorry I am not able to answer your specific questions because we do not license by discipline.


  • New Jersey:

    This will be considered at the next Board Meeting on September 20th and a decision will be made public within the following week.

    Specialities within the software engineering discipline would be determined according to the NCEES format/method of examination. If NCEES does not differentiate, then most likely N.J. won't; and vice versa.

    If software engineering licensure is required in N.J., then a review of the Boards regulations would need to take place. Prerequisites would be determined at that time.

    Grandfathering and allowances for experience are generally part of the engineering regulations in N.J.

    Other engineering disciplines do have a comity option which allows licensees in other states to transfer some parts of their qualifications to N.J. There are still some requirements specific to N.J., including the final stage exam.

    I will pose this to the Board as well. Currently, software engineer in N.J. does carry a different connotation to Professional Engineer or Civil Engineer, etc. However, in the interest of clarity, this question will be presented to the Board.

    Engineering licenses in N.J. are currently renewed every two years. the renewal fee is $80.00.


  • New Mexico: Did not contact.


  • New York: Did not contact.


  • North Carolina: Did not contact.


  • North Dakota:
    North Dakota does not license by discipline; rather all licensed engineers are PE's who are ethically bound to stay within their area of competency. That being said, the North Dakota Board has voted to accept the Software Principles and Practices of Engineering examination as a basis for licensure. So, individuals who meet all other requirements and have taken and passed the NCEES PE exam are eligible to become licensed.


  • Ohio: [Color and all caps. is as received.]

    The National Council of Examiners for Engineering and Surveying (NCEES) will be implementing their "Principles and Practice of Engineering Examination Software Engineering Exam" in 2013. Are there any plans to require this license in Ohio?


    What will the prerequisites for taking the test, should it become required?


    A concern that I have is that there will be academic requirements, that will exclude those that have been practicing in the industry for years.


    Living here on the boarder of Pennsylvania and Ohio, will there be any reciprocity with other states?


    Currently the American Society for Quality has their "Software Quality Engineer Certification" (CSQE).


    "This is an evolving field of practice and I am sure there will be many changes and questions moving forward. Let me know if you have further questions."


  • Oklahoma:

    On my first contact the response was: "[This will be added as] an agenda item to the July 23-24 Board Meeting and discuss this issue with the Board and respond to your questions/concerns after the meeting."

    (c) The use of the terms 'network engineering' or 'software engineering' by firms and 'network engineer' or 'software engineer' by individuals is allowed under provisions of O.S. Title 59, Section 475.1 et seq. Firms may not use the word engineer or any derivative thereof in the name of the firm and individuals and firms are prohibited from offering or performing professional engineering services without being duly licensed or authorized to do so. --

    On my follow up contact after the meeting date the response was:

    Mr. Paddock: The Board is still reviewing this issue and we should know more after the September 20-21 meeting. There are no current plans to change anything that is currently in place regarding Software Engineering. We are reviewing all of our rules and regulations this fiscal year and this is just one part of that process, but we will certainly let you know if anything comes from continuing discussions.


  • Oregon:

    The response I got from the Oregon State Board of Examiners for Engineering and Land Surveying, was that all my questions were answered in their 2012 Summer edition of the The Oregon Examiner. Few of the questions were answered there. I was also directed 'If you have any further questions, please feel free to contact any member of the OSBEELS team'. I did not pursue.


  • Pennsylvania:

    I covered this one last month. It was a finger pointing match.


  • Rhode Island:

    Rhode Island is discipline specific and the Board does not recognize Group II exams of which "Principles and Practice of Engineering Examination Software Engineering Exam" would be one.


  • South Carolina:

    Thanks for your email. I am unable to answer all of your questions, and for those I believe referring you to NCEES is the best solution.

    South Carolina does not currently have any plans to issue a separate license to anyone as a Software Engineer. Everyone licensed in this state hold the title Professional Engineer, regardless of the field in which they are educated, trained or in which they practice.

    Holding only a certificate would not allow anyone to use the title "engineer" in South Carolina. Section 40-22-30 prohibits individuals or firms from using the title "engineer" unless they are licensed in South Carolina. We do license individuals by comity if they meet the state's qualification. Most disciplines of engineering have no geographic boundaries; software engineering would be no different.

    Academic requirements will likely be adopted into NCEES Model Law and Regulations. Historically, the South Carolina Board follows Model Law as closely as possible, but the Board has no plans at this time to ask the Legislature to revise law or regulations to accommodate for "software engineer" which would be consistent with not licensing anyone as "structural engineer" or any other specific discipline. Many times, when a Board adopts new requirements, the implementation date is set for several years out and sometimes individuals who currently practice the discipline may apply for a "grandfather license" if they meet the requirements and timetable set for a grandfathering period. I am unable to say at this time what the education requirements would be or if a grandfathering period would be implemented.

    I hope this is helpful.

    I guess for some things, there is no solid answer at this time. States will create their own rules, eligibility criteria, discipline-specific licenses issued (or not), and a host of other considerations that come with an initial test in an engineering discipline. Sooner or later, these decisions will be made. I'm sorry I could provide only limited information.


  • South Dakota: No response.


  • Tennessee:
    The Tennessee Board does not license engineers by discipline. Registrants are allowed to practice any discipline in which they are competent by reason of education and/or experience. We will be offering the software engineering exam in Tennessee, but I would think that most "software engineers" would fall under the license exemptions in our law. The qualifications for registration will be the same for applicants taking the software engineering exam as for other engineering disciplines. A summary of our requirements is available at We license engineers by comity in Tennessee, meaning that all applicants must meet our minimum registration requirements. The use of the certification you mention is permissible in Tennessee as long as the individual does not perform or hold themselves as offering professional engineering services to the public. Our licenses are renewed every two years at a cost of $140.


  • Texas: Did not contact. See I was unable to find the actual "Software Engineering Task Force".


  • Utah:

    There are currently no plans to create a license for software engineers. Please let me know if you have further questions.


  • Vermont: No response.


  • Virginia:

    I am replying to your e-mail on behalf of Kate Nosbisch and the Board. Virginia licenses "professional engineers" as an all-inclusive group; no PE licenses are issued in Virginia with any indication of a specific discipline. It is the responsibility of each engineer licensed in Virginia to practice engineering only for the discipline by which he is qualified through education or experience. I have included below the portion of the Board's regulation that establishes this:

    18VAC10-20-730. Competency for assignments.

    A. The professional shall undertake to perform professional assignments only when qualified by education or experience, or both, and licensed or certified in the profession involved. Licensed professionals may perform assignments related to interior design provided they do not hold themselves out as certified in this profession unless they are so certified by this board. The professional may accept an assignment requiring education or experience outside of the field of the professional's competence, but only to the extent that services are restricted to those phases of the project in which the professional is qualified. All other phases of such project shall be the responsibility of licensed or certified associates, consultants or employees.

    B. A professional shall not misrepresent to a prospective or existing client or employer his qualifications and the scope of his responsibility in connection with work for which he is claiming credit.

    Whether a PE license is required as you asked below depends on whether designing those any of those things (PC systems, embedded systems, or networks) is considered to be the practice of engineering as defined in the Virginia statute (see below):

    "Professional engineer" means a person who is qualified to practice engineering by reason of his special knowledge and use of mathematical, physical and engineering sciences and the principles and methods of engineering analysis and design acquired by engineering education and experience, and whose competence has been attested by the Board through licensure as a professional engineer.

    The "practice of engineering" means any service wherein the principles and methods of engineering are applied to, but are not necessarily limited to, the following areas: consultation, investigation, evaluation, planning and design of public or private utilities, structures, machines, equipment, processes, transportation systems and work systems, including responsible administration of construction contracts. The term "practice of engineering" shall not include the service or maintenance of existing electrical or mechanical systems.

    Based on the definitions above, and the fact that NCEES has a PE discipline-specific exam for software engineering, it is likely that those services would be considered the practice of engineering in Virginia and thus require a PE license. The prerequisites for taking the exam involve any number of education and experience requirements that an applicant would need to demonstrate to become approved by the Board to take the exam. Board approval is required to be able to register for the exam. The education and experience requirements can be found in the Board's regulations through this link: APELSCIDLA Board Regulations beginning on page 22 of 99.

    There is no grandfathering provision per se; an applicant would need to have a specific amount of experience based on the degree that he holds. The type of degree held would determine how many years of experience would be required. In situations where an applicant does not appear to meet the requirements of the regulations, an administrative hearing process exists for those applicants to present their unique circumstances to the Board for consideration of approval.

    Virginia does have an option for licensure by comity. Use of the term "engineer," or any derivation of it, is protected by Virginia statute. No person or business may use that term, or any derivation of that term in such a way that implies that the person or firm practices or offers to practice engineering unless that person or firm is duly registered with the Board. Licenses are valid for a period of two years, thus having to be renewed every two years, and have an initial cost of $60. The renewal fee is currently $80.

    I hope that this information answers your questions. If you have further questions, please e-mail the Board at [removed for spam prevention].


  • Washington:
    At yesterday's [Aug/16/2012] board meeting, the board made the decision that we will not be offering the exam in software engineering, or granting licenses by comity in software engineering at this time.


  • West Virginia: Did not contact.


  • Wisconsin:

    WI is a non discipline state. Please see below for PE exam requirements

    Starting May 28, 2010, a new law requires all applicants that are seeking licensure in Wisconsin as professional engineers to meet new education, work experience and examination requirements. The new requirements may be found in 2009 Wisconsin Act 350. (Must take and pass both PE and FE exams)...

    [Their reply was extensive, the formatting makes it hard to reproduce here. If you want to see the whole thing send me an email.]


  • Wyoming:

    [Wyoming requires License?] Yes, if a software engineer is developing engineering software in Wyoming, then they must be licensed.

    [Distinction for Embedded Systems?] Unknown at this time.

    Same prerequisites as taking any PE exam. ABET-accredited BS degree, FE Exam, 4 years of experience.

    [Grandfathering.] Probably not.

    [Does Wyoming license by Comity/Reciprocity?] Yes.

    CSQE is not a license to practice engineering, therefore, in Wyoming, putting "engineer" on your business card will be an issue if you are inferring that you are a professional engineer, but don't have a license.

    [How often and how much?] In Wyoming, every 2 years. Our renewal fees are $90 every two years.


So what do you think? Is this all being done in the name of safety, or is like the Red Light Camera's that claim to be about safety but is really about bring in more money? The people promoting software licensing do seem to be the same people that have something to gain by selling books, training material, and very expensive pieces of paper known as degrees.