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
10mo
@dhamlinmusic @jscholes Nah. An update for some marketing software we use at work.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes Or a security bug so bad they don't want to tell anyone about it.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
My favourite app update changelog that I've seen in the wild in a long time. I'm sure glad this update got installed!

Changed:
• Nothing
Added:
• Nothing
Removed:
• Nothing
Fixed:
• Nothing
Deprecated:
• Nothing
2
5
6
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@alexchapman @daygar @jscholes @matt If you ask chat GPT it will guide you on how to get the visual C++ compiler and Windows SDK set up on the command line. Just specify that's what you want or it will direct you to the GUI.
0
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@alexchapman @daygar @jscholes @matt Meh. You can install the visual studio build tools from the command line, these days. Then just add the workload to vscode. Getting a development environment set up isn't the hard part. I actually already have one because of unspoken-ng and working with steamaudio. I just am not comfortable in C++ doing anything other than compiling other people's code and making the odd, extremely basic, change.
1
0
1
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@daygar @jscholes @matt If you look at this file, you should be able to understand what's expected from you by both ECI.dll and NVDA. github.com/fastfinge/eloquence_64/blob/master/host_eloquence32.py
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@matt @jscholes Is there really anything to be gained, though? Few enough blind people who care about eloquence know C++. Even fewer are going to know rust. So is being one of maybe three people who could maintain it worth whatever performance gains you'd get?
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes @matt I know davidacm is working on something in rust, of all things. But I don't know where he's at with that, and I don't know anyone else who wants to work in rust. So either he'll finish it and maintain it all himself or nothing will come of it. :-)
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@matt @jscholes Yup. I'm hoping someone will get inspired and do things correctly. I just wanted something that worked, and Python was the easiest way for me to get that done. It's far from the best way.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes You might be right. I just didn't wanna distribute like five different dependencies with the addon. Then it turned out that NVDA's version of Python doesn't include multiprocessing, even though it's built-in to Python by default, so I had to annoyingly include .pyd files and library code anyway.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes Extremely annoying. I spent like two hours fighting with that because I'd given the AI the 6.4 manual, and it was doing things the manual said were allowed, but it wasn't working. Took me forever to realize that the DLL is a different version than the included manual.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@feld @jscholes Maybe you could. But I don't really understand low level c++ code and pointers and things well enough to want to use AI for this. When it comes to Python, I can at least understand the code well enough to audit it (even if not to write it myself), and understand the approach. With C++ that wouldn't be the case.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes Those are for version 6.4 of the DLL, and we use 6.1 because 6.4 has a bunch of changes like requiring registry entries for languages and voices that make it not portable, and several annoying bugs. I believe 6.4 also made a bunch of changes around threading. I already ran into issues with this, because the tts.txt is the manual for 6.4, and we need to use 6.1, the last release before IBM took it over.
2
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes It's original code used C++ as the host, with GRPC for communication. I made it retry because I didn't want to deal with the complexity of the GRPC dependencies in an NVDA addon, I don't really understand protobuffs, and it just didn't feel any faster.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes So the reason I wanted Python was because I naively thought a lot of the existing code could be reused, as well as some of the learnings from IBM TTS, eloquence threshold, and the sonata voices. That turned out to be entirely wrong. The "correct" way to do this would be to write a 64-bit API compatible wrapper for ECI.dll. But that's way beyond my abilities as a programmer, and AI can't help because we don't have the development headers for ECI.dll to feed it.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes So with more code updates this morning, the thing I'm noticing is that the more rewriting that is done, the less and less code there is from the initial AI rewrite. The AI solution mostly worked, but was over-complicated and multi-threaded where it didn't need to be. We're slowly arriving at code that is both simpler and works better.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes Hah no worries. Your question got me thinking about what that even means. Like if my collaborator doesn't speak my language, does that mean I should disclaimer the code as AI assisted? If the code started off as entirely human generated, and an AI rewrote it, is it now AI generated? If a human rewrote large parts of what the AI did, when does the code stop being AI? I really don't know.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes Oh, also, I used spell check on the build docs. So I guess that counts. And Titet11 is Mexican and more comfortable working in Spanish, so AI translation was involved in communication and some of the comments. If you want to avoid anything that uses AI you need to avoid this, as it couldn't exist otherwise.
1
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes And obviously the code for the 32-bit addon was entirely (I assume) human written.
0
0
0
0
User avatar
🇨🇦Samuel Proulx🇨🇦 @fastfinge@interfree.ca
10mo
@jscholes At this point I would estimate that every line of code has been read by at least two humans, and about 50 percent of them modified directly by a human once the AI was done.
0
0
0
0