RE: mastodon.social/@freedomscient…
This was excellent. Liz and Rachel do a great job.
"Subject: Offer to Purchase The cURL project"
😂
I don't even think it used the docs lol. For the record, if you're curious: // Prism state
#ifdef USE_PRISM
static PrismContext* g_prismCtx = nullptr;
static PrismBackend* g_prismBackend = nullptr;
#endif
Then, // Screen reader output - uses async message to avoid blocking UI
#ifdef USE_PRISM
static std::string g_pendingSpeech;
static bool g_speechInterrupt = true;
void DoSpeak() {
if (g_prismBackend && !g_pendingSpeech.empty()) {
prism_backend_output(g_prismBackend, g_pendingSpeech.c_str(), g_speechInterrupt);
g_pendingSpeech.clear();
}
}
void Speak(const char* text, bool interrupt = true) {
if (g_prismBackend && g_hwnd) {
g_pendingSpeech = text;
g_speechInterrupt = interrupt;
PostMessage(g_hwnd, WM_SPEAK, 0, 0);
}
}
void Speak(const std::string& text, bool interrupt = true) {
Speak(text.c_str(), interrupt);
}
#else
void DoSpeak() {}
void Speak(const char*, bool = true) {}
void Speak(const std::string&, bool = true) {}
#endif
and in the init funcs: // Initialize Prism for screen reader support
#ifdef USE_PRISM
bool InitPrism(HWND hwnd) {
PrismConfig cfg = prism_config_init();
cfg.hwnd = hwnd;
g_prismCtx = prism_init(&cfg);
if (!g_prismCtx) {
return false;
}
g_prismBackend = prism_registry_acquire_best(g_prismCtx);
if (!g_prismBackend) {
return false;
}
PrismError err = prism_backend_initialize(g_prismBackend);
if (err != PRISM_OK) {
return false;
}
return true;
}
// Shutdown Prism
void FreePrism() {
if (g_prismBackend) {
prism_backend_free(g_prismBackend);
g_prismBackend = nullptr;
}
if (g_prismCtx) {
prism_shutdown(g_prismCtx);
g_prismCtx = nullptr;
}
}
#else
bool InitPrism(HWND) { return false; }
void FreePrism() {}
#endif
UiaRaiseAutomationEvent function (uiautomationcoreapi.h) - Win32 apps
Notifies listeners of an event.learn.microsoft.com
@x0 @Bri And to make this even more confusing, you're not really using executable code from NVDA, you're just implementing their interface. And the copyright situation of interfaces is even more unclear, especially with all the different countries involved.
The easiest thing to do would probably be to do a git blame on the ACF file and get an explicit okay from everybody involved in its implementation. There can't be that many of these people.
I already see a few improvements coming, can't say what, but yeah, this will keep evolving the more folks try it and are honest.
We now restored the UK English sound in this pack very close to the sound it had in the original IPA rules, which were much smaller and sparce in comparison, but I understand how we were contaminating phonemes with each other, which was the huge huge downside before I moved things into the frontend.
Honestly, building that frontend was the best decision I made early. AI would have kept on piling in Python code, specific language variables, and stich me a 300 kilobyte Python file by the end. No no. We are not doing that.
It's funny how real work changes you. I used to be a spaghetti-code type guy, all day I'd just throw my code in a single file. Today I shutter at the idea of zero abstraction. If it's not modularized well, it's not worth reading as code, period, unless it's clean small code. Yes I'm that much of a snob. Gosh. AI will happily spaghetti all day, unless you're Google Gemini, which can (sometimes) do better at helping you abstract it, but you are still the architect, if you don't know coding fundementals, it's hard to use AI to code something not considered "AI slop."
Sensitive content
“Europe is a regulatory morass that is built on bureaucracy, and the layering and layering of rules that constrain economic activity.”
Scott Bessant, US Treasury Secretary
To which Europeans say:
Flint, Michigan
East Palestine, Ohio
Uniontown, Alabama
These places are global bywords for the poisoning of people and nature when you have no regulatory oversight of business and you prioritise ‘economic activity’ at all costs over health and safety.
This is disability discrimination. I cannot access Threads without assistive technology, and their systems automatically suspend me for using it.
ADA compliance issue.
I'm writing a technical blog post and want to use a UML sequence diagram to explain something.
Only trouble is, I have no idea how to make such a diagram accessible to a screen reader.
I know I could just write up alt-text to describe it, but at that point I feel like I should just use the text _instead_ of the diagram.
Maybe that's the answer, but I'm hoping there's a way to get a screen reader to communicate the diagram in some way?
Any ideas appreciated!
@menelion PlantUML looks neat!
I'm currently using js-sequence-diagrams[1], which looks like it has similar syntax as PlantUML.
Putting the code/text representation of the diagram feels like it'd be helpful for a small diagram, but maybe too much to keep in ones head for a larger one?
Better than nothing I reckon though!
Why am I saying this? Because it's not even better than nothing, it's quite enough for a technically or scientifically inclined person to decipher what you're saying. I'm not proficient in this at all (JS-Sequence-Diagrams looks also good, also there's Mermaid supported by GitHub, I think) but if I need or want it, I'll read the docs and cope with it. Or… drop you a message and ask for help 😊
Anyway, thank you so much. It's really heartwarming.
@menelion Aww thank you André. ❤️ I'm touched, and not really sure how to respond!
I guess I'll just say that I want to live in the world where we all look out for each other's needs, and where we can ask each other for accommodations or help when we need to. Where we all get those warm breezes when we're cold :)
Anyway, thank you again for the kind words!
@menelion On the PlantUML front, I found this paper describing how it was used in a computer science class to help a blind student learn the content:
dl.acm.org/doi/pdf/10.1145/354…
Some points I found interesting:
* the textual representation of the diagram was enough for, at least this one person, to be able to follow along in the course
(1/2)
I updated my "How to survive FOSDEM" article.
@fosdem organizers updated map so I updated it as well. The change was simple: there is no ATM at ULB (for quite a while).
So I added an info about it. And some minor edit.
marcin.juszkiewicz.com.pl/2019…
How to survive FOSDEM – Marcin Juszkiewicz
FOSDEM is 2 weeks conference in 2 days. Can be tough to survive.marcin.juszkiewicz.com.pl
reshared this
This update removes all the "frame:" settings from the voice dialog. If you liked them, toggle " exposeExtraParams = False
" to true in the driver's file. These are fun settings to play with and make it squeak in weird ways, but also, it's 47 sliders, and this way we only add the 16 for language settings.
- new: settings no longer say "langpack:" but have human understandable names. This should make it easier to know what does what.
- New: Croatian language. If Croatian sounds off, please suggest fixes to HR.YAML
- new: Engine setting, segmentBoundarySkipVowelToLiquid That new setting only affects the boundary gap we insert when stitching two separate chunks (two separate “say” calls / queue items).
- new setting: semivowelOffglideScale. Useful where you want the glide to join better with the vowel in your language, test with different values (default is 1.) Added in language editor only.
- Fixed: The driver works on NVDA 2026.1 again, fixed to set argtypes and restype right after initialization for Espeak phonemizer.
- Language updates to Portuguese (thanks @clv1), Polish (thank you @patricus). English glides should be less noticeable and more smooth.
eurpod.com/synths/nvSpeechPlay…
🇺🇸 We were asked for this in the past, and now it was done: our Liberapay account has been revived, find it at liberapay.com/IzzyOnDroid/
As @Liberapay has no option to upload a project avatar (or I haven't found it), and we're not using any of the hard-coded services, I hope you forgive us keeping my personal one in there for now. Should a change become possible, we'll of course update accordingly!
IzzyOnDroid's profile - Liberapay
The IzzyOnDroid team maintains the repository for F/LOSS (Free/Libre Open Source Software) Android apps launched by Izzy in 2015/2016, which has since become quite well-known …Liberapay
Kuuntelen tosi vähän musiikkia paristakin syystä, mutta joskus lenkillä Vorssan Suvi-iltaan kasattu soittolista auttaa ryytyneenä jaksamaan. Listalla on 99 % uudempaa tradia ja bluegrassia eli lajeja, joita kestän ylipäätään kuunnella, mutta seassa on jokunen nostalgianumero ja raitoja, joiden bpm sopii omaan kadenssiin erityisen hyvin.
Tänään tipahti peräkkäin Les Misin Do You Hear the People Sing ja perään Elina Salo alkoi vetää Kolmea iloista rosvoa :’-D
RE: mastodon.social/@droidify/1159…
Very excited to see #Droidify implement the #IzzyOnDroid download statistics!
This means 2 out of the top 3 #FDroid clients now show download statistics for apps downloaded from IzzyOnDroid. Hopefully this convinces more repositories to adopt this!
The part I love most is the different directions Droidify and Neo Store took it. Droid-ify went for simple, just showing the total amount of downloads, while Neo Store went for detailed graph.
What's your preference? Simplicity or detail? :)
IzzyOnDroid ✅ reshared this.
So I don't really see the issue to be honest. The only possible risk is if you disable Android's signature verification with XPosed modules (which would be a horrible idea) and happen to get the one signature that somehow would match in MD5. But both IzzyOnDroid and F-Droid already use an allowlist of signatures per app, so this would already be blocked serverside there.
Lacking index-v2 is not a security risk at all but would be nice for faster update checks.
@TheJnx Obtainium on the other hand is often used to get APKs directly from developers with no malware scan or anything. So if a dev gets their system infected by malware and because of that uploads a build with malware, you will just instantly get that and infect your device, there is no party in between to scan or rebuild the app from source.
Personally, I find "dev gets their system infected by malware" a much more likely scenario, which is why I don't understand Obtainium as "more secure".
LooKeR (@Iamlooker@mastodon.social)
@TheJnx@bonito.cafe @SylvieLorxu@chaos.social Well yes I agree that Droid-ify does not have Index V2 or diffing but I don't see how thats a security issue. And the 3 point of it "uses a outdated signature algorithm".LooKeR (Mastodon)
for that reason I will continue to say that either Github or Codeberg, any other source, as such is for more experienced people, Obtainium is obviously safe (as far as it goes), allows more than 10 sources from which to download apps, but of course, it all depends on using reliable sources, review the code, use an antivirus (although I doubt the quality of these), that the repository has been reported in that case, etc.
I must admit that I have not stopped using Izzyondroid, only for one app (since the versions there seem to me more stable) but of course, Izzyondroid seems to me that unlike F-Droid allows a wider catalog of apps, but of course, for everything I use Obtainium itself because it allows me to save all those apps and apks that could be scattered on my device
Vanadium version 144.0.7559.90.0 released
Changes in version 144.0.7559.90.0:
- update to Chromium 144.0.7559.90
- extend upstream motion sensors toggle with a per-site toggle (Vanadium already had the global toggle disabled by default)
- disable autofill server support (already disabled by Vanadium Config 148)
- extend support for supplementary language/regional content filters to a larger set (Arabic, Bulgarian, Spanish, French, German, Hebrew, Indian, Indonesian, Italian, Korean, Lithuanian, Latvian, Dutch, Nordic, Polish, Portuguese, Romanian, Russian, Vietnamese and Chinese)
A full list of changes from the previous release (version 144.0.7559.76.1) is available through the Git commit log between the releases.
This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.
Comparing 144.0.7559.76.1...144.0.7559.90.0 · GrapheneOS/Vanadium
Privacy and security enhanced releases of Chromium for GrapheneOS. Vanadium provides the WebView and standard user-facing browser on GrapheneOS. It depends on hardening in other GrapheneOS reposito...GitHub
State of Accessibility on Linux, 2026:
Users: Wayland broke accessibility.
Wayland: Not our problem, talk to the compositor.
KDE & Gnome: Expose what we need for accessibility, plz?
Wayland: Security risk. No.
Factorio dev: This compromise?
Wayland: Ok, fine...
Also Wayland: Actually, no.
User: *researches how to grow new eyeballs* It'll be solved faster.
Droid-ify v0.6.8 Hotfix 
Fixed:
- Apk file integrity check failing
- Download stats data validation
- Performance in apps list
Full changelog available here: github.com/Droid-ify/client/re…
Release Release v0.6.8 Hotfix · Droid-ify/client
Fixed: Apk file integrity check failing Download stats data validation Performance in apps list Full Changelog: v0.6.7...v0.6.8GitHub
AI is here to stay. Don't like it? You anti? Sorry but, bye Felicia. This stuff's existed for years now, it just wasn't so exposed. And it isn't going to receed. It'll continue to build. Your anti-barriers shall crumble. Your computer will be artifcialified, and if you don't like it, might as well use ancient ones. Even those processors! Wonder why prices are rocketing up? AI. Run as much as you like. But it'll catch up. It's everywhere. It's been everywhere. That won’t change.🤖


ArcaneChat
in reply to OnkelBobbyWhite • • •Delta Chat
in reply to OnkelBobbyWhite • • •you might have fun with some of the retro-games available via "attach app"
or also visible here: webxdc.org/apps
but yes, finding circles to use it with, is a challenge. We know. The webxdc apps could be a motivator for some of your friends?
webxdc apps
webxdc.org