The Best Way to Share Data Across Threads? Don't.
A deep dive into using C++ move semantics for thread safety, the "SealedPtr" pattern to prevent misuse, and zero-allocation recycling queues.
A deep dive into using C++ move semantics for thread safety, the "SealedPtr" pattern to prevent misuse, and zero-allocation recycling queues.
C++ will eventually gain safer features, but Rust’s memory safety model is already here; and flourishing. In this article, we explore why C++ might arrive too late to the secure-systems party, despite its vast legacy ecosystem.
It is natural to assume that proficiency in C++ directly translates to the ability to develop software in the language. However, the two are not always synonymous. The complexities of C++ pose challenges for software engineering. Simplicity is important for maintainability and long-term success in software engineering.
An example of how to model and control a real-world system using a Petri Net-based controller. The system in focus is an autonomous eCommerce warehouse. The post outlines the modeling of the system using Petri Nets, and discusses the transition from model to software.
This post discusses the challenges of using a Petri Net model to control the behavior of an autonomous system. It explores different approaches to implementing a Petri Net-based behavior controller and aims to provide readers with the knowledge to implement their own controller in a clean and maintainable way.
This article discusses the use of Petri Nets for modeling complex distributed systems. It explores the advantages and disadvantages of Petri Nets and their application in different layers of the robotics stack.