Engineer at
@Mapbox
, creator of
@LeafletJS
, open source enthusiast, algorithms geek, speaker, musician
@obiymydoschu
, baker, father of twin girls, Ukrainian
Heard explosions multiple times today, and the attack continues into the night, but no amount of Russian missiles and bombs would prevent us from celebrating. Happy New Year! Light will prevail 🇺🇦
I’m safe. We couldn’t bear the thought of my girls experiencing Kyiv bombings, so we packed as much as we could into our car, grabbed our cat, and fled. Drove all day and night through badly damaged roads. Now we’re relatively safe in Khmelnitsky, will rest and plan what’s next
Woke up at 5am from explosions. Russians are hitting military targets with ballistic missiles. Full-scale invasion is unraveling. Kyiv is relatively calm, I just cooked breakfast for family. Roads are blocked so no sense in fleeing. We’ll destroy the invaders, Putin is fucked 🇺🇦
A telling e-mail I got in response to the pro-Ukraine message on the
@LeafletJS
website. A Russian guy tells me that Russia is kind and peace-loving country liberating Ukraine from nazis, and because I'm lying about it, he will track down and slit the throat of my twin daughters.
The new version of
@Mapbox
GL JS introduces non-Mercator map projections, reimagined for the interactive maps era in a way you've never seen before. This is a big deal. Thread:
@elonmusk
- Most people fled, were killed, kidnapped, or tortured/brainwashed in occupation, fair vote is impossible + illegal
- "USA formally part of the British Empire (until Founding Fathers' mistake)"
- Ukraine remains neutral = war in a few years after Russia recovers, repeat forever
@IlvesToomas
As a Ukrainian, it's very inspiring to see Estonia becoming such a beautiful, modern, strong democracy in spite of all the terrible things Russia did to you, and showing what true leadership in the wake of adversity means. Thank you for all your kind support 🇪🇪❤️🇺🇦
Agafonkin family from Kyiv wishing everyone a happy Ukraine’s Independence Day! 🇺🇦❤️ A country of freedom, courage, willpower and love. We will prevail.
Went for a short walk with my girls for the first time since the start of the Russian invasion — they’re enjoying the snow. ❄️ Thankfully no air raid sirens while we were out.
Introducing MARTIN: real-time terrain mesh generation in the browser! 🏔️➡️📐 Featuring
@observablehq
@threejs_org
. I had so much fun working on this — really happy to finally share it with the world! 😊
A part of my extended family, stuck under occupation in a village near Makariv for a month without power and around constant shelling and fights, were liberated by Ukrainian Armed Forces and finally got out to safety today. Now all my family is safe. So much joy and relief 🇺🇦♥️
Why all the politics, why not just create great software? Because I literally need to be alive to do that. Gosh, these people. And from a burner e-mail, of course.
🗻📐Introducing Delatin: a fast JavaScript library for TIN terrain mesh generation, a port of
@FogleBird
's hmm (C++) — be sure to check out the live demo!
@islanderua
Він перейшов на українську вже після вторгнення 2022-го (запізно звісно), а цей сезон про Колумбію знімали до. Вони його тим не менш дублювали українською і залили обидві версії (дубльована на новому україномовному каналі). Розумію критику, але контекст важливий
How do you Ukrainians adjust to their cities being bombed? They furnish their shelters for comfortable stay 😊 Here’s me and my family in the hallway (behind two 60cm walls) during today’s air alerts in Kyiv. Our cat is annoyed but we keep our spirits up 🇺🇦
Happy to see the final release of
@d3js_org
v6 — one of the highlights, d3-delaunay, is powered by a library I’m very proud of, one of the best pieces of code I’ve ever written
In retrospect, it was the scariest day of my life, but you can't afford being scared when you have a family to protect. I'm a beginner driver, we saw dozens of cars with punctured tiers and some crashes, some happened as we drove, every pothole could be our last. We're very lucky
🗺 Got into a mapping startup in 2008
🤬 Frustrated with how difficult maps are, wrote a simple library in secret
🍃 Surprised my company with it, got them to adopt and later open source it
🙅♂️Applied to Mapbox, got rejected
✨Leaflet won over the world, and they reconsidered 😊
@NatGeoMaps
So
@NatGeo
decided to go all in with its support of Russia's genocide of Ukrainians and war of aggression, lovely. Do your cartographers sleep well at night knowing their work not only violates international law but contributes to actual deaths of civilians? Shame on you!
Introducing Flamebearer: a blazing fast flame graph tool for
@nodejs
and
@v8js
. Produces lightweight, responsive graphs that should work smoothly even on really big profiling logs.
Amidst the new realities of war, Air Raid Sirens have been a constant presence in my daily life, and the lives of millions of Ukrainians. 🚨🇺🇦 To explore alert patterns across different regions, I visualized them on a timeline.
@NoContextBrits
As a Ukrainian who’ve been to Nottingham, I think it’s a very sweet and lovely city. But it’s not Home, so Ukrainians move back anyway.
If you ever wondered how
@LeafletJS
works under the hood and want to build your own tiny map library, here's an interactive introduction for beginners I made with
@observablehq
🌿🗺
I've seen plenty of flood & sea level rise visualizations before, but there's something especially unsettling about seeing buildings go underwater in 3D...
#BuiltWithMapbox
#SneakPeek
🌊
Ukrainians crowdfunded a satellite for the Armed Forces. How cool is that? 🤩 According to stats from that donation drive (initially for 3 Bayraktar TB-2 drones the maker eventually provided for free), half of the $17M funds were donations of $3 or less. Every dollar counts! 🇺🇦
I received hundreds of messages of support and offers to help from people all over the world — thank you, this means a lot! ❤️🙏
From my many relatives in Russia, all I got is a single 😢 emoji. Russian propaganda destroys not only intelligence but compassion too.
Normally I ignore these messages — most vocal Ukrainians are used to these empty threats from anonymous fascist cowards. But if you threaten my children with murder, you must face consequences. Any help tracking down the author will be appreciated.
Making projections work seamlessly on interactive maps has been a very difficult challenge. Led by
@aibram
with
@RyanHamley
and me at
@Mapbox
, it was on our minds most of the year. Here's my longest engineering article in years to tell you how we did it.
I left my starter and all my numerous baking devices at home, there’s no oven at my new temporary place, but I found some basic flour, yeast and a pan, and that means game on. 😎🥖🇺🇦 pan pizza + English muffins:
@TheEconomist
Reproduced for the magazine's front cover "under Twitter's terms"? WTF? Boy, if this is how copyright works and I can sell anything I find on Twitter, I'll start getting rich now!
Inspired by wonderful street orientation visualizations by
@VizualStatistix
and
@gboeing
, I decided to make an interactive version that updates as you browse the world. Hope you enjoy exploring it as much as I did!
Woke up from explosions — Russia launched its biggest air attack on civilians so far, 120+ missiles. And you know what? I’m in an excellent mood, had a nice breakfast and will go about my day as usual. Pathetic losers desperately wasted 1B worth of missiles and achieved nothing.
Tonight was loud — terrorist Russia attacked Kyiv with 35 explosive drones (all 35 shot down), but those cowardly attacks only motivate me to live a better, more fulfilling life here. Get fucked, losers! Here’s my best ever batch of sourdough baguettes fresh off the oven 😊
I bought fantasy books from this guy on a book fare last year. His name is Vlad and he's the owner of a small independent publishing house. We have many friends in common. Just one of the many ordinary Ukrainians who went to the front lines to defend their land and freedom. 🇺🇦
A Ukrainian soldier in the Sumy region of Ukraine thanked the United Kingdom for sending weapons on Tuesday, saying, “Give us more toys like these and there will be more destroyed tanks.”
2 days w/o power or internet at home after Russia’s terror attacks, but on the bright side, at 36, I’m in the best shape of my life. 3 heavy lifting sessions + 3 5k runs per week, and plan to keep it up through the winter. Being healthy helps a lot, both physically and mentally.
There are a lot of things to worry about, and I haven’t been very productive in the last 7 months. But it’s comforting to know I can still bake the most delicious bread in a 10km radius. 😋 80% hydration, 15% whole spelt, 2 days of sourdough fermentation, fresh off the oven:
An incredible example of interactive storytelling with maps, using
@Mapbox
to show what a spectacular failure the Russian invasion of Ukraine has been so far. Ukrainian resistance is amazing. 🇺🇦🚀
Delaunator got a lot better this week! ✨ Longstanding robustness fixes, performance improvements (thanks
@FogleBird
), great new documentation (by
@redblobgames
), awesome adaptation to spheres and geo (by
@recifs
). Celebrating with a new animation!
Proud to be one of the speakers at DevsForUkraine, a free online tech conference rallying donations for Ukraine. Sharing the stage with so many people I admire. Please register, donate, and join as on April 25–26 for a ton of awesome engineering talks 🚀
I'm so glad to have this hobby. Meditative, fulfilling, a simple source of joy to share with others.
My sourdough starter spent 2+ months hibernating in the fridge while I was away from Kyiv, but is now stronger than ever. 82% hydration, 15% whole wheat, 10% pecans:
Were winters in Kyiv as snowy as I remember them as a kid? Did they get much less snowy in recent decades? I wanted to find out, so I made this visualization, and learned much more from it than I expected.
37. 🎂 So much to be grateful for — I'm alive, I have a beautiful family, good health, big dreams, several creative outlets, and so much to accomplish yet. To celebrate, let's send some donations to these good lads 🇺🇦🪖
@BackAndAlive
Let me present you a fast, modern JavaScript port of Jonathan Shewchuk's legendary robust geometric predicates — an industry standard in computational geometry for 23 years! Had a ton of fun building this over the weekend. 🔥
This is me and my daughters who just turned 7, performing on stage together for the first time, singing one of their favorite songs to celebrate the end of the school year. I'll endure anything for precious moments like this ❤️
Supercluster, my fast JS geo clustering library, just got faster in v8.0 — the new version uses up to 60% less memory and clusters 15–20% faster (by switching to flat numeric arrays for internal data storage, a JS optimization tactic I use often)
After a lot of learning, iterations and failed attempts, today I’ve finally baked handmade sourdough croissants worthy of a real French bakery — incredibly flaky, airy and delicious, perfect for a family breakfast on a cold, bleak winter morning! 🥐❤️🇫🇷
#baking
#croissants
Watch, Marvel and DC, here’s how a real life super hero actually looks. A girl saving disabled dogs from a town nearly razed to the ground by Russian bombings.
A woman near the town of Irpin, north-west of the Ukrainian capital Kyiv, tries to save disabled dogs from a shelter and bring them to a safe place.
Photo: Christopher Occhicone
@occhicone98
A world-class front-end team led by my good friend who's staying in Kyiv lost a lot of clients because of war, and in need of new projects now. Please hire them! 🙏 I guarantee you'll be amazed by their talent.
in case you need frontend services⚡️, my team at would be happy to help, we can do HTML/CSS/React/Angular/(+Vue/Svelte)/Wordpress/WebGL/Animations. Here are some of the websites we helped to create on
@awwwards
:
"This whole project looks pretty dead to me. The last release was in Nov 2019." — today's comment on a mature 6-year-old JS library I maintain. Gosh, the bar for open source projects is high these days. 😅
Friends, can anyone help fast-track reviews for this Air Raid Siren app at
@Apple
@AppStore
? It's literally saving lives right now by notifying people when to immediately take shelter from bombings
A new, precise formula for the required number of digits after the decimal point for latitude/longitude on a given zoom (useful for map urls and data compression): Math.ceil((zoom * Math.LN2 + Math.log(256 / 360 / 0.5)) / Math.LN10) — enjoy!
Traveling Salesman Problem is such a fascinating topic! Here's the shortest roundtrip route through 2980 airports
on a globe I made while exploring different TSP solvers. ✈️
One great thing about being an engineer is you know how to do proper research on any topic and learn extremely fast. I baked for the first time in my adult life exactly one month ago and I’m already getting good at this 😎
#sourdough
This is simply unbelievable, WTF! 🤯 Millions of players had to endure 5-10 min load times for one of the most popular online games ever (GTA Online) for 7 years, and most of that time was spent parsing a small JSON because of an algorithmic blooper.
Finally watched Fuqua’s The Equalizer. While there were some cool action scenes, nothing tops the moment at the end of the movie where Denzel Washington stares at a
@LeafletJS
map. A+ just for that second of proud joy. ❤️🍃
Kharkiv is a vibrant Ukrainian city of ~2 million people. I spoke at tech conferences there many times. Now look at the video. Merciless shelling of downtown at random, just to terrorize civilians.
Russia is a terrorist state. How far do they have to go until the world gets it?
Released flatbush v4.1.0, adding SharedArrayBuffer support (thanks
@jdesboeufs
!) and some microoptimizations. Still one of my nicest and fastest libraries.
@olya_rudenko
Originally painted by Brian Jay in commemoration of British soldiers fallen in the two World Wars, later adopted as a meme for other contexts (very fitting in this case)
Here's a very fast prime number generator in JS, a port of a wonderful algorithm by Will Ness. Accidentally left that page open and went away for half an hour, got back and noticed that it's about to go over 1 billion primes generated 😲
Finally got to play with the awesome
@observablehq
beta — here's my first notebook demonstrating how Hilbert curve can be useful for R-tree packing algorithms:
An interactive illustration of numeric robustness issues in computational geometry algorithms (as an
@observablehq
notebook), based on amazingly mind-blowing work by
@MikolaLysenko
🙏
when foreigners casually drop ‘bombing of kyiv’ these pics always come to mind. this is what
#RussianColonialism
did to chechnya and grozny when they tried to leave the empire in 2000. a war crime of horrific scale, but the rest of the world was like ‘meh’, so moscow continued
🇺🇦💡 With Russia cowardly terrorizing civilians, Ukrainians now have to live with daily blackouts, and disruptions to not only electricity but also heating, running water, light and communications. How does this look for me and my family? A visualization:
@kelsosCorner
Hey Nathaniel, remember this thread? I hope you can connect the dots. Natural Earth’s default boundaries helped enable this war. It legitimized Russia’s previous invasion for millions of people using news and apps that rely on NE, encouraging Russia to a new bloody conquest.
Performed a charity acoustic concert in Kyiv with my
@obiymydoschu
bandmates yesterday. Sang my heart out. ♥️🇺🇦 Music is such a big part of my life, and you'll see why if you watch this.
Friends, today me and my band finally released the album we've worked on for 8 years. 25+ people were involved in this record. 200+ hours in 7 studios over 2 years. We worked extremely hard for this to happen. Now it's your turn to help us get heard ❤️
Hey friends, me and my band have released our first music video in 9 years. It means so much to me, and it's our chance to find new listeners. Please help us spread the word — watch, like, comment, share with friends, RT, anything helps. 🙏❤️
Saturday pics — rocking on the big stage for the first time in 1.5 years with
@obiymydoschu
in Kyiv. Played many songs from our upcoming album and presented a new amazing guitarist. I missed this so much. ❤️🤘
One of the best interactive mapping storytelling I've ever seen. Kudos to the
@TextyOrgUa
team, amazing work. A detailed visualization of how Russian defense lines on the occupied Ukrainian south are organized (in Ukrainian, with English to follow):
Which cities in the world are currently enjoying a pretty sunset afterglow? Here's a tiny (900-byte) function to calculate the position of the Sun in the sky (given time and location) as an
@observablehq
notebook:
One drawback of creating a popular mapping library is that when a map is wrong, I'm the one to harass — website users aren't aware of the distinction between a client library and a map provider; they follow the Leaflet link, and find the person to send angry messages to. It sucks
I joined Mapbox 4 months after
@kkaefer
's first prototype, have been working on GL JS ever since — for 9+ years, and still find it incredibly fascinating. Really proud of what the team has achieved over the years. This technology completely transformed the whole mapping industry.
We’re celebrating a major milestone: 10 years of Mapbox GL!
Our latest blog by
@kkaefer
shares the very first internal post about a GL prototype - a new kind of on-device map renderer built on WebGL that would change the way the world interacts with maps:
Updated my blackouts viz one last time. No outages for two weeks, and the winter is mostly behind. Russia wasted tens of billions worth of missiles and explosive drones and failed miserably. Not only is the grid more resilient now, but so are the people 🇺🇦
Released Flatbush v3.3.0 with even faster indexing! 🔥 — one of my favorite libraries; I use it for geographic/geometric data processing all the time and it makes everything blazing fast.
This is probably the most important link for my foreign readers. Yes, the narrative of «evil establishment, good (neutral) Russian people» is much more comfortable. But it’s not true. MOST OF THEM want blood