Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

Firmware Update v18.06

  1. Home
  2. Firmware Update
  3. Firmware Update v18.06
Posted June 07, 2018

"Java is to JavaScript as car is to carpet." --Christian Heilmann

In this issue:

  • C's goto Keyword: Should we Use It or Lose It?
  • Tech Talk: Pros and Cons of Dynamic Memory Allocation
  • The Rise of the Full Stack Developers
  • Retake Control of your Embedded Project Schedule
  • Industry News That's Not Boring

Firmware Update is a free, monthly-ish newsletter by embedded systems expert Michael Barr. Firmware Update is a trademark and this issue is Copyright © 2018. You may forward whole issues to colleagues that design embedded systems.  No other uses are permitted.


C's goto Keyword: Should we Use It or Lose It?

The 2013 edition of Barr Group's Embedded C Coding Standard" includes:

"Rule 1.7.c: The goto keyword shall not be used."

We haven't heard complaints that this rule is too strict. However, the MISRA-C guidelines are a bit more relaxed about goto. Thus I’ve been reconsidering this rule for an update of the BARR-C standard, a goal of which is to make rules from the two popular standards even easier to pair.

To get the 2018 update published later this month, I need to finalize this rule.  If you've got a few minutes to consider the best arguments for and against the existing ban, I'd appreciate your input.

Weigh in: https://embeddedgurus.com/barr-code/2018/06/cs-goto-keyword-should-we-use-it-or-lose-it/ 

Tech Talk: Pros and Cons of Dynamic Memory Allocation

When it comes to memory, embedded systems engineers face many challenges.  In this month's Tech Talk, Barr Group's principal engineer Salomon Singer chats with CEO Andrew Girson about some of these challenges, including how and when to use heap memory (i.e., dynamic memory allocation) in firmware. 

Click on this image (or here) to play the video:

Read transcript: https://barrgroup.com/tech-talks/memory-allocation

The Rise of the Full Stack Developer

While many self-identified firmware developers and embedded programmers have come up to the our industry from the electronics side--often cutting their teeth in electrical engineering and digital design first--a so-called full stack developer is a software engineer who works at all layers of a complex software system. For example, many full stack developers create websites that connect to relational databases and/or cloud-hosted APIs. In the process a single such developer might write code in languages ranging from JavaScript and Ruby to Python, C, and shell scripts to SQL and C#. All in the same month!

An emerging trend seems to be that embedded systems are being added to the “full stack” mix:

My take: https://embeddedgurus.com/barr-code/2018/05/the-rise-of-the-full-stack-developers/

Retake Control of Your Embedded Project Schedule

Is your embedded systems design project falling behind schedule?  Staffed with experienced embedded hardware and firmware engineers, Barr Group provides embedded systems design assistance and expert guidance to engineering teams and their managers.  

Barr Group's design team augmentation services include:

  • Product Development Assistance
  • System/Software Architecture Consulting
  • Process Improvement Consulting

With a perpetual focus on helping teams get back on schedule and budget, our engineers regularly help companies complete the development of products including: medical devices, automotive systems, cloud-connected IoT products, industrial automation equipment, and mobile/communications gear.​

Need temporary staff augmentation?  Struggling to find specific expertise?  Need help with development tool configuration?  Want an independent design/code review?  You can see how we've helped some other companies reach their design goals here: https://barrgroup.com/embedded-systems/case-studies.

What's stressing you right now?

Reach out: https://barrgroup.com/contact

Industry News That's Not Boring

Hackers built a 1-minute 'master key' that can open any of millions of hotel room doors: https://t.co/LcoWwhMSBb

Our smart devices are gathering information about us. It's time for us to gather information about them. Help by using this free tool: https://t.co/AKVPfCYYdf

Interesting data: Long-term (32 year!) evolution of C programming practices, in the context of the Unix codebase. https://t.co/uJ35xZXTZM

The (lottery software!) Glitch that Stole Christmas: https://t.co/JotGltbWCb

In 1834 France was hit by the world's first cyberattack--against a human-powered communications network. Fascinating story: https://t.co/OHgYESQXw3

In more recent security news... so-called "Oblivious DNS" could protect us all against a systemic and pernicious existing form of Internet privacy loss: https://t.co/5grktPvDtj

More here: @embeddedbarr


Quick Links to Useful Stuff

  • Bug-killing Embedded C Coding Standard
  • Hands-on Training Courses

How to Contact the Author

I'm always interested in hearing from embedded systems designers and happy to take a few minutes to help you find the resources to get a design done right. Send me an email anytime. And be sure to also connect with me on Twitter (@embeddedbarr) and LinkedIn (https://linkedin.com/in/embeddedbarr).

  • Back to Main
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Request an Expert

(866) 653-6233

Blog Categories

assembly
C
coding standards
communications
debugging
electronics
Java
real-time
RTOS
safety
security
tools
user interfaces
Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY