Remote/Pair-Programming in-the-cloud

Chris Angelico rosuav at gmail.com
Fri Aug 2 18:34:19 EDT 2019


On Sat, Aug 3, 2019 at 7:30 AM DL Neil <PythonList at danceswithmice.info> wrote:
>
> On 3/08/19 8:44 AM, Chris Angelico wrote:
> > programmed using just a video call service (with screen share). The
>
> TeamViewer, and similar?
> I didn't mention this earlier, perhaps being carried-away by my
> enthusiasm for 'there must be a better way'...

Google Hangouts, or a proprietary internal platform ("Owl") which does
similar things but is better able to handle different bandwidth
connections.

> I have used VNC-type software to slave screens, either in pairs
> (tutorial - mine following a trainee's work) or in a 'class set' (using
> my screen as a 'projector'). It seemed both finicky and fragile and
> whilst working well on-the-LAN (ie in-class), was too slow and 'block-y'
> updating the screens when we used it for remote tutorials. (of course
> such [also] reveals that we didn't have very high-speed connections)

Yeah, that would be basically what I'm talking about. It works fairly
well with a trainer/trainee model, as the trainer wants to be "hands
off" most of the time anyway (better to talk the trainee through doing
it than to grab the keyboard and do it yourself), and the "projector"
model you describe is definitely that style.

> > master's own text selection). Having everyone able to edit
> > simultaneously creates technological problems, and then a social
>
> One of the encouraging features of many options (on list in earlier
> post) is the facility of "multiple cursors".
>
> At first this confused me, because many text editors allow one to
> declare "multiple cursors" in order to perform the same action at
> multiple locations throughout the same source-file. In the
> pair-programming context, "multiple cursors" means exactly what you say:
> each contributor is able to work (relatively) independently of the
> other, and the system keeps track of who-is-doing-what! ("IDE-independent"?)

That would NOT be IDE-independent, as it requires help from the
software itself (what I'm talking about is the way screenshare can
jump across to your browser, a running app, etc, etc, and it's exactly
the same as being inside the IDE).

Multiple cursors is exactly what I meant when I referred to the
technical problem and the social problem. The technical problem
(there's only one ipt and every keystroke affects that point) can be
solved with multiple cursors, but you're still left with the social
problem (one person changes something up here, another changes
something down there, and your changes affect each other - or, one is
editing what another person tries to indent). So I'm actually quite
happy with a blanket solution to the social problem by saying "only
one person can edit at a time" - and forcing people to
commit/push/pull to transfer the code to a new driver - and using that
to avoid needing to go to the technical effort of multiple ipts.

> Which is why I assumed the need for Zoom or similar audio connection
> (A/V 'on top' likely to overwhelm a wi-fi link)? None seem to offer
> that, however some do provide a "chat" window.

Yes, some sort of audio link is HUGELY helpful, even if you do have
multiple cursors. You can synchronize over it ("Okay, lemme try
something") and just bounce ideas back and forth. If your software is
replicating the display, you don't need video, and an audio connection
is way lower bandwidth (also, a little latency can be handled - it's
no big deal if you have 100ms or 250ms lag on the audio if you have
snappy text updates).

> Yes, the "semaphore" is going to be my biggest concern on the night.
> When done in-person, a lot can be communicated non-verbally (and,
> perhaps particularly in this country: rather informally, eg even a nudge
> of the elbow = 'move out of the way and let me in/I got this').

"Move, I have a kit" is occasionally effective even when said by your
opponents... or maybe that's exclusive to Counter-Strike... anyhow.

> I'm thinking that such will require a greater degree of formality and
> courtesy. Radio operators are used to the discipline of letting the
> other person finish talking...

Right. Works quite well IME.

Basically, what I'd be interested in seeing is a multi-player game of
Notepad++, in contrast to IRC. http://www.bash.org/?85514

ChrisA



More information about the Python-list mailing list