Kofi Gumbs

UI Engineer @Twitter

Kofi Gumbs is a programmer based in Baltimore, Maryland. Given the choice, he prefers functional programming and the Web platform, but that doesn't keep him from exploring new technologies and paradigms. Most recently, he's been exploring Swift via his open-source macOS app: Multi.

Past Activities

Kofi Gumbs
Code Mesh V
06 Nov 2020
18.50 - 19.30

Teaching WebGL to Dance to Music

Animating with WebGL from scratch can be intimidating. Fortunately for Elm programmers, the elm-3d-scene package makes it easy to get your 3D shapes moving. And since WebMIDI makes it easy to process realtime audio, we have everything we need to build dance parties in Elm.

This talk walks through my experiences with those technologies. I'll review elm-3d-scene, demonstrate how to use MIDI with Elm, and share tips about starting with graphics and animation. Attendees will leave understanding the concepts behind WebGL and WebMIDI, ready to create their own visualizations.

Kofi Gumbs
Code BEAM STO 2018
31 May 2018
16.25 - 17.10

Getting to the BEAM, without going through Erlang

Using Erlang to create a language for the BEAM is well-modeled, with projects like Elixir, LFE, and Alpaca growing in popularity and maturity. There are several benefits to leveraging the Erlang toolchain; however, one restriction screams out: your compiler has to be written in Erlang! (*Yes, technically your compiler could also be self-hosted).

But what if, despite conventional models, the BEAM itself is a friendly, open compilation target? Are there benefits to sidestepping the Erlang toolchain altogether?

In this talk, we'll discuss the making of a compile-to-BEAM language, from scratch. You will have a guided tour through codec-beam, a BEAM assembler written in Haskell, which provides an explicit model for the BEAM's semantics. Finally we'll compare that project to the Erlang compiler's assembler, and see if we can beat OTP at it's own game!


Introduce the audience to the BEAM file format and some of the decisions encoded into the Erlang compiler. Audience members should leave knowing why BEAM may or may not be a great candidate platform for their next language project.