You may redistribute this newsletter for non-commercial purposes. For commercial use contact firstname.lastname@example.org. To subscribe or unsubscribe go here or drop Jack an email.
It has been two years since my last salary survey. Follow this link to take the 2020 version (it's only a dozen questions), which also has a question probing your work in these coronavirus times. I'll publish the results in the next issue. Three copies of The Art of Designing Embedded Systems will be awarded to three randomly-selected participants.
CIS has created a non-profit initiative to help companies who are developing ventilators for the coronavirus crisis. It is for companies wishing to find engineering help and engineers wishing to provide their services free of charge. More info here.
Also in the Coronavirus vein, here's an article with suggestions about working from home.
I received a lot of replies to my thoughts last issue about the IEEE. With only a single exception all complained that the organization offers little for practicing engineers other than Spectrum. One interesting thought was that the standards are developed by committees of volunteers, yet the IEEE sells them for inflated prices. Many, though, feel the life insurance program is a good deal.
Jack's latest blog: Life in the Time of Coronavirus
|Quotes and Thoughts
"The process broke down in many areas," says NASA's spaceflight chief Douglas Loverro. "We don't know how many software errors we have. We don't know if we have just two or we have many hundred." From Aviation Week and Space Technology, about Boeing's Starliner capsule meant to ferry astronauts.
The same article claims the system comprises about one million lines of code. Given that best-in-class companies ship code with about one error per thousand lines of code, it wouldn't surprise me if the Starliner has hundreds or thousands of latent bugs.
|Tools and Tips
Please submit clever ideas or thoughts about tools, techniques and resources you love or hate. Here are the tool reviews submitted in the past.
|Freebies and Discounts
This month's giveaway is a BBC Micro:bit Go Bundle.
Enter via this link.
|Response to the Joel Test
In response to last issue's article about Joel's rules for evaluating a software team Rob Aberg wrote:
In Enabling Reuse-Based Software Development of Large-Scale Systems by Richard Selby the author looks at reuse in 25 systems comprising 2954 modules at NASA. Some interesting factoids pop out:
Unsurprisingly, error rates are somewhat inversely proportional to amount of reuse. "Slight revision" means under 25% modifications, "Major revision" is more than 25%. The curve would have been much more interesting if more divisions of reuse were sampled:
In another study of the same modules by the same author (Empirically Analyzing Software Reuse in a Production Environment) the cost savings from reuse were analyzed:
This graph has long fascinated me as it blows away our usual thinking that there's an inversely-linear relationship between reuse and development cost. Instead, it seems that once one changes around 20% of the code the cost savings from reuse rapidly diminish.
An interesting additional tidbit from this code base: the median and mean of the number of comments per 100 source lines was virtually the same at 57. Other data I have for a study of comments at NSA found that their very best code averages 60 comments per 100 lines of code, and avionics code certified to the exacting DO-178 standard averages 70 comments per non-blank source line. (Comments can be either a line which is a comment, or a line of code that also contains a comment).
Though it's a few days past April Fool's Day, here are a few fun pictures from my collection of software errors resulting is absurd temperature displays:
The moral: well, it's the same I was taught 50 years ago: Check your goesints and goesoutas. Oh, and wash your hands!
|This Week's Cool Product
Xilinix has come up with some pretty cool ways to package chips. Max Maxfield explains.
Note: This section is about something I personally find cool, interesting or important and want to pass along to readers. It is not influenced by vendors.
Let me know if you’re hiring embedded engineers. No recruiters please, and I reserve the right to edit ads to fit the format and intent of this newsletter. Please keep it to 100 words. There is no charge for a job ad.
|Joke For The Week
These jokes are archived here.
From Dejan Durdenic:
Due to Coronavirus, all TCP applications are being converted to UDP to avoid handshake.
|About The Embedded Muse
The Embedded Muse is Jack Ganssle's newsletter. Send complaints, comments, and contributions to me at email@example.com.
The Embedded Muse is supported by The Ganssle Group, whose mission is to help embedded folks get better products to market faster.