Replicable Build Environments for the Win

The Pragmatic Embedded Podcast · 16 Mar 2021 · 41m

What this episode covers

Jeff Gable and Luca Injani discuss the evolution of build environments for embedded software, advocating for 'infrastructure as code' using Docker to ensure reproducibility and auditability. They trace the history from brittle manual scripts and 'magic' disk images to modern containerization, highlighting how Docker eliminates configuration drift and supports continuous integration. The hosts also address practical challenges, such as running graphical IDEs within containers, dealing with legacy tooling, and the preference for Linux over Windows for embedded development.

Most relevant to

early-stage companies

Topics

Mentioned

Tools
Docker, Vagrant, Eclipse, Yocto
Also
Linux, Windows

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 14m

    373: Docker! Docker! Docker!

    Elecia White and Christopher White discuss the challenges of billing hourly work during long waits for code execution, and White's recent deep dive into Docker to manage complex development environments like TensorFlow. They also reflect on the Embedded.fm podcast's plateaued growth, strategies for promoting STEAM diversity, and the high production standards White's husband set for her upcoming conference talk on map files. Finally, White details her search for a new, quiet Windows laptop to replace her aging Dell.

  • The Amp Hour · 1h 10m

    Works on my machine

    Chris Gammell and Dave Jones discuss the challenges of automating embedded firmware builds using GitHub Actions to ensure reproducible results and avoid 'works on my machine' issues. They also cover recent tech events, including the Manly Warringah Radio Society vintage kit evening featuring Dick Smith, and the EV Show where they met Robert Llewellyn. The conversation touches on hardware tools like the Prusa Mark 4 3D printer and the open-source Thunderscope, as well as the cultural shift of hardware engineers adopting software DevOps practices.

  • Embedded.fm · 1h 05m

    400: A Really Long Time

    Hosts Elecia White and Christopher White reflect on nine years of the Embedded.fm podcast, discussing the evolution of embedded systems from 2013 to 2022. They highlight improvements in tools like VS Code and open-source RTOSs, while criticizing persistent issues with vendor datasheets and the lack of standardized device drivers. The conversation also covers the shift in hardware capabilities, the rise of TinyML, and the hosts' personal experiences with consulting, Fitbit, and community building.

  • Embedded.fm · 51m

    410: Emacs From the Future

    Elecia White and Christopher White discuss the painful process of migrating from a vendor IDE to a free GCC and VS Code toolchain, highlighting issues with brittle dependencies, Python version conflicts, and Windows ARM virtualization. They then shift to a pedagogical discussion on embedded interrupts, distinguishing ISRs from asserts and callbacks, and explaining concepts like weak symbols and vector tables to students. The episode concludes with community news, including a new book club, a panel on device observability, and updates on WSL USB support.

  • Embedded.fm · 1h 17m

    395: I Can No Longer Play Ping Pong

    Tyler Hoffman, co-founder of Memfault, explains how his team at Pebble and later Fitbit transformed firmware development by standardizing developer environments, optimizing build systems, and automating debugging. He details the shift from slow, sequential IAR builds to parallel GCC builds using Make and Conda, which reduced build times from 18 minutes to 2 minutes. Hoffman also describes building web applications and GDB Python scripts to enable remote debugging of field crashes without physical debuggers. The discussion highlights the importance of dedicated developer productivity roles and the evolution of tools from one-off scripts to robust, company-wide platforms.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by The Pragmatic Embedded Podcast. The episode itself belongs to its publisher.