Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

Printable Download: Michael Barr Profile and CV

Updated November 1, 2015

Summary

Former adjunct professor of computer engineering with degrees in electrical engineering and two decades of hands-on software design and programming experience. Author of three books and more than seventy articles and papers. Recognized internationally as an expert in the field of embedded software process and architecture. Also an MBA founder of three companies. Testifying expert witness in high profile litigation involving a range of issues including: patent infringement and validity; software copyright infringement; software quality, e.g., in relation to product liability; theft of trade secret source code; and computer security and interception of encrypted content. Natural public speaker and educator with more than twenty appearances before judges and juries spanning a decade of experience as a testifying expert.

  • Programming Languages: C, C++, Java, Visual Basic, assembly (various)
  • Processor Families: Microchip PIC, Intel 80x86, Motorola 68k, PowerPC, and others
  • Operating Systems: MicroC/OS, VxWorks, OSEK, and RTOSes generally; DOS and Windows; Linux/Unix
  • Communication Protocols: RS-232, I2C, SPI, TCP/IP, UDP/IP, ARP/RARP, BOOTP, CEBus, ISDN, CAN
  • Application Domains: cable and satellite TV set-top boxes, including DVR and MPEG/DVB technologies; medical devices, including pacemakers; debug tools and technologies; automotive electronics; telephony, including smartphones; satellite communications; video games; multi-function printers

Present Activities

Barr Group, CTO, Feb 2012 – present

  • Creator of popular professional training curriculum and courses for embedded software developers, including Embedded Software Boot Camp and Embedded Software Training in a Box
  • Performed engineering design, consulting, and training services for clients in industries ranging from consumer electronics to medical products
  • Executive management for an engineering services firm specializing in the design and development of custom embedded computers; clients range from small startups to Fortune 100 firms 

Relevant Past Experiences

Netrino, President, Jan 1999 – Feb 2012

  • Developed software for various products, including safety-critical mechanical systems involving closed-loop PID control systems and high volume consumer electronics for digital television
  • Consulted with and trained engineers and engineering managers and executives at various companies, including makers of FDA-regulated medical devices such as pacemakers and implanted defibrillators, insulin pumps, and glucose meters
  • Conducted new product assessments of software development tools for companies introducing products such as real-time operating systems and debugging tools into the embedded market

Embedded Systems Design, Technical Editor/Editor-in-Chief/Contributing Editor, Feb 1999 – May 2012

  • For three and a half years, served as editor-in-chief of this monthly magazine with over 50,000 subscribers, supervising editorial staff members and working with authors and columnists to refine their technical content to fit subscriber needs

Embedded Systems Conference, Advisory Board Member/Track Chair/Conference Chair, Jan 2001 – Jul 2011

  • Provided industry viewpoint and observations on emerging and ongoing trends in the marketplace and suggest possible new course and panel topics and speakers for future events

Johns Hopkins University, Adjunct Faculty, Winter Session 2012

  • Taught embedded software architecture to undergraduate students in computer science University of Maryland, Adjunct Faculty, Sep 2000 – Dec 2002
  • Taught operating systems design to graduate and undergraduate students in computer engineering • Designed and supervised independent study projects related to real-time embedded software

PropHead Development, Software Architect, Oct 1998 – Jan 1999

  • Defined the embedded software architecture and detailed design for a satellite TV set-top box joint venture between America Online and Hughes Network Systems

TSI TelSys, Principal Software Engineer, Jun 1997 – Sep 1998

  • Wrote software in Java to convert any valid Java program into synthesizable Verilog hardwar
  • Developed Solaris and Windows NT device drivers for a PCI-based reconfigurable coprocessor card
  • Led the effort to produce a development and prototyping platform for microSPARC-IIep processor
  • Designed and implemented a set of software development and debugging tools for designers of applications based on reconfigurable computing technology; wrote InstallShield application to distribute it to computers running Windows

Hughes Network Systems, Software Engineer, Jun 1994 – May 1997

  • Developed a Windows NT device driver for a high-speed I/O device on a PCI card
  • Successfully led a short-term, three-person project to resolve a software problem that had been plaguing internally developed test equipment for more than six-months
  • Coordinated with engineers at Hitachi in Japan to design the middleware interface between home consumer electronics over a CEBus network and implemented the same for a high-volume satellite TV set-top box • Ported the VRTX and VxWorks board support packages to multiple custom hardware platforms
  • Developed an implementation of the UDP/IP protocol stack that included BOOTP, TFTP, and ARP client software, requiring just 8-kilobytes of memory—a ten-fold decrease over commercial stacks

Affiliations

Awards

Patents

  • Perret, Joseph and Michael Barr. Method of Calibrating a Brake System for Stationary Equipment and Apparatus for Doing the Same. U.S. Patent No. 6,976,562
  • Zeidman, Robert, Daniel Hafeman, and Michael Barr. Method and Apparatus for Synthesizing a Hardware System from a Software Description. U.S. Patent No. 7,210,116
  • Zeidman, Robert, Michael Barr, and Daniel Hafeman. Method and Apparatus for Selecting a Hardware Representation from a Software Description. U.S. Patent No. 7,945,879

Honors

  • Best Paper Award, DesignCon, Jan 1998

Education

Degrees Awarded

  • Master of Science in Electrical Engineering (MSEE). University of Maryland, May 1997
  • Bachelor of Science in Electrical Engineering (BSEE). University of Maryland, May 1994
  • Master of Business Administration (MBA). University of Maryland, Dec 2006

Additional Coursework

  • Copyright Law (edX online course). Harvard University, May 2013

Publications

Books

  • Barr, Michael. Programming Embedded Systems in C and C++. O’Reilly & Associates, 1999.
  • Ganssle, Jack and Michael Barr. Embedded Systems Dictionary. CMP Books, 2003.
  • Barr, Michael and Anthony Massa. Programming Embedded Systems with C and GNU Development Tools. O’Reilly & Associates, 2006.
  • Barr, Michael. Embedded C Coding Standard. 1ed: 2009, 2ed: 2013.

Articles and Papers

  • Barr, Michael and Brian Frank. “Java: Too Much for Your System?,” Embedded Systems Programming, May 1997.
  • Barr, Michael. “Controlling Run-Time Reconfigurable Hardware Designs with Java,” DesignCon, Jan 1998.
  • Barr, Michael and Jason Steinhorn. “Kaffe, Anyone? Implementing a Java Virtual Machine,” Embedded Systems Programming, Feb 1998.
  • Barr, Michael. “A Reconfigurable Computing Primer,” Multimedia Systems Design, Sep 1998.
  • Barr, Michael. “A Free Java Virtual Machine for Embedded Systems,” Embedded Systems Conference, Nov 1998.
  • Barr, Michael. “Choosing a Compiler: The Little Things,” Embedded Systems Programming, May 1999.
  • Barr, Michael. “Programmable Logic: What’s it to Ya?,” Embedded Systems Programming, Jun 1999.
  • Barr, Michael. “Architecting Embedded Systems for Add-on Software,” Embedded Systems Programming, Sep 1999.
  • Barr, Michael. “IrDA and Bluetooth,” Embedded Systems Programming, Oct 1999.
  • Barr, Michael. “Checksums,” Embedded Systems Programming, Nov 1999.
  • Barr, Michael. “Cyclic Redundancy Codes, Part 1,” Embedded Systems Programming, Dec 1999.
  • Barr, Michael. “Cyclic Redundancy Codes, Part 2,” Embedded Systems Programming, Jan 2000.
  • Barr, Michael. “Virtual Serial Ports,” Embedded Systems Programming, Feb 2000.
  • Barr, Michael. “Language Lessons,” Embedded Systems Programming, Mar 2000.
  • Barr, Michael. “TCP/IP or Not TCP/IP?,” Embedded Systems Programming, Apr 2000.
  • Barr, Michael. “Calibration,” Embedded Systems Programming, May 2000.
  • Barr, Michael. “MAC Daddy,” Embedded Systems Programming, Jun 2000.
  • Barr, Michael. “Address Resolution Protocol,” Embedded Systems Programming, Jul 2000.
  • Barr, Michael. “Software-Based Memory Testing,” Embedded Systems Programming, Jul 2000.
  • Barr, Michael. “Internet Working,” Embedded Systems Programming, Sep 2000.
  • Barr, Michael. “Introduction to Memory Types,” Embedded Systems Programming, May 2001.
  • Barr, Michael. “K Virtual Machine,” Embedded Systems Conference, Jul 2001.
  • Barr, Michael. “Java Technology Overview,” Embedded Systems Conference, Sep 2001.
  • Barr, Michael. “Introduction to Pulse Width Modulation,” Embedded Systems Programming, Sep 2001.
  • Barr, Michael. “Introduction to Watchdog Timers,” Embedded Systems Programming, Oct 2001.
  • Brown, Chris and Michael Barr. “Introduction to Endianness,” Embedded Systems Programming, Jan 2002.
  • Barr, Michael. “Embedded Programming 101,” Embedded Systems Conference, Mar 2002.
  • Barr, Michael. “Java 2 Micro Edition,” Embedded Systems Conference, Mar 2002.
  • Barr, Michael. “Preparing Your System for Java,” Embedded Systems Conference, Mar 2002.
  • Stewart, David and Michael Barr. “Introduction to Rate Monotonic Scheduling,” Embedded Systems Programming, Mar 2002.
  • Kalinsky, David and Michael Barr. “Introduction to Priority Inversion,” Embedded Systems Programming, Apr 2002.
  • Barr, Michael. “Toward a Smaller Java,” Embedded Systems Programming, Jun 2002.
  • Beal, David and Michael Barr. “Embedded Linux and the Law,” Embedded Systems Programming, Aug 2002.
  • Barr, Michael. “Introduction to Closed-Loop Control,” Embedded Systems Programming, Aug 2002.
  • Ball, Stuart and Michael Barr. “Introduction to Counter/Timer Hardware,” Embedded Systems Programming, Sep 2002.
  • Wagner, Brian and Michael Barr. “Introduction to Digital Filters,” Embedded Systems Programming, Dec 2002.
  • Barr, Michael. “Choosing a Real-Time Operating System,” Embedded Systems Programming, Jan 2003.
  • Berger, Arnold and Michael Barr. “Introduction to On-Chip Debug,” Embedded Systems Programming, Mar 2003.
  • Labrosse, Jean and Michael Barr. “Introduction to Preemptive Multitasking,” Embedded Systems Programming, Apr 2003.
  • Ball, Stuart and Michael Barr. “Introduction to Timer-Based Measurement,” Embedded Systems Programming, Aug 2003.
  • Barr, Michael. “Fixed-Width Integers in C, C++, and C99,” Embedded Systems Programming, Feb 2004.
  • Barr, Michael. “Multitasking Alternatives and the Perils of Preemption,” Embedded.com, Sep 2006.
  • Barr, Michael. “Don’t Believe Everything You Hear About RTOSes,” Embedded.com, Oct 2008.
  • Barr, Michael. “Bug-Killing Standards for Firmware Coding,” Embedded Systems Design, Apr 2009.
  • Samek, Miro and Michael Barr. “Event-Driven Programming,” Embedded Systems Conference, Apr 2009.
  • Barr, Michael. “Embedded C Coding Standards,” Embedded Systems Conference, Apr 2009.
  • Barr, Michael. “How to Assign Priorities to RTOS Tasks (and Why It Matters),” Embedded Systems Conference, Apr 2009.
  • Barr, Michael. “More Bug-Killing Standards for Firmware Coding,” Embedded Systems Design, May 2009.
  • Wilk, Michael and Michael Barr. “A Framework for Safe Motion Control Firmware,” RTC Magazine, Jun 2009.
  • Barr, Michael. “Real Men Program in C,” Embedded Systems Design, Jul/Aug 2009.
  • Barr, Michael. “Firmware Architecture in Five Easy Steps,” Embedded Systems Design, Sep 2009.
  • Barr, Michael. “The Lawyers are Coming,” Embedded Systems Design, Dec 2009.
  • Barr, Michael. “Faulty Code Will Lead to an Era of Firmware-Related Litigation,” Electronic Design, Jan 2010.
  • Barr, Michael. “Embedded Systems Programmers Worldwide Earn Failing Grades in C,” Embedded Systems Design, Jan 2010.
  • Barr, Michael. “Five Top Causes of Nasty Embedded Software Bugs,” Embedded Systems Design, Apr 2010.
  • Barr, Michael. “Three Things Every Programmer Should Know About RMA,” Embedded Systems Design, Sep 2010.
  • Barr, Michael. “Five More Top Causes of Nasty Embedded Software Bugs,” Embedded Systems Design, Nov 2010.
  • Barr, Michael. “Catching Copy Cats: Emerging Tools Can Detect Source Code Thievery,“ Law Technology News, Nov 2010.
  • Barr, Michael. “Embedded Software Drives Economic Growth,” Electronic Design, Dec 2010.
  • Barr, Michael. “Social Networking for Engineers,” Embedded Systems Design, Feb 2011.
  • Barr, Michael. “Unintended Acceleration and Other Embedded Software Bugs,” Embedded Systems Design, Apr 2011.
  • Barr, Michael. “What Belongs in a Header File,” Embedded Systems Design, May 2011.
  • Barr, Michael. “How to Enforce Coding Standards Automatically,” Embedded Systems Design, Jul 2011.
  • Barr, Michael. “Five Dangerous Coding Standard Rules,” Embedded Systems Design, Sep 2011.
  • Barr, Michael. “Firmware Forensics: Best Practices in Embedded Software Source Code Discovery,” Digital Evidence and Electronic Signature Law Review, Volume 8 : 2011.
  • Barr, Michael. “Best Practices in Embedded Software Source Code Discovery,” Embedded Systems Design, Nov 2011.
  • Barr, Michael. “Combining C’s volatile and const Keywords,” Embedded Systems Design, Feb 2012.
  • Barr, Michael. “Building Reliable and Secure Embedded Systems,” Embedded Systems Design, Apr 2012.
  • Barr, Michael. “Trends in Embedded Software Design,” Embedded Systems Design (final issue), May 2012.
  • Barr, Michael. “Dead Code, the Law, and Unintended Consequences,” Embedded.com, May 2013.
  • Barr, Michael. “Intellectual Property Protections for Embedded Software: A Primer,” Embedded.com, Jul 2013.
  • Barr, Michael. “Binary Executable Analysis Techniques for Embedded Systems,” DFI News, Sep 2013.

Blog

Expert Witness

Testimony at U.S. Patent and Trademark Office

  • U.S. Patent No. 6,321,331 (ex-parte patent re-exam), U.S. Patent and Trademark Office, 7 Sep 2011
  • U.S. Patent No. 5,751,736 (ex-parte patent re-exam), U.S. Patent and Trademark Office, 15 Feb 2012

Testimony at Jury Trial

  • DirecTV v. Frye, et. al. (satellite TV piracy), U.S. District Court for South Carolina, 22 Jan 2004
  • DirecTV v. Crespin (satellite TV piracy), U.S. District Court for Colorado, 28 Jun 2004 • DirecTV v. Medina (satellite TV piracy), U.S. District Court for South Carolina, 26 Jul 2004
  • DirecTV v. Murray, et. al. (satellite TV piracy), U.S. District Court for South Carolina, 11 Aug 2004
  • Antonick v. Electronic Arts (software copyright), U.S. District Court for Northern California, 11, 15 Jul 2013
  • Jean Bookout and Estate of Barbara Schwarz v. Toyota Motor Corporation, et. al. (automotive product liability), District Court of Oklahoma for Oklahoma County, 14-15 Oct 2013

Testimony at Bench Trial

  • DirecTV v. Escalona (satellite TV piracy), U.S. District Court for Southern Florida, 2 Feb 2004
  • DirecTV v. Craft (satellite TV piracy), U.S. District Court for Northern Florida, 6 Apr 2004
  • DirecTV v. Schaffer (satellite TV piracy), U.S. District Court for Southern Alabama, 17 Jun 2004
  • DirecTV v. Walsh (satellite TV piracy), U.S. District Court for Middle Pennsylvania, 30 Aug 2004
  • DirecTV v. Taylor (satellite TV piracy), U.S. District Court for Western Tennessee, 29 Sep 2004
  • DirecTV v. Norris (satellite TV piracy), U.S. District Court for Southern West Virginia, 25 Jan 2005
  • DirecTV v. Toler (satellite TV piracy), U.S. District Court for Southern West Virginia, 25 Jan 2005
  • DirecTV v. Farley (satellite TV piracy), U.S. District Court for Southern West Virginia, 15 Feb 2005
  • DirecTV v. Karpinsky (satellite TV piracy), U.S. Bankruptcy Court for Eastern Michigan, 25 Apr 2005
  • DirecTV v. D’Andrea (satellite TV piracy), U.S. District Court for New Jersey, 6, 13 Mar 2006
  • Videotron, et.al. v. Bell ExpressVu (security of satellite TV), Quebec Superior Court, 8-9, 13 Dec 2011
  • CCP Systems v. Samsung (software copyright), U.S. District Court for New Jersey, 7 Jul 2014

Testimony at Evidentiary Hearing

  • DirecTV v. Andino, et. al. (satellite TV piracy), U.S. District Court for Central Florida, 27 Oct 2003
  • DirecTV v. Nguyen (satellite TV piracy), U.S. District Court for Central Florida, 7 Nov 2003
  • DirecTV v. Iwan (satellite TV piracy), U.S. District Court for Central Florida, 7 Nov 2003
  • DirecTV v. Emfinger (satellite TV piracy), U.S. District Court for Central Florida, 7 Nov 2003
  • DirecTV v. Cabral (satellite TV piracy), U.S. District Court for New Mexico, 30 Apr 2004
  • DirecTV v. Koubicek, et. al. (satellite TV piracy), U.S. District Court for Western Louisiana, 22 Jun 2004
  • DirecTV v. Fayard, et. al. (satellite TV piracy), U.S. District Court for Middle Louisiana, 1 Dec 2004

Testimony at Deposition

  • DirecTV v. Laroe, et. al. (satellite TV piracy), U.S. District Court for Colorado, 13 Feb 2004
  • DirecTV v. Denton, et. al. (satellite TV piracy), U.S. District Court for Northern Georgia, 26 May 2004
  • DirecTV v. Stoner, et. al. (satellite TV piracy), U.S. District Court for Eastern North Carolina, 27 May 2004
  • EchoStar v. NDS Group (security of satellite TV), U.S. District Court for Southern Central California, 13 Sep 2007
  • EchoStar v. NDS Group (security of satellite TV), U.S. District Court for Southern Central California, 1 May 2008
  • Baxter Healthcare v. Fresenius (software quality), U.S. District Court for Northern California, 1 Jul 2009
  • Motorola Mobility v. Microsoft (DVR patent infringement), U.S. District Court for Southern Florida, 18 Jul 2011
  • van Alfen, et. al. v. Toyota Motor Sales (automotive product liability) and Toyota Motor Corp. Unintended Acceleration, Marketing, Sales Practices, and Products Liability Litigation MDL 2151 (economic loss), U.S. District Court for Southern Central California, 2 Oct 2012
  • Antonick v. Electronic Arts (videogame software copyright/trade secrets), U.S. District Court for Northern California, 27 Nov 2012
  • SmartPhone Technologies v. Research in Motion, Apple, LG, and AT&T, et. al. (smartphone patent infringement), U.S. District Court for Eastern Texas, 15-18 Jan 2013
  • Estate of Ida Starr St. John v. Toyota Motor Sales, et. al. (automotive product liability), U.S. District Court for Southern Central California, 3 Jul 2013
  • Estate of Guadalupe Alberto v. Toyota Motor Corporation, et. al. (automotive product liability), Circuit Court of Michigan for Genesee County, 2 Aug 2013
  • Jean Bookout and Estate of Barbara Schwarz v. Toyota Motor Corporation, et. al. (automotive product liability), District Court of Oklahoma for Oklahoma County, 2 Aug 2013
  • SmartPhone Technologies v. Huawei (smartphone patent validity), U.S. District Court for Eastern Texas, 18 Feb 2014
  • CCP Systems v. Samsung (software copyright), U.S. District Court for New Jersey, 23 May 2014
  • In Re Swift Transportation (class action), Superior Court of the State of Arizona, 12 Nov 2014

Settled Prior to Testimony

  • Bally Gaming v. IGT (slot machine patent infringement), U.S. District Court for Nevada
  • Canada Customs and Revenue Agency vs. Davin Omeir (satellite TV piracy), Canadian Federal Court in Ottawa
  • DirecTV v. Roggero (DMCA), U.S. District Court for Eastern Michigan
  • DirecTV v. SDLogic, et. al. (DMCA), U.S. District Court for Central California
  • DirecTV v. Various Defendants (satellite TV piracy), various venues
  • EchoStar v. Freetech (security of satellite TV), U.S. District Court for Northern California
  • EchoStar, et. al. v. nFusion, et. al. (security of satellite TV), U.S. District Court for Central California
  • Eutronix vs. Texas Embedded Solutions (contract dispute), et. al., Louisiana State District Court
  • Manard, et.al. v. Knology (class action), U.S. District Court for Middle Georgia
  • Motorola v. Lemko, Huawei, et. al. (cellular software copyright/trade secrets), U.S. District Court for Northern Illinois
  • SmartPhone Technologies v. ZTE (smartphone patent validity), U.S. District Court for Eastern Texas
  • TiVo v. Cisco and Time Warner Cable (DVR patent infringement), U.S. District Court for Eastern Texas
  • Various Plaintiffs v. Toyota (automotive product liability), various venues

Law Firm Clients