This will be a short technical post covering the process I used to optimize GUI (Graphical User Interface) updates for my kinematics simulator application (pictured below). Using these brief techniques, I was able to reduce the time spent rendering UI updates by 98.8%. For anyone who's interested, the project can be found here . It uses matplotlib for animated plots embedded within a tkinter GUI. If you're looking to embed matplotlib inside a GUI application, or even if you're working on standalone animated plots, I'm hoping this post will provide some useful tips for improving performance. Initial Performance For background, my goal was to achieve an update frequency of about 20fps (or around 50ms per frame). Looking at the logs shown below, it's clear that this wasn't achievable with the initial design. The overall elapsed time for each frame is shown, along with a breakdown between computing the frame data and actually updating (drawing) the plots. Initially...
Over the past year, campaigns including BadBox 2.0 , Matrix , and LapDogs have been documented compromising tens of millions of connected devices worldwide. There are billions of devices now online and threats are continuing to emerge. It's clear that IoT security is still lagging behind its rapid pace of adoption. There are certainly benefits to this widespread adoption. IoT is enabling real-time, data-driven decision making at a remarkable scale. Applications such as wearable devices, environmental monitoring, remote patient care, and predictive maintenance wouldn’t exist without IoT. Analysts project IoT connections exceeding 40 billion within the next decade, a trend that highlights the need to build security into every layer of the ecosystem. The State of IoT Security Systematic security measures for IoT are only beginning to be widely implemented, driven in large part by emerging regulations and increased demands for security. Historically, ma...