issue 77 - Embedded systems newsletter

Embedded systems #77

Here comes #77! It’s a pleasure to read and collect great articles every weeks. I hope you take the same pleasure to read it! If you find or write an article, please, send me an email to embedsys@embedsysweekly.com . With Embedded Systems Weekly I try to help good writings to reach their readers as soon as they are published. Your emails help me a lot.

Hardware

Introduction & Differences Between RS-232, RS-422 and RS-485
When I started my career I had for weeks this trouble to get a clear and a good idea of what are the differences between those different serial communications. If you are in this position right now, this article + video are a good introduction.

Software

On C++ Random Number Generator Quality
When a C++ developer needs a pseudo random number generator, it tends to go to the most direct and simplest solution built in the standard library. Arvid demonstrates in this article that they are not the best choice and he guides us to very good alternatives.

C-QUIZ
You think you know C perfectly? This test will make you think very hard about some subtle things that you may had forgot. Please, share your score with me on Twitter . I’m very curious about how good you are!

FANN
FANN stands for Fast Artificial Neural Network Library. It’s a pure C library created 14 years ago originally coded to embed image processing on a robot . It’s two main features are speed and easy to use.

Rust Pointers for C Programmers
As an embedded software engineer there is almost 100% of chance that you know really well C. There is as well odds that you heard about or you already tried a bit Rust which is currently pushed hard into the embedded systems world (cf. Rust Embedded Working Group ). The quantity of features built-in Rust is intimidating for C developers: how many different pointers the language has! In this article, Jeff creates a bridge between C pointers and Rust pointers that is really helpful to understand Rust pointers.

Navigate all versions of Linux source code online
Navigate into the Linux kernel had always been a great source of learning for me. There is so many things going on in the Linux repository. It’s almost impossible to know all the kernel parts. This website let you navigate into all the last versions of the kernel very quickly and very easily. A pleasure.

The Microkernel Overhead
This presentation explains in details the reasons and the cost of overhead implied by the design of microkernels. It’s presented by Martin Děcký, maintainer of the HelenOS microkernel.

Misc

C++: Is It Really a Cruel Joke?
A funny (or not) satiric rewrite of a real Bjarne Stroustrup interview. Some people may feel that there is some truth in this version.

Memory & Caches
Matt Godbolt presentation goes into details. After watching it you should be ready with the fundamentals of memory and caches.

Reading hotel key cards with a credit card magstripe reader
A small cool project that show how to modify a magstripe to be able to read a card that it was not intended to read.