in reply to ArcaneChat

»There isn't really another choice«
theverge.com/news/807147/signa…

Wieso wird im Rahmen der #DiDay Bewegung eigentlich ständig @signalapp empfohlen? Wo laufen denn die Server von denen? Laut Internet auch in den USA auf Amazon, Google und Co…

Oder habe ich etwas übersehen?

UPDATE: Weil mein Post offensichtlich von Fans als Kritik an Signal verstanden wird: meine Frage war, ob ich etwas übersehen habe im Sinn von „Signal Server sind nicht nur bei US-Anbietern gehostet“. Ich hätte gerne Digitale Souveränität mit Signal, nicht einem x-ten anderen System.

Meine Kritik richtet sich an diejenigen, die von digitaler Souveränität reden, und dann doch wieder etwas empfehlen, was dem Cloud Act oder der Kontrolle Trumps (Kill Switch) unterliegt.

#data #privacy #digitalesouveranitat #di_day #Diday #messenger #unplugTrump #fcktrump

This entry was edited (14 hours ago)

RE: mastodon.social/@freedomscient…

This was excellent. Liz and Rachel do a great job.


Curious about using Google’s NotebookLM with JAWS? This archived webinar shows how to use your own documents to get summaries, outlines, and answers, all in a keyboard-friendly way. Learn how to create a notebook, add sources, ask questions, filter results, and build reports.

Access the archive here: freedomscientific.com/webinars…

#JAWS #FreedomScientificTraining #AITraining


in reply to Ethin Probst

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

in reply to Ethin Probst

@Bri The problem will even getting it to build for win 7. I don't have a toolchain capable of targetting it. I guess I could see if MS still offers the Windows XP compilers but Idk how to get MSVC's x64_x86 Cross Tools Command Prompt for VS to switch to those compilers. And then I need to figure out all the libraries onecore.lib replaces and test for onecore.lib or use the individual ones

Well, Prism has gotten some great new functionality! I think the biggest is that Prism can now act in place for the NVDA controller client! It does not need the DLL present to communicate with NVDA since it performs the internal RPC binding automatically. The current downside to this is that there may only be one NVDA backend active at any given time, which is abnormal and inconsistent with all the other backends. If you currently try to do this, it will (safely) overwrite the existing one.
in reply to Bri🥰

@Bri No, it doesn't. The controller client is (L)GPL license, and I have done everything I can to comply with it. Even if the (L)GPL code is combined into the larger prism.dll library, I don't see how I could possibly be violating it given that the project is entirely open source and so complying with the "allow people to modify/relink" thing is from what I know automatically satisfied. I'm not sure how else to comply other than what I've already done.
in reply to x0

@x0 @Bri I honestly don't know. Right now I force dynamic linking unless yoru building for Emscripten. For the problems that might create, I keep finding conflicting interpretations about those problems all over the place. Which for something like the LGPL is never a good sign. Some people say it's a problem, others say that that's just a widely misunderstood clause. I really don't like the ambiguity
in reply to Ethin Probst

@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.

Tomorrow's my big development talk y'all, I'm gonna stay real quiet and hunker down. Nervous as hell, I hate dev talks. So. No speech player updates, let's give language packs time to change a bit.
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."

lewd, kink, d+s, denial, interaction bait

Sensitive content

This entry was edited (1 day ago)

momento terrivel da Catarina

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.

#Davos

Everyone is going to Threads. My professional community - iOS developers, AI researchers, accessibility advocates - they're all there. I'm completely locked out, missing networking opportunities and professional conversations.
This is disability discrimination. I cannot access Threads without assistive technology, and their systems automatically suspend me for using it.
ADA compliance issue.

Remember "don't print this email" in signatures that was a bit cringe? It doesn't feel that cringe anymore in retrospect. I'm doing an experiment now with this new email signature :D Anyone doing something similar? Could it catch on?

edit: BTW please absolutely steal/modify this idea if you want!

This entry was edited (1 day ago)

This is a test of using Fast-SM with our J-Say technology. This application is quite timely, because I would like to demonstrate to somebody how we can use the programme with bluesky. He has always wanted to use Bluesky and now he has an ideal opportunity of doing so. Dragon is working exceptionally well in this application, and I can easily correct errors such as the name of the social media network that I have just described. It treated the name of the social network as two separate words with no capital letter, so I had to put that right. There was absolutely no problem in doing so and there is no deterioration in terms of responsiveness on the computer while we are using Fast-SM with Dragon and JAWS. I am even able to proof read the post that I have just dictated with no difficulty. All good stuff!

#blind #accessibility

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!

in reply to André Polykanine

@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!

1) bramp.github.io/js-sequence-di…

in reply to ragman

First of all, let me tell you something: we appreciate every move like this. You know, every blind person struggles. They may tell you it's fine, we're good, someone will even say "I'm proud to be blind" (sic!), but… we struggle. And if a person comes and tells like: "I'm posting a diagram, I want it to be seen by my blind readers" — woosh, like a wave of warm air in a cold winter street.
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.
in reply to André Polykanine

@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!

in reply to André Polykanine

@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…

#FOSDEM #FOSDEM26

reshared this

SpeechPlayer update: Huge one.
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…
in reply to Spacedog

@spacepup lol I always tell people to experiment, if you can send me your packs folder so I can also hear it and judge how it sounds better, well, even nicer. LOL. That's why I made this pack system, it makes it very easy to zip up the packs folder and just send it as a small file, or just like some people here have, tell me what value they changed to what and how it made it sound for them, then I usually will fold it into the main pack if it's really a nicer sound. That's what I'd really like from this, a community-driven sound. But it'll take time, which is why I built the phoneme editor. Speaking of which, I have to update it with the new values we added to the engine, gosh. Ah well, not hard.
in reply to Spacedog

@spacepup oh gosh I know, especially in a formant synth, I think we do have a good sound for it now in foreign languages but it'll get better. Once someone mentioned it was sounding more like a Z though that could actually clue me in on which way to tune it to make it slightly rolled. I definitely know ESpeak didn't get that one right until like the mid-2000s or later.

🇺🇸 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!

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

#luontoliikunta

in reply to J 🏳️‍🌈 no se yks Viitanen

Lapseton kuuntelee todellakin kotimaista lastenmusiikkia, koska täällä tehdään järkyttävän hyvää lastenmusiikkia. Vaikka joku Freija, Mutaveijarit, Mimmien fantastisen kaoottinen sovitus vanhasta Hirsilaulusta tai Lastenmusiikkiorkesteri Ammuun kaunis versio Kimalaisten kehtolaulusta, jota en saa kuunnella liian usein, koska jokin Mannerin tekstin tässä versiossa ravistelee aivan liikaa mun olematonta sieluani.

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? :)


Droid-ify v0.6.8 Hotfix :psyduck:

Fixed:
- Apk file integrity check failing
- Download stats data validation
- Performance in apps list

Full changelog available here: github.com/Droid-ify/client/re…

#droidify


IzzyOnDroid ✅ reshared this.

in reply to Sylvia

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.

This entry was edited (13 hours ago)
in reply to Sylvia

@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".

in reply to Sylvia

@TheJnx Of course SHA would be better, so nice to see LooKeR will fix that: mastodon.social/@Iamlooker/115… :)
in reply to Sylvia

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