You may redistribute this newsletter for non-commercial purposes. For commercial use contact firstname.lastname@example.org.
Did you know it IS possible to create accurate schedules? Or that most projects consume 50% of the development time in debug and test, and that it's not hard to slash that number drastically? Or that we know how to manage the quantitative relationship between complexity and bugs? Learn this and far more at my Better Firmware Faster class, presented at your facility. See https://www.ganssle.com/onsite.htm for more details.
|Quotes and Thoughts
"Any application that contains the string 'TEMP' will be difficult to maintain because that string indicates temporary work that probably was done carelessly." - Jerry Weinberg and Gary Okimoto.
|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.
I'm a big fan of the Ada and SPARK languages. The latter's mantra is Correctness by Construction - that is, the code is right from the get-go; it isn't beaten into submission via debugging. There's a new (free) guide to implementing SPARK available here. There's also a SPARK manifesto here.
Should you use const or #define? Phil Koopman's always interesting blog has excellent thoughts about this here.
Another reader has nice things to say about Saleae. Dan Smith writes:
|Freebies and Discounts
Enter the contest via this link.
Keysight is offering a free USB drive that includes "webcasts, application notes, videos and blogs on a wide range of subjects from design simulation to digital and RF/uW measurements." I have one on order. Use this link.
Olaf Pfeiffer wrote an interesting article that he let me republish here:
One wonders a few things:
Does it make sense to grind markings off the CPU chip? But with so many devices using Cortex-M parts, a smart attacker could make some assumptions about the processor type.
If there's a debug port, should that be closed off?
Given that so many devices now sport nice GUIs and connectivity, Linux is a logical choice of operating systems. But it is big and vulnerable, so how does one manage Linux patches and upgrades? I can't help but wonder if it makes sense to use an RTOS coupled with GUI/networking packages from the RTOS vendor. These typically have a smaller attack surface than a big OS.
|A TI Starter Kit
Mat Bennion had some experience with the TI Starterware:
|Store Config Data in Binary or XML?
A reader has a question for the Muse community. Does it make sense to store configuration data in binary or XML? Specifically:
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
Note: These jokes are archived at www.ganssle.com/jokes.htm.
Ben Sweet sent some mock O'Reilly book covers over; I imagine they are copyrighted so Googled around and found these hilarious sites:
Who can resist titles like Resume-Driven Development or Excuses for Not Writing Unit Tests?
|Advertise With Us
Advertise in The Embedded Muse! Over 27,000 embedded developers get this twice-monthly publication. .
|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.