Volodymyr Agafonkin 🇺🇦 (@mourner) header
Volodymyr Agafonkin 🇺🇦 (@mourner) profile picture

Engineer at @Mapbox, creator of @LeafletJS, open source enthusiast, algorithms geek, speaker, musician @obiymydoschu, baker, father of twin girls, Ukrainian

Kyiv, Ukraine
Joined January 2007
Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)Photo by Volodymyr Agafonkin 🇺🇦 (@mourner)
🎵 2 weeks ago, me and my band @obiymydoschu have released “Vidrada”, our new album, passionately crafted in Kyiv for 7 years. I've never been more invested in a project, and will be proud of it for the rest of my life. All my love, dreams, hopes and worries in one record. ⬇️
8
8
3
50
9,609
Volodymyr Agafonkin 🇺🇦 retweeted
The default Leaflet marker icon might get an overhaul for 2.0! Which style do you prefer — the current one on the left or the new one on the right?
9
7
2
38
4,158
Volodymyr Agafonkin 🇺🇦 retweeted
Replying to @elonmusk
@elonmusk Elon, I want to tell you something as a Ukrainian. For years, many people in Ukraine admired and respected you. I was one of them. I personally saw you as a technological genius, a visionary, someone who was building the future while others were still living in the past. And that is exactly why your growing hostility toward Ukraine is so difficult for me to understand. Ukraine is not a perfect country. We have corruption, political failures, and many problems. Nobody denies that. But tell me, which country is perfect? Ukraine is also a country of incredibly talented engineers, scientists, entrepreneurs, developers, artists, and ordinary hardworking people. We build world-class technology, innovate under impossible conditions, value education, and have repeatedly shown the world what courage, resilience, and human dignity look like. We are a country that voluntarily gave up the world's third-largest nuclear arsenal in exchange for security assurances. We are a nation that stood up in 2014, during the Revolution of Dignity, because we refused to live under authoritarianism and Russian domination. We wanted freedom, democracy, and the right to choose our own future. And today, we are fighting for that same freedom. Every day, Ukrainian civilians are killed by Russian missiles, drones, and bombs. Children lose their parents. Parents bury their children. Entire cities are destroyed. Millions of lives have been shattered. These people are not dying because of Zelenskyy. They are not dying because of Ukrainian corruption. They are dying because Putin chose to invade another sovereign nation and continues to wage a war against its people, cities, culture, and identity. Yes, corruption must be fought. Yes, every dollar of international aid must be accounted for. Ukrainians themselves deserve transparency and justice more than anyone. But corruption does not justify invasion. Political failures do not justify bombing children. And no amount of criticism of Ukraine changes who crossed the border with an invading army. You seem to believe that giving up Donbas and Luhansk could bring peace. But why should we believe Putin would stop there? He already violated Ukraine's sovereignty after promising to respect it. He took Crimea in 2014. He fueled war in Donbas. And in 2022, he launched a full-scale invasion. What makes you think another territorial concession would finally satisfy him? History has shown us what happens when democracies believe they can secure lasting peace by rewarding an aggressor with someone else's land. We have seen this before, in Europe, in the years leading up to World War II. Peace built on surrender to a dictator is not necessarily peace. Sometimes it is simply an invitation to the next war. Elon, you are a man who talks about the future of humanity, about making civilization better, about taking humanity to Mars. But what kind of future are we building if we accept that powerful dictators can erase smaller nations simply because they have more weapons? Ukraine is not asking the world to pretend we are perfect. We are asking the world to recognize that we have the same right to exist, to be free, and to determine our future as Americans do. And one more thing: Ukrainians have never been your enemies. Many of us admired you, believed in your vision, and appreciated what Starlink made possible during the darkest days of this war. That is why your words hurt more than you might realize. You have enormous influence. Your voice can shape how millions of people understand this war. I still want to believe that the man who dreams of advancing humanity can recognize the humanity of people fighting simply to survive. It is not too late to stand on the right side of history. Not on Zelenskyy's side. Not on any politician's side. On the side of freedom. On the side of human life. On the side of a nation's right to exist. That is all we are asking for. 🇺🇦
1,059
1,615
127
13,646
569,346
Volodymyr Agafonkin 🇺🇦 retweeted
Trump: "I will end the war in Ukraine on day one" 631 days later Trump: "I now side with Vladimir Putin"
293
5,820
90
43,360
261,880
I know it's easy to miss this as some generic company announcement, but under the hood it's a culmination of years of hard work by hundreds of people and some amazing engineering. Pretty proud to see it all pay off, resulting in Mapbox tech now powering next-gen BMW cars.
Never miss a turn. Today, we are excited to announce that Mapbox 3D Live Navigation now powers BMW Maps with driver assistance in next-generation vehicles from @BMWGroup Your lane. Your route. The cars around you and the road ahead. All together in one live 3D view. Mapbox Magic Carpet shows the lane-level path to make your merge or exit so you’ll never miss a turn. For the first time, lane-level navigation and ADAS detections from a vehicle’s driver-assistance systems come together directly in the map. The result is navigation that doesn’t just tell you what’s next. It helps you see it. This is Mapbox 3D Live Navigation. See it in action: mapbox.com/press-releases/ma… #BuiltWithMapbox
3
9
125
5,358
Pixelmatch, my image comparison library for visual regression testing, got a major overhaul: a new color difference metric (OKLab + HyAB) that's much closer to how we see color, a windowSize option to fight scattered noise, and more — while staying fast github.com/mapbox/pixelmatch…
2
5
1
32
1,439
Pixelmatch powers an extensive suite of 3000+ tests shared between @Mapbox GL JS and native SDKs to help us track regressions and iterate fearlessly, and it's also used as a dependency in popular testing projects like Playwright, WebdriverIO, jest-image-snapshot and others.
5
312
Volodymyr Agafonkin 🇺🇦 retweeted
favorite reminder for creatives, by Björk
89
3,974
240
24,031
1,142,527
I'd love to pick 50 but let it be these 9. 🎵
I love games, and I love music just as much. Some albums shaped who I am, so I made my9albums. Pick the 9 albums that made you, turn them into a poster, and share it. my9albums.com
2
1
20
1,200
Volodymyr Agafonkin 🇺🇦 retweeted
The improved GeoJSON memory footprint in @Mapbox GL JS is incredible. Stress-testing with every well and dry hole in the Texas RRC shapefiles - over 1.7 million points, 235MB of inline GeoJSON. Mapbox GL JS (upcoming v3.31 release candidate) can load and display all of them at all zooms, no pre-processing required. Do I recommend this for production? No, you should use freestiler with dot-dropping, clustering, hex binning, etc. But it's pretty cool to see what's now possible.
7
11
2
121
6,753
Volodymyr Agafonkin 🇺🇦 retweeted
Testing out @Mapbox's new-and-improved GeoJSON memory footprint in R's mapgl. Shown here: 240,000 US block groups rendered with a tolerance of 0, so you can see everything when zoomed out. This crashes Chrome in older versions - but it now is doable with no extra preprocessing!
5
6
130
6,116
geojson-vt, which is responsible for GeoJSON processing in @Mapbox GL JS, just got a major overhaul — v5 now uses up to 4x less memory, so you can now visualize a lot more data without crashing the browser. Had a blast optimizing the hell out of it 🔥 github.com/mapbox/geojson-vt…
5
23
1
245
9,513
And in related news, Supercluster, which is designed to cluster huge amounts of points for interactive visualizations, got a similar overhaul in v9 — now using 3x less memory, more precise and also faster github.com/mapbox/superclust…
20
804
Volodymyr Agafonkin 🇺🇦 retweeted
🎉Wasm3 v0.9.0 is out!🎉 It is the first major update in FIVE years. That sounds like a software story. It isn't. Four years ago, I wrote that my house had been destroyed by russians, and that I had to put #Wasm3 into minimal maintenance. The war never went away. 1/4
2
7
1
36
3,804
Volodymyr Agafonkin 🇺🇦 retweeted
Russia has tried to take Ukraine's independence away by force for years. It has failed. Ukraine is still here. Still free. Still fighting.
65
700
54
2,513
96,840
Volodymyr Agafonkin 🇺🇦 retweeted
Wasm3 was created in #Kyiv / #Ukraine. Russia attacks my city with drones and ballistic missiles every day. Ordinary people are being killed while trying to keep living, building, and shipping. Fuck russia.
4
1
22
949
Volodymyr Agafonkin 🇺🇦 retweeted
Mind boggling to me that I can make a thing faster and there's always people that ask "but why?" What kind of mentality is that? The pursuit of excellence does not need justification. Also, I find in so many cases, we can't know the impact of an improvement until we do it. For example, one I've talked about before: Ghostty's high IO throughput has enabled terminal program (emulator and TUI) fuzzing at a speed thats incomparably fast to prior solutions. This has resulted in upstream patches to resolve issues in popular projects like btop, tmux, and more. Speed enabled that anecdotally example that lifted the tides of adjacent communities that don't rely on Ghostty technology at all. I didn't predict this. Make things better because they can be better and let the results naturally play out.
202
735
198
8,490
793,299
Volodymyr Agafonkin 🇺🇦 retweeted
Replying to @sama
What if you just talked to your children
453
19,180
348
225,464
3,495,882
What a time to be a software engineer if you know what you're doing. Prompt methodically, scope the context narrowly, match effort to task uncertainty, compact early, really think things through, and you can do amazing work full time non-stop with frontier models on a $20 plan
11
9
210
12,385
Initially a TypeScript skeptic, I’ve been increasingly impressed by the project’s progress and strong direction in the last few years, and this is one more big leap forward. Big props to the team, this is truly awesome
2
45
6,125