If you can make things better, do so. @thisissethsblog

Switzerland
Joined October 2007
Ievgen Pyrogov 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,047
1,598
123
13,552
560,006
Ievgen Pyrogov retweeted
Replying to @zack_overflow
I'd say it is a bit trickier than that. We most likely don't have a type system that can precisely express all JavaScript idioms. Elixir is not as complex as JavaScript in many respects, and we still had to develop a lot of new theory for its type system! So when you find an unsupported idiom, your options as a type system developer are: 1. Develop new theory and prove it correct (which I am skeptical models can do autonomously today) 2. Reject the idiom, sacrificing compatibility (which would make adoption harder) 3. Being a gradual type system, fall back to dynamic typing Option 3 then introduces its own trade-offs because dynamic code has to interact with static code (and the more unsupported idioms, more dynamics!). So you need to choose between: a. Calling static code from dynamic code returns dynamic(), dropping the opportunity of further static typing checks (this is sound) b. Calling static code from dynamic code returns the static types, potentially leading to mismatched types at runtime (this is unsound) c. Calling static code from dynamic code returns the static types with additional runtime checks, unifying both behaviours but potentially impacting performance (this is sound) d. Use the strong arrows theory we developed for Elixir (elixir-lang.org/blog/2023/09…) but it may not be a great for highly polymorphic languages like JS On the other hand, my understanding is that TypeScript made deliberate trade-offs, especially around developer ergonomics, and a new type system could certainly explore different choices aligned with the current trends. PS: I'm not a type theorist by training, although I have implemented one used at scale. The above my contain inaccuracies!
5
13
154
8,057
Ievgen Pyrogov retweeted
What frustrates me the most is the lack of curiosity. People saw the numbers they wanted to see and ran with the story. They didn’t ask about the process. They didn’t question the results. They didn’t explore the code. They didn’t look at the history. You could have even asked a coding agent to do an initial investigation. There has never been a better time to be curious, dig deeper, learn... but this is what we’ve got now. Oh well.
66
93
9
1,076
23,312
Ievgen Pyrogov retweeted
the only moat left is caring about your project past two days
155
423
77
6,086
197,217
Small detail warms my heart each time I see it 🇺🇦🫶 @LeafletJS
1
65
Ievgen Pyrogov retweeted
I can’t stress enough how little an idea matters compared to the agency of the people executing the idea. I have had the privilege of knowing and sometimes even working with some of the most successful people (by various metrics). The difference between mediocre and excellent work and outcomes is predominantly one of agency. In practice this means: they dont wait for things to happen to them they go out and make things happen for them. They don’t wait for someone else to do something, for someone to teach them, for someone to give them the path, etc. They just go out and find a way to do it. I think the single biggest superpower these people have is the realization/belief that the world around them is completely mutable. Most everything that happens is because a person made it happen. I used to tell people to look around the room you’re sitting in. Look at everything. Every noun. It almost all exists because a person willed it into existence. Nothing is stopping you from doing the same. I see people online all the time dismissing someone else’s success because “I had that idea first” or whatever. I mean… yeah? If so then the difference is… you. So a bit of a self own whenever I hear that. Number one tip: act with agency.
229
1,281
201
11,852
689,992
Ievgen Pyrogov retweeted
“Look at my incredible new factory!” Yo that’s cool, what do you make? “It’s highly optimised, fully automated, zero tolerance for defects and with a continuous feedback cycle” Cool cool, so what do you actually make? “I can interact with it on my phone, laptop, messenger, completely async, and the shared context means it’s always learning how to get better” Very impressive, but what do you make? “Every agent has full context, can spawn other agents, review their work, fix defects, and ship continuously.” yes yes. WHAT DOES IT MAKE? “Software.” Oh nice. What software? “Well right now we’re mostly using it to improve the factory.” Improve it to make what? “Anything!” Such as? “…a better factory.”
154
333
101
5,888
920,931
ievgenpyrogov.com/movies/ made a web page to explore festival movies, with ability to filter for high-rated ones
2
133
Ievgen Pyrogov retweeted
Create technical content so good all the AI labs steal it for training.
17
9
2
463
16,821
Ievgen Pyrogov retweeted
Mandatory reading. gruhn.me/blog/2026-08-03/
38
147
39
913
87,066
github.com/gmile/urp urp is an #ElixirLang package I've been working on lately, to enable interacting with LibreOffice over a TCP run your own vanilla LibreOffice service on the network, use URP to convert docx to pdf (and do other things) #MyElixirStatus
2
3
156
it is performant, implements connection pooling (with caveats!), ships with telemetry and testing helpers this been made possible by having the coding agent "study" the sources of "binaryarp", a C++ libreoffice bridge implementation git.libreoffice.org/core/+/r…
57
Ievgen Pyrogov retweeted
wow. so after four years of excusing mass silence with fear or repressions, turns out russians in russia can speak out after all. just before they couldn’t care less about their country genociding Ukrainians. but their delivery packages turning to ash is where they draw the line
2
71
1
368
4,875
revived an toy tool I made for myself to make twitter threads MUCH more human readable
2
66
This is a Ukrainian interceptor drone carrying an actual shotgun, closing in on a russian recon drone mid-air, and pulling the trigger once in sights. Pretty successful results I'd say.
37
625
25
4,592
156,180
Ievgen Pyrogov retweeted
Kyiv. There are no words. 31 people were murdered just a few days ago. Today... it's hell all over again. We don’t hate russia enough.
316
994
41
2,766
82,088
Ievgen Pyrogov retweeted
Put Killswitch on a dependency diet: stripity_stripe & ex_aws → thin Req clients, tzdata → tz, hackney gone — ~20 packages deleted. We only used ~10 Stripe endpoints and 8 S3 calls. Tests green. You use less of your SDKs than you think.
5
5
32
2,426
Ievgen Pyrogov retweeted
I’m currently witnessing dozens of huge explosions in Kyiv city centre. A hotel near my apartment is on fire. Residential buildings damaged. This is not war against soldiers, it’s Russia terrorising civilians in their homes. A sad and pathetic nation.
506
3,454
55
14,265
210,620
Ievgen Pyrogov retweeted
… it is night in Ukraine right now, almost 4 a.m. Ukrainians are underground, those who have such an opportunity in their cities, while others are just in their homes and apartments, hearing, and even watching from their windows, yet another round of nightly explosions and flashes. Some are closer, some are further away, but the explosions are felt with the entire body. As always, the morning will reveal more.
33
361
8
977
39,474
One of the best programmers in the history of computing and my role model for decades, retweeting my little open source project. Incredible. ❤️
It isn’t the point of this project, but looking at the triangulations made me think about some GPU optimization esoterica. Everyone knows “triangle count” has an impact on performance. Graphics programmers also know that the ordering of the triangles can also make a significant difference, and integrate mesh optimization tools. For the special case of planar figures like these, total triangle edge length can become the distinguishing performance characteristic. GPUs work with 2x2 blocks of pixels so they can generate derivatives for texture sampling and shaders. At triangle edges, they still usually have to do calculations for complete 2x2 blocks, regardless of whether 1,2,3, or 4 pixels in the block are actually needed. Long, skinny triangles can require over double the fragment shader invocations that area-maximizing triangles do. Consider triangulating a circle: the obvious way is to make a single triangle fan, but you can reduce the total edge length by inscribing a polygon inside the circle and only fanning out from that to the circle. Slightly more vertex work, but less fragment work. There probably isn’t any real world case where this would be a crucial optimization, but having an “optimization worldview” means always noticing the tradeoffs.
6
6
240
20,320