Gary provides services in a variety of aspects in the areas of embedded systems, software, and intellectual property. In those areas, he has provided consulting services, contract engineering work, and training. The following are sample projects:
- Wrote firmware in C and assembly language for printers, door locks, and power supplies.
- Diagnosed difficult and intermittent defects and developed solutions and workarounds.
- Developed device driver standards and promoted hardware/firmware architectural guidelines for ASICs and FPGAs.
- Developed test suites to test, troubleshoot, and debug software components and systems.
- Taught webinars (see below) and conference classes.
- Produced charts showing the presence of patent claims in accused products.
- Reverse engineered devices to examine designs for possible patent and copyright infringement.
Contact Gary to help you with your project.
Thanks to your inquisitive and creative nature, I think we have together arrived at a couple of significant hardware contributions that improve the firmware interface and control. Thanks for doing such a great job of establishing for me a firmware driver mindset that can play an important role in our ASIC design decisions.
Gary is one of the best troubleshooters I’ve met in my 26 years at Hewlett-Packard.
In addition to being highly skilled, which is obvious, you are a sincerely caring person and have done us a great service.
I think, again, you have solved one of the toughest problems for us with your expertise and dedication.
The following are DesignNews Continuing Education Webinars Gary has presented. Each one consists of five 45-minute sessions. Free registration is required to access them.
- Session 1: Introduction, Myths & Why
- Session 2: Writing Code That Is Reusable Through Commonality
- Session 3: Writing Code That Is Reusable Through Flexibility
- Session 4: Additional Approaches to Support Code Reusability
- Session 5: Reusable Code Tests & Concluding Remarks
- Introduction: 7 Basic Principles of Interface Design
- Part II: Methodologies of Successful Collaboration & Standards
- Part III: Hardware & Software Sharing Responsibilities
- Part IV: Looking for & Avoiding Problems in Interface Design
- Part V: Planning for the Road Ahead & Future Enhancements
- Introduction: What You Need to Know About System Test & Debugging
- Part II: Putting Together & Executing a Test Plan
- Part III: Getting Your System Up and Running
- Part IV: Failure Modes & What to Do About Them
- Part V: Soft Skills They Don’t Teach You in the Manual