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.

Read More

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.

Read More

This entry is part 1 of 1 in the series Deep adventures

A few year ago, Packt Publishing contacted to be a technical reviewer for the first edition of Building Machine Learning Systems with Python, and I was impressed by the writing of Luis Pedro Coelho and Willi Richert. For the second edition, I was again a technical reviewer.

Writing is not easy, especially when it’s not your mother tongue, and scientific books are plagued with books that are not that great, with low technical content or bad English (that can be said for novels as well, the worst I ever read probably being the Hunger games series…). Even if I don’t like the books, I know that the authors did their best, having written in the past a book that I can say was not very great in terms of flow. Writing a book always deserves the deepest respect.

Read More