36 comments

[ 3.0 ms ] story [ 81.4 ms ] thread
Tried yesterday with my colleague. Actually, it only supports one file per session (see TODO in the README), IMHO this limit doesn't make it usable for a real pairing session, especially when you need to work on several files in a project.
Thanks for the feedback -I'll share at once with my colleagues. The code is open source though, it should be reasonably easy to add these features.
That's the big thing that's stopped us from using this and similar tools. Most projects involve frequent switches between multiple files.
Maybe not terribly useful for real world programming (while there is a one file limit), but for interview coding sessions it seems brilliant to me. Great work!
Thanks! Really appreciate the feedback.
Am I the only one here who thinks that "Molecule" would have been a better name than "AtomPair"? ;)
Hehe - I love it for sure -- we considered it but decided on something more 'obvious' :)
I had lobbied for Democritus... unsuccessfully :(
I would have named it "Van der Waals" or "Spin"... =)
better than "quantum teleportation" I guess
The name these days would probably end up as Quantumly.
My personal choices would have been "Covalent" or "Ionic," but naturally those are taken already.
Would this work for teaching programming remotely too?
Sounds like a great idea for it. If you can get someone to be 1 on 1 with you like that.
An "old idea", but executed brilliantly. I absolutely love this, and will be watching the development closely.

I've always been a fan of 'pair programming' even remotely using Skype for example... but that's not that great (you can only watch, or one person can only work at any single time) but this is actually designed for real pair programming over the internet. Love it!

Great stuff!!

Did you consider using a WebRTC data channel for this?
As it was developed by Pusher I guess it was not their goal.
Indeed. However, if WebRTC had been used, how would the state be synced? Having a central server vastly simplifies that problem.

Disclaimer: Pusher employee (didn't work on this project though).

It's been a little while since I thought about it, and I may not be considering exactly the same use cases, but I'm pretty sure I'd do something vaguely like this:

Initiator of session holds authoritative file. Guest receives full file upon connection. Diffs are taken on each change (onkeypress event) ( for simple key mapping invariance (♥λ) ). Shoot the diffs over the wire, and apply the updates.

Something like that.

I've started a project doing pair programming livestream sessions. We're using floobits integration with sublime as editing (multiple) local files is ideal.

If this reaches that level I'd love to try it out.

Am I the only one who thinks pair programming just makes you sleepy?
Whats the prevalence of Atom as a text editor?
From what I understand, Atom has a pretty big user base and it's getting larger. Now that they've squashed a lot of the bugs that plagued the early versions, it seems to be taking off.

Note: I've been using it for over a year, so I may have a biased view as a member of the community.

This is really impressive!
Looking at the profile of the developer who made this - he's only been coding for a year. Not a bad effort for a Makers Academy bootcamp grad