@fabio@manganiello.social
@fabio@manganiello.social avatar

fabio

@fabio@manganiello.social

:platypush: Creator and #developer @ platypush.tech
:booking: Senior #software engineer @ booking.com
#Automation addict
🤖 #AI builder
:linux: #Linux user since 2001
🔓 #FOSS contributor
:arch: Prone to unsolicited "btw I use #Arch" statements
🏡 #SelfHost all #tech!
🔬 Open #science and open #data advocate
🎶 #Music geek
🎸 #Guitarist + occasional composer
🛹️ #Skater
🏄 #Surfer
👪 #Dad of a small geek
🇮🇹 ⇒ 🇳🇱

This profile is from a federated server and may be incomplete. Browse more on the original instance.

fabio, to threads
@fabio@manganiello.social avatar

It’s been almost 3 months since #Threads joined the Fediverse family. A quick overview of what changed since then:

  1. The hordes of Nazi/homophobic users from the outside world into our safe islands are nowhere to be seen. I was insulted multiple times a couple of months ago, along the lines of “if you don’t proactively defederate Threads then you’re an asshole who does nothing to protect the marginalized minorities on the Fediverse from the outside world!“. Well, guess what, it turns out that not everyone outside of our comfort zone is a pathological jerk craving for psychological abuse. It turns out that the minorities police over-reacted. And it turns out that the whole Fedipact thingy was probably collective hysteria.
  2. The Threads-Fedi sync is still an opt-in feature, and only available to accounts in selected countries. And posting responses from the Fediverse to a Threads post isn’t supported yet. I’m not sure if they are ever going to change that, but given the lack of announcements in these months I’m wondering if anybody at Meta is even bothering to work on this integration, or if it was just about another loud announcement for what was a time-bound experiment with no follow-ups.
  3. Threads itself, after reaping the initial novelty benefits, is losing momentum. No E-E-E on the horizon for now.

Result: I added a couple of Threads accounts to my list, I see their content on my timeline every now and then as if they were just another Fediverse instance (but one that I can’t directly interact with), end of the story.

fabio, to random
@fabio@manganiello.social avatar

We understand migrations of this magnitude can be challenging

No, this specific migration should have never happened in the first place.

Manifest V3 is an absolute disaster that makes developers’ lives hard for no reason other than Google being desperate to crackdown on adblockers.

No additional security. No additional features. Nothing to make the pill sweeter. Just Google abusing its dominant position in the browser market to relentlessly push for years for a new standard that makes HTTP requests and intercepting requests at runtime ridiculously hard, so it can tame uBlock and friends. The whole declarativeNetRequest API that replaces the dear ol’ webRequest API is the equivalent of tying developers’ hands behind their back with the only purpose of increasing friction.

Manifest V3 is a technological abomination that greatly limits what extensions can do, and it should have never seen the light of the day.

My browser extensions will stubbornly remain Manifest V2 only. Even if that means being compatible only with Firefox. I wish that more developers did the same, so the Chromium-based extensions ecosystem may become as barren as it deserves to be, and more people would switch to alternative browsers, but of course nobody likes to say no to the browser that serves ~90% of the market. I just hope that the folks at Mozilla won’t get strange ideas and will keep supporting Manifest V2 forever.

https://blog.chromium.org/2024/05/manifest-v2-phase-out-begins.html

fabio, to random
@fabio@manganiello.social avatar

The home of the 5000-year-old #Yamnaya civilization, ancestors of most of the people currently alive in Europe, US, and all the way down to Iran and India, has finally been pinpointed in the valley laying between the Dniepr and Don rivers - just in the middle of Eastern Ukraine’s current battlefield. It was most likely a branch of the original Indo-European communities that lived in the Caucasian steppe.

From the Ukrainian steppes, these people spread throughout the whole continent within a couple of centuries, arrived in the UK about 4500 years ago, carried with them the language that evolved into the languages spoken by most of today’s people (from Latin, to Norse, to Germanic, to Sanskrit), the Y chromosome carried by most of men alive today, and probably also tolerance to lactose - and also susceptibility to genetic diseases like multiple sclerosis.

It’s sad to think that this may be the last archaeological finding in those lands for a while, as future archaeological missions will probably have to dig through km of landmines.

https://www.economist.com/science-and-technology/2024/05/05/archaeologists-identify-the-birthplace-of-the-mysterious-yamnaya

fabio, to Israel
@fabio@manganiello.social avatar

“You should help us and let us take care of you. You don’t want to be getting into things that could compromise your security or that of your family.”

#Israel has employed against the #ICC the same intimidation tactics employed by criminals in my home town, and so far got away with it.

Calling out Israel as a mafia State that ought to be eradicated in its current form is a collective civic duty.

https://www.theguardian.com/world/article/2024/may/28/israeli-spy-chief-icc-prosecutor-war-crimes-inquiry

fabio, to history
@fabio@manganiello.social avatar

#Platypush 1.0 is out!

It’s been 10 months and 1049 commits since the latest release of Platypush, 7 years since the first commit, and 10 years since the first release of its ancestor, https://github.com/blacklight/evesp.

The past few months have been quite hectic and I have nearly rewritten the whole codebase, but I feel like the software is now at a stage where it’s mature and stable enough to be used by a larger audience.

The changelog is quite big, but it doesn’t even cover all the changes, as many integrations have been completely rewritten.

The biggest (breaking) change is the merge between plugins and backends. Now, except for those integrations that actually listen for messages and execute them (like HTTP and Redis), all the other integrations are plugins. This greatly simplifies the configuration and removes a lot of confusion for new users.

The Docker support has been greatly improved too. There are now officially supported multi-arch images for Alpine, Debian, Ubuntu and Fedora, an official docker-compose.yml file, and both the platydock and platyvenv utilities have been almost completely rewritten to seamlessly automate the creation and configuration of containers and virtual environments (respectively) starting from a single config.yaml.

And the Python API has become much simpler and consistent. No more __init__.py files that the user had to manually create in each subfolder of scripts, just drop a .py file with your automation in the scripts dir and it’ll be picked up. Moreover, the most common imports are now available on top level as well, and there’s no more need to create procedures/hooks/crons with varargs:

from platypush import run, when
from platypush.events.sun import SunsetEvent

@when(SunsetEvent)
def sunset_lights_on():
  run('light.hue.on')

There’s also a revamped documentation portal, which now includes both the wiki and the plugin reference.

Most of the integrations have been rewritten at different degrees, and in the process many bugs have been squashed, many features added and many APIs updated to be more consistent, so make sure to check the documentation pages of your integrations in order to migrate.

And if you have more requests or questions, feel free to open a ticket, a PR or ask on the Lemmy server.

https://blog.platypush.tech/article/Platypush-1.0-is-out

fabio, to random
@fabio@manganiello.social avatar

I’ve just had to debunk some more pseudoscience garbage shared by my mother on Facebook. The only reason why I still use that platform every now and then is just to make sure that my family doesn’t go completely off the basket case tangent with conspiracy bullshit.

This time, after chemtrails, vaccines that cause autism, Covid intentionally spread by the government, climate change that doesn’t exist, new world order secretely decided in Davos, freemasons and Jews ruling the world, gender theory pushed by a cult of paedophiles, and Putin and Trump as the only saviours, it was the time for the landing on the moon that didn’t happen.

The arguments used by the guy (“there are no signs of the source code that was used by the Apollo missions and the lunar module didn’t have enough thrust to take off”) could be dismantled with a simple Github link and a quick round of the Tsiokovsky rocket equation.

But the original post had hundreds of reshares, while my response didn’t get a single reaction. And my mother, who quit school at the age of 12 and has no clue of what either specific impulse nor escape velocity are, didn’t understand anything of my explanation anyway, and tomorrow she’ll probably just reshare some more bullshit that she wants to believe in.

Does anyone have family members or close friends who are also stuck in this vicious conspiracy cycle that apparently can’t be broken with any efforts of reasoning? How do you cope with that? It is becoming utterly depressing from my side. The conspiracy-inclined side of social media has features that resemble too much those of a cult. I’ve fought to take my family out of a cult years ago, just to see them plunge into another one. The time required to debunk bullshit is high, while the time to reshare it basically zero, and I feel like it’s a war I can’t win. Wondering if there’s a way out that doesn’t end up affecting our own mental health even more.

fabio, to ai
@fabio@manganiello.social avatar

#NetBSD joins the ranks of software projects that ban #AI generated code.

How they are going to enforce such ban is an obvious question lingering in the air.

Does it include only cases like “hey #ChatGPT write a suite of unit tests for this class”? Or also cases where #Copilot simply autocompletes a for loop while I’m typing it?

In the latter case, how would a hypothetical reviewer enforce the ban? How would the for loop autocompleted by Copilot, or the boilerplate population of hashmap values, look any different than one I would write myself?

And if the issue is with any code that isn’t directly written by a human, then why stop at modern AI generation? Why not include LINTers and traditional IDE autocomplete features?

I have no doubt that the projects that are announcing these no-AI policies have good intentions, but it’s probably time for all of us to have an honest talk.

Code completion isn’t a clear cut binary feature. It’s a big spectrum that goes from the old exuberant ctags to ChatGPT writing whole classes.

And code completion shouldn’t be banned. If it makes a developer more productive, and if the developer understands the code that is being completed, then such bans are akin to a “drivers should only use cars with manual transmission because we feel that it’s more manly”. It’s a conservative and elitist act of shunning out new productive tools because we can’t understand them and regulate them properly.

And more people need to call out the bluff: in cases where the AI only completes a few lines of code, its basically impossible to tell if that snippet was written by a human or an AI assistant.

https://tech.slashdot.org/story/24/05/17/007240/netbsd-bans-ai-generated-code?utm_source=rss1.0mainlinkanon&utm_medium=feed

fabio, to random
@fabio@manganiello.social avatar

Positioning your project as an alternative implementation of something is a losing proposition.

It doesn’t matter how smart you are. It doesn’t matter how hard you work. The problem is, when you build an alternative implementation, you’ve made yourself subject to the whims of the canonical implementation.

They have control over the direction of the project, and all you can do is try to keep up.

https://pointersgonewild.com/2024/04/20/the-alternative-implementation-problem/

fabio, to random
@fabio@manganiello.social avatar

Is anyone aware of ways to control programmatically in any form, without having to focus the window and having to emulate keyboard/mouse bindings in it?

ffplay is amazing, light, fast, and it’s a player that comes with any installation.

supports media players such as VLC, mpv, mplayer, omxplayer and gstreamer, but they all come with their bags of issues - the VLC libraries seem to break too often on Wayland, mpv has too many API breaking changes across versions and controlling it only works if the version of the library and the player are carefully aligned, mplayer is an unmaintained dumpster fire with a messy control API, working with gstreamer in Python requires the user to install the whole fat GLib luggage and MBs of plugins, and omxplayer is basically dead.

ffplay would be my favourite pick for a portable and lightweight default media player. But the fact that it apparently can’t be controlled in non-interactive ways really puzzles me.

fabio, to apple
@fabio@manganiello.social avatar

#Apple challenges the courts again on payments processing.

You can now show users an external link to process the payment outside of Apple’s platform.

But that comes with a new “external link fee” of 27% - to be paid on top of the fee you pay for users who still make their purchases through the App store.

I’ve said it several times, I’ll repeat it: companies like Apple can get away with such parasitic rent-seeking behavior with no added value, and with challenging courts all over the world, because they are practically above the law.

They can afford to create their own taxation system as if they were an independent country, but without being accountable to voters, and without losing a single percentage point of market share if they behave like jerks.

And any fine thrown on them by courts around the world is likely to be only a tiny part of their revenue - unless we get the balls of fining them for hundreds of billions and use that money to support more competition in the market, which would be an act of redistribution long overdue IMHO.

Apple can treat fines as small operating costs because their monopolistic behaviour is still profitable enough to pay those one-off fines many times over.

And if they are above the law, it’s because too many people bought their crap and gave them power that they didn’t deserve. And they’ll keep buying their products even if Tim Cook starts wearing a Darth Vader mask during interviews.

If you use anything made by Apple, you are part of the problem.

https://darnell.day/apple-outsmarts-court-upsets-judge-regarding-third-party-app-payments

fabio, to llm
@fabio@manganiello.social avatar

A study that confirms what I’ve been suspecting for a while: fine-tuning a #LLM with new knowledge increases its tendency to hallucinate.

If the new knowledge wasn’t provided in the original training set, then the model has to shift its weights from their previous optimal state to a new state that has to accommodate both the previous and new knowledge - and it may not necessarily be optimal.

Without a new validation round against the whole previous cross-validation and test sets, that’s just likely to increase the chances for the model to go off the tangent.

#AI #ML @ai

https://arxiv.org/abs/2405.05904

fabio, to random
@fabio@manganiello.social avatar

Selling credits for carbon capture initiatives that never happened: how the green economy became a marketing tool for parasitic fossil companies that reap profit without contributing any value.

When the executives of Exxon and Shell repeat that no green initiatives can happen without them (because they have the expertise, the capital, the competencies etc.), keep in mind that they’re shamelessly lying in order to extend their ride and inflate their retirement profits while burning the planet for everybody else.

Funding needs to be moved from them to new businesses that don’t have incentives in burning T-Rex juice, and these companies must be left to rot and die without anybody mourning them.

They’ve had plenty of occasions to do things right, they’ve managed to squander each single one of them, and they aren’t worth of a single inch of our trust.

https://www.cbc.ca/news/climate/shell-greenpeace-quest-1.7196792

fabio, to random
@fabio@manganiello.social avatar

@adiz lol my bad - my tut client mixed up the threads.

The only alternative I see to Matrix right now is XMPP. I still run my own server. But it doesn’t come even close to compete with the number of available bridges (that’s actually the main thing I use Matrix for).

The only thing that can still compete with Matrix when it comes to bridges/integrations is still IRC+bitlbee. But that ecosystem is literally falling apart, it’s largely based on libpurple extensions that often haven’t been touched in years, and of course you can forget decent mobile-native clients.

Or maybe just run alternative servers to Synapse, but so far I’ve had a mixed experience with them - Conduit is definitely snappier, but I’ve had trouble to set up many of my bridges, which seem to be primarily designed for Synapse.

fabio, to random
@fabio@manganiello.social avatar

Like with all the commodities with increasingly scarce supply and high demand, the time has come for addresses to also become a speculative asset.

Not the kind of thing that you'd buy to run your little server, but the kind of thing to hoard on and use as the aluminum foil to wrap and back your corporate bonds.

Just when you think that the enshittification of our industry can't get any worse, here you go with news of somebody creating money out of thin air backed by IP addresses.

https://tech.slashdot.org/story/24/05/04/2122251/multinational-isp-offers-206m-in-secured-notes-backed-by-ipv4-addresses#

fabio, to Jewish
@fabio@manganiello.social avatar

My solidarity goes to those #Jewish / #Israeli students who genuinely feel unsafe, threatened or subject to prejudice. Nobody deserves it.

But I couldn't care less about those who just feel uncomfortable because the protests are about something bad that their country is doing.

When Putin started his unforgivable war in Ukraine, and protests sprawled around the world, there wasn't much talk about shutting down the protests because they would make Russians abroad feel uncomfortable. So why do we have to treat Israelis and Jewish as exceptional snowflakes? Just because they keep stubbornly playing the antisemitism card whenever you criticize them?

#Safety and #comfort aren't the same thing. People have an inalienable right to feel safe and not subject to prejudice. But their ideas and dogmas don't have the same rights. They aren't people. I shouldn't refrain from protesting against ideas and acts that I perceive as wrong just because my protest may make somebody else feel uncomfortable. Pulling people out of their comfort zone and creating awareness is the whole point of a protest, after all.

And universities are exactly meant to be those factories of ideas where different sensibilities meet and come up with a better view of the world, without fear of retaliation.

If you don't feel comfortable about it, if you feel like criticism against your ideology is criticism against you as a person, then probably you just don't belong to a university in the first place.

And if you keep calling out as an antisemitic anyone who criticizes the acts of #Netanyahu's government, thus advancing the fascist theory that the ideology of a government is part of the identity of the nation, and thus political criticism is personal criticism against all of its the citizens, then you're just an idiot, or someone who benefits from this simplification.

#Israel #Palestine

https://www.theguardian.com/us-news/article/2024/may/03/college-gaza-protests-antisemitism

fabio, to bitwarden
@fabio@manganiello.social avatar

Just migrated from to .

Same API, same features, same UI, and support for other DBs than MSSQL.

One single stand-alone application vs. Bitwarden’s 10 Docker containers. 70MB of RAM vs. 2GB. 3MB of db storage vs. 300MB.

Why was a password manager supposed to take so many resources in the first place? Just because it runs on a Microsoft-only stack and on .NET’s inefficient VM? Just because somebody thought that it was a good idea to separate everything into different containers (even icons and 2fa are modeled as separate services in Bitwarden)?

It reminds me of my recent migration from Mastodon to Akkoma. I got more features, 5GB of RAM freed up and 300GB of storage freed up almost overnight.

Writing and running inefficient software that pointlessly consumes all the resources available on a machine should be a crime in a world with limited resources.

It makes me think of how much shitty bloated software like @bitwarden, probably based on awfully inefficient languages and frameworks like Java, Ruby on Rails and .NET, is running out there, pointlessly sucking up resources for doing simple jobs that could easily be done with 99% less resources.

Today’s developers, spoiled by IDEs, powerful machines, docker-compose and shortsighted “just throw more RAM at the problem” approaches, have forgotten how to write efficient software. Time for them to learn how to write good efficient software again. Software doesn’t eat the world. Only shitty software built on shitty framework does.

fabio, to wordpress
@fabio@manganiello.social avatar

It’s 2024, and paid plugins still have trivial SQL injection vulnerabilities like it’s 2004.

I hope that by 2034 PHP developers will learn how to use prepared statements and sanitize SQL inputs.

https://arstechnica.com/security/2024/04/hackers-make-millions-of-attempts-to-exploit-wordpress-plugin-vulnerability/#p3

fabio, to random
@fabio@manganiello.social avatar

> The mayors argue that while criticism of the Israeli government is not anti-Semitism in itself, holding Jewish people responsible for the actions of that government just because they are Jewish is.

I have absolutely nothing against the Jews who openly condemn their fascist government.

But I have a lot against the Jews who don't. And I have a lot against the Jews who kicked Palestinian families out of their houses and still occupy them.

And that's not anti-semitism.

Just like criticizing the Palestinians who support Hamas isn't an attack against all Muslims.

Just like criticizing the Americans who support Trump isn't an attack against all Americans.

Just like criticizing the Germans who supported Hitler wasn't a hate crime against all Germans.

Just like shooting at the Italians who supported Mussolini's social republic and plunged the country into civil war wasn't a crime against all Italians.

We need to call people accountable for the governments that they elect and support just like we call those governments accountable for their actions.

https://www.dutchnews.nl/2024/04/respect-the-may-4-traditions-mayors-say-in-open-letter/

fabio, to random
@fabio@manganiello.social avatar

How can you call yourself a civilized country when you can’t even keep guns outside of schools, and your solution to gun violence in schools is either to have armed guards at the entrance or give teachers guns as well?

Is it a civilized Western country or is it the fucking far west?

How come most of the other countries around the world have figured out long ago how to send kids to school without fears of them being shot, and the richest country in the world can’t figure out how to solve such a simple problem yet?

https://www.dw.com/en/tennessee-passes-bill-to-let-teachers-carry-guns-at-school/a-68903939

fabio, to twitter
@fabio@manganiello.social avatar

The cesspit formerly known as #Twitter has reached such a point of no return that journalists can be kicked out of it for criticizing its sociopath owner, but the sociopath owner will fight with all of his power to ensure that the live stream of a murder won’t be taken down because “freedom of speech”.

https://www.theregister.com/2024/04/23/australia_x_terror_video_takedown/

fabio, to random
@fabio@manganiello.social avatar

Annual recurring revenue, rent-seeking behaviour and everything-as-a-subscription will one day permeate so much of our economic system that even drinking water from a public tap will require you to download an app and activate a subscription.

That day is today.

This degeneration of capitalism with zero added value for the customer must be ended at all costs.

RE: https://toot.lgbt/users/FuchsiaShock/statuses/112314285197633042

fabio, to random
@fabio@manganiello.social avatar

I’ve decided to go full-in with my own mail server. The #ProtonMail bridge over SSH+VPN tunnel is no substitute for a proper mail server - plus it’s awfully slow when used as a full IMAP server and it breaks the IMAP implementation in a lot of ways.

I’ve created my new domain, gone through the configuration of DKIM/DMARC/SPF like a good postmaster, just to get immediately blacklisted by @spamhaus on my first outbound email.

I’ve been through this before, but in my previous experiences a blacklist removal ticket would be either resolved automatically or within a couple of hours at most.

In this case, nearly 24h and three tickets later and nothing is moving. Not even some directions on how to get removed or an ETA. The mailboxes have already been all migrated with forwarding configured on the old addresses, but outbound email is still broken because being blacklisted by a single company means being unable to communicate with nearly any mail servers out there.

Does anyone have any tips on how a #Spamhaus blacklist removal process can be sped up?

fabio, to Palestine
@fabio@manganiello.social avatar

US: “We support a two-State solution, but let’s not get too serious about it ok?” #Palestine

https://www.theguardian.com/us-news/2024/apr/18/us-veto-palestine-membership-request-united-nations-council

fabio, to Ukraine
@fabio@manganiello.social avatar

Putin’s strategy eventually paid off.

Russian sources mentioned many times that it was just a matter of time before the easily distracted Western countries shifted their attention somewhere else - and when that happened nothing would have prevented #Ukraine’s capitulation.

And this is, indeed, what’s happening now.

The Russian army is reaping successes on a daily basis, while Ukraine has even run out of missiles to defend their own infrastructure.

In the meantime, plans to provide more weapons to Ukraine are stuck both in Europe and in the US, while pro-Russia puppets get elected all over the place.

Shame on us for not taking more care of our own values.

https://www.dw.com/en/ukraine-updates-kyiv-ran-out-of-missiles-to-defend-plant/live-68835067

fabio, to beeper
@fabio@manganiello.social avatar

How do you feel about #Beeper, #Automattic and Automattic acquiring Beeper?

TBH credit is due where credit is due. Nobody can predict the real intentions of a company, least of all engineers, but Beeper has from day 1 built its product on top of #Matrix, it has made it much easier to install and configure messaging bridges (even to those less likely to go through the hassle of configuring a full Synapse server and install bridges with huge configuration files), and it has challenged Apple head-to-head with the iMessage bridge.

I feel that Beeper joining forces with Automattic will give the company both:

  1. Stronger shoulders to defend themselves from lawsuits coming from the likes of Apple and anybody who has made it their business mission to oppose inter-operability as long as they can - Apple can’t simply take down a Github repo with a snap of their fingers if that Github repo is owned by the same company that also owns Wordpress, at least not without a lengthy legal battle on the blueprint of Epic v Apple. Moreover, sclerotic corporate scum with an outdated business model like Apple will just never understand how big of a favour they do to small companies like Beeper when they attack them. Beeper was in beta until recently. Then it got a lot of attention after Apple declared war to its iMessage bridge. Consequence: the largest company on earth suddenly put a relatively small product like Beeper under the spotlight, its user-base went up by an order of magnitude or so within a short time frame, they rushed their way out of beta, and now Automattic is acquiring them. There’s no better publicity than an aggressive rent-seeking parasite waging war against your product.
  2. More opportunities to sit at a table with the likes of Google, Meta etc. and get them to actually build the open alternatives together, instead of reverse engineering their closed garden and play and endless catch-up game with them.

The timing of this announcement is also perfect, as the EU’s #DMA is just about to make inter-operability a requirement for messaging gatekeepers - and Beeper seems to be eager to capitalize on its opportunity of being at the right place at the right time.

Let’s keep an eye on how this product develops. I see a lot of potential for growth, and I’ll be looking for all the signals of early-exit/lock-in/enshittification.

https://blog.beeper.com/2024/04/09/beeper-is-joining-automattic/

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • mdbf
  • ngwrru68w68
  • modclub
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • DreamBathrooms
  • JUstTest
  • GTA5RPClips
  • ethstaker
  • normalnudes
  • tester
  • osvaldo12
  • everett
  • cubers
  • tacticalgear
  • anitta
  • megavids
  • Leos
  • cisconetworking
  • lostlight
  • All magazines