issue 79 - Embedded systems newsletter

Embedded systems #79

Here it is the issue #79! This week sees the apparition of the jobs section. From now, if I receive a job offer by email ( embedsys@embedsysweekly.com ) I’ll add it to the jobs section. I’m going to keep it as small as two entries per week. So it should not take too much space in the newsletter. Please, Let me know if you don’t like this idea.

Software

Super Simple Named Boolean Parameters
Simon in his article presents a trick to make explicit the meaning of boolean parameters. I’m not really sure what to think about it right now. Anyway the idea behind it, to raise the expressiveness of the code to make it easier to maintain, is a good one. The same idea than behind X Macros like suggested by Simon at the end of his article. A quick poll done by Matthew tends to prove that developers prefer clear code over short code .

Unit testing with asserts
Matt guides us step by step through how to test assertions in our embedded software. Thanks to his experience, he makes the process easy to follow by using the right tool at the right moment.

gdbgui.com
gdbgui is a very nice web user interface for GDB. In the doc it’s described how to connect to a gdbserver and so how to debug embedded software. It’s currently in active development and Chad, its author, is very active to address issues that may appear.

Functions in std
When you are using functions from the C++ standard library as first class citizen in your code (for instance as parameter of another function) you can face issues when you want to upgrade your compilation chain. This article explains it very well and it proposes ways to avoid these issues.

MQTT 101 Tutorial: Introduction and Hands-on using Eclipse Mosquitto
If you are doing embedded systems in the IoT field you have obligatorily heard about MQTT. Maybe you are challenged right now to implement it? This article will put you on track in a blink.

C99 standard compliant RAII-like
Let’s say that you are a C programmer and that you know a bit about C++. If you are in this case you may think that it would make your work easier if you had RAII (Resource acquisition is initialization) features in your beloved language. Things like std::lock_guard or std::unique_ptr, etc… The raii_with library tries to bring exactly that to C and in a rather elegant way. It deserves to be checked out at least for the implementation.

Misc

Brian Kernighan Q&A
In the previous issue ( #78 ) I already selected in the Misc section a video of Brian Kernighan. I liked it so much that this week I picked some other parts of the same interview. part 2 part 3

isvolatileusefulwiththreads
You still have troubles to understand if you need to use volatile when you are doing thread programming? This little website has been made for you. A clue: If your language name starts with a c the answer is no.

Jobs

Embedded Software Engineer C/C++ at PTScientists (Berlin)
We’re looking for an experienced Embedded Software Engineer to support our software development in Berlin for our Mission to the Moon and subsequent lunar missions.