Perfect is the enemy of good. That’s the case with the IoT backend system that we described part I. In our previous post, we went step by step through the procedure of setting up: MQTT server to listen in incoming topics, e.g. sensors, Influx database to store time series of sensor data, Telegraf to connect
[Part I] IoT with docker
To use the correct tools to implement a task is so important. When playing with IoT applications, you will inevitably touch: MQTT, for handling easily the messaging, InfluxDB database, to store the data in a timestamped fashion (time-series arrays), and Grafana, to visualise the data This is good, but do you mean that I need
TDD, GoogleTest, GitHub, Travis CI and Conan; the easy way!
Test-Driven Development (TDD) is a popular approach in developing code bases and there is a good reason for that. There are many books that explain the way and the advantages of adopting an approach like that. In today’s post, I’m not going to explain that again. An amazing book that I can suggest is the
Continue reading TDD, GoogleTest, GitHub, Travis CI and Conan; the easy way!
How to install Armadillo library, the easy way!
Back to May, we have written a post about the procedure we need to follow in case we want to use the Armadillo library in Ubuntu. It works, but in this post, I would suggest an even easier way to do it. The solution called Conan, the C/C++ Package Manager. It can be used for
Continue reading How to install Armadillo library, the easy way!
Sums of integer numbers using the Gauss’s trick
Maths is fun. Always nice tricks make our day. Do you recall Gauss’s trick? If the difference between consecutive numbers is always the same, we can use the trick by adding the first and final terms and then multiplying by half the number of terms! Isn’t beautiful? Sum of consecutive odd numbers: Sum of consecutive
Continue reading Sums of integer numbers using the Gauss’s trick
Raspberry Pi, qemu and network access
Recently, I got in my hands a great book by Igor Viarheichyk called “Embedded Programming with modern C++ cookbook”. It is a fantastic book that captured my interest since the first page. At one point, guide you on how to set up a qemu environment to run a Raspberry Pi emulator. At this stage, you
How to install pyenv on Ubuntu
Well, many of us work with ubuntu. One popular option is to use version 18.04, also called Bionic Beaver. Good choice! When it comes to development, python comes into the picture. The default python version is provided 3.6.9. Why not experiment a little bit with newer versions like 3.8.5, or the upcoming 3.9? One option
Docker 101
Who can live without docker? Hmm, I don’t know someone. The concept is known and I am not going to explain it in this space. What makes me think that worths is to gather a few essential commands to hit the ground running, don’t you think? How to install it Ubuntu 18.04? There are a
One more naming convention for C++
Lot of discussion about what should be the proper naming convention for C++. Bjarne Stroustrup has recommended the following approach, which is useful as advice: Name a variable (function, type, whatever) based on what it is or does. Choose a meaningful name; that is, choose names that will help people understand your program. Even you
How to use pimpl idiom to hide the internals of your class declaration (and not only)
When we share the public interface of our library or API, we usually share the header files. In this case together, with the public members od our class there is also visibility of the private. The pimpl idiom which comes from the “pointer to implementation” is a programming technique that let us hide the internal