User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
Admin
completely blind computer geek, lover of science fiction and fantasy (especially LitRPG). I work in accessibility, but my opinions are my own, not that of my employer. Fandoms: Harry Potter, Discworld, My Little Pony: Friendship is Magic, Buffy, Dead Like Me, Glee, and I'll read fanfic of pretty much anything that crosses over with one of those.
keyoxide: aspe:keyoxide.org:PFAQDLXSBNO7MZRNPUMWWKQ7TQ
Location
Ottawa
Birthday
1987-12-20
Pronouns
he/him (EN)
xmpp fastfinge@im.interfree.ca
keyoxide aspe:keyoxide.org:PFAQDLXSBNO7MZRNPUMWWKQ7TQ
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@amir @serrebi If you want to have an item in the windows explorer context menu to exclude a folder from Windows Defender, this bat file will add that: nashcentral.duckdns.org/projects/defender.bat
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@matt @amir The command that builds the bridge is: py -3.13-32 -m PyInstaller --onefile --noconsole --name eloquence_host32 host_eloquence32.py

There's no reason Microsoft should be flagging that.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@matt @amir Also, don't look at the build process! That code was handed to me in the repo I forked from. And he got it from whomever wrote the original addon in like 2017. And people have just kept endlessly hacking on what was already terrible. I think the original fear was that the repo that hosted the original addon with the eloquence dll files would get taken down. So someone hacked up a way to download and patch an old version of the addon. But then other people stopped caring about that at some point. So now everything is terrible. If you must build from scratch, just run build.cmd and wait, while trying not to think about it. Hey, at least you know it wasn't written by AI! AI would have written better code.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@x0 @amir Right, but I can't and don't, because neither Eloquence or the API is open source. It's allowed to exist on github, but I doubt any organization that actually manually approves things would accept it.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@matt @amir It's literally built with 32-bit python and pyinstaller: github.com/fastfinge/eloquence_64/
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@x0 @amir If I do, that's not happening. Because I can't afford that. Getting a cert Microsoft will accept is extremely expensive.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@amir @FreakyFwoof Odd. The updater worked here; I reinstalled v10 and auto-updated to v11 and v12 to check.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@KaraLG84 It’s fixed in v12
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@amir @FreakyFwoof There we go. V11 fixes that. And proves updating works LOL.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@amir @FreakyFwoof Yup. Any accent character is replaced with a space.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@FreakyFwoof @amir Ah-hah! It's CP1252, not ascii! So I'm converting some valid characters into spaces, here.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@FreakyFwoof @amir Okay! The problem is with how we clean accents. Not calling this function fixes it:

# --- HELPER: Strip accents to ensure pure ASCII ---
def clean_key_text(text):
# Normalize unicode to decompose characters (NFD)
# Then filter out non-spacing mark characters (accents)
return "".join(
c
for c in unicodedata.normalize("NFD", text)
if unicodedata.category(c) != "Mn"
)

But why? Are accents actually allowed in eloquence dictionaries? I didn't think so?
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@amir The hell? Why is it getting something different, then? I have no other dictionary files, so nothing is getting mixed. It downloads the zip file directly from github. Where on earth is this coming from?
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@amir No, it's there in ENURoot.dic: theatre `[.0tx.1yat.0rx]
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@amir I'm trying to avoid overwriting other people's customizations, is the thing. If you add a word yourself, it should stay, and not get replaced. And the bug happens even when all dictionaries are deleted. It's something about how I download the file.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@amir Uh, do I still have a strange bug, or are the community dictionaries broken? Words like theatre and sake are weird. But Hermione works fine. As does anime. So it's not all words with e. I'm confused! Encoding issues maybe?
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@J3317 No. Because it says in the readme. And in the repo name. That it's for 64-bit NVDA. 2025 is 32-bit NVDA.
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
How long until the sentence "I need to update my fork," is ambiguous, and someone will have to ask "Did you mean on git, or did you mean your USBC smart fork?"
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
Okay! New release. Once again.
This release fixes all of the bugs in v9:
• your dictionaries no longer get clobbered by the dictionary updater
• the addon updates button no longer just displays an error
Moving forward after this release you should be able to use the "check for updates" button in the eloquence category under settings.
github.com/fastfinge/eloquence_64/releases/tag/v10
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
3w
@TomGrant91 yes, that will be fixed in the next release. I hadn’t realized a file was missing.