New initiative will give players better and clearer information about accessibility features in games attoday.co.uk/new-initiative-w…

Trump papežem: AI grafika od jeho týmu budí emoce. A o to jde.

1. Odvádí pozornost od aktuálních neúspěchů (poškozená ekonomika a celý systém).

2. Mění hranice myslitelného směrem k: "Trump může vše, nic není svaté."

Řečeno jeho slovy: “I could ...shoot somebody and I wouldn’t lose voters."

(Omyl.)

3. Některým může "symbol světce" imponovat.

Trump ví, že je uměle vytvářený mýtus. Nic víc. Prázdný Putin a jeho roky pečlivě budovaný obraz ovšem ukazují, že ani nic míň.

#komunikace

This entry was edited (7 months ago)

A migrant encampment housing more than 400 people was evicted Thursday night in Mexico City, but city officials deny involvement and claim not to know who did it.

Suspicion is falling on organized crime after reports that people were being forced to pay 8,000 pesos per month for the "right" to stay in the camp, which was in a public park.

jornada.com.mx/2025/05/03/poli…

#Mexico #CDMX #immigration

in reply to Debian

how exactly is reproducability protecting against "supply chain attacks"? if as a maintainer or dev backdoor a dependency of some upstream package and then a new backdoored source code version is released, in this case reproducable builds will only make sure that my backdoor is reproducably built, but it will not mitigate my backdoor.

i think my scenario is *the* definition of a supply chain attack. no? would your reproducible build have caught jia tan? what am i missing? 🧵 1/4

This entry was edited (7 months ago)

Whingy comment on my latest podcast episode:

'Not really a fan of this stuff. I miss the old keyboard and instrument reviews and the musical breakdowns. The problem with this podcast is that you're both too polite and soft spoken and all that. Try getting a bit angry and controversial. There is no such thing as bad language, so where is all the swearing? You can't make a good podcast episode without some swearing.'

Gonna keep posting weekly with my wife @MoonCat, so if you'd like to check it out (despite the no swearing) search for StroongeCast wherever you get your podcasts.
Also, our web page is here: onj.me/stroongecast

Let's boost for reach because comments like that just make me want to promote it even more.

If I have to spend my life catoring to everyone else, I'll never do anything for myself, and that's just boring. #StroongeCast

This entry was edited (7 months ago)

reshared this

Ok wafrn people, it's story time.
A tale of the tech challenges I have been going through in the last weeks.

TL:DR I messed up when submitting my app to IzzyOnDroid. Now I have removed all google / firebase dependencies from the apks, built and published npm package to use Unified Push in modern Expo / React Native and found a way to reduce the app size to be 3x smaller by creating an apk for each architecture

So… A few weeks ago @IzzyOnDroid told a few tips about how to make my app (the wafrn mobile app) better for publishing on android alternative stores

Main pain point were the use of propietary services like Google Services and Firebase Cloud Messaging and also the apk size.

I was told about Unified Push, a library, a FOSS alternative to Google and Firebase services for sending notifications to android devices. After scraping the bottom of the barrel on github and npm found that there was not a person in earth who had tried and succeeded to integrate the Unified Push library with modern versions of Expo (using React Native new architecture), so that was my first challenge.

I had to create and publish a library so people could call the Unified Push Android library from their JS code in React Native. I had to learn modern android development with Kotlin. I had to set up a whole android development environment with all the Gradle stuff, the Java stuff and such.

I tried various VS Code plugins and Fleet from Jetbrians but in the end, the only one that worked well for me and could run my project was Android Studio.

After reading all the documentation for using unified push with Kotlin, I designed how the API surface of the library was going to look like. I wanted to make this abstraction the easiest possible one.

But there were more things to discover. To receive events from unified push in my JS code, I had to learn how to use the internal expo native APIs for android, so I read a lot of kotlin / java code written by the expo team.

After publishing my first version of the expo-unified-push integration I had to rollback to a previous attempt of bridging UP messages to JS because it broke hard with more complex JS code and later publish a third version because I did not get what an Android Intent was in the other previous two

Later came adapting the backend, which was not that hard, but I ran into some rocks there too.

With all this completed, and google / firebase dependencies removed my app was still heavy, at 150 MB.

So, with my newly found knowledge of being a native android developer, I start to tinker with graddle settings and graddle-expo integrations and I found that I was building an app for 4 architectures inside of one. When I split the apks, each to its own architecture, they now weighted between 40mb and 50mb

Now I have the first release published to github: github.com/juandjara/wafrn-rn/…
And the expo-unified-push integration published to NPM: npmjs.com/package/expo-unified…

It was a long journey, but we got there at the end

#Podria-haber-escrito-esto-en-español-con-toda-la-fantasia-que-le-he-metido-a-contar-esta-historia #pero-como-habla-de-tecnologia-queria-que-fuera-algo-un-poco-mas-internacional

in reply to Bolet :neobread_eyes: :yeah_waffy:

Great ! A page dedicated to 3rd party libraries will be added in the coming week

BTW, you can open a pull request to add wafrn to [the list of applications](unifiedpush.org/users/apps/) supporting UP !

PS: we use to use UnifiedPush in one word, if you want to update the Readme

in reply to IzzyOnDroid ✅

Here it is:
## Push<br><br>There are 3 options to be notified of new events:<br>- Keeping a constant connection to the server<br>- Periodically fetching notifications<br>- Supporting push notifications (UnifiedPush + optionally fallback to Google notifications)<br><br>Depending on your application, it may makes sense to support several options. For example, for a social application, some users may want to be informed at most every hour, and others "in real time".<br><br>#### Keeping a connection to the server<br><br>[Quoting Jeroen](https://github.com/Adamant-im/adamant-android/issues/3#issuecomment-553585062):<br><br>> There's multiple options for getting push\*, there's xmpp which works for push\*, an MQTT system works, Server Sent Events is an Http standard for this, and websockets is also often used for this.<br>Tutanota and mastodon seem to like SSE, while telegram and signal use websockets in their FOSS environment (but use google whenever possible)<br><br>> Conversations / Kontalk just uses the xmpp protocol it uses for chat for push notifications\* as it's a realtime protocol anyway<br><br>\* Here, _push_ is used to refer to solutions that allow you to maintain a connection with the server to find out when a new event occurs. This is generally not what push notifications are about.<br><br>Keeping a connection requires implementation of the service, a means of restarting it in the event of failure, network callbacks, etc. This will also increase your application's battery and data consumption. This solution is suitable for applications that require “real-time” events, such as instant messaging applications, for everyday users.<br><br>#### Periodically fetch new messages<br><br>If it's acceptable to have a certain delay before being notified, a periodic task works well. For example, this is how F-Droid checks whether updates are available.<br><br>This solution may also be a good solution for users that rarely use an application and are OK to get non-instant notifications.<br><br>#### Push notifications<br><br>[UnifiedPush](https://unifiedpush.org) is an open standard for push notifications that rely on web push. It allows having efficient "real-time" notifications:<br>- The application will use the service the user has installed<br>- One service keeps a connection for all other applications<br>- You don't have to implement a constant connection to the server<br><br>Web push is another open standard, defined by 3 RFC, commonly used for web applications. Your server may already support it.<br><br>Furthermore, as explained in [the blog post about push for decentralized apps](https://unifiedpush.org/news/20250131_push_for_decentralized/), it is possible to get a fallback to Google Services, that works:<br>- with a FOSS library<br>- without any gateway (the server sends web push requests to Google)<br><br>For some Background on UnifiedPush, see:<br>- [UnifiedPush: a decentralized, open-source push notification protocol](https://unifiedpush.org/news/20221218_unifiedpush/) (12/2022 edited on 04/2025) originally posted [on F-Droid](https://f-droid.org/2022/12/18/unifiedpush.html) (12/2022)<br>- [Push notifications, security and privacy ](https://unifiedpush.org/news/20250513_push_security_privacy/) (05/2025)<br>- [Dear Privacy Aware Android App Devs - Please Use UnifiedPush](https://www.andrewjvpowell.com/articles/dear-privacy-aware-android-app-devs-please-use-unifiedpush/) (10/2021)<br><br>This solution works well for everyday users, and for occasional users<br>
in reply to IzzyOnDroid ✅

Thanks :)

About: android.izzysoft.de/applists/c…

I've dropped support for Gotify-UP (the fork we started UnifiedPush with) and NoProvider2Push a while ago. I think it is better to remove them from the page. Maybe you can list Sunup instead, which is intended to be the goto solution.

PS: Is it possible to correct the heading from Unified Push to UnifiedPush ?

in reply to S1m

Sunup is listed there, and the Gotify Distributor for UP (Gotify-UP) was removed from the list long ago (Gotify itself is still maintained, so their non-UP client is listed in the "others" section – with "others" meaning "non-UP").

I've seen that NoProvider2Push was not only marked experimental, but also has not received any commit for years. The Last-Update date reflects that. I'd rather leave it in as long as it's available, maybe someone would "take over" development…

And I thank you!

Rock band REM releasing a remix of its first single, “Radio Free Europe,” to raise money for RFE/RL after the Trump administration froze its funding. “This was a little thing that we could do to support freedom of expression and particularly great journalism," says Michael Stipe. instagram.com/reel/DJJluTOO9Fj…

In Hamburg, we currently have a "Volksbegehren" (petition for a referendum) for less annoying advertisements in the city, @hhwerbefrei

The proposal is to ban all ads that are larger than DIN A0, backlit, moving, or too many in one place!

We need 80000 signatures to have a citywide referendum. If you live in Hamburg and are older than 16, please support this!

Learn how: hamburg-werbefrei.de

Pietervdvn reshared this.

Twenty Thousand Hertz - The Deaf Composer: How Beethoven wrote music he couldn’t hear: 20k.org/episodes/the-deaf-comp…

What happens when one of history’s greatest composers begins to lose the very sense he relies on most? In this episode, we explore how Ludwig van Beethoven continued to create groundbreaking music even as his world fell into silence. Along the way, we uncover the myths, inventions, and raw determination that fueled Beethoven’s defiant creativity, and hear how his lifelong struggles are reflected in his music. Featuring musicologist Laura Tunbridge , author of Beethoven: A Life in Nine Pieces. Enter the “Sound Off” Story Contest at ⁠20k.org/soundoff⁠. Submissions close on May 7th, 2025. Explore the all new ⁠Defacto Sound website⁠, and click the ⁠Contact Form⁠ to get in touch. If you know what this week's mystery sound is, tell us at ⁠mystery.20k.org⁠. Follow Dallas on ⁠Instagram⁠, ⁠TikTok⁠, ⁠YouTube⁠ and ⁠LinkedIn⁠. Join our community on ⁠Reddit⁠ and follow us on ⁠Facebook⁠. Start your free online visit for hair loss treatment at hims.com/20k. Cut your current cloud bill in half with OCI at ⁠oracle.com/20k⁠. Episode transcript, music, and credits can be found here: ⁠www.20k.org/episodes/the-deaf-composer Learn more about your ad choices. Visit megaphone.fm/adchoices 20k.org/episodes/the-deaf-comp…

Tomorrow Mom and I are headed back to the clinic in Hollywood for my 3 month checkup. Could I please ask people to pass this around again and donate if you're able? Thanks, and thank you so much to those who've already given! #Mutual_Aid

gofundme.com/f/help-kat-after-…

Professor Stephen Whittle OBE, famed UK Trans Legal activist from Press for Change, probably the most reputable trans person in the UK in regard to the law and affecting it, has put out the action plan guide stating that the best chance of influencing things is for trans people and allys to each write physical letters to their MP and 6 copies to specific other members of parliament.

He's provided the relevant facts to be included and laid out what you need to write.

translucent.org.uk/a-guide-to-…

This entry was edited (7 months ago)

#Innosearch is good because of the humans, not the AI
@InnosearchAI is an #accessible shopping solution, powered by #AI. But it's the human support that makes it worthwhile. My review: stuff.interfree.ca/2025/05/03/innosearch.html

Natalie Portman rejete le Prix Genèse d'Israël, doté d'un million de dollars, pour le massacre de Palestiniens non armés. L'organisation du Prix a donc annulé la cérémonie prévue. En réponse à ce refus, le parlement israélien, a demandé la révocation de sa citoyenneté. Natalie Portman est née en Israël et a quitté le pays encore enfant.
« Je ne vais pas au Prix Genesis parce que je ne veux pas apparaître comme un soutien à Benjamin Netanyahu. Israël a été créé il y a 70 ans comme refuge pour les victimes de l'Holocauste, mais les mauvais traitements envers ceux qui subissent les atrocités d'aujourd'hui ne correspondent pas à mes valeurs juives.

Before prevalent social media, a static webpage and a few mailing lists could shake a brand.

My 1999 #Swatch #Protest archive shows how amateur radio operators used hand-coded HTML, listserv chains, and Usenet newsgroups to stop Swatch’s #satellite from advertising on their radio frequencies.

Relive the early-internet playbook here: vees.net/hobbies/hamradio/swat…

#InternetHistory #DialUpDays #Space #DigitalProtest #ARRL #AMSAT

John Calvin, early Calvinist preacher, writing on collections for famine (2 Cor 8), says Jesus “consecrated” the estate of poverty by living in it. Thus: 1) We need not regard this estate with horror. 2) Free from fear of own poverty, may help those in distress.

Today, do we fear the very presence of people in distress, and thus cut people off from any tie of brotherhood?

How can you no longer regard poverty with horror?

#christian #postmil #biblepost #calvinista #trumptrain

This entry was edited (7 months ago)

At Your Fingertips: Fidget Tools, Fun Gadgets, and Braille Input Devices - Unmute unmute.show/at-your-fingertips…

reshared this

We all think it can't happen to us, but it can when we least expect it... This reader says his Apple Watch saved his life—make sure yours is set up too 9to5mac.com/2025/05/02/this-re…

Webinar From TPGI: Marking a Milestone: Celebrating 30 Years of JAWS on Global Accessibility Awareness Day;
Wednesday, May 14, 4:00 PMEastern Time
tpgi.com/webinar-marking-a-mil…

🚨 Google now displays #Ads in third-party AI 🚨 Just when you thought #Google ads couldn't get more annoying, it did 😅

Learn how to s top the ads here 👉 tuta.com/blog/block-gmail-ads

Uncover the untold story of Apple VoiceOver! Join us as we reveal fascinating insights and genius ideas behind this groundbreaking technology. Despite valid criticisms, we acknowledge Apple's transformative impact on the industry. Discover the real story today! youtube.com/watch?v=5tLSycbey6…

#AppleVoiceOver #Accessibility #TechHistory #Innovation #BehindTheScenes #TechInterview #Apple #Technology #Inspiration #DesignThinking

AI Learners: Accessible online math for young students – Perkins School for the Blind perkins.org/ai-learners-access…