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." -- http://www.llr.state.sc.us/pol/engineers/enews/November2009/index.asp?file=News_from_NCEES.htm.

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: http://www.bels.alabama.gov. Did not contact.

     

  • Alaska: http://www.commerce.state.ak.us/occ/pael.cfm.

    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: http://www.azbtr.gov. No response to questions.

     

  • Arkansas: http://www.pels.arkansas.gov. No response.

     

  • California: http://www.pels.ca.gov. No response.

     

  • Colorado: http://www.dora.state.co.us/aes.

    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 http://www.dora.state.co.us/aes/Statute-PE.pdf.

    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 http://www.dora.state.co.us/aes/licensing/PE.htm.

    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: http://www.ct.gov/dcp. No Response.

     

  • Delaware: http://www.dape.org. Did not contact.

     

  • Florida: http://www.fbpe.org. Did not contact.

     

  • Georgia: http://www.sos.ga.gov/plb/pels.
    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: http://www.hawaii.gov/dcca/pvl.
    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 http://www.hawaii.gov/dcca/pvl/boards/engineer.

     

  • Idaho: http://www.ipels.idaho.gov.
    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://http://www.idfpr.com/dpr/WHO/pe.asp. 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: http://www.pla.in.gov.

    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, http://www.in.gov/pla/files/SBRPE_2012_Compilation.pdf.

     

  • Iowa: http://www.state.ia.us/engls. No Response.

     

  • Kansas: http://www.kansas.gov/ksbtp.
    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: http://www.kyboels.ky.gov.

    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: http://www.lapels.com. No response.

     

  • Maine: http://www.maine.gov/professionalengineers.

    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: http://www.dllr.state.md.us/license/pe. No response.

     

  • Massachusetts: http://www.mass.gov/dpl/boards/en.

    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: http://www.michigan.gov/engineers. Did not contact.

     

  • Minnesota: http://www.aelslagid.state.mn.us. No Response.

     

  • Mississippi: http://www.pepls.state.ms.us.

    [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: http://pr.mo.gov/apelsla.asp. Did not contact.

     

  • Montana: http://www.engineer.mt.gov.

    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: http://www.ea.ne.gov. 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: http://www.nvboe.org.

    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: http://www.nh.gov/jtboard/home.htm.
    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: http://www.state.nj.us/lps/ca/nonmedical/pels.htm.

    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: http://www.sblpes.state.nm.us. Did not contact.

     

  • New York: http://www.op.nysed.gov/prof/pels/. Did not contact.

     

  • North Carolina: http://www.ncbels.org. Did not contact.

     

  • North Dakota: http://www.ndpelsboard.org.
    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: http://www.peps.ohio.gov. [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?

    IN OHIO NOTHING HAS CHANGED AND AS FAR AS I KNOW THERE ARE NO PLANS TO MAKE CHANGES TO LAW (FOR INSTANCE TO REQUIRE INDIVIDUALS WHO DESIGN SOFTWARE TO= OBTAIN A LICENSE). THE NEW EXAM IS AN OPTION FOR THOSE GRADUATING FROM AN ACCREDITED COMPUTER ENGINEERING COLLEGE DEGREE PROGRAM OF 4 YEARS OR MORE O= R WHO WANT TO PRACTICE COMPUTER/SOFTWARE ENGINEERING. IF A SOFTWARE ENGINEER HAS BEEN PRACTICING ENGINEERING AS DEFINED IN OUR LAWS AND RULES THEY SHOULD ALREADY BE LICENSED (MOST HAVE TAKEN AND PASSED THE ELECTRICAL EXAM). ANYONE OFFERING COMPUTER ENGINEERING SERVICES TO THE PUBLIC SHOULD ALREADY B= E LICENSED AS WELL. INDIVIDUALS WHO ARE SOFTWARE ENGINEERS WORKING UNDER THE INDUSTRIAL EXEMPTION ARE CURRENTLY EXEMPT FROM REGISTRATION IN OHIO; HOWEVER, THEY CANNOT PROVIDE ENGINEERING CONSULTING TO THE PUBLIC. THEY CAN PROVIDE COMPUTER SERVICES TO THE PUBLIC.

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

    IN OHIO THE PREREQUISITES TO TAKE THE NCEES COMPUTER SOFTWARE PRINCIPLES AND PRACTICE OF ENGINEERING (PE) EXAM WILL BE THE SAME AS THE OTHER PE EXAMS-GRADUATION FROM AN ACCREDITED COMPUTER ENGINEERING COLLEGE CURRICULUM OF FOUR YEARS OR MORE, TAKE AND PASS THE NCEES FE EXAM, OBTAIN 4 YEARS OF COMPUTER ENGINEERING EXPERIENCE.

    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.

    SEE ABOVE. THERE ARE EDUCATION REQUIREMENTS TO TAKE ALL ENGINEERING EXAMS. THERE WILL BE NO GRANDFATHERING FOR THE COMPUTER SOFTWARE EXAM. IT IS IMPORTANT TO REMEMBER THAT AT THIS TIME THERE IS NO PROPOSED CHANGES IN OHIO TO REQUIRE INDIVIDUALS WHO WORK ON THE INTERNET, SMART PHONES, OTHER INDUSTRY SUCH AS EMBEDDED SYSTEMS IN CARS, MICROWAVES, ETC. TO OBTAIN THE PE REGISTRATION- SO YOU DO NOT HAVE TO BE A PE TO PERFORM THAT WORK.

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

    OHIO DOES LICENSE BY COMITY. IF AN INDIVIDUAL HAS PASSED THE NCEES FE AND PE EXANMS THEY ARE NOT REQUIRED TO RETAKE THE EXAMS PROVIDED THEY MEET OHIO'S REQUIREMENTS FOR REGISTRATION. THIS IS TRUE FOR MOST, IF NOT ALL, U.S. STATES AND TERRITORIES.

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

    IN OHIO, AS IN ALL OTHER STATES, INDIVIDUALS MAY NOT USE THE TERM ENGINEER, OR ANY MODIFICATION OF THAT TERM, IN CONJUNCTION WITH THEIR NAME OR FIRM NAME, OR USE THE INITIALS P.E., UNLESS THEY ARE REGISTERED AS A PROFESSIONAL ENGINEER BY THIS BOARD.

    "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: http://www.pels.ok.gov.

    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. -- http://www.ok.gov/pels/documents/Finally%20adopted%20chap15%20OAR.doc.

    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: http://www.oregon.gov/osbeels.

    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: http://www.dos.state.pa.us/eng.

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

     

  • Rhode Island: http://www.bdp.state.ri.us.

    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: http://www.llr.state.sc.us/pol/engineers.

    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: http://www.state.sd.us/dol/boards/engineer. No response.

     

  • Tennessee: http://www.tn.gov/commerce/boards/ae.
    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 http://www.tn.gov/commerce/boards/ae/engineer.shtml. 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 http://engineers.texas.gov/. I was unable to find the actual "Software Engineering Task Force".

     

  • Utah: http://www.dopl.utah.gov.

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

     

  • Vermont: http://www.vtprofessionals.org. No response.

     

  • Virginia: http://www.dpor.virginia.gov.

    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: http://www.dol.wa.gov/business/engineerslandsurveyors/.
    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: http://www.wvpebd.org. Did not contact.

     

  • Wisconsin: http://drl.wi.gov.

    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: http://engineersandsurveyors.wy.gov.

    [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.


Saturday, August 11, 2012

5125 Years ago today

5125 years ago today, August 11th 2012, the first cycle of the Mayan Long Count Calendar started ticking, on August 11 3114 BC. In 133 days from now, the 13th cycle of the 144,000 day Long Count completes on December 21st, 2012 at 11:11 AM EST.

What do you think will happen when Earth lines up with the Center of the Galaxy on December 21st, 2012, 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...


Sunday, July 29, 2012

"Invalid License Data. Reinstall required." caused by Atmel Stdio 6

This week I made an attempt to build the Clang Static Analyzer using Visual Studio Express 2010 following the Clang Visual Studio Build Instructions. I was greeted with:

"Invalid License Data. Reinstall required."

I wondered what that was about, as Visual Studio Express was licensed as needed. Searching Internet came across many people with the same issue, with few resolutions other than a complex registry patch job, or reinstalling Visual Studio, which is a complete waste of time. One should never have an error message that directs a user to do something, unless the program is sure it needs done.

I then remember that I'd installed Atmel Studio 6 a few days earlier. After removing Atmel Studio 6 the Invalid License Data error went away.

For inexplicable reasons Atmel decided to ignore their customers number one request about what to replace AVR Studio with, which was that it should be cross platform. Instead Atmel Studio 6 is based on Microsoft Visual Studio Shell.

Unfortunately it seems installing Atmel Studio 6 corrupts installs that are outside of its own purview. So if you are having the Invalid License Data error, check and make sure that no custom Microsoft Visual Studio Shells have been installed by any other program.

Atmel actually does have a Linux version of Atmel Studio 6 hidden on their website, which is just about impossible to find any useful data anymore without lots of time wasting clicks: Atmel AVR Toolchain 3.4.0 for Linux.

Getting back to the Clang Static Analyzer, it fails to build using Visual Studio Express. The Makefiles created by CMake do not seem to be compatible with it, in that it fails to build key parts of the tool chain. Pete Akeo does give MinGW build instructions that do work.


Do you have your license to write firmware?

Did you know that in some states it is now required to have a license to write software, and more states are on the way? Probably not.

In June of 2012 IEEE-USA made the announcement Professional Exam for Software Engineering to be Offered in April 2013.

'Offered' is in interesting choice of a word, the thinking goes:


"If software engineers who write programs for systems that expose the public to physical or financial risk knew they would be tested on their competence, the thinking goes, it would reduce the flaws and failures in code" -- Licensing Software Engineers Is in the Works.

And,

"The sponsoring organizations reason that competency testing could reduce the flaws and failures in code performed by solo practitioners and small consulting firms." -- Penn State professor plays key role in software engineering licensure.

From the final authority on wisdom:

The goal of every engineer is to retire without getting blamed for a major catastrophe. -- Dilbert.

So it is okay for Mega-Corp to have flaws, but the little guy gets singled out again and again? Is this not the reasoning of Dilbert?: "Engineers prefer to work as 'consultants' on project teams. That way...blame is spread across the group". Do you really put bugs in your software because you know you did not have to take a test? How do people come up with this stuff?

Will everyone developing software be required to get a state license? According to Licensing Software Engineers by Phil Laplante, CSDP, PE, PhD Professor of Software Engineering Penn State Software PE Exam Development Committee Chair, the answer is "No":

  • Would all software engineers need to be licensed?
    • No, only those providing their services directly to the public.
  • Would all software have to be developed or supervised by licensed software engineers?
    • No, only software that has an impact on the lives, property, economy, or security of people.

Alas there is the usage of ambiguous terms like "economy", "public" and "security". If a publicly held company implements a video game based on a flawed understanding of Sun Tzu's The Art of War, that is used for military training, a soldier is killed due to said flaw, and the stock value plummets, have we not harmed the public financially, the deceased soldier mortally, with an unsafe software product, that is currently outside the scope of licensing? Does this licensing initiative expand like the camel's nose in the tent? According to the Texas Board of Professional Engineers that is already in their multi-year plan:

Software Engineering

"After years of hard work by countless software professionals across the country, the Software Engineering Principles and Practice of Engineering (PE) exam is ready for its maiden administration in April 2013. This will mark the culmination of one phase of the journey [Emphasis mine.] and a critical step in the overall philosophy surrounding software engineering and the licensing of software engineers in the United States.

The implementation of the exam creates a path to licensure for practicing software engineers, which helps solidify the profession as a recognized field of engineering. It may take years [Emphasis mine.] to thoroughly implement engineering licensure in the culture of software development, but the implementation of this exam is a huge step forward in the recognition that software engineering does directly and significantly impact public safety, health and welfare.

In anticipation of the implementation of the exam, the Software Engineering Licensure Consortium developed a guidance document to help Licensing Boards throughout the United States understand the unique aspects of the field of software engineering. That document will be ready for release by the end of 2012."

How did we get here, to the place we all knew we where headed, the requirement of licensing software developers? [We are safe from all of this if we don't call ourselves Software Engineers right?]

Collectively, including Management, we have done a very poor job in the design of our systems, just look at any near by electronic widget. Do you trust that it will work every time you use it? It has been commonly accepted to "just press the reset button" to fix any problem. So now we have the government stepping in, in their misguided idea this is some how helpful.

"The nine most terrifying words in the English language are: 'I'm from the government and I'm here to help.'" -- Ronald Reagan.

Then there is also always the motive of money, those in government are always happy to add one more fee to the backs of working people. Also there is the conflict of interest of the organizations promoting licensing, do they profit from selling training materials or memberships for example? If this was truly about safety and protection of the public there would be no money incentives involved anyplace.

Background documents:

What has brought licensing of software developers to the forefront is the test Principles and Practice of Engineering Examination Software Engineering Exam Specifications, about to be implemented by the National Council of Examiners for Engineering and Surveying (NCEES) - a non-profit organization that oversees the development and scoring for all engineering licensure examinations in the United States. Taking this test is either currently, or is about be, required by many states.

When I contacted NCEES to ask questions about the software licensing exams, I found them to be less than helpful. The only reply to my questions was "requirements vary by state". I live on the boarder of Pennsylvania and Ohio. If I want to do work for clients in both states, do I have to take the test twice (paying the exorbitant fee twice?)? What if the prerequisite requirements for each state conflict? Those questions went unanswered.

Finding no help from NCEES, I contacted state licensing boards asking them the following questions:

  1. 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]?

  2. 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)?

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

  4. 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?

  5. Living here on the boarder of Pennsylvania and Ohio, will there be any reciprocity of the test being taken one state to be valid in the other? Taking the identical test twice would be a bit odd would it not?

  6. 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?

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

I will aggregate the responses from the various states as they reply and post in a future update.

According to the article Sharpen your pencils for 2013 software exam by Rick Merritt in EE Times, these states either currently require or are working on requiring testing: Alabama, Delaware, Florida, Michigan, Missouri, New Mexico, New York, North Carolina, Texas and Virginia. [In June 1998, Texas became the first state to license software engineers.]

IEEE-USA, the sponsoring technical society for licensure will publish study materials later this year (At what cost I wonder?), in the mean time the IEEE Computer Society has their Certified Software Development Professional:

"The CSDP credential is intended for mid-career software development professionals that want to confirm their proficiency of standard software development practices and advance in their careers."

Prepare for the Exam preparation options include the CSDP Preparation Course, which is an on-line, self-paced course, related to the Guide to the Software Engineering Body of Knowledge (SWEBOK).

One of the more bazaar aspects of this coming license requirement is that it is based on, at least in Pennsylvania, a law from 1945: Engineer, Land Surveyor and Geologist Registration Law - Continuing Professional Competency Requirements. In the eye of the law, software practitioners are building bridges. Please let me know when reason and logic start to apply... What exactly is a "Engineer-in-Training" when it comes to software? Is this a government mandated mentoring program? Nothing wrong with mentoring, mandates have a lot wrong with them.

To close, I find one of the answers from the FAQ particularly troubling:

"Many of the other questions I receive are variations on two themes: the futility and unfairness of licensure. I usually respond to these questions by asking the poser to rephrase his question, but in terms of medical licensure. For example, "You can't guarantee that products engineered by licensed professionals won't fail and harm the public so why bother with licensing?" This could be rephrased: "You can't guarantee that there will be no malpractice by licensed physicians so why bother with licensing them?" When asked this way, the questioner often retracts the question."

I've watched a loved-one suffer at the hands of the medical establishment for years. From their own self-study, since the doctors have been no help, they believe they suffer from Intracranial Hypotension due to a Cerebrospinal fluid (CSF) leak. This problem is outside of the "check the box medicine" our system has become. Any doctor that deviates from the "Standard of Care" is sanctioned for having any original idea that might help the patient. I would gladly take this person to a non-licensed Witch-Doctor or Indian Shaman, if one were available. They might actually heal the person, rather than push pharmaceutical drugs, that have only made them sick over the years. For a tangible case of how the "Standard of Care" kills people look into the case of Rick Schiff, whom the state demanded his daughter receive chemotherapy. His daughter died cancer free, not due to a method that is considered outside the "Standard of Care" today, rather from the side effects of treatment demanded by the state licensed doctor dictated by today's "Standard of Care". Is this truly the model we want good software design to be based on?

Am I against certification and licensing? Not really, however there are two things that I am against.

First, what I am against is this kind of attitude typified by the state of Texas (the table below), where you must be a member or part of some other Good Ol'boy network to participate. We only get evolutionary changes out of that, when the world needs revolutionary changes that might come from those that tend to be "Hands On" Tactile Learners, that do not do well in academic settings, who are always outside the 'box'; "Set down and shut up or we will give you more Ritalin!":

 

Type of Education

Experience Requirement

Examination Requirement

Reference Requirement

  No Degree Cannot be licensed. Cannot be licensed. See Board Rule 133.31. Cannot be licensed.

Secondly, we have this response from Pennsylvania:

Mr. Paddock,

Thank you for your email inquiry. Pennsylvania does not license by discipline. You will need to contact NCEES for all questions regarding the examination.

In the response to your question:

"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?"

Please refer to Section 3 of the Board's Law, found at http://www.dos.state.pa.us/eng, that details the practice of engineering and the use of the title in advertising.

So does that first part mean I have to learn how to design a bridge? It is all in for a license in Pennsylvania, or nothing, before I can write software for a safety application? The Pittsburgh region is big on medical devices. Rather than help, did this potential license requirement just drive this type of businesses to a state friendlier to software development?

Then we have the obvious finger pointing match. NCESS told me to contact the state, the state told me to contact NCEES. I guess the next person to contact is the people that thought getting the government involved in an industry was a good idea. Who do you suggest?

As far as using the word "Engineer", there is a $1000 fine for using that without a license, which in PA for software we can apparently not get? Seems my websites are safe, but would you like to buy a bunch of now useless businesses cards?:

43b.13a. Schedule of civil penalties-engineers, land surveyors and geologists.

STATE REGISTRATION BOARD FOR PROFESSIONAL ENGINEERS, LAND SURVEYORS AND GEOLOGISTS

Violation Under 63 P. S.    Title/Description    Penalties

Section 150(b) Representing oneself as an engineer, land surveyor or geologist on sign, advertisement, letterhead or card, without being licensed or registered 1st offense-$1,000.

2nd offense-formal action Section 151(e) Biennial renewal-Practicing on a lapsed license or registration 1st offense-Up thru 5 months-$500.

6 months thru 1 year-$1,000 over 1 year-formal action 2nd offense-formal action Section 151.5(a) Failure to complete the required amount of continuing education. First offense—$50 per hour of deficiency, not to exceed $1,000 Subsequent offense-formal action.

Finally, what do you think? Will you be taking this test so that you can serve your clients with better software? Beef up your resume over the competition? Do you think it will in anyway improve our systems so we never hear "just push the reset button" again? Is just more government intrusion into our lives, being pushed by people whom have something to gain? This will just drive more jobs out of the country?


Saturday, July 21, 2012

How to keep a sharp focused mind, or How sugar makes you stupid

When designing Embedded Systems it is important to keep your mind sharp and focused.

A recently published study: 'Metabolic syndrome' in the brain: deficiency in omega-3 fatty acid exacerbates dysfunctions in insulin receptor signalling and cognition [PDF] shows that a high-fructose diet sabotages learning, memory.

Eureka Alert sums up the study in plan English as:

New study shows that a high-fructose diet makes you stupid, significantly inhibiting your brain's ability to learn and remember.

"Our findings illustrate that what you eat affects how you think," said Fernando Gomez-Pinilla, a professor of neurosurgery at the David Geffen School of Medicine at UCLA. "Eating a high-fructose diet over the long term alters your brain's ability to learn and remember information. But adding omega-3 fatty acids to your meals can help minimize the damage."

Do you think this perhaps this a conspiracy by 'Them' to keep us "Dumbed Down", as it is found in most off-the-shelf foods and drinks?

Personally I cut sugar out of my diet a long time ago, and became an avid reader of food ingredient labels, and feel a lot better for it.

Be warned, if you try to remove sugar from your died, you will soon discover just how addictive this substance in the typical diet really is, as I know first hand from when I stopped being a Doughnut Junkie. It was a miserable few weeks when I decided to go Cold Turkey on sugar. Once it is out of your system for a while, it does not take much for you to feel the effects, like all of your muscles starting to ache, of eating something that you did not expect to have sugar in it.

Always keep in mind you are what you absorb, no mater how good this poison to the mind tastes going down...


Tuesday, July 10, 2012

How to steal a BMW

Obviously I'm not going to tell you how to steal a BMW (you can watch someone else do it), however such a title might wake you up to security being a real issue in Embedded Systems designs. In my Cyber War or Cyber Peace, are your systems safe? entry I wrote:

There are several other organizations such as SAE International, that covers automotive standards getting involved in securing systems. SAE has recently put together the Vehicle Electrical System Security Committee. Does anyone really expect our vehicles to not be attacked at some point?

Seems BMW security systems have already betrayed us, by having no security on the diagnostic port, not even a password (which would only slow, not stop an attack), the BMW key fob can be reprogrammed. Emil Protalinski gives more details in Hackers steal keyless BMW in under 3 minutes.

Security by Obscurity has not been viable for a very long time. Recently Microsemi had been in the headlines about a potential venerability in their ProASCI3 parts, here is their official response: Microsemi Response: Security Claims With Respect to ProASCI 3. Whether such a flaw exist we all will know in time. The point is that if there is a port that can be exploited such OBD or JTAG, it will be exploited.

Have you accounted for deliberate attacks in your design? Keep in mind that the the Bad Guys have more money and are better armed that you are, their bosses believe in spending money on good tools! Drug dealers no long count their money, they weigh it. One million dollars in 100 bills weighs 37.4 lbs, in fifties it weighs 74.8 lbs.


Sunday, July 1, 2012

ASQ Youngstown-Warren Section offering Certified Software Quality Engineer class this fall

For the first time the Youngstown-Warren Section (0805) of the American Society for Quality will be the holding Certified Software Quality Engineer training this fall. If you are interested, please contact Marie Dabelko [mdabelko (AT) kent.edu] at Kent State Trumbull. The class is being taught by Nick Hatzis.

For many years Robin Dudash has been holding CSQE classes in the Pittsburgh Region. Robin also has the class available on-line. Give her CSQE Practice Exam a try and see how well you do.


Leap Second Breaks Internet

Last night [June/30/2012] at 00:00 GMT there was a Leap Second, causing a "Javapocalypse" among other crashes.

Poul-Henning Kamp did some screen-grabbing on Twitter of the many crashes of systems last night.

Several Linux based servers started to run at very high loads. I wonder if it was due to the multiprocessor leap second lockup bug that was fixed nearly four years ago?

For all of you that had crashes, you might want to fill out the U.S. Naval Observatory's UTC Leap Second Survey Form on whether to keep leap-seconds or not. They want to know what Leap Seconds are costing you.

I have covered the issue of Leap Seconds before in The current Temporal War on planet Earth and Earth's Temporal War Leaps to 2015, one Leap Second at a time, on how the there are two factions battling on keeping or eliminating Leap Seconds. The vote on the issue was moved to 2015 as no one could agree on how to fix the problem.

There are a few things we can learn from this event:

  • External influences like Time, and the keeping thereof, can impact our systems. There can legitimately be only 59 seconds, or 61 seconds in an hour according to the prevailing standards today.
  • Keep your system(s) up to date. There is always the trade off of "lets keep the bugs we know" verses "what new bugs will this update bring us". Old bugs are the ones that many people know how to exploit.
  • Don't use Java. Perhaps more of a personal issue. Every experience I've had with Java has been one of crash-prone slow, bloatware, and buggy. This just reinforces my view on that.

I'm curious how may Embedded Systems had issues last night? Leave a comment if you can across any please.