Duncan McGreggor

Lisper, Erlanger, and LFE core contributor

Duncan started hacking in the early 80s on copies of the BSD games, was a linguist in the 101st Airborne Division, studied physics and applied maths at university, traveled to India to practice meditation and dialectic with monks in exile, and eventually joined a startup just before the Internet crash in 1999/2000. Somehow, that did not deter his life-long passion for programming: he started hacking on small, distributed services in the early 2000s, eventually became a Fellow at the Python Software Foundation, joined Robert Virding as a contributor to LFE, and coded in another Lisp for the USGS (LANDSAT data) and then NASA. Duncan is currently a principal engineer at MediaMath, dedicated to building better engineering teams and software engineering practices while also teaching new generations of engineers a love for the art.

Past Activities

Duncan McGreggor
Code BEAM V America
10 Mar 2021
12.00 - 12.40

Sound on BEAM: Music in the Land of Distributed Lisp

While not built for sound or digital signal processing, Erlang excels in the realm where music control systems have converged: network message-passing. In this talk, Duncan will provide some brief background and share previous related sound-generation work on the BEAM, then cover a recent effort in Lisp Flavoured Erlang (LFE) to integrate with well-established improvisational tools and music recording systems. Full use of LFE/OTP behaviours and supervision trees will be covered, as well as application start phases for synchronizing system startup. In addition, LFE's strength as a platform for creating DSL's will be covered in the dual context of integrating with multiple systems and creating generative music.

Duncan McGreggor / Robert Virding
Code BEAM V America
11 Mar 2021
11.50 - 12.30

Fireside chat on LFE with Robert Virding and Duncan McGreggor

In this session we will seek Robert's advice on practical matters when creating applications and services in OTP on the BEAM, design decisions that face every implementor sooner or later, how creating software in LFE may or may not affect such decisions, and common misconceptions that must be overcome when building distributed solutions for customers. If time allows, we will take the opportunity to hear Robert's thoughts on best practices for BEAM language designers.