A recollection of all the articles posted on, grouped into categories.


Architecture and Design

Random thoughts and experimentations on the complex endeavour of designing and architecting software:


C++ Design Tips

A series presenting various design tips dedicated to C++. These tips are not rules and are not universal, but often helps me in the process of building simple, composable, reusable and easy to evolve APIs:



How to improve your testing by thinking in terms of invariants, properties, and finding good ways to encode them into tests:


Advanced type systems

Exploring the world of dependent typing in Idris, its capabilities, and the opportunities it brings in terms of design and type checking:


Open recursion

How to combine the effectiveness of dynamic programming while preserving the declarative nature of a recurrence formulas:


Recursion schemes

How to decouple the traversal of an Abstract Syntax Tree from the operations to perform on it, to build shorter, more maintainable and more composable DSLs:


Web game programming

A tutorial on how to write simple but complete (with complex game logic and artificial intelligence) Web games using Clojurescript:


Open source libraries

Articles linked to the few open source libraries that I published on my GitHub. More details can be found on the page dedicated to projects.


LISP meta-programming for C++ developers series

How supporting reflection, being able to manipulate the AST of the language inside the language, and perform any computation at compile time can greatly improve and simplify your code.


Event reports

Some reports on the events I was lucky enough to attend (such as Meetups, trainings or conferences) and their most interesting aspects.


Fooling around with algorithms

Playing with interesting code puzzle to discover some interesting aspects and guide-lines around programming and software engineering.



The remaining articles, including answers to other articles or talk, and including completely delirious random thoughts on software.


Create a website or blog at

Up ↑

%d bloggers like this: