I've been wanting to do this with you since you PM'd me about it a couple of years ago... but I'm also an extreme introvert and am very nervous about using voice chat software. Not because of privacy reasons (don't care about that, i have nothing to hide) but because I'm very awkward and voice chat creates a much more personal connection vs. text chat.
I know exactly what you mean. I've put off pairing for years due to similar concerns. I'm actually not comfortable with video at this point. That does feel pretty personal. That's one reason why I prefer audio.
I figure audio is a bare minimum. It would be very awkward to share a session with someone you had no verbal communication with. You don't want to type to each other in the code window, and having to tab about to type in a communication window would be weird and slow. Too much context switching, and it takes you out of the code.
I had actually thought of using Discord for this. I want to start with more common tools as a baseline first. Basically I want to convince myself how common tools probably suck, and the lesser known tools provide a much better experience. I figure these other tools exist for a reason, and I want firsthand experience to justify using them.
@Vagabond: We can have multiple sessions. I actually expect multiple sessions. I don't expect more than 2 people at a time. Though that might be interesting to try. Scheduling could be difficult with more people though, and some software might limit to 2 people.
Not sure how to use it gainfully though... If I have some time, I'll try to find a tutorial on using HxD or something in the next couple of days.
Don't worry about it. I mostly just use it to quickly look at binary data. I don't generally do anything fancy with it. Besides, hex editors tend to be fairly simple tools with not a whole lot of features, so you can just sort of learn it on the spot.
As for Remote Desktop, I may be a bit confused. As I just read, and now vaguely remember, using Remote Desktop will actually log out the local user before logging in the remote user. Not very useful. Instead, use Remote Assistance, which lets both users be logged in at the same time. I also vaguely remember you can enable or disable control for the remote user. I was planning to use
Remmina to connect. Not sure if it supports connecting to an existing desktop session such as with Remote Assistance. From what I understand, it's the same underlying protocol.
My idea was to use voice chat, screen sharing, and shared control. The last one could potentially be worked around if voice instructions are clear, though that gets a bit away from the idea of pair programming.
This also simplifies software use somewhat, since it only needs to be installed on one computer.
There are alternatives to screen sharing. I've heard the Cloud9 IDE can link with someone else so updates are visible to both. It's a shared editing environment, but isn't a full desktop environment. It can be a bit faster since it's just keypresses and actions being exchanged between two copies of the software running on both machines, with no need to send images. Not having the shared desktop means you can't share external tools, so it's not quite a full replacement.
We can discuss the specifics of the project during the session, and perhaps just let it evolve as we go. I figure C++ would be a good choice, though I'm open about language. I've dabbled with this idea in D, and also thought about using JavaScript. You can use NodeJS to run JavaScript outside the context of a web browser. NodeJS provides API libraries to access the file system and other such resources, much like any other programming language.
@White Claw: Google Hangouts is one of the options I wanted to try. I've also noticed Google released a Google Chrome plugin for screen sharing. Might be related, I'm not sure.
I think the best time for me would be somewhere around 6-8am GMT (if I'm doing the math right).
That works out to 2pm-4pm for me. Quite convenient. Weekends are no problem.
I would prefer solutions that don't put the host at risk of funny business. If there is shared keyboard and mouse editing capabilities on a desktop, the possibility would exist for them to go opening strange programs and typing in strange commands, though I would also assume in a shared screen environment the local host would notice this and kill the connection. And also never pair with that person again.
I'd say that given I don't do much OP coding, maybe it would be more of a point-and-talk to me about where the repo is and all that. Or, if you're interested, we could freestyle some Blender basics, since you were asking about it the other day.
Those are both good ideas.
@leeor_net:
I'm doing my best to try to get over myself. I still find it odd that voice chat over the 'net is so threatening to me. I know I have a tendency to stumble over my own words so it probably comes down to thinking I sound like a bumbling idiot.
All the more reason to practice with people who won't mind.
@Vagabond: I think I've actually watched the video before. Indeed, there are a lot of resources out there.