Today is audio ducking day here at interfree! If you use the 64-bit #NVDA, there are a couple small releases for you:
* eloquence: audio ducking now works thanks to akj: github.com/fastfinge/eloquence_64/releases/tag/v5* unspoken-ng: if you use this addon, you also need to update, or audio ducking will remain broken, because someone (glares at himself) didn't quite understand NVWavePlayer: github.com/fastfinge/unspoken-ng/releases/tag/v1.0.3
#nvda
in reply to 🇨🇦Samuel Proulx🇨🇦

Here's my log as of this NVDA session: INFO - __main__ (16:59:42.179) - MainThread (7576): Starting NVDA version alpha-53763,79a07dc1 AMD64 INFO - core.main (16:59:42.248) - MainThread (7576): Config dir: C:\Users\synvo\AppData\Roaming\nvda INFO - config.ConfigManager._loadConfig (16:59:42.257) - MainThread (7576): Loading config: C:\Users\synvo\AppData\Roaming\nvda\nvda.ini INFO - core.main (16:59:42.293) - MainThread (7576): Developer Scratchpad mode enabled INFO - core.main (16:59:43.372) - MainThread (7576): Windows version: Windows 11 25H2 (10.0.26200.7462) workstation AMD64 INFO - core.main (16:59:43.372) - MainThread (7576): Using Python version 3.13.9 (tags/v3.13.9:8183fa5, Oct 14 2025, 14:09:13) [MSC v.1944 64 bit (AMD64)] INFO - core.main (16:59:43.372) - MainThread (7576): Using comtypes version 1.4.13 INFO - core.main (16:59:43.374) - MainThread (7576): Using configobj version 5.1.0 with validate version 1.0.1 WARNING - gui.__getattr__ (16:59:44.166) - MainThread (7576): Importing SettingsPanel from here is deprecated. Import SettingsPanel from gui.settingsDialogs instead. Stack trace: File "nvda.pyw", line 309, in File "core.pyc", line 791, in main File "speech\__init__.pyc", line 161, in initialize File "synthDriverHandler.pyc", line 514, in setSynth File "synthDriverHandler.pyc", line 480, in getSynthInstance File "synthDriverHandler.pyc", line 442, in _getSynthDriver File "importlib\__init__.pyc", line 88, in import_module File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 1027, in exec_module File "", line 488, in _call_with_frames_removed File "C:\Users\synvo\AppData\Roaming\nvda\addons\Eloquence\synthDrivers\eloquence.py", line 154, in class EloquenceSettingsPanel(gui.SettingsPanel): File "gui\__init__.pyc", line 123, in __getattr__ INFO - synthDriverHandler.setSynth (16:59:45.062) - MainThread (7576): Loaded synthDriver eloquence INFO - mathPres.MathCAT.MathCAT.MathCAT.__init__ (16:59:45.088) - MainThread (7576): MathCAT 0.7.2 installed. Using rules dir: C:\Program Files\NVDA\include\nvda-mathcat\assets\Rules INFO - core._setUpWxApp (16:59:45.102) - MainThread (7576): Using wx version 4.2.4 msw (phoenix) wxWidgets 3.2.8 INFO - brailleInput.initialize (16:59:45.104) - MainThread (7576): Braille input initialized INFO - braille.initialize (16:59:45.104) - MainThread (7576): Using liblouis version 3.36.0 INFO - braille.initialize (16:59:45.104) - MainThread (7576): Using pySerial version 3.5 INFO - braille.BrailleHandler._setDisplay (16:59:45.108) - MainThread (7576): Loaded braille display driver 'noBraille', current display has 0 cells. INFO - core.main (16:59:45.290) - MainThread (7576): Java Access Bridge support initialized INFO - UIAHandler.UIAHandler.MTAThreadFunc (16:59:45.416) - UIAHandler.UIAHandler.MTAThread (12088): UIAutomation: IUIAutomation6 WARNING - gui.__getattr__ (16:59:45.602) - MainThread (7576): Importing SettingsPanel from here is deprecated. Import SettingsPanel from gui.settingsDialogs instead. Stack trace: File "nvda.pyw", line 309, in File "core.pyc", line 916, in main File "globalPluginHandler.pyc", line 31, in initialize File "globalPluginHandler.pyc", line 23, in listPlugins File "importlib\__init__.pyc", line 88, in import_module File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 1027, in exec_module File "", line 488, in _call_with_frames_removed File "C:\Users\synvo\AppData\Roaming\nvda\addons\navSounds\globalPlugins\NavigationSounds\__init__.py", line 13, in from gui import SettingsPanel, NVDASettingsDialog, guiHelper File "", line 1412, in _handle_fromlist File "gui\__init__.pyc", line 123, in __getattr__ WARNING - gui.__getattr__ (16:59:45.602) - MainThread (7576): Importing SettingsPanel from here is deprecated. Import SettingsPanel from gui.settingsDialogs instead. Stack trace: File "nvda.pyw", line 309, in File "core.pyc", line 916, in main File "globalPluginHandler.pyc", line 31, in initialize File "globalPluginHandler.pyc", line 23, in listPlugins File "importlib\__init__.pyc", line 88, in import_module File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 1027, in exec_module File "", line 488, in _call_with_frames_removed File "C:\Users\synvo\AppData\Roaming\nvda\addons\navSounds\globalPlugins\NavigationSounds\__init__.py", line 13, in from gui import SettingsPanel, NVDASettingsDialog, guiHelper File "gui\__init__.pyc", line 123, in __getattr__ INFO - _remoteClient.client.RemoteClient.__init__ (16:59:45.604) - MainThread (7576): Initializing NVDA Remote client INFO - core.main (16:59:45.617) - MainThread (7576): NVDA initialized INFO - config.ConfigManager.save (21:31:24.442) - MainThread (7576): Base configuration saved INFO - watchdog.waitForFreezeRecovery (22:21:34.093) - watchdog (664): Starting freeze recovery after 0.5007226999987324 seconds. INFO - watchdog.waitForFreezeRecovery (22:21:34.295) - watchdog (664): Recovered from freeze after 0.7027228999977524 seconds. INFO - config.ConfigManager.save (22:32:42.587) - MainThread (7576): Base configuration saved INFO - watchdog.waitForFreezeRecovery (22:38:07.771) - watchdog (664): Starting freeze recovery after 0.500288700000965 seconds. INFO - watchdog.waitForFreezeRecovery (22:38:08.023) - watchdog (664): Recovered from freeze after 0.7524827000015648 seconds. INFO - watchdog.waitForFreezeRecovery (22:38:31.677) - watchdog (664): Starting freeze recovery after 0.5002370000001974 seconds. INFO - watchdog.waitForFreezeRecovery (22:38:32.030) - watchdog (664): Recovered from freeze after 0.8534374000009848 seconds. INFO - watchdog.waitForFreezeRecovery (22:42:02.649) - watchdog (664): Starting freeze recovery after 0.500347299999703 seconds. INFO - watchdog.waitForFreezeRecovery (22:42:02.952) - watchdog (664): Recovered from freeze after 0.8033006000005116 seconds. INFO - watchdog.waitForFreezeRecovery (22:47:05.011) - watchdog (664): Starting freeze recovery after 0.5001825999970606 seconds. INFO - watchdog.waitForFreezeRecovery (22:47:05.365) - watchdog (664): Recovered from freeze after 0.8542182999990473 seconds. INFO - watchdog.waitForFreezeRecovery (07:32:23.241) - watchdog (664): Starting freeze recovery after 0.5000717000002624 seconds. INFO - watchdog.waitForFreezeRecovery (07:32:23.393) - watchdog (664): Recovered from freeze after 0.652151700000104 seconds. INFO - watchdog.waitForFreezeRecovery (07:32:49.362) - watchdog (664): Starting freeze recovery after 0.5001726999980747 seconds. INFO - watchdog.waitForFreezeRecovery (07:32:49.413) - watchdog (664): Recovered from freeze after 0.5510054999977001 seconds. INFO - watchdog.waitForFreezeRecovery (07:33:14.422) - watchdog (664): Starting freeze recovery after 0.5002416999996058 seconds. INFO - watchdog.waitForFreezeRecovery (07:33:14.675) - watchdog (664): Recovered from freeze after 0.7529530999963754 seconds. INFO - watchdog.waitForFreezeRecovery (07:35:18.576) - watchdog (664): Starting freeze recovery after 0.5003122999987681 seconds. INFO - watchdog.waitForFreezeRecovery (07:35:18.930) - watchdog (664): Recovered from freeze after 0.8539851999958046 seconds. INFO - watchdog.waitForFreezeRecovery (07:35:19.810) - watchdog (664): Starting freeze recovery after 0.5002815000043483 seconds. INFO - watchdog.waitForFreezeRecovery (07:35:21.524) - watchdog (664): Recovered from freeze after 2.2145548000044073 seconds. INFO - watchdog.waitForFreezeRecovery (07:41:17.062) - watchdog (664): Starting freeze recovery after 0.5000419000061811 seconds. INFO - watchdog.waitForFreezeRecovery (07:41:17.517) - watchdog (664): Recovered from freeze after 0.9544934000005014 seconds. INFO - watchdog.waitForFreezeRecovery (07:41:18.043) - watchdog (664): Starting freeze recovery after 0.5000438999995822 seconds. INFO - watchdog.waitForFreezeRecovery (07:41:18.397) - watchdog (664): Recovered from freeze after 0.8533956000028411 seconds. INFO - globalCommands.script_navigatorObject_devInfo (08:26:04.868) - MainThread (7576): Developer info for navigator object: name: "White Spy Adrian 'Musics' &&& Ruby [Eyeball] - Sonic 3 &&& Knuckles: Hard Bosses Edition (V.400.0) -OST- = Major Boss Theme || Username - PREVUE guide Era 2 Song #1 -- HIGHEST QUALITY!" role: BUTTON processID: 8664 roleText: None states: FOCUSABLE isFocusable: True hasFocus: False Python object: Python class mro: (, , , , , , , ) description: '' location: RectLTWH(left=1063, top=720, width=32, height=48) value: None TextInfo: appModule: AppModule(explorer, appName='explorer', processID=8664) appModule.productName: 'Microsoft® Windows® Operating System' appModule.productVersion: '10.0.26100.1301' appModule.helperLocalBindingHandle: c_void_p(2581291365184) appModule.appArchitecture: 'AMD64' windowHandle: 196860 windowClassName: 'Windows.UI.Input.InputSite.WindowClass' windowControlID: 0 windowStyle: 1342177280 extendedWindowStyle: 0 windowThreadID: 9816 windowText: '' displayText: '' UIAElement: UIA automationID: NotifyItemIcon UIA frameworkID: XAML UIA runtimeID: (42, 196860, 4, 4) UIA providerDescription: [pid:8664,providerId:0x0 Main(parent link):Unidentified Provider (unmanaged:Windows.UI.Xaml.dll)] UIA className: SystemTray.NormalButton UIA patterns available: LegacyIAccessiblePattern, ScrollItemPattern, InvokePattern

Short of reading material on a flight this afternoon I noticed the RNIB's Access IT magazine pop into my inbox just before takeoff. It's never exactly been on the front foot, but to arrive *today* with a whole section about deals *from the RNIB themselves* which expire on *December 5th* ... takes the editorial standard to a new low. Still, it killed 15 minutes at 37,000ft. Bertie has had 2 impressive bowel movements whilst out today. Shame the magazine wasn't in braille, could have used it to clean him up!

Zach Bennoui reshared this.

Great software is free software.

Out of the many brilliant #FOSS tools out there, ZDNet’s Jack Wallen picks seven he considers so good he’d gladly “throw down some cash“.

And guess what? Nextcloud is one of them. Well, we wouldn’t settle for less 😉

zdnet.com/article/7-open-sourc…

#foss

When I tried to tell my mom about me wanting to change my name, she made an absolutely massive deal about how people would think it's unprofessional or that I was trying to hide my identity (whatever that means, never mind my legal name is on invoices and anything relating to finances). She hammered it into my head that I wouldn't get a job if I put anything other than my legal name on my resume. But would you look at that, first try putting my authentic self out there and I work at a company with some of the most supportive and awesome coworkers ever, and I love my job. So TLDR, my mom was wrong as is pretty much the norm for any queer issue, and supportive work environments are terrific things.
in reply to Milu P. Pragerova

@Milu FairEmail umí také více účtu, ale Thunderbird není špatný.
Já porad nevím co je špatného na Owner profilu mít Google play, které běží v sandboxu. Nemá v systému žádná práva, je to jak běžná aplikace.Sice teď mám také víc profilů, ale stále si říkám, jestli mi za to stojí.
Newpipe mně momentálně nepřehraje žádné video.

@nacelnik01

in reply to Archos

@Milu Já jen ještě dodám. Třeba originální Grapheneos kamera je nic moc. Ja mám klasickou pixel kameru a vypnutý u ní internet. Zase když už má člověk trochu dražší telefon, chci ho pořádně využít. Jinak k tomu Google play, samozřejmě nechci nikoho nutit co a jak má používat, jen si říkám, jestli se někdy zbytečně netrápíme 😀
Na počasí mam BreezyWeatheer
f-droid.org/packages/org.breez…
A ještě přidám Syncthing - fork
f-droid.org/packages/com.githu…
in reply to Schmaker

@schmaker
Já mám taky Aurora store na apky co na fdroid nejsou a potřebuji je.

Jinak mě asi ta jejich kamera stačí. Nejsem zas nějaký fotící maniak a pro mě je to dobrá kvalita. Skromná jsem 🥸
Na počasí mě asi nejvíce vyhovuje Cirrus. Vyzkoušela jsem jich hodně a toto rozložení mi vyhovuje.
Jinak asi máte Zdeňku pravdu, že u GOS ty apky z play nebudou problém ale za mě osobně se mi líp dýchá čím míň jich tam mám. Jen pocit.

A ted mi při mé hlouposti došlo, že už máte Milane ten pixel s GOSem? Já myslela až po novém roce? 🙃
@archos @nacelnik01

in reply to Milu P. Pragerova

@Milu Přesně tak — u GrapheneOS je to hodně i o pocitu. Technicky ty aplikace z Play problém nejsou, ale když jich má člověk míň, prostě se mu líp dýchá. Hlavně má každý jiné potřeby — já se v práci bez WhatsAppu neobejdu a pravidelně potřebuju navigaci. Pro mě je důležité, aby kalendář, kontakty, e-mail a další věci neměl Google, stejně tak vyhledávání. To, jestli mám Google Play v sandboxu, je mi v zásadě jedno.@schmaker @nacelnik01

I'm a bit worried about the discourse around #ai.

It's totally OK to have strong opinions either way, but I feel like in certain circles it's becoming a purity test.

Do you hold the RIGHT opinions about AI, how it's trained and how it's used?

I think pointing out the dangers is important. Pointing out the risks is important, but recognizing that the situation is nuanced and complex is important as well.

#AI
in reply to Matt Campbell

@matt
To make an analogy to something much less divisive: it was clear to me that at some point, we would want to move away from subversion to some other version control system. It was also clear that the market would eventually settle down, and whatever won would have a clear upgrade path from subversion -- but that couldn't be said for all of the intermediate contenders.

So it was prudent to avoid moving until the winner clearly emerged.

I am letting people play with LLMs in controlled circumstances, wtihout ever putting their results into production and clearly marking what they do and how they got there. Someday it may crash and burn; someday it might produce something worthwhile and sustainable. But until then, the responsible thing to do is not to do it.

in reply to -dsr- (hypoparenthetically)

@dashdsrdash @matt You are absolutely correct for any situation where correctness cannot be trivially and unarguably verified.

There are situations however where correctness is a binary toggle and as plain as the nose on my face.

Does the web interface look like how I want?

Did this Python code build the correct bag of infrastructure needed to run the site?

These are trivially answerable questions.

in reply to Feoh

@matt

Gosh, no. "The web interface looks the way I want" is not "the web interface is correct", and the entire history of software development as a craft slowly working its way into an engineering discipline is the story of why those things are different.

There are things which have provably correct answers, and beyond the trivial ones, they tend to be things like "use this well-tested theorem prover".

The problem with repeatedly feeding LLM output to a theorem prover and checking for correctness is the same problem as with bogosort, the canonically worst of all possible sorting algorithms.

(In case you have forgotten bogosort:

10 LIST.randomize-order

20 if LIST.sorted != true then goto 10

In case anyone is standing next to the computer help desk...
With the ever increasing number of IOT devices in my house, I'm looking to migrate to a more secure networking strategy with 0 trust approach using segmented VLANs. Does anyone have experience with Firewalla vs. equivalent Ubiquiti gear?
I'm currently running an Eero POE gateway with an Eero 7 Max mesh. The network functions well enough, however I'm finding the lack of control over basic routing functionality on the Eero maddening.

Rust 1.92.0 has been released! 🌈 🦀

This version adds RwLockWriteGuard::downgrade(), adds Location::file_as_c_str(), improves diagnostic and validation for various attributes, no longer warns for unused Result<(), Infallible>, and more!

Check out the announcement: blog.rust-lang.org/2025/12/11/…

I'm happy that my proposal for an introductory course on Homotopy Type Theory / Univalent Foundations at the European Summer School in Logic, Language and Information 2026 in Prague was accepted!

A great opportunity to make use of @egbertrijke's recently published book, @MartinEscardo's lecture notes (in Agda!) and @danielgratzer and @carloangiuli's book draft!

Links for the curious:
- Egbert's book: doi.org/10.1017/9781108933568 & arxiv.org/abs/2212.11082
- Martín's notes: cs.bham.ac.uk/~mhe/HoTT-UF-in-…
- Daniel and Carlo's book draft: danielgratzer.com/papers/type-…

#logic #typetheory

This entry was edited (2 weeks ago)

WhatsApp Desktop Faces Major Update: Users Warned of Forced Logout and Resource-Hungry Upgrade

WhatsApp is preparing to log users out of its PC applications with a sweeping update set to begin on December 9, 2025. This comes as part of Meta’s plan to replace the older native Windows WhatsApp with a Chromium-based version—a move that promises new features but significantly increases system resource usage. While this is not the first warning, it signals a major shift in…

undercodenews.com/whatsapp-des…

I noticed the upcoming chatmail ‘relays’ feature in #deltachat. Changing the relay in the app (version 2.33) seems really easy, fantastic!

@delta I was wondering (for a friend) if there will be any publicly available relays published as a *#tor #onion service* as well? In combination with the app’s proxy support this would be awesome for any user’s #privacy.

in reply to SjoSjo 🐘️ ☑️ 🇺🇦 🇵🇸

for Tor there is nothing immediately planned but you may checkout and follow updates on github.com/chatmail/relay/issu…
Unknown parent

mastodon - Link to source

Delta Chat (39c3)

the "IM2000" description is somewhat dense and trying to account for a lot of past efforts in modifying SMTP, but the im2000 issue is just background for a mechanism that will likely be quite straightforward and simple. 😅
This entry was edited (2 weeks ago)

“Flutter 3.38.0: How an accessibility upgrade broke Android headings”
abra.ai/blog/flutter-3-38-0-ho…

PR that should fix it:
github.com/flutter/flutter/pul…

from Jan Jaap de Groot (@jjdg.bsky.social).

reshared this

AI shopping assistants now pick sizes and fill carts for you.

WebExpo 2023 speaker @tink asked a bold question. If agents browse for us, what even is the web now?

She zoomed in on what this means for accessibility and why the next UX challenge may involve non-human users.
tetralogical.com/blog/2025/08/…

Krátce po jmenování Andreje Babiše premiérem došlo v Ústí nad Labem k tragédii. Pětapadesátiletý muž se stal první obětí nové éry blahobytu, když zemřel na následky udušení poté, co mu dokřupava upečený holub vletěl rovnou do huby a zasekl se mu v krku. az247.cz/muz-v-usti-s...

Muž v Ústí se udusil, když mu ...

Was just thinking realistically, are you going to pull out your DotPad, Monarch, other larger graphic Braille display at the airport to check your Uber ride status? Or look at a transit /navigation app at directions? Was looking at the dimensions for the DotPad, the smallest of them all, and it's still the size of an iPad 11-inch, slightly larger and thicker. Good to pull out at your gate or in-flight, bad when walking around as it's too large.
Some of you have asked if Cadence uses a membrane or film over dots, and the answer is no. I'm told this was a deliberate choice, to make the cells feel more crisp and sharp. Indeed, their rigidity reminds me of Orbit cells, but you can push down on them and when you lift your finger they spring back up. While you lose out on uninterrupted graphics (since Cadence uses Braille spacing, meaning there's a gap every 2 columns,) you get a pocketable reading device that's prioritized for that task. I was thinking to myself how most of these companies approached the multiline Braille concept purely from the graphic side, not so much making reading portable. For many of these companies Braille is another product alongside magnifiers or screen readers, or big-name medical groups sponsor them. (Dot Inc is an exception here.) So they didn't have the creativity to think, "what if we made smaller versions of this? 4 lines of 12 or 20?" Still find this a bit astounding and sad, until Cadence came along. They took a lost opportunity and made it real.
This entry was edited (2 weeks ago)

heads-up ArcaneChat users:

the previous poll is over, the winner was:
"allow to set subject in classic email chats" next poll 👇

📊 POLL: What should be done next?

you can influence what is the next thing that should happen in the ArcaneChat ecosystem!

#ArcaneChat supporters can vote here:

ko-fi.com/polls/ArcaneChat-Wha…

🔮choose your own adventure! ✨️

This entry was edited (2 weeks ago)