When you hit residential buildings in #Kyiv in the middle of the night, and you do so repeatedly, you are not a military power fighting a war against armed troops. You are a coward terrorist State trying to win land, power and influence upon another country through vile acts of physical and psychological warfare against its unarmed citizens. No peace, negotiations nor mercy are possible with terrorists. Only sustained pressure until a humiliating defeat works. Each drone, each bomb, each landmine and each destroyed piece of civilian infrastructure is a scar on #Russia’s already poor reputation that #Ukraine and Europe will not forget.
Rock on #Iran 🤘 May 7 Nation Army be the sound of your liberation and may you sprawl a lot of new metal bands, as we in the West have a bit run out of ideas of what to do with a distorted guitar.
Those who call for the end of #NATO amid US threats against #Greenland are wrong. NATO must still exist, and America, being a hostile power that resorts to military threats against its own allies, must no longer a part of it. Europe must speed up its process towards a federal political union, or be ready to be a bunch of meaningless States split between American, Russian and Chinese influence. Europe must invest in its own military, technological and economic independence now, and start behaving like the super power that it is rather than a bunch of litigious neighbours. The world is turning into the robber’s den where a few strongmen think that they can grab whatever they want, and the robbers want all of their perceived enemies to be divided so that they can be more easily conquered. Just like they are trying to saw divisions along partisan lines, so we must draw a clear separation along the only partisan line that matters. Motherfucking imperialist fascists on one side, civilized society on the other. There’s little doubt on which of us eventually ends up hung upside down. The civilized society may disagree on a lot of things, but now it’s time for all of us to agree that the only good fascist is a dead one, and no dialogue is possible with them.
In a moment when #democracy and self-determination are attacked from so many sides, and authoritarianism and imperialism are again on the rise, I would expect unity among all those who may disagree on many things, but still agree on some basic axioms of civilization: That a democratic framework and the respect of sovereignty and human dignity should not be negotiable. That nobody should be subject to prejudice. That nobody should aggressively grab someone else’s lands or resources, no matter how powerful they are. That #fascism is always a cancer to eradicate. Instead, I am seeing divisions along partisan lines. “Why Ukraine and not Gaza?” “Why Gaza and not Ukraine?” “Why Gaza and not Venezuela?” “Why Greenland but not Iran?” And so on, for all the possible combinations of whataboutism. I would have never thought to write a post to state the obvious and call out partisan whataboutism, but here I am. So before anyone writes another “but why does Fabio or <put-the-name-of-a-woke-leftist-liberal-here> support X and doesn’t say anything about Y?”, read these lines and think twice: What #Israel has done and keeps doing in #Gaza is an inexcusable genocide. Its perpetrators must be called accountable, Israel must rebuild what it has destroyed no matter the costs, maximum external pressure through boycotts must be applied to all the productive sectors of Israel’s economy, settlers must evacuate all the occupied territories, buffer zones must be set up to prevent any further aggression from either side, and the UN is the only entity legally allowed to control those buffer zones. And all the conditions that have led to such an apartheid State must be dismantled one by one. #Hamas is a terrorist group. They must be called accountable for two decades of terror and restrictions imposed to Gazans, they must go and new elections must be held as soon as it’s feasible. But they must not go through a permanent military occupation, and not by murdering, displacing and/or starving 2M people. #Palestine has its right to flourish. Without Hamas, and without Israeli colonizers. What #Russia has done to #Ukraine is an inexcusable imperialist invasion. It must release all territories invaded since 2014, pay for reconstruction, #Putin must be arrested as soon as he sets his foot in any country that recognizes the authority of the ICJ, maximum pressure through sanctions and boycotts must be applied to everything Russia touches, and buffer zones controlled by the UN must be prepared in order to prevent any further aggression. What #Trump is doing to #Venezuela is a grave imperialist attack motivated by nothing else but personal greed and geopolitical games. He must be called accountable for this (and for hundreds of other crimes against his citizens and humanity), all free nations have a civic duty of decoupling themselves from such a rogue actor and isolate #America, and Trump’s life must end in a jail. What #Maduro has done to #Venezuela and to its people is outrageous. Very few leaders in the past 50 years have been as corrupt, inept and arrogant as him. He literally sits on a mine of easily reachable oil, and yet he couldn’t even make a coherent plan to dig it that wasn’t rotten in cronyism and corruption from its very start. He has cheated so badly at the latest elections that it was one of the few cases where a simple analysis of the probability of the results could mathematically prove that they were faked. He must go, but not through Uncle Sam suddenly bombing his city, kidnapping him like a thug, jailing him in a country that has no legal jurisdiction over him, and installing whatever puppet could hand him all the oil instead. If you are outraged at Putin for repeatedly trying to install friendly puppets in all former Soviet territories, then you ought to also be outraged at America for repeatedly trying to install friendly puppets in Central and South America. What #China threatens to do against #Taiwan is outrageous and the world must firmly condemn it, recognize Taiwan’s legitimacy as an independent sovereign country that should develop without the constant threat of Chinese unilateral aggression, and world leaders should provide support to it by explicitly threatening military action against China if it decides to violate Taiwan’s sovereignty. What Iranian citizens are doing against their decrepit regime is an act of bravery that must be fully supported. The Iranian regime has brought nothing upon its wonderful and smart people but misery, restrictions, bigotry, terror and isolation, and it must go. If its own citizens protest, we must throw our full support at them, until the regime falls. But you don’t make the regime fall by simply bombing Teheran. The only thing you achieve by doing that is uniting both the regime and its citizens in their rage against your bombs - which is exactly the opposite of what you want to achieve. Westerners should already have learned in 1979 that any attempts to meddle with the will of #Iran and its people backfires very badly. #Greenland is a sovereign territory that is still in the course of building its own autonomy from Denmark. Asking (or even worse threatening) its people to jump from one colonizer to another is as vulgar as publicly asking a woman coming out of an abusive relationship to have sex with you. But of course this is exactly the kind of vulgarity that you’d expect from an unhinged moral pervert like Trump. The world should not give a single fuck about America’s security needs, whether real or fictional, when the price for them is colonialist expansion. You can’t buy territories at the supermarket. You can’t coerce them into selling themselves to you. This is not RisiKo. Self-determination must always be respected. If you’re worried about your security, try to behave less like a sociopath jerk and have less enemies. Try to embrace multilateralism and dialogue rather than coercion and authoritarianism. It helps, you’ll see. Let me know if I missed anything from this list. I hope that the stance is clear and whataboutism is neutralized. Defending the oppressed and condeming the oppressors is not a partisan political game. It’s not a question of being pro or against Israel, America, Russia, Venezuela, China, Taiwan, Ukraine, Iran, Hamas or whatever. Geopolitical narratives may put the oppressed on opposite sides of partisan lines. International law and the philosophical framework that underpins our civilization since the Enlightenment, instead, put them exactly on the same side. When you throw whataboutism at someone who is enraged about someone bullied by an imperialist fascist, just because that episode of bullyism isn’t something that you’re particularly sensitive on, and you want to draw the spotlight on someone else you’re more sympathetic with, then you’re a filthy imperialist fascist too.
StackOverflow’s fall is a sign of something more troubling. Sure, if your main metric is the round trip time it takes to solve a technical question then it may not look that bad. After all, instead of asking questions to human experts who may take days or weeks to answer, beginners can directly submit them to an LLM trained on that very knowledge and get answers within seconds - perhaps not perfect, perhaps with a bit of refinement required amid model hallucinations, but in most of the cases enough to get them started. What many seem to ignore though is that the training set that went into the LLM was harvested through tens of thousands of curated answers manually submitted by human experts over years to the StackExchange platforms. We know a lot about all the most obscure use-cases of collections and itertools in Python, or the best composition patterns in SpringBoot, because thousands of human experts put together thoughtful answers and articles on those topics, and they are all publicly available. But technology is never static. Programming languages and frameworks come and go. Where will the knowledge about such future craft live? In a world where humans no longer willingly and freely post such knowledge on StackOverflow or Reddit, how can such knowledge be fed to increasingly hallucinating stochastic parrots? Or do we accept that human craft is only required to feed AI models that haven’t yet caught up with it, and then it can be nicely packaged and provided through chatbots owned by trillion-dollar companies? As if the only added value of developing problem solving skills in science and engineering was just to feed that knowledge to our AI overlords, and then be tossed away like hollow carcasses afterwards? image
Yes, 2026 will be the year of #Linux. But more because of #Microsoft’s stubborn attempts at enshittification than for our merits. https://www.neowin.net/news/report-microsoft-quietly-kills-official-way-to-activate-windows-1110-without-internet/
When we talk about inclusion and secular government, I don’t think that we ever meant “replacing the Bible with the Quran as the text that politicians swear on”. When as an elected public figure you swear on a religious text, you imply the moral superiority of that text over anything else. That’s exclusive by definition. That’s a vulgar leak of personal beliefs into the public sphere. What would be so wrong with swearing on the Constitution, or on the Universal Declaration of Human Rights, rather than on texts written centuries ago that actively encourage intolerance?
image
“Wrapped” end-of-year products are becoming the norm in tech. What started as Spotify’s way to share your yearly listening habits in a couple of Instagram stories has become a trend in the whole industry - from LinkedIn offering you a yearly summary of your job hunt, to ChatGPT showing you how you interacted with its omnivorous bots over the year, to Duolingo providing insights into your language progress, to Untappd providing a summary of the beers you liked the most over the year. For as much as I advocate for data transparency towards the user, I don’t like this trend, and I don’t think it’s real data transparency. First, data transparency means providing users with access to dashboards with their data all year around - not only in the holidays season. And with any metrics they want - not only the ones that Spotify decides to pick. A good commercial example of this approach is last.fm, which, after losing rights to stream music content directly, has pivoted towards a more analytics-driven website, with comprehensive weekly, monthly and yearly reports of your listening habits. Second, the cost of putting up such products is much lower than the profit (and free advertisement) that they generate. Data analysts employed at these companies have access to this data all year round. But they decide to pick just a couple of metrics to wrap in 5 Instagram stories, and all of a sudden people go crazy about the generosity of these companies. Creating “Wrapped” features isn’t hard at all. You can find on my blog plenty of examples of how I’ve done it with a self-hosted setup. My Grafana dashboard is my Spotify Wrapped, always up-to-date with fresh data, and available any time I want. Third, they are a way to edulcolorate the massive profits that these companies make with your data. “Yes, we may make a lot of money by sharing your data with 3rd-parties, but hey, if we didn’t do that you couldn’t have this nice Instagram story with the songs you listened the most over the year!” (Archived version: https://archive.ph/9TOi1)
Lately I have noticed that when you purchase a ticket you don’t get a static PDF/PNG anymore. Increasingly often, you get a .pkpass file, which is supposed to be opened in wallet apps (like Google Wallet or any 3rd-party wallet app). Since I don’t like to share information about the events I attend with strangers on the Internet, I have decided to take a closer look at these .pkpass files. They are just zip files that contain a background image, an icon and a pass.json with the actual information about the ticket. Nothing that can’t be handled by a script rather than a 3rd-party 100 MB mobile app. I have thus put together a simple #shell script that does exactly that. Dependencies: jq zint magick unzip curl or wget Usage: pkpass2png https://domain.tld/myticket.pkpass ticket.png