Should Safety Critical Software be Written in C?

David Sosnow – Chief Product Officer

The conversation around self-driving cars has zeroed in on the question of safety, and for good reason. The tragic death of Elaine Herzberg by an autonomous vehicle has revealed the many ways that self-driving cars have not yet caught up with the buzz that surrounds them. Rightfully, the question of blame is the focus.

Read more →


BYO Standard: An Explorer's Guide to Compiler Plugins

Shea Newton – Client Services Engineer

The Rust programming language provides powerful guarantees around memory and thread safety. It also exposes all the knobs required for implementing custom rules, enabling a project to make additional guarantees and enforce opinions on best practice. Embedded standards are very opinionated about software practices—like using floating point values as loop counters or the number of possible exit points of a function—and Rust’s defaults don’t prevent every runtime panic (for example, recursion that goes too deep and overflows the stack).  

Read more →


Session Types for Hearty Codecs

Zack Pierce – P. Distributed Systems Engineer

In software systems where components talk to each other, data serialization is an essential challenge. A system's encoding format has to hit the right balance of requirements around performance, expressiveness, tooling quality, and ease of correct usage.

Read more →


How I Learned to Love Property Based Testing

Katie Cleary – Software Engineer

The first time I was invited to join a field test for OSCC, our open source car control platform, I was beyond excited. Driving a car with a game controller seemed like playing a real life racing game. As an engineer previously focused on game development, witnessing how the hardware, firmware, and software interacted with real-world physical interference captured my curiosity. After a deeper dive into the project, my Need for Speed daydreams were shelved as I became aware of two important realities.

Read more →