### Installing HomeAssistant on a Raspberry Pi

I’m a huge fan of home automation. I started studying the KNX standard more than a decade ago, and I wanted to automated everything in my home. One day.

In the last decade, we saw the apparition of lots of new standards, not just for lighting and heating, but also for everything else. Unfortunately, it’s rarely compatible with each other. I saw a few projects int he fast, and recently saw HomeAssistant in an article, and decided to try it.

### Should I invert my matrix or not?

This entry is part 5 of 13 in the series Analog modelling

In almost all analog modeling algorithms, we solve a (non-)linear system they require at some point to solve $A x=y$, with given $A$ and $y$. Depending on the size of the matrix and its characteristics, computing an inverse can be costly and may incur numerical problems. Let’s tackle cost in this discussion.

### Deploying in the cloud

As I’m currently thinking of creating a new app which requires a cloud service (or at least an online service 24/7), I thought about what are the long term constraints I want to have when signing up with a cloud provider. These are the topics to consider IMHO.

### Deploying Graylog 3 with Docker

While I’m playing with Javascript and React, I’m also going on with using Python and Flask to build a backend. To have meaningful statistics about my app usage and what to optimize, I wanted to centralize logging somewhere.

### Announcement: Audio TK 3.0.0

ATK is updated to 3.0.0 with a major ABI break and code quality improvement (see here). Bugs in different areas were fixed.

Development for additional modules was also simplified (the modelling lite is such a project based on Audio Toolkit).

### Book review: Continuous Delivery With Docker And Jenkins

A decade ago, the objective was to have a build farm and do continuous integration (on each commit, build the application and run unit tests). Now, the objective is continuous delivery. This means that the new build is directly put into production. All the major applications are doing this, from Chrome to Spotify. You may not get every version on your machine, but you should consider a build as something you could deploy.

The nice thing is that there are tools to ease this workflow.

### Compiling C++ code in memory with clang

This entry is part 1 of 5 in the series Travelling in LLVM land

I have tried to find the proper receipts to compile on the fly C++ code with clang and LLVM. It’s actually not that easy to achieve if you are not targeting LLVM Intermediate Representation, and unfortunately, the code here, working for LLVM 7, may not work for LLVM 8. Or 6.

### Address Sanitizer: alternative to valgrind

This entry is part 2 of 5 in the series Travelling in LLVM land

Recently, at work, I encountered a strange bug with GCC 7.2 and clang 6 (I didn’t test it with Visual Studio 2017 for different reasons). The bug was not visible on “old” compilers like gcc 4, Visual Studio 2013 or even Intel Compiler 2017. In debug mode, everything was fine, but in release mode, the application crashed. But not always at the same location.

### Book review: Getting Started with LLVM Core Libraries

This entry is part 5 of 5 in the series Travelling in LLVM land

LLVM has always intrigued me. Actually, I always thought about one day writing a compiler. But it was more a challenge than a requirement for any of my works, private or professional, so never dived into it. The design of LLVM was also very well thought, and probably close to something I would have had liked to create.

So now the easiest is just to use LLVM for the different goals I want to achieve. I recently had to write clang-tidy rules, and I also want to perhaps create a JIT for Audio Toolkit and the modeling libraries. So lots of reasons to look at LLVM.

### Writing custom checks for clang-tidy

This entry is part 4 of 5 in the series Travelling in LLVM land

I started taking a heavier interest in clang-tidy a few months ago, as I was looking at static analyzers. I found at the time that it was quite complicated to work on clang internal AST. It is a wonderful tool, but it is also a very complex one. Thankfully, the cfe-dev mailing list is full of nice people.

I also started my journey in the LLVM/clang land with the help of this blog post.