Works on my machine

The Amp Hour · 10 Apr 2023 · 1h 10m · Episode 627

What this episode covers

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.

Mentioned

Companies
Silicon Labs
Products
Prusa Mark 4, Thunderscope, Aptira
Tools
GitHub Actions, GitPod, Altium, KiCad, FreeCAD, WordPress, SitePad, Simplicity Studio
Also
Dick Smith, Robert Llewellyn

Other shows on the same ground, closest first.

  • The Pragmatic Embedded Podcast · 39m

    Continuous Integration for Embedded Systems

    Jeff Gable and Luca Ingianni discuss setting up continuous integration (CI) pipelines for embedded systems, distinguishing CI from continuous delivery and deployment. They outline prerequisites like version control and single-command builds, recommend tools like Jenkins and GitHub Actions, and emphasize capturing the build environment using Docker or on-premise servers to avoid 'works on my machine' issues. The hosts advocate for 'null automation'—starting with manual scripts and gradually automating steps—to lower the barrier to entry for teams hesitant about the initial investment.

  • The Pragmatic Embedded Podcast · 41m

    Replicable Build Environments for the Win

    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.

  • The Pragmatic Embedded Podcast · 39m

    Christmas Special

    Hosts Jeff Gable and Luca share war stories from their careers in embedded systems, highlighting the pain of manual testing in helicopter avionics, the chaos of managing requirements with Word and Excel in Dropbox for medical devices, and the technical debt of massive #ifdef blocks in legacy machine tool software. They discuss the industry's slow adoption of modern software practices like version control and CI/CD, contrasting embedded development with web development standards. The episode concludes with book recommendations including 'The Phoenix Project' and 'Team Topologies', and reflections on the future of IoT security and agile adoption in hardware.

  • OnTrack · 56m

    Embedded Systems Engineer Discusses AI-Driven Testing Revolution

    Ari Mahpour, an Embedded Systems Engineer at Rivian with prior experience at NASA JPL and Virgin Hyperloop, discusses the integration of AI and DevOps into embedded hardware development. He demonstrates 'vibe coding' with an Arduino using voice commands and LLMs, explaining how AI agents can autonomously write, compile, and test firmware. Mahpour also covers the challenges of managing hardware revisions, the importance of Model Context Protocol (MCP) for tool guardrails, and the future of AI in automated PCB design and testing.

  • 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 Amp Hour. The episode itself belongs to its publisher.