Brooklyn Zelenka
Programs with functions λ. Cofounder & CTO at Fission
Brooklyn is the co-founder and CTO at Fission, where her team is building the next generation of web dev tools for the future of computing on the edge – levelling the playing field for teams of all sizes.
She is the founder of the Vancouver Functional Programming Meetup, and is the author of several Elixir libraries including Witchcraft & Exceptional. She was previously an Ethereum Core Developer and continues to push the broader edge space forward with standards like UCAN auth, the Webnative File System, and the poststructural database Dialog.
Past Activities
Code BEAM Europe 2022
16.15 - 17.00
Burn Your Laurels
The BEAM has been tremendously successful for three decades and counting. It underpins a huge number of systems, served as the basis for many successful high profile projects, and seeded interest in the actor model among a huge number of programmers. To all the world, the BEAM is the absolute envy of the industry.
And yet our devices and networks are changing substantially for the first time in nearly a generation. We have new building blocks, rapidly evolving theory, and ever-shifting user expectations. Wasm, far edge, the digital commons, and trustless computing are all fundamentally changing the face of the industry. We can’t rest on our laurels: how do we rise to meet these new demands? What replaces processes when location is irrelevant? What even is a supervision tree when you don't trust the children? When is “let it crash” not enough? Can we make changes to the platform that radically simplify code for developers? How do we enable the next generation of LiveView, Nerves, and CouchDB to meet users where they are?
This talk will ask hard questions about where we are, where we’re going, and how to have the highest impact. The BEAM is a distributed systems trailblazer; we're riding a ton of momentum, and the ecosystem is a model for communities outside of our own. Let’s not stop here; the world is changing and we need a Cambrian explosion of activity and innovation to keep up with it. Let's move the needle, again!
Code BEAM SF
09.10 - 09.55
Old ideas made new
Languages and ecosystems are more than simply syntax; they're ways of thinking. They have features, idioms, and community standards that drive us towards certain ways of doing things. Erlang is over 30 years old, and has a very mature way of doing things. Elixir came on the scene, bringing with it some new ideas from other ecosystems. We're seeing even more of this with BEAM languages from LFE to Alpaca to Erlog.
Ideas come in and out of fashion. Some of them are lost and aren't given a chance again. But as technology continues to evolve, perhaps there's space for what's old to be made new again! This talk will explore a few idea lost to time that perhaps have their chance to shine again. It asks what could languages would look like if history had gone slightly differently, and what depths we can plumb for the next 30 years and 50 languages on the BEAM.
Code BEAM V Europe
14.20 - 15.00
Fireside chat on bringing more FP to Elixir
In this fireside chat, Brooklyn and Thomas will talk about structural thinking and abstraction. Come hear (and discuss!) how to make your code more understandable, help you move quickly, and eliminate tricky bugs, drawing from real world examples, the Witchcraft suite, and Exceptional.
Code BEAM Lite Amsterdam
09.10 - 09.50
The Tyranny of Structurelessness
Dijkstra banished the GOTO 50 years ago, but unstructured programming continues to lurk in the background of every module we write. As our software gets larger and does more, that complexity resurfaces in new and less obvious ways. As much as the actor model is lauded for being like an organism, organic code can become full of structural complexity.
Is there a way to strengthen our code, while retaining its flexibility and making it even clearer to communicate our intent? There is! The decades since, we've developed new techniques and patterns to structure our code. And best of all, we can have them encoded in libraries and modules directly! These techniques are starting to become enshrined in standard libraries of other languages — can they be brought to Elixir?