[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Search]

[Emacspeak] Re: Mac server python version requirements, go version and intro



Raman--


> 1. You should not let things like "build chains " etc guide your
>   exploration

Great point!  I should have been more clear in my concerns.  My concerns 
were around getting the contribution into mainline Emacspeak.  I want to 
make something that can be shipped "in the box" with Emacspeak. 


> 2.  All the new language platforms, rust, go etc (heck even Haskell)
>    have a large eco-system of libs and build chains...

Haha, I agree, but I really want to lower the barrier of entry an inch or 
two if I can.  The usability gap between Emacspeak and anything else 
I have tried in the last year is -- astonishing.  I really want to bring more 
low vision and blind users into the fold.  Using VSCode was extremely 
painful... I tried hooking Kakoune up to the mac server before I really 
understood anything, that was an abject failure. 



> 3. So by all means experiment with a server written in Go; though I fail
>   to understand why it would be performant

I have been considering this a lot.  Specifically what causes the lag in the 
python code.  I have yet to really trace it down, but it assuredly is there, 
when digging through lines with swiper (what a great plugin BTW) I can 
end up with a good few seconds of backlogged audio icons.  I am starting
to think it has to do with the objective c delegate callbacks for completions
stacking up and blocking (which even would stop processing on incoming 
stdin till they unwind). 

Part of the case for Go can be made for async/await as well -- which is just
the ability to do something else while waiting on IO.  However go has some
other real nice features for audio playback, soft-realtime GC, true threading
across multiple threads with no dreaded, yet unduly vilified, GIL.  The way
Go does interfaces well and cross platform support and building is also insanely 
useful for something that might have a lot of pluggable TTS and audio play
systems. Go is a good fit for this problem domain, great at doing lots of
things at once and reacting to stuff in flight.

Honestly, I think the right answer is probably "why not both?"  I think I will
continue on the Python fixes for now -- as it is a fully functional server and 
I have major things I do not understand about how the commands work as 
of yet... is there a list of effects like echo and other stuff I could reference 
for example.


> P.S. You're a breath of fresh air -- really appreciate your openness to
> learning new things and for your fix to the Mac Server yesterday.

Thanks!  Happy to be part community so open to contributions.  I hope
to ship another fix and possibly a requirements.txt so people can install
the deps with one command... possibly even follow the lead of the other
servers "make mac" would validate and install what is required.

-- 
Robert "robertmeta" Melton


|Full archive May 1995 - present by Year|Mailing list's archive of current year by month|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page