throbber
(cid:1)
`
`Curriculum Vitae of Michael Barr
`Updated September 29, 2014
`
`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
`
`Barr Group, CTO, Feb 2012 – present
`
`Present Activities
`
`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
`
`(cid:1)
`
`IV 2004
`IPR2014-00310
`
`

`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`Netrino, President, Jan 1999 – Feb 2012
`
`Relevant Past Experiences
`
`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 hardware
`
`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
`
`(cid:1)
`
`(cid:1)
`
`Page 2 of 9
`
`

`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`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
`
`Association for Computing Machinery (ACM), Member
`
`Institute for Electrical and Electronic Engineering (IEEE), Member
`
`Phi Kappa Phi National Honor Society, Member
`
`Patents
`
`Awards
`
`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
`
`(cid:1)
`
`(cid:1)
`
`Page 3 of 9
`
`

`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`Degrees Awarded
`
`Education
`
`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, May 2013
`
`
`Books
`
`Publications
`
`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.
`
`(cid:1)
`
`(cid:1)
`
`Page 4 of 9
`
`

`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`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.
`
`(cid:1)
`
`(cid:1)
`
`Page 5 of 9
`
`

`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`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.
`
`(cid:1)
`
`(cid:1)
`
`Page 6 of 9
`
`

`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`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
`
` Barr Code. Archive available at http://www.embeddedgurus.com/barr-code/. Mar 2001 – present
`
`
`Testimony at U.S. Patent and Trademark Office
`
`Expert Witness
`
`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
`
`(cid:1)
`
`(cid:1)
`
`Page 7 of 9
`
`

`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`
`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
`
`(cid:1)
`
`(cid:1)
`
`Page 8 of 9
`
`

`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`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
`
`
`
`
`
`(cid:1)
`
`(cid:1)
`
`Page 9 of 9

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket