Embedded engineer with 7 years of industry experience and a passion for developer tools. Worked at Pebble and Fitbit helping them ship and maintain millions of wearable devices running RTOS-level firmware. Now a co-founder at Memfault, which is building monitoring tools for the IoT space. You can find some of the articles I've written at: https://interrupt.memfault.com/blog/authors/tyler/.
Essential Device and Firmware MetricsStatus: Available Now
As embedded engineers, we love data. Our desk is littered with tools that help capture tons of data, such as oscilloscopes, logic analyzers, debuggers, tracers, and power meters. However, once a device (or thousands) leave our desk and are shipped to customers, all of these tools are paperweights. It's now up to the devices to report issues back to the developers.
This is where metrics come in. Throughout my career, metrics have been the most powerful and simplest way to monitor thousands to millions of devices. This talk covers what metrics are, how to capture them, and explores the seemingly infinite metrics you can capture and creative uses to help you solve real-world, elusive device issues, such as power consumption, performance, and battery life issues.
Live Q&A - Essential Device and Firmware MetricsStatus: Available Now
Live Q&A with Tyler Hoffman for the talk titled Essential Device and Firmware Metrics
The Best Defense is Offensive ProgrammingStatus: Available Now
Let's face it. The firmware we write has bugs, and we need to defend against and accept failures when our system experiences bugs. This is when we typically employ defensive programming practices, but if not used correctly, they may cause more problems than they solve.
There is an alternative and complimentary set of programming practices, often called "offensive programming", which takes defensive programming and flips it on its head. Instead of defending against errors in firmware, this technique will surface them immediately using liberal asserting and proper fault handling.
This talk will cover offensive programming techniques, prerequisites to implementing the suggestions in your firmware, and how you can use them to quickly and easily track down and root cause 1 in 1,000 hour bugs and keep your sanity at the same time.