Patterns in the Machine with John and Wayne Taylor

The Pragmatic Embedded Podcast · 4 Jan 2022 · 52m

What this episode covers

John and Wayne Taylor, authors of the book 'Patterns in the Machine', discuss strategies for creating reusable, decoupled code in embedded software development. They advocate for upfront architectural planning, including defining constraints and using functional simulators, to enable agile execution later in the project. The conversation covers specific patterns like the data model architecture for decoupling drivers from applications, and the importance of writing documentation that captures intent rather than just implementation details. They also address the cultural and logistical challenges of reusing code across different projects and organizations.

Most relevant to

established companies

Topics

Mentioned

Companies
APress
Products
Patterns in the Machine
Also
Autosar, Robert Martin, GitHub

Other shows on the same ground, closest first.

  • Embedded.fm · 56m

    438: There Is Nothing That Is True

    John Taylor, principal software engineer at Avanos Medical and author of "Patterns in the Machine," explains his PIM framework, which emphasizes strategic software architecture over tactical coding. He details the "data model" pattern for type-safe, thread-safe data handling and the "open-closed principle" to ensure code is change-tolerant without modifying existing logic. Taylor also discusses the importance of platform-independent OSALs, functional simulators, and designing APIs that read like datasheets to decouple application logic from hardware drivers.

  • Embedded.fm · 1h 00m

    280: Reginald P. Theodore Johnson

    Hosts Elecia White and Christopher White discuss software design patterns, including Wrapper, Decorator, and Observer, using the 'Gang of Four' and 'Head First' books as references. They cover practical embedded applications like the CM0s hardware abstraction layer, dependency injection, and the Model-View-Controller pattern for UI separation. The episode also features announcements for the KiCad conference in Chicago and a recap of the BangBangConWest conference, along with a discussion of Python static analysis tools like PyFlakes.

  • Embedded.fm · 1h 08m

    423: Speaking of Aardvarks

    Phillip Johnston, founder of Embedded Artistry, discusses how his approach to embedded software design has evolved, particularly regarding abstract interfaces and the tension between code reuse and client IP ownership. He explains his shift from full abstract interfaces to 'delegate' patterns (like the template method) to improve changeability, and details his experience building an embedded virtual machine that failed due to vendor lock-in concerns. The conversation also covers his new educational courses, the importance of design patterns like state machines and queues, and the utility of the Total Phase Aardvark adapter for hardware debugging.

  • Embedded.fm · 1h 11m

    279: Top Pedant

    Patrick Yeon, an electrical engineer and lead at the nonprofit space organization Nonprofit Spaceship (formerly of Planet Labs), discusses the challenges of building small spacecraft and influencing space policy. He joins hosts Sarah White and Christopher White to debate embedded software testing strategies, specifically the use of mocks versus real data, and the importance of design patterns like the Command Pattern for scalable command-line interfaces. The conversation also covers leadership advice, recommending books like 'Turn the Ship Around!' and 'The Manager's Path' for new technical managers.

  • Embedded.fm · 57m

    109: Resurrection of Extreme Programming (Repeat)

    James Grenning, founder of Wingman Software and author of 'TDD for Embedded C', discusses the resurgence of Extreme Programming and Test-Driven Development (TDD) for embedded engineers. He explains how TDD prevents bugs and improves code quality, contrasting it with the micromanagement often associated with modern Scrum. Grenning also details his methods for teaching TDD, including the use of CyberDojo for remote training and 'Training from the Back of the Room' techniques to engage students.

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.