@fabio@manganiello.eu cover

:platypush: #Automation addict @ #Platypush
🤖 #AI builder (when ethical, local and used in moderation)
🔓 Compulsive #FOSS contributor
:arch: Prone to unsolicited "btw I use #Arch" statements
🏡 #SelfHost all #tech!
🔬 Open #science and open #data advocate
🎶 #Music geek
🎸 #Guitarist
🛹️ #Skater
🏄 #Surfer
🚲 Brains travel on #bike
👪 #Dad of a small geek
⭐ (Allegedly) pragmatic #socialist
🔎 #searchable
🇺🇦 🇵🇸 🇸🇩 Self-determination for all the oppressed
🇮🇹 ⇒ 🇳🇱

This profile is from a federated server and may be incomplete. View on remote instance

@fabio@manganiello.eu avatar fabio , to random

I guess that the Zionist "right to defend" includes the usage of thermobaric weapons to vaporize unarmed civilians. Just like Russia did in Ukraine.

Because not giving a fuck about humanity and warfare rules is exactly what terrorist States do.

https://www.ilfattoquotidiano.it/2026/02/11/bombe-termobariche-gaza-palestinesi-evaporati-news/8287990/

fabio OP ,
@fabio@manganiello.eu avatar

@hydra0179 https://factually.co/fact-checks/military/israel-thermal-weapons-gaza-evaporated-palestinians-mk-84-217fc9

You abhorrent propaganda asset polluting the Web with dumb memes, don't you feel like a walking insult to everything good that humanity was ever supposed to be?

It's been fact checked and there's video evidence, you sociopathic liar.

It's been reported by hundreds of outlets, you isolated genocide-supporting scumbag.

Further investigations by independent parties are, as usual, made hard by the ostracism of the Nazi government that you love so much, you lunatic Kahanist.

Do they pay you well at least for being a Hasbara asset, or are you just a sad lonely human being with no purpose in life who does this for free?

Yes, I hate you and those like you. Because you support a criminal government operating a genocide and trying to deny the evidence at every round, while framing critics as haters and limiting their freedom of speech.

When someone is so genuinely evil hate is a civic duty. Humanity has a civic duty of hating and isolating those so deep on the psychopath spectrum that they don't even react to the news of babies literally vaporized by bombs, and try to frame those who get enraged as haters and terrorists instead.

Wishing that evolutionary failures like you are gone is the best way to state "never again means never again for everyone". You are a danger for society as a whole and you belong to a psychiatric ward.

I've never had problems calling Russia a terrorist State for its documented war crimes. It can't be that every time I talk about Israel's documented war crimes you motherfucker end up trolling, harassing and reporting.

You are exactly the kind of parasite for society that everyone in your family must be deeply ashamed of and that nobody loves, and exactly the kind of person that nobody will come to search after dying alone, doomed to remain a smelly carcass in a lonely home ignored by the world.

@fabio@manganiello.eu avatar fabio , to random

A regular reminder to our wonderful friends about mentions:

  • @[email protected] is not me, and I think that that account is no longer active either. I see that many of you often mention him in your posts and some also follow him. Keep in mind that those messages won't reach me and, if he's actually active and bothered by all the incoming requests from people he doesn't know, he may report you for spam. I don't have accounts on the main instance, my only account is @[email protected].

  • Same for Aral: his handle is @[email protected], and he hasn't used @[email protected] since 2017. If you mention his old account, he won't see your mention.

  • @[email protected] and @[email protected] are bot accounts that boost your posts and campaigns, but nobody checks their notifications. So if you mention them nobody will be actually notified.

@aral@mastodon.ar.al avatar aral , to random

Wow, man, imagine being the kind of person that suspends anyone he sees from Gaza during a genocide.

The inhumanity of some Germans is really quite remarkable. Didn’t you get enough of genocide the first time around?

Add social.tchncs.de to the list of Zionist, pro-genocide Mastodon servers.

@fabio https://manganiello.eu/objects/582f4717-bd44-4f98-820c-eec40121c219

fabio ,
@fabio@manganiello.eu avatar

@aral social.tchncs.de also suspended Joy and Aseel (and I definitely doubt it's because of their spam)

@fabio@manganiello.eu avatar fabio , to random

Some of the accounts on have experienced suspensions or limitations from other instances for various reasons over these months.

In order to make things more transparent and reduce the number of requests to our small team to investigate every case, I have created a little script that checks once a day the limitations imposed on any accounts in our program: https://gaza.onl/suspensions

This page updates once a day and it checks suspension statuses across the 100 most popular Mastodon instances. Feel free to use it to verify the state of your accounts.

@gazaverified

@fabio@manganiello.eu avatar fabio , to random

The issue with the campaigns on over-reporting total amounts in case of failed payments has now been fixed.

It's still a big fluke on Chuffed's side (they keep returning Unconfirmed transactions on their API for some reason), which forced me to implement some complex (and 429-prone) look-back reconciliation logic on each round of scraping, which in turn means that it may take a bit longer for Chuffed donations to be archived if we hit cool-down windows.

But I've been monitoring the situation since yesterday night and it seems that things are stable now - no suspicious duplicate transactions.

Please let me know if you spot any recent mistakes.

Note that the fix is not retroactive and many duplicate donations still exist on the database. It'll take me a while to clean them all up.

@gazaverified @aral

https://git.platypush.tech/blacklight/gaza-archive/pulls/5

@fabio@manganiello.eu avatar fabio , to random

Rare footage of a Nazi publicly bragging of the tight network of surveillance he has spun over anyone he doesn't like - including "anti-war crazies".

The terrorist pictured in this video is Jonathan Greenblatt, CEO of the Anti-Defamation League. A fascist political movement that defends from defamation anyone who embraces fascism, colonialism and anarcho-capitalism, and specifically targets, harasses, threatens and doxxes anyone who disagrees with them.

Remember his name and his face when this 21st century wave of Nazism is over and new Nuremberg trials are held.

video/webm

fabio OP ,
@fabio@manganiello.eu avatar

Hey @8124 , I know that you're reading me, that you keep thinking of me more often than I feel comfortable with, and that you've got your little army of scrapers to pull anything me and @aral post on our servers.

I'd believe that at some point you'd have found some greater purpose in life, but no, you've really made it your mission to tell your grandchildren one day that while the world was descending into Nazism you were busy harassing people on the Fediverse who just so happened to criticize your most feverish sociopathic delusions.

You've got so used to stare at the finger that points at the moon that even when someone puts under your nose a literally Nazi who says Nazi shit like "we actively monitor all the channels for activities of people who disagree with us (and then basically proceeds with listing anyone even vaguely left-wing)" you feel that your duty is to call for anti-Zionism Fediblock shit. What part of my post even mentioned Israel or Zionism btw? Or is it just a knee-jerk reaction that comes from your spinal cord with no coordination with your brain whenever you read our posts?

Is it also anti-Zionism to criticize the unelected CEO of a US-based NGO that openly implements a plan of mass surveillance in agreement with governmental agencies (in violation of its own name, NON-GOVERNATIVE organization) to harass even "anti-war crazies"?

Every time you criticize an NGO or a UN body that supports refugees shall I also call you an anti-Arab? Or are you implying that the existence of such unelected NGOs that make secret deals with the FBI is fundamental for the existence of Israel, thus confirming my view that Israel in its current incarnation is a fascist State?

Where does your ever-expanding definition of antisemitism, anti-Zionism or whatever you want to call it today end, and where does your sociopathy and open support for fascism begin?

Don't you want to stop at some point?

Don't you see that everyone with a functioning heart and brain hates you and that you've made no friends here?

Don't you see that your pathetic propagandist attempts of framing any discussion about Israel on the Fediverse under your own terms and definitions and your pathetic memes have the same efficacy of a mosquito fart?

Do you think that you're actually doing a favour to all the moderate Jews out there who despise you and the unhinged lunatics like you?

Do you think that anyone still gives a single fuck about your Fediblock calls?

You blame us for "spreading hate" while most of our time is spent helping the ones whose oppression you firmly support, and you don't even realize that in the meantime your timeline has become the best open-air cesspit on the Web to study hate, grudge and radicalization because of what you write?

Do I have to start unleashing lawyers and send emails to the VPS providers that you keep using to scrape our instances for unauthorized scraping of social media profiles with the purposes of doxxing and slander?

I don't want to do that, unlike you I have better things to do with my life than harassing people on social media or spend my time on lawsuits. Things like, you know, supporting the victims of the genocide that you keep denying. But I also demand my freedom to use social media in peace on my own instance. Freedom of speech doesn't apply only to your pro-genocide bullshit. Instance admins make their choices, and so far most of them have decided to suspend you rather than me. And every single time you attack us and we respond to you all you gain is just more suspensions.

Also, how many times am I supposed to tell you that if you have better arguments than mine and you want to confront me you're free to reply to my posts, but if you block me you must stick to your word, STFU and stop harassing me behind my back, you spineless coward?

Also, a friend advised me to send you this.

Libel card declined, Kahanist.

fabio OP ,
@fabio@manganiello.eu avatar

@aral also @staff the harassment and consistent scraping of our profiles even after the block from this account's side has been going on for too long.

Their fixation against me and Aral is pathological, and they are literally calling Fediblock even on political criticism of an NGO that publicly brags about mass surveillance. And I have evidence that they're using automatic scrapers to pull and analyze everything we post.

Is it possible to finally take actions against them, after this account has already been suspended or limited on 80 instances for basically trying to impede any criticism of Israel on Mastodon?

@fabio@manganiello.eu avatar fabio , to random

Back in 2015, when I was in a meeting with a user or stakeholder who said "I'd like feature X to be slightly different", and I realized that it was just a matter of changing 1-2 lines of code, I could just grab my laptop, change a Perl or JS file in a single monorepo that I could easily grep, push it, trigger a pull+reload on our uWSGI server pool through Puppet, and that's it - the feature was usually there within 5 minutes.

When I get the same request today, I know that it involves:

  • Browsing through at least 4-5 different services or repos to even realize where the feature is, and how that change could impact a chain of theoretically-loosely-but-actually-tightly-coupled services downstream

  • It often requires a round of Sourcegraph or Windsurf AI just to figure out these dependencies

  • If the request touches any page or service with compliance requirements, go through a formal compliance request and wait for approval

  • Wait 2-8 hours before one, two or three colleagues (depending on the project's policy) review/approve my PR

  • If the change is spread across multiple repos, multiply the time above by that number of repos

  • Wait 30-180 minutes for all the batteries of tests to run, for all the environments to sync, for Kubernetes to take pods out and into the pool, for Terraform to rebuild the infra, etc.

What was often a 5 minutes round-trip to production before, and could be easily done within a single meeting, now turns easily into 1-2 full days (if everything goes smooth).

Of course, I'm not saying that all the compliance, validation and orchestration layers we've added are bad. Most of them (but perhaps not all) are there for a reason, because we learn from past mistakes, and commit to add intermediate steps to prevent those mistakes in the future.

And I'm not saying that we should all go back to the time of monorepos running on production boxes that we could just SSH into, git pull and reload. I've seen a whole company IT infra fall with a simple push+pull cycle on a Bash or AWK script.

But there must have been a middle ground between the two extremes that we've missed, while only listening to those who believe that problems of process overhead can be only solved by adding more process overhead.

If someone had told me 12 years ago that in 2026 I would spent much more time to deploy even simple changes to a production server, that the complexity and number of moving parts running different frameworks would have been so high that I would have needed an AI assistant to navigate it, and that the machines would have been 10x more powerful but would have spent 10x the time to ship changes, I don't think that I would have felt very positive about my future.

@fabio@manganiello.eu avatar fabio , to random

The flood of that unleashed upon and its customers after acquiring it, and its seismic waves in the whole IT supply chain, are a testament of how bad managers who seek for short-term revenue hikes without thinking of the long-term are walking ticking bombs for the tech industry.

https://www.theregister.com/2026/01/15/dell_vmware_claim_tesco_case/

We all know what Broadcom did to VMware after acquiring it. VMware was turned overnight into Broadcom's cash cow, they hiked prices by 3x in some cases, scrapped perpetual licenses, forced all customers into more expensive subscriptions, said that they only wanted to focus on the most profitable customers and fuck everyone else, all while worsening customer support and providing literally zero added value and features to the product.

Basically a parasitic acquisition solely focused on sucking all the vital lymph out of another product - pure Oracle textbook.

When you play such stunts with individual customers, unfortunately, it works most of the times. Individuals don't have much leverage, nor choice if there is too much concentration in a certain market. They may complain, but often they swallow the bitter bite.

Things are different when you play them in huge corporate products that are an integral part of the IT infrastructure we all use.

It turns out that among the businesses who were disgruntled when Broadcom suddenly cancelled their VMware perpetual licenses there was Tesco.

But Tesco didn't acquire VMware licenses directly from Broadcom, of course. They acquired them through a reseller of hardware and software licenses - Computacenter. So Tesco sued them instead for failing to provide them the licenses that they were contractually bound to provide.

Computacenter, on its hand, didn't acquire VMware licenses directly either. They were provided with the Dell servers they sold, as Dell was an authorized VMware reseller. So Computacenter sued Dell.

Dell, on its hand, says that it has no fault if Broadcom has suddenly changed VMware's pricing model, and that they are the ones who broke contracts with the whole downstream supply chain. So Dell sued Broadcom.

And there we go. A chain of 3 lawsuits between 4 giants across the whole IT supply chain in order to call a parasitic company accountable.

What a mess. But I guess that the manager who proposed to squeeze annual recurring revenue got his/her fat quarterly bonus home after things seemed to work for the first year.

This is also your daily reminder that as a sysadmin you must use only FOSS products supported by the community and by strong foundations - and contribute back to them once their success becomes your success too.

Enough with the "but stability - but support - but licenses - but my manager" corporate bullshit.

The cost of writing your own little qemu CI/CD pipeline to spin up your virtual machines is much lower than the risk of your corporate subscription getting suddenly enshittified by chains of wrong financial incentives at any place in your upstream supply chain, and having to spend years of tears on expensive long-chain lawsuits.

And, even if things go bad, the cost of migrating out of proprietary and non-standard implementations is usually much higher than the cost of migrating to a compatible fork.

@fabio@manganiello.eu avatar fabio , to random

To our friends in : if you have received a message from @information1 with a notification of suspension PLEASE do not click on it and report the account.

It's a scammer pretending to be an account of the main instance's staff, and the link in the post is likely to install malware on your device.

cc @staff @aral

@fabio@manganiello.eu avatar fabio , to random

My periodic reminder to blogs and news outlets that, if you have or Atom feeds, you should remember to exclude those URLs from your frontend-based verifications.

If you want to control traffic on machine-to-machine endpoints, use standard throttling and rate limiting - not CAPTCHAs nor other frontend challenges.

My Miniflux list needs to be periodically pruned from dead links because, as websites increasingly add Anubis, Cloudflare challenges, hCAPTCHA etc. to their pages, they often forget that they also have some RSS paths to maintain - and that aggregators break if you return some random HTML to them.

@fabio@manganiello.eu avatar fabio , to random

A quick communication to our wonderful friends in .

A few of you may have experienced limitations/suspensions on your accounts, especially on the main instance.

First of all, I want to reiterate that this isn’t anything personal against you or a sign that @staff is not sympathetic with the initiative - they’ve shown quite the opposite so far.

Actions against accounts are only taken when several reports (usually for spam) are received and the moderation team is left with no choice.

However, these restrictions are usually lifted when we talk to instance admins and explain them the situation, and those of you who are impacted pledge to use mentions more responsibly.

Mastodon is still a platform that welcomes you, and we’ll make sure that this will keep being the case.

Second, a common message I’ve heard in your appeals is “but we only tagged our friends and people sympathetic with our cause“.

After so many reports, I started finding it increasingly unlikely that any of us would ever report you for spam - and repeatedly.

So I’ve taken a closer look at some of the lists of users that some of you commonly tag and I’ve started to notice some patterns that may explain the reports (or at least some of them).

Unlike centralized platforms like X or Instagram (or even Bluesky, where most of the people are on the main server), instances matter here.

So my username (@[email protected]) is different from @[email protected], or any @[email protected]. Those are different people with accounts on different servers.

I’m bringing mine as an example, but I have noticed several occurrences where some of you probably tagged people by typing @username, saw a couple of options in the dropdown, and unsure on who is the right one you included a few of them.

When you send that message, those people will get a notification - and they may not be me nor any of your friends.

If someone keeps getting notifications from strangers to donate to an initiative they’ve never heard of, and without any way to tell if you’re genuine or not, after a few times they may simply report you for spam. And that explains limitations and suspensions.

So please, when you send messages that include many mentions, always make sure that the handles you have included match those on our profiles. That may prevent a lot of unsolicited notifications to people who may not be very sensitive with your calls for help.

Finally, we do our best to boost your voices, and we’ll keep doing so. But we also want you to have your own voice heard on a social media platform that is actually open to listen to you, with no need for our boosts. If you build your own following then you won’t need a few of us to boost your posts - people will follow you because of what you say or show to them.

I built the @gaza_verified_accounts bot exactly to boost your voices, so anyone who follows that bot sees all of your posts, even if they don’t follow each of you individually.

If you post your genuine stories that actually move people, then that bot is likely to be followed by many - and your own voices heard by many.

One last thing, you don't have to tag @gaza_verified_accounts or @gaza_verified_campaigns explicitly. Those are automated accounts and I never check their notifications.

It isn’t easy for me to deliver these messages by the way.

I can only imagine in a remote corner of my mind how tough things must be for you.

I can only imagine how I would behave on the Internet if it was my own life to be in peril, and if I had to fight for basic necessities on a daily basis.

I feel like I shouldn’t be here preaching technical details about social media or netiquette to people literally going through hell.

But I’m here to make sure that your voices are heard, that they touch as many people as possible, and that they keep being heard.

Stay strong, we’re on your side ♥️

@aral @gazaverified

@fabio@manganiello.eu avatar fabio , to random

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?

ALT
@stefan@stefanbohacek.online avatar stefan , to random

I know this is already on Mastodon team's radar, but I do want to stress how important this feature is.

https://github.com/mastodon/mastodon/issues/14762

We won't get rid of the racism and the mansplaining on the fediverse overnight, but giving people control over their replies would significantly improve everyone's experience, and make this place a lot more inviting.

fabio ,
@fabio@manganiello.eu avatar

@stefan this seems to steer completely in the opposite direction of W3C recommendations like Webmentions, where replies and reactions are basically HTTP POSTs on a Webmention URL that can be made by anyone on the Internet (not even necessarily on Mastodon).

@fabio@manganiello.eu avatar fabio , to random

Tools for Conviviality by Ivan Illich is an essay that anyone who wants to better understand economic and societal trends in tech should probably read.

Written in 1972, it analyzes technological revolutions such as the sewing machine and the car, but it's surprising how the same patterns can also be applied to the era of late-capitalist tech enshittification.

The car is taken as the perfect example of early enshittification cycle.

Its introduction was welcome as a revolution for mobility and personal liberty. It allowed people to travel farther and get more done in a day.

Yet, as its production became standardized and in the hands of a few producers, while its penetration of the market increased, its marginal utility diminished - the industry started to offer fewer benefits and take more in exchange.

What was initially hailed as a personal freedom (you can take the car if your workplace is far, you can take it if you want to go shopping) became an imperative - especially in places like North America. At some point the can became a must. The industry started lobbying for more infrastructure to be built to accommodate a new car-centric world where people must use the new technology if they want to go anywhere. And that infrastructure was paid by taxpayers money - including those who didn't use a car, and had to rely on underfunded public transport while subsidizing others' personal luxury. And those who owned a car had to pay subscription costs to the industry in the form of fuel and maintenance (and, nowadays, even actual direct subscription costs).

There's an "industrialization" phase in the development of disruptive technology that flips the purpose of a product on its head - from building tools to serve society, to reshape societies to serve the tool. At that point adoption is no longer optional, and those who don't embrace the product of industrialization face exclusion (the concept of radical monopoly).

Most of the technological developments since the textile revolution can be mapped in a precise framework: a net lift, followed by a push to extract value, and finally an insistence upon the technology's ubiquity.

Illich's solution to the industrial tool (the "convivial tool") is remarkably similar to the "small tech" that many of us are building or hosting nowadays.

Convivial tools are defined as sustainable small-scale local-first solutions, designed primarily to enhance the autonomy and creativity of their users.

@fabio@manganiello.eu avatar fabio , to random

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 script that does exactly that.

Dependencies:

  • jq
  • zint
  • magick
  • unzip
  • curl or wget

https://gist.manganiello.tech/fabio/pkpass2png

Usage:

pkpass2png https://domain.tld/myticket.pkpass ticket.png
@fabio@manganiello.eu avatar fabio , to random

If you want a rigorous analysis of why statistical models collapse when continuously trained on their own data without external supervision and constraints, read this amazing paper from last year.

If you want to get a visual intuition of how model collapse looks like, look at this video.

When AI stares at its own reflection for too long, and its inference is purely rooted on statistics rather than reasoning, this becomes statistically inevitable.

Keep this in mind whenever you hear someone talking about "AI models learning from their own outputs" without addressing the statistical parrot issue.

A video that shows the output of an AI model tasked with predicting the next frame in the famous "girlfriend meme" image 200 times

@fabio@manganiello.eu avatar fabio , to random

Linus Tech Tips: There was a recent thing from a major tech company where developers were asked to say how many lines of code they wrote, and if it wasn't enough, they were terminated. And there was someone here who was extremely upset about that approach to measuring productivity because it means nothing.

Linus Torvalds: Oh yeah, no, you shouldn't even be upset at that point. That's just incompetence. Anybody who thinks that's a valid metric is too stupid to work at a tech company.

LTT: You do know who you just said that about, right?

Linus Torvalds: No.

LTT: Oh. Uh... he was a prominent figure in the improved efficiency of the U.S. Government recently.

Linus Torvalds: Oh, apparently I was spot-on.

https://www.neowin.net/news/linux-creator-torvalds-thinks-elon-musk-is-too-stupid-to-be-working-at-a-tech-company/

@aral@mastodon.ar.al avatar aral , to random

Ah, the joys of having a built-in native JavaScript database¹ that can persist and load typed JavaScript objects² and an interactive JavaScript shell (REPL)³ in Kitten⁴ :)

:kitten:💕

¹ https://kitten.small-web.org/reference/#database
² https://kitten.small-web.org/tutorials/database-app-modules/
³ https://kitten.small-web.org/reference/#kitten-s-interactive-shell-repl
https://kitten.small-web.org

ALT
fabio ,
@fabio@manganiello.eu avatar

@aral have you taken a look at PGLite? 🙂

@fabio@manganiello.eu avatar fabio , to random

After the European Broadcast Union () decided not to put the participation of to 2026 to the votes, is finally becoming a thing.

Boycotting countries so far:

  • Ireland
  • Spain
  • Netherlands
  • Slovenia

To be decided:

  • Belgium
  • Iceland

Eurovision took a brave stance to support the rights of LGBTQ+ minorities in times when they were still denied in their own home countries.

They also took a brave stance by excluding Russia from the festival after it attacked Ukraine.

But they're failing to take a clear stance against this , proving their partisanship in the minorities that they decide to support and the aggressors they decide to condemn.

Hence it's everybody's duty to ensure that Eurovision 2026 will be about the Israeli music act alone, with no audiences to watch and cheer for them.

ALT
@fabio@manganiello.eu avatar fabio , to Social Democracy

As usual, nobody could have explained the problem with better than an 84-year-old social democrat.

The problem with AI isn't a technological one. The problem with AI is a political, social and economic one.

Means of production aren't bad because of what they are. Means of production become bad when the wrong people control them for the wrong purposes.

artificial_intel@lemmy.ml icon AI socdem@lemmy.ml icon Social Democracy

video/mp4

fabio OP ,
@fabio@manganiello.eu avatar

I have my own little conflict of interests on this topic of course, as someone who advocated for distributed neural network architectures when the "AI" world was still all about search graphs and expert systems, as someone who wrote papers and books about this stuff and as someone who still makes a living thanks to this stuff.

But trust me when I say that any neoliberal-on-steroids dystopia that the arrogant and illiterate parasites of my industry have in mind couldn't be further away from what I imagined - nor from what folks in AI research imagined 15-20 years ago.

We have the means to reduce the energy footprint of AI too. There's plenty of valuable research on how to combine the newer stochastic models with the "older" symbolic reasoning and dynamic search strategies. As well as making networks more efficient by adopting graph-like structures rather than the current directional approach with stacked layers. Our brains can efficiently run inference on 20W of power on average: if running the same inference on silicon takes a whole data center and last-generation GPUs it means that either we're doing something wrong, or we've got margin for improvement.

But of course this doesn't get attention. It doesn't get much R&D funding. Because further research always poses risks. And there's nothing that billionaires hate more than taking risks once they have already taken their big share of the pie and they're already switched to extractive mode. After the seminal "Attention is all you need" paper investments in open research have also dwindled, replaced by investments in extractive financial over-structures.

It's better then to simply throw more computing power and larger data centers at the problem, create a profitable cartel where companies in the same industry pay each other in order to keep the bubble stable, and keep throwing more "you can lay off more workers now with AI" statements at their shareholders, so they can immediately see their ROI, and the cost of their underwhelming results can simply be dumped on the active workforce.

Google, OpenAI and Microsoft (or whatever disturbing thing Musk has in mind today) are the biggest enemies of AI - and of humanity as a whole. They are the colonizers that we must get rid off - not the technology itself.

@fabio@manganiello.eu avatar fabio , to random

is dead and we'd better all leave the ship before it sinks entirely.

Earlier this year already took bold steps in moving the development of several AOSP components behind closed doors, removing the open-source foundations of the project one component at the time.

Options to unlock bootloaders on Android devices are also narrowing down. Xiaomi removed the ability to unlock the bootloader entirely in MIUI in August (after months spent making it ridiculously difficult), same for OnePlus, Samsung did so in July, and probably Google devices will soon follow suit.

And let's not mention the nightmare of the Play Integrity API that forces all Android developers to register through the Play Store and use Google's signing keys, even if they don't intend to distribute their apps through it.

Sure, officially Google has taken a step back and has pledged to provide a way for developers and power-users to bypass those restrictions. But we can all expect it to be a cumbersome and change-prone process filled with ridiculous amounts of frictions at every step - and I wouldn't even expect such a morally bankrupt company to keep maintaining this "sideloading" option.

Google once competed with Apple for customers. But in a world where Google walks away from the biggest antitrust trial since 1998 with yet another slap on the wrist, competition is dead, and Google is taking notes from Apple about what they can legally get away with. And the EU, the biggest opposer of its anti-competitive acts, is also becoming softer with Big Tech - both because Vestager has left the job, and because being soft with trillion-dollar monopolist tech titans is seen as a sign of being "technologically competitive".

Your best bet is to purchase a Pixel 9a now, before more manufacturers decide to block bootloaders, and immediately flash it with .

The long term plan would instead be to throw all of our efforts and energies on Linux phones. The folks at GrapheneOS are doing an amazing job and fighting against all kind of pressures, but at some point we should probably all just acknowledge that anything that is tainted with Android, or runs on a device intended only to run Android, is a liability, and we should no longer build solutions on top of hardware and software that we can no longer trust.

Sailfish, PostmarketOS, UBPorts, MeeGo or whatever comes next must succeed. No matter the cost.

fabio OP ,
@fabio@manganiello.eu avatar

@GrapheneOS

AOSP has not made any part of the cross-platform OS closed source. The only changes to what's published was specifically for Pixels.

Thanks for clarifying - this detail wasn't actually reported by most of the tech outlets.

Yes, I know that AOSP is still open.

But I expressed my concern that this will keep being the case.

We're basically relying on the good faith of Google in releasing for free to everyone, and not only to commercial partners, the source code that they mostly develop in house - which I wouldn't take so much for granted.

Devices disallowing installing another OS impacts any OS, not specifically ones based on the Android Open Source Project.

I'm very well aware of that.

That's why in other posts we argued that true peace of mind can only come once we also have friendly hardware producers onboard who won't lock up their bootloaders without notice.

Any other OS is still impacted by a dwindling number of devices supporting unlocking and many of those that do crippling functionality if you unlock. They're even more impacted by a lack of compatibility and governments only supporting using Android/iOS. How do you think it addresses any of this?

As me and others on this thread already proposed, by working with hardware manufacturers who are not jerks.

Just like Graphene must rely on Google's goodwill in keeping the AOSP open, it must also rely on its goodwill not to lock up the Pixel bootloaders in the next iterations. This is a liability.

Partnering together with e.g. Fairphone, Purism or Jolla for example could help. Sure, they aren't perfect, but your deep knowledge of the Android ecosystem and the best hardening practices could provide invaluable insights on how to build 100% (hardware and software) FOSS devices whose bootloaders won't be suddenly permanently locked tomorrow.

If instead most of your online activities focus on showing how much better your solution is compared to what everyone else provides, and how each other single hardware and OS manufacturer sucks, then these strategic partnerships are harder to forge.

Your first listed recommendation, SailfishOS, is a largely closed source operating. It doesn't have an equivalent to the Android Open Source Project. You're promoting moving from a high quality open source OS with strong privacy and security with lots of apps to a largely closed source OS with none of that.

To be clear, I'm a Graphene user myself, and I largely prefer it over most of the alternatives out there.

But we should also acknowledge that there are multiple dimensions to take into account when considering Google Android alternatives.

Some folks don't want the full spyware package, but they are ok to accept the microG trade-offs if they come with the comfort of using some apps that rely on the Play Services. /e/, Iode or LineageOS could then be viable options.

Other folks don't want to have anything to do with anything touched by Google, and want to have a stack as similar as possible to their Linux desktop. And maybe also easy root access. For those folks UBPorts, PMOS or Sailfish can be ok, even if of course it means less security.

Other folks want everything in their device to be FOSS. And for those, at the current state, an AOSP-based solution that doesn't close up anything it builds on top of it is a better option than Sailfish (but hey you've also got PMOS that is actually open).

Of course if you want something that is simultaneously 100% FOSS, de-Googled, secure and always up-to-date with the latest patches you go for Graphene. But there's a whole spectrum of alternatives that it shouldn't be ignored just because it accepts one trade-off or another.

We discourage people from replacing a bunch of the core OS with a rootkit but do nothing which prevents doing it or makes it harder.

Sorry, I used "make it harder" instead of "discouraging". But the message is similar. Stuff like LineageOS actively provides guides on how to flash rootkit. GrapheneOS discourages it and offers no support to users who do it. People usually choose one or the other according to their needs. If I want a device where I can run my Termux scripts as root I probably would opt for Lineage, not Graphene, even if it's technically possible on Graphene. And, of course, I take full responsibility of running custom scripts as root on my device. No need for anyone to remind me that it's very insecure if it's a trade-off I may accept (and no need to criticize those who accept those trade-offs).

All in all, I love and I fully support what you're building. But your aggressive interactions alienate people - and I don't think I'm the only one here.

Most of your posts fall along the lines of "look how much better/open/secure/purist what we build is compared to X, Y and Z - and whatever everyone else builds is awful". And of course I acknowledge that your points are 100% valid most of the times, but they ignore that different people who choose de-Googled products may have different reasons and may accept different trade-offs, and they also ignore some of your own liabilities (like your reliance on Google's goodwill both for AOSP and Pixels). This isn't the kind of constructive behaviour that empowers communities.

fabio OP ,
@fabio@manganiello.eu avatar

@GrapheneOS

Purism's devices are extraordinarily insecure.

Fairphone's devices are marketed as having good updates and long term support but it's not true.

These have very poor privacy and security

You see the pattern here - and also in most of the other things you publish?

I mean, from a technical point of view you're 100% right. But does it give you the right to constantly criticize so much others who are trying to solve the same problem?

Have you even talked to some folks from Fairphone, Purism or Jolla to understand if it's even possible to help one another?

Remember that hardware manufacturers who don't allow users to unlock their bootloaders and companies who try to push their "Integrity APIs" are supposed to be the enemies here. Not Fairphone.

They're not avoiding Google. Google does most of the upstream Linux kernel hardening and fuzzing work. They contribute a massive amount to Linux, LLVM, GCC and many other projects.

So by using Linux I'm not avoiding Google because Google engineers also contribute to the Linux kernel? Do you realize that this doesn't make any sense?

You should take down the highly inaccurate post you made and publish corrections for the majority inaccuracies. Otherwise, we'll wait for peak hours and publish a thread directly addressing the misinformation, the unsafe products which are being promoted and how those products are falsely marketed in order to scam people for profit. If you don't want us heavily investing in writing about this then stop propagating misinformation about GrapheneOS with the clear goal of promoting those.

I had a lot of respect for you folks and for your work, but you've taken it all away.

I still respect your work, to be clear, and I'm still a happy Graphene user.

But I'm not sure if I respect someone who repeatedly threatens users on the Fediverse if they don't take down their posts and spends all of their communication resources bitching about everyone else.

I have edited the post to remove the link to the article that claimed that AOSP is being dismantled because it was objectively inaccurate.

But everything else (from hardware manufacturers pulling back on unlocked bootloaders, to the Integrity API, to Google's alarming monopolistic strategies, to the fact that relying on Google's goodwill is a liability) is true. Why should I pull it down? And, in case you didn't notice, I also stated in it:

Your best bet is to purchase a Pixel 9a now, before more manufacturers decide to block bootloaders, and immediately flash it with .

Why do you want me to pull it down then?

Why have you been shouting "misinformation", "misconception", "false news" DOZENS of times in this thread?

Why don't you chill down and take a deep breath before hammering on the keyboard and giving everyone else the impression of a toxic bunch who hates everyone else?

Because I also said that my long-term wish is to have a full Linux phone with open hardware and mainline kernel and I also mentioned a few of the alternatives?

Do you realize how toxic you sound to anyone who reads your messages?

@fabio@manganiello.eu avatar fabio , to random

A quick heads up to our wonderful donors: I have been receiving many calls from our friends in Gaza in the past few days that donations are slowing down and they often don't see a single donation for a 5-7 days.

While I understand that the requests for support can be quite overwhelming (especially now that we have almost 90 registered accounts, and not many regular donors), I also believe that maybe we can solve this all together.

When I look at how much is being collectively donated I actually don't see that amount going down. The same goes for the avergage daily per-campaign amount.

But that amount isn't fairly distributed throughout all the campaigns.

As I speak, the mean daily value raised by a campaign is around $80. Which would actually be quite helpful to cover many of a family's necessities (it's $560/week).

But as I speak only 13 campaigns are at or above that mean value.

The remaining 75 are all below - and way below in some cases, the tail of the histogram is very long.

With 50 campaigns right now below the $200/week threshold, and 25 collecting less than $100, of course many of our friends are right to say that they are not getting enough support.

I know that it's hard to try and sustain so many people in desperate need, I know that adding more campaigns over the past few days has probably made some donors feel more overwhelmed. And of course it's entirely up to you to decide who you donate to.

But when I look at the numbers, I see the potential for us to give most of our friends a good $500/week baseline to go through this hardship. All together we're already donating more than $3000/day: that's wonderful, and that's a great show of humanity and the power of mutual aid grassroot campaigns!

Maybe we just need to try and distribute that amount more fairly. Or more and more of our friends in need may start feeling left behind.

As a reminder, you can use the archive campaigns dashboard to check the campaigns that are not receiving enough funding (simplified version made by @aral here), or follow @gaza_verified_campaigns to get notified 3 times a day of which campaigns aren't raising enough funding.

(p.s. The notebook I used to generate these statistics is freely available here)

Trendline of the average per-campaign funding raised over the past month, by day
Distribution of the donations over the past week

ALT
@fabio@manganiello.eu avatar fabio , to random

A quick heads up to the donors: the Chuffed campaign that supported Mai ( @rouh ) has apparently been taken down by with no notice.

While we try and get an explanation from (and why they take down verified campaigns while leaving scam campaigns like this online for months despite the reports), Mai desperately needs funding for her, for her family of 10 and for the 20 kids that she supports daily.

I would usually advise our friends from Gaza to use Chuffed/GFM campaigns over private donations for reasons of transparency/traceability, but circumstances are quite extraordinary in this case, so please donate to her PayPal account while we try and either get her Chuffed campaign restored or create a new one.

(cc @aral @joynewacc @casey )

@fabio@manganiello.eu avatar fabio , to random

In an effort towards being both fair towards our friends in and reduce the notifications/FOMO burden on donors, I have released two new bots for :

  • @gaza_verified_accounts boosts all the posts from gaza-verified accounts. If you want to follow the stories of the families that we're supporting but you don't want to individually follow >70 accounts, you can follow this bot. It's hooked directly to the Gaza archive crawlers and it refreshes every 5 minutes.

  • @gaza_verified_campaigns posts twice a day a list of accounts that made <$200 in the past 7 days. You can follow this account to get an idea of where to focus the donation efforts.

If you're a volunteer who also hosts a copy of the Gaza Archive, and you also want to run your copies of the bots, you can add them to your instance by enabling the new environment variables.

As usual, the source code is open.

We're in this together ❤️

@aral
@joynewacc
@casey
@aseelfromgz

@fabio@manganiello.eu avatar fabio , to random

Take all the most abhorrent, sadistic, selfish and sociopathic features that come to your mind, squeeze them all inside of the same unholy obelisk of flesh, and you get Ben Gvir.

Israel is a terrorist State, and Ben Gvir is the living incarnation of terrorism.

https://www.middleeasteye.net/news/ben-gvir-israel-abbas-arrest-kill-officials-palestinian-state-recognised

@aral@mastodon.ar.al avatar aral , to random

Folks, if you want to donate to our Gaza Verified families but don’t know who to donate to or are overwhelmed, here’s is a list of all the families, sorted by those who have raised the least in the last seven days:

https://gaza-verified.org/donate/

(The list is based on @fabio ’s API¹. It’s also Fabio’s birthday today so wish him a happy birthday, why don’t you and thank him for his excellent work?) :)

🥳

¹ https://gaza.onl/swagger/

fabio ,
@fabio@manganiello.eu avatar

@aral thank you so much for the recognition Aral (and for the birthday wishes!) ❤️

I feel honored and proud to be part of this initiative.

@fabio@manganiello.eu avatar fabio , to random

I don't want gifts for my birthday today. I already have any material thing that I may ever want.

The biggest gift you can give is to pick 1-2 accounts from the Gaza campaigns dashboard who are struggling with flooded or damaged tents and are not receiving enough money, and donate to them what you'd use to buy me a present.

@gomli@piaille.fr avatar gomli , to random French

@fabio
Hi Fabio, can you see if the winter campaign we're running has had any impact on donations since two days?
https://eldritch.cafe/@fedipourgaza/115549966544572084

Thank you :)

fabio ,
@fabio@manganiello.eu avatar

@gomli the amount collected by those accounts in the past two days can be retrieved through the archive API

❯ curl -s -X 'GET' \
  'https://archive.gaza.onl/api/v1/campaigns/accounts?accounts=https%3A%2F%2Ffreesewing.social%2F%40Rania&accounts=https%3A%2F%2Fkafeneio.social%2F%40mohamednaji&accounts=https%3A%2F%2Ftoot.community%2F%40mittall&accounts=https%3A%2F%2Ffreesewing.social%2F%40Rania&accounts=https%3A%2F%2Fmastodon.social%2F%40maram4&accounts=https%3A%2F%2Fmastodon.social%2F%40nourgaza&accounts=https%3A%2F%2Fmastodon.social%2F%40tallalnaser1990&accounts=https%3A%2F%2Fmas.to%2F%40tahine21&accounts=https%3A%2F%2Fmas.to%2F%40bilal_mo&accounts=https%3A%2F%2Fmastodon.social%2F%40daliarezk&accounts=https%3A%2F%2Fmastodon.world%2F%40yazzangaza&accounts=https%3A%2F%2Fmastodon.social%2F%40eslamradwan1_D_5&start_time=2025-11-14' \
  -H 'accept: application/json' | jq .amount
{
  "amount": 2514.75,
  "currency": "USD",
  "string": "$2,514.75"
}

Compared to what was raised by those accounts in the two days before:

❯ curl -s -X 'GET' \
  'https://archive.gaza.onl/api/v1/campaigns/accounts?accounts=https%3A%2F%2Ffreesewing.social%2F%40Rania&accounts=https%3A%2F%2Fkafeneio.social%2F%40mohamednaji&accounts=https%3A%2F%2Ftoot.community%2F%40mittall&accounts=https%3A%2F%2Ffreesewing.social%2F%40Rania&accounts=https%3A%2F%2Fmastodon.social%2F%40maram4&accounts=https%3A%2F%2Fmastodon.social%2F%40nourgaza&accounts=https%3A%2F%2Fmastodon.social%2F%40tallalnaser1990&accounts=https%3A%2F%2Fmas.to%2F%40tahine21&accounts=https%3A%2F%2Fmas.to%2F%40bilal_mo&accounts=https%3A%2F%2Fmastodon.social%2F%40daliarezk&accounts=https%3A%2F%2Fmastodon.world%2F%40yazzangaza&accounts=https%3A%2F%2Fmastodon.social%2F%40eslamradwan1_D_5&start_time=2025-11-11&end_time=2025-11-13' \
  -H 'accept: application/json' | jq .amount
{
  "amount": 461.0,
  "currency": "USD",
  "string": "$461.00"
}

So it looks like there was indeed some impact - thank you so much to everyone who donated!

Btw I know that some instance admins are limiting Gaza accounts that repeatedly ask for donations over private means, but it looks like the staff of eldritch.cafe has gone quite overboard. I've taken a quick look at the accounts referenced in the original post and a large part of them has actually been limited on the instance:

@Barmaid is it possible to know what's going on here? I understand that accounts who repeatedly ask for donations can annoy some users. But maybe worth keeping in mind that these are folks who are currently living in makeshift tents under pouring rain and need support, and some of the people on your instance are trying to support them.

(cc @aral )

fabio ,
@fabio@manganiello.eu avatar

@Barmaid @gomli thank you so much for reaching back and for the transparency about your decision! It’s reassuring that it wasn’t a specific action against the accounts from Gaza.

I understand how big instances can flood smaller ones and admins are sometimes required to take action, and I wish there was a silver bullet that doesn’t cause such collateral damage…

fabio ,
@fabio@manganiello.eu avatar

@Barmaid @gomli @aral a dedicated instance is an option that I considered at some point. However the biggest problem with that (besides federation reach) is that putting all the eggs in the same small basket just makes it easier for admins to defederate the instance...

Thank you so much for trying to fix things!

@fabio@manganiello.eu avatar fabio , to random

The campaign tracker for gaza-verified has just been released.

The campaign tracker periodically scrapes donation data for the verified accounts from their official GoFundMe and Chuffed campaigns and provides a unified view over the amount raised by each campaign.

The default view is on the funds raised in the past week, but the date range can be easily customized from the date selectors - and flexible sorting is also supported.

The accounts that have raised the least amount in the past week will automatically be shown at the top, so donation efforts can focus on those who need them the most - not on those who reach out to donors more often.

Note that all donor names have been hidden.

The campaign data is also available over REST API.

Also keep in mind that this may not give the full picture of the campaign, as some people from also receive donations on non-public channels (PayPal, crypto etc.).

@aral
@joynewacc
@casey

@fabio@manganiello.eu avatar fabio , to random

Today's the birthday of @aral 🎂

Give all a big shout to this amazing engineer with a huge heart!

Without you gaza-verified wouldn't be here and many people wouldn't have been saved from a genocide.

And without many in our industry wouldn't even know what ethics is.

A big thank you for everything you've done and you keep doing!

@gomli@piaille.fr avatar gomli , to random French

@fedipourgaza
@AnnaLion @delsaulnier @thoboumon @millerebonds @Enfanthese @duchesse
@raphaellakay
Un sondage anonyme important pour connaître la dynamique des dons pour gaza dans le fediverse français.

Merci de partager pour qu'on puisse répondre au mieux à vos interrogations !

Avez vous déjà donné à une cagnotte pour une famille palestinienne ?

fabio ,
@fabio@manganiello.eu avatar

@millerebonds this is something for @aral to take a look at.

AFAIK however the main instance has pledged not to limit/suspend verified Gazan accounts unless they insistently ask for donations over private messages (which is also against the gaza-verified rules).

Can you verify with this account if this is indeed the case, as this could save us a couple of investigations/interactions?

If they have repeatedly requested for donations over PMs but pledge not to do it again bans are usually lifted.

@gomli @AnnaLion @delsaulnier @thoboumon @Enfanthese @duchesse @raphaellakay @casey