I'm a software engineer living in Munich, Germany. I enjoy playing guitar, lifting weights, and programming computers.
I like to improve people's lives by solving problems. Sometimes that involves technology.
My current focus(as of Mar 2024) is to improve my performance in weightlifting and weighted calisthenics, and to maximize my athleticism and healthspan.
I also have a few software projects in the works.
In my career I have built
- petabyte-scale data processing systems for an email analytics product
- software to orchestrate containers and stateful distributed systems, used by Fortune 500 companies
- end-to-end deployment and telemetry systems for self-driving cars
Some of my long-running technical interests are
- distributed systems
- databases
- functional programming
- building sustainable online businesses
- game development
When programming, I enjoy writing Clojure. These days I'm also writing lots of Python and TypeScript.
You can follow me on Twitter at @mpereira or email me at murilo@murilopereira.com.
Writing
I just made my first $1 on the internet!
A little project of mine (contextualize.ai) got its first paying customer.
The Why of technology
Language, agriculture, and unlocking the mysteries of life itself. How does technology enable our progress, and how should we move forward?
Emacs: from catching up to getting ahead
What does Emacs need for us to someday run M-x neuralink-mode and evaluate Lisp in the brain?
Cathedrals, Bazaars, and Fusion Reactors
Open source took over the world, but it still struggles. How to make it more sustainable?
The values of Emacs, the Neovim revolution, and the VSCode gorilla
Comparing the core values of our text editors, describing the history of Neovim's development, and discussing the rise of VSCode.
A rabbit hole full of Lisp
Profiling Emacs and writing some Lisp to work with a 70000-file monorepo.
What's good about staying inside Emacs?
The Emacs computing experience: extensible, interconnected and programmable.
How to open a file in Emacs
A short story about Lisp, technology, and human progress.
From Backbone To React: Our Experience Scaling a Web Application
Our experience moving a complex Backbone.js web application to React.js.
The Case for React.js and ClojureScript
A comparison of MVC web frameworks with React.js and ClojureScript circa 2014.
Poems
36
I lock eyes with the old lady on the subway. They beam the same deep blue as the cold sky outside, and have this powerful calm, like waves patiently shaping the rocky coast of my dark brown gaze.
They are so sharp that they cut the busy air around us into this random moment of shared defiance against made up urban walls, and inside, we see each other bare.
She has fallen madly in love, had her heart broken, and broken some. Received the best news on the phone—and the worst. Hurt people in ways they could forgive, but never forget. Laughed until she couldn’t breathe anymore, and met with many for the last time, without knowing. Lived many different lives.
Me too. But she has more, way more. Inside.
In that brief moment, no clocks ticked, and there was no one else, nothing else, and our eyes settled on a deep agreement.
“There’s no tomorrow. You have to do it now.”
Wall
(Born together and separated by a wall built by ourselves).
It began as an abstraction, and was reified by the evolving, rich separation— as slowly, and definitively as the frogs who boiled in water.
On each side, a caricature of the other. Uncomplicated, familiar. Nostalgic. A lifeless agglomeration of mostly resentments.
Sometimes they bring down the wall, temporarily, and finally reunite.
They wear the caricatures as masks, which feel comfortable, but dampen the ears, cover the eyes, and press the nostrils shut.
And as time runs out, they work together to put the wall back up, and over the wall, hand back their masks, to then—in quiet—slightly retouch the caricatures.
Pearl
Absorb the discomfort of distilled inadequacy and essential pain, to then, sediment the hug you didn’t want to let go of, and layer the kiss you gave without knowing for sure, on top, like a wild mollusk which, in defending itself, is forced to
become
an artist, happily confined to the solitude of the shell, enacting the holy process of creation; manifesting beauty in the object, and happening upon the ultimate purpose in the process.
Meaning
Summer pierces my window blinds and paints your ivory body like a cheetah, as your nails shred my bronze, wet skin, to reveal what’s underneath it all.
Want
The philosophers declared: We can’t really choose what we want.
Passion, wearing a robe crafted by goddesses, of an unimaginable fire-orange color, etches treasure maps in my mind, while
Reason, in dirty rags, shackled by the ankle at birth, observes, imagines grain by grain, shaping a sand castle of luck.
To fall after fall, not fearing fear, stumbling through a uniquely crooked path drawn on the beach, walk the walk towards the End.
Green
We found each other lost, and made a pact: You would channel nature through my body, conjuring shapes to inspire blackbirds to sing their evening chorus, if I could offer you to the skies.
In our balance of lead and follow, I surrendered you up high, and your color darkened the orange-pink sunset into the cautious storm we felt inside. You unleashed your untamed, wild hair, and time didn’t matter anymore.
I played primal notes as slow rain massaged our souls. Lightning struck and thunder echoed as our reward, and in a calm tornado of touches, kisses and smells, we absorbed it with every sense we could find.
Our colors and hair intertwined like thirsty vines, and I plunged head first into your eyes. And as you asked: “can you feel what I feel?”. I realized—there was no more “you” or “I”, only green.
Blue
Deep, like the idea of seeing our planet from above for the first time, in the vastness of your gaze.
Overwhelming, like the comet sky that cast all other colors back to the void before God commanded light into being.
Brief, like a river ride on a boat we didn’t have time to name.
Armor
The heavy armor that I worked so hard on growing, piece by piece, afraid of drawing blood and showing weakness, makes the touch less intense and numbs the butterflies in my guts.
I can’t feel pain(fully), and that hurts the most.
I taste bliss on the tip of the tongue, from another room, through a curtain; Like a mere spectator of a Doppelgänger playing my part.
Strip me naked, let me play, and bleed.
The Jump
Aether clouds collided with her neurons and stormed a beautiful pattern. Some fibers contracted, others relaxed, playing a symphony of motion towards the bones.
She jumped. (the audience gasped) Eyes open, head straight, no net, not knowing if she would make it.
Thundering down in the most divine pose, she broke Bread with emperors, fighters, lovers and dreamers. In a small village called
Courage.
Revelation
What if I could choose a leaf from the Tree of Destiny? Crawl back through abstract twigs which barely hold weight, reach a branch (still tenuous) feel the sap pulsing upwards under the skin leave breadcrumbs of possible futures along the way. Slide down the trunk as birds chirp to the smell of wet ground. Be back to Now—the root.
As I look up to prepare for the journey, overwhelm robs my hands of their tension, and the map that I so carefully drew, slips through my fingers like sand, as I pause, and notice.
What a beautiful tree.
Lines
Lines somehow bring the flow of the river to my living room, where we
float.
I—quick on my feet—make up lines, and make lines vibrate, to draw lines around your smiling eyes. Which along the lines that give you form, nurture my warm bones, and ground my soul, like a kite.