Re: problem with selecting remote procedure calls

2015-07-24 Thread eric johansson


- Original Message -



From: Irmen de Jong irmen.nos...@xs4all.nl 

Eric, if you're concerned about performance, Pyro4 (the source 
distribution) comes with 
several examples that do simple performance related tests. You could 
run these and see 
what figures you get on your setup to see if it's anywhere 
acceptable, before even 
building anything with Pyro yourself. 


sounds like a plan. I managed to get around the initial problem I had because 
apparently the natlink extension for NaturallySpeaking is semi-persistent. 
Sometimes the statically created RPC connection would work, other times it 
wouldn't. The current workaround is to place the RPC connection initialization 
in the code that activates the grammar. 


blockquote

Interesting project btw. 

/blockquote
it has been a long time since a project like this has made me smile ear-to-ear. 
For example, yesterday I had to create twelve open VPN configuration files and 
key pairs. With broken hands like mine, it would be an extremely painful hour 
to two hours to entering the data over and over again even with easy RSA. I was 
able to complete this task in about 10 to 15 minutes. Now that's what 
accessibility is all about. 

I believe my experiment shows that a two dimensional grid with names for both 
rows and columns can allow a speech recognition dependent user much faster data 
entry than one could have with straight speech recognition. 
With some enhancements, it should be possible to use this technique to remember 
something on the fly. 

ideally I'd like to take a tool like treesheets , put some Python power 
underneath the grid, and explore how a grid tool can help accessibility but I'd 
need a volunteer to make that happen. 
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: problem with selecting remote procedure calls

2015-07-23 Thread Tim Golden
On 23/07/2015 04:10, eric johansson wrote:
 https://docs.google.com/drawings/d/1M-TzfRaSaAhFXQk1OmcmHNOaW31_7W_7q0bf8CAJqSw/edit?usp=sharing

  while this is related to my speech recognition through the next
 project, is actually a good question for RPCs in general.
 Specifically, are there any good-RPCs out there that are fast,
 supported, and easy to use?

It looks like a decent fit for Pyro:

  https://github.com/irmen/Pyro4

  http://pythonhosted.org/Pyro4/

  https://pypi.python.org/pypi/Pyro4

Pyro's certainly actively maintained and I've seen its developer, Irmen
de Jong, pop up on this list fairly recently.

Exactly how good a fit it is would depend on your precise setup. But I
think it's worth exploring. I can't speak as to its speed -- I've only
used it where speed wasn't really an issue.

TJG
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: problem with selecting remote procedure calls

2015-07-23 Thread Irmen de Jong
On 23-7-2015 13:39, Tim Golden wrote:
 On 23/07/2015 04:10, eric johansson wrote:
 https://docs.google.com/drawings/d/1M-TzfRaSaAhFXQk1OmcmHNOaW31_7W_7q0bf8CAJqSw/edit?usp=sharing

  while this is related to my speech recognition through the next
 project, is actually a good question for RPCs in general.
 Specifically, are there any good-RPCs out there that are fast,
 supported, and easy to use?
 
 It looks like a decent fit for Pyro:
 
   https://github.com/irmen/Pyro4
   http://pythonhosted.org/Pyro4/
   https://pypi.python.org/pypi/Pyro4
 
 Pyro's certainly actively maintained and I've seen its developer, Irmen
 de Jong, pop up on this list fairly recently.

Hi!


 Exactly how good a fit it is would depend on your precise setup. But I
 think it's worth exploring. I can't speak as to its speed -- I've only
 used it where speed wasn't really an issue.

Performance depends on many factors. I used to have a table with numbers in the 
manual
but since replaced it by a more general indication;
http://pythonhosted.org/Pyro4/intro.html#performance

Eric, if you're concerned about performance, Pyro4 (the source distribution) 
comes with
several examples that do simple performance related tests. You could run these 
and see
what figures you get on your setup to see if it's anywhere acceptable, before 
even
building anything with Pyro yourself.

Interesting project btw.
Good luck!

Irmen



-- 
https://mail.python.org/mailman/listinfo/python-list


problem with selecting remote procedure calls

2015-07-22 Thread eric johansson
https://docs.google.com/drawings/d/1M-TzfRaSaAhFXQk1OmcmHNOaW31_7W_7q0bf8CAJqSw/edit?usp=sharing

 while this is related to my speech recognition through the next project, is 
actually a good question for RPCs in general. Specifically, are there any 
good-RPCs out there that are fast, supported, and easy to use?

The Google Doc image given above shows the kind of things I'm doing to make 
speech recognition, running on windows, drive linux. The relay and emitter pair 
are almost trivially easy. The RPC is used to communicate the Windows scan code 
or codes for a given key and then the inner side translates that scan code into 
an actual code understood by Linux and it is shoved into the input queue.

 it's much harder to create a natlink module  with a matching object in the RPC 
server. In this case, the  class data jammer queries the application I built 
and extracts data necessary to inform the grammar back in the natlink module. 
Once the grammar executes, data jammer is called again to transform the 
results of the recognized grammar into usable data that  will drive another 
application. In this case, I stuffed the data into the Windows input queue 
which in turn gets injected into win_relay.

At this point, this is where I'm having some trouble with the RPC choices. I 
initially settled on rpyc  because it was easy, it looked like it would do what 
I needed and  it might even be fast enough. The problem being that the user 
community is mostly inhabited by crickets. Second problem is that it's not 
clear if I can export multiple objects from a single server. Ideally, I want 
there to be  a pair of Python programs executing for any given grammar. The 
first would be the module imported into natlink  and the other would be it's 
matching partner in crime on the linux side.

 I'm looking for ways to implement a plug-in architecture with independent 
objects.  I would welcome advice on pieces I can recycle to meet my needs.  for 
example, which Python RPC environment would best suit my needs. Remember, it 
needs to be relatively light because execution time does have an  influence on 
recognition accuracy and speed.

 thanks in advance
 --- eric


-- 
https://mail.python.org/mailman/listinfo/python-list