On 8/2/2019 4:52 PM, DL Neil wrote:
On 3/08/19 8:32 AM, Terry Reedy wrote:
On 8/2/2019 5:10 AM, DL Neil wrote:
Please recommend a Python-friendly, bandwidth-respectful, (but effective) system for pair-programming; where the 'pair' are geographically separate.
'geographically separate' could range from in the same room to a continent away, as long as two people have separate keyboards and screens.

True! As long as the tech works...

My experience has always been two sharing one PC, ie taking-it-in-turns to think or to type. Do you do it differently?

I currently work on my home machine, so my recent 'pair programming' has been limited to comments and now diff suggestions on Github PRs. So I need the comments on real use cases from you and Chris to even think about something for IDLE.

IDLE is Python-friendly, free, and FOSS.  I wonder how hard it would be to pair programming connectivity as an extension.

This was an initially pie-in-the-sky idea that cannot solve your immediate problem. But I think now that something useful could be feasible sometime.

1. Do the systems you have considered operate as an editor + satellite terminal or as synchronized peer editors.

Always the former, the local devices are merely 'repeaters' (through a web browser) of what is happening on the server. This at both edit and

Good. Master-satellite would be much easier. We added line numbers to IDLE's editor last week, so verbal feedback from satellite to master should be sufficient for many purposes.

IDLE already intercepts keypresses to do syntax coloring and smart indentation (after \n). It should not be too hard to also send through a socket anything sent to a tkinter/tk text widget. Making a text read-only is trivial.

With a real editor as satellite, the locally configured font face, font size, and syntax highlight colors can be used. Transmitting highlighting as text would require the invention of a protocol to differentiate text from such meta information.

run/test stages.

Running code locally would

1. Save bandwidth.

2. Allow two users to do different things occasionally.

3. Reveal OS dependencies if on different systems. When patching IDLE, I would love to have my Macbook set as a satellite to check that code works on Mac as well as Windows.

4. Require encryption of some sort if over the public internet. Just because people download code from strangers over http is not a reason to encourage carelessness. I am pretty ignorant on what this would mean.

2. Do two systems connect directly peer-to-peer or through a server?

Exclusively the latter (thus far in the investigation).

The former would be the only option until someone (else) set up and supported a server.


--
Terry Jan Reedy


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

Reply via email to