Alan de Freitas Notes from a C++ Engineer.

Hi, I’m Alan. I grew up in the countryside of Minas Gerais, Brazil, and have lived all around the world since. My PhD in computational intelligence, the evolutionary and neural side of AI, and my work in mathematical optimization led to methods I have applied to music composition, aircraft-engine and electric-motor design, energy storage for smart cities, and logistics. Rewriting one of those algorithms in C++ turned a coffee break into half a second, moved my research to C++, and led to Matplot++, so that scientific computing could stay in C++, where I now sit on the ISO committee (WG21).

Engineering

Today I’m a Staff Engineer and one of the earliest members of The C++ Alliance, a nonprofit that funds work on the Boost libraries, C++ tooling and the ISO C++ standard. I designed the architecture of MrDocs, our open-source documentation generator for modern C++, built directly on the Clang and LLVM compiler front end and now being adopted across the Boost libraries. I set its technical direction, keeping its brilliant and independent contributors converging on it and up to speed on the Clang internals. My other projects:

  • cpp-actions, the CI automation used by Boost libraries and the Alliance’s projects, which I created and maintain.
  • Matplot++, one of the most widely used C++ plotting libraries.
  • Boost.URL, which I co-authored, took through Boost’s peer review, and have maintained in every Boost release since 1.81. It is one of twenty Boost libraries I have contributed to.

Academia and industry

Before the Alliance, I spent a decade in academia and industry: a Marie Curie fellowship, aircraft-engine design at the Rolls-Royce Technology Centre in the UK, a visiting professorship at McGill and the Université de Montréal, and ten years as a professor at the Federal University of Ouro Preto teaching advanced C++ and research methods up to the doctoral level. I have more than 50 peer-reviewed publications, two of them in the journals ranked first in the world in computer science and in mathematics, and a best-paper award at GECCO, the world’s largest conference on evolutionary computation. I also coordinated Aluno Integrado, a program that taught programming to more than 10,000 students from low-income regions of Brazil.

Off the clock, I cook, play guitar, and spend time with my dog.

Repositories

Boost.URL , MrDocs , Antora C++ Reference Extension , Antora C++ Tagfiles Extension , Antora Playbook Macros Extension , Asciidoctor Boost Links , C++ Actions , Matplot++ , Small , Futures , Pareto , Clang Unformat , FetchBoostContent , Socks , BibExplorer , ModernCpp

Publications

Freitas, Alan
Efficient user-oriented Pareto fronts and Pareto archives based on spatial data structures.
Swarm and Evolutionary Computation.
2021
Gomes, Thiago Macedo
De Freitas, Alan Robert Resende
Lopes, Rodolfo Ayala
Multi-heap constraint handling in gray box evolutionary algorithms.
Genetic and Evolutionary Computation Conference
2019
Silva, Rodrigo
Salimi, Armin
Li, Min
Freitas, Alan
Guimaraes, Frederico
Lowther, David
Visualization and Analysis of Trade-offs in Many-Objective Optimization: A Case Study on the Interior Permanent Magnet Motor Design.
IEEE Transactions on Magnetics
2016
Freitas, A.
Fleming, P. J.
Guimarães, F. G.
Aggregation Trees for Visualization and Dimension Reduction in Many-Objective Optimization.
Information Sciences
2014
De Freitas, Alan R.r.
Guimarães, Frederico Gadelha
Originality and diversity in the artificial evolution of melodies
Genetic and Evolutionary Computation Conference
2011