Settings

Theme

Show HN: Start a pair programming session over WebRTC by just sharing a link

codecoachapp.com

131 points by jsin 10 years ago · 46 comments

Reader

asadlionpk 10 years ago

I like how simplistic this is. Btw, I am one of the makers of: https://codepad.remoteinterview.io

We used Firepad[1] (which is based on Firebase) to sync data.

[1] https://github.com/firebase/firepad

  • jryan49 10 years ago

    I suggest you do not run things as root inside your docker containers. :)

  • dkopi 10 years ago

    I'm fascinated by the use of random word combinations instead of a random alphanumeric sequence for passing a unique URL.

    What was the reasoning behind this decision? On one hand, it sort of acts like a phonetic alphabet if you want to read out the URL over skype. But on the other hand - is OberonNostalgicCeciliaVoltage really that easy to spell if you aren't a native English speaker?

    • asadlionpk 10 years ago

      Hello. As other comments mentioned, it is easier to communicate these URLs over the phone. These words were chosen very specifically to be short, phonetically different from one another, easy to understand over the phone, and also recognizable internationally. Here is the list:

      http://web.archive.org/web/20090918202746/http://tothink.com...

    • tarr11 10 years ago

      This always felt like overkill to me.

      a 4 character alpha-numeric code is 36^4 (1.6M) which is fine for new websites.

      If you run out, add a 5th character which gets you to 60M, and a 6th character gets you 2T.

    • moonshinefe 10 years ago

      I forget which site it is off the top of my head but there's a pretty prominent gif sharing site that does it I often get linked to.

      I think it's basically just as you say, for English speakers anyway, a bit of an easier way to read out URLs when talking in person or voice chatting. With non-English speakers it doesn't do much, and you're forced to say letter for letter as you would with a lot of other URLs.

      • djhn 10 years ago

        One twist on this would be to somehow limit the wordlist to words that have relatively unambiguous pronunciation, and maybe limit those to the 100 000 most commonly used ones.

        Of course then you'll have to use more words for a similar number of links.

      • anirudhrata 10 years ago

        its gfycat.com

    • elliottcarlson 10 years ago

      Also, would "TouchingPlayfulEnjoyAspect" be something you want to tell a interview candidate? (First one it generated for me)

  • piyush_soni 10 years ago

    I stumbled upon your site a few days back. It's very neat and nicely done, but I had to close it because it treated C and C++ together. I wanted to quickly check how a code will behave in C89 vs C99 (or was it even compliant with C89 standards). Is there any chance your site will differentiate C89, C99 and C++ in near future? Thanks!

greenspot 10 years ago

For pair programming I can highly recommend tmux combined with any video chat (Skype, Hangout, etc.).

  • self_taught_ 10 years ago

    What we really need is a protocol so people can use their favourite editor without being forced to choose just one.

    • ytjohn 10 years ago

      For tmux, that opens up pretty much any terminal based editor (vim, emacs, nano) along with all the extensions you might install with it (and the build environment).

      But for a protocol, I think what EtherPad (and google wave) had done with cell by cell action is what's needed. If google wave had taken off (and actually implemented their federation concept), I could definitely see people creating plugins to send and receive character operations via a google wave server.

timemachine 10 years ago

WebRTC is a great tool and I expect to see more examples like this that will drive how we think about collaborative business tools over the next 5 years.

markwaldron 10 years ago

This is awesome! Is this open source? I'd love to learn more about it.

scotu 10 years ago

Nicely done. I'm myself toying with webrtc and remote pair programming, so I think this is really cool.

One question: before beginning the session I got a "popup" claiming that the session is encrypted, does it just mean it's https or are you doing any other encryption?

  • Tepix 10 years ago

    They are referring to the video stream that is encrypted using RTPS (RTP + SSL), as is standard when using WebRTC.

goatic 10 years ago

I'm stuck connecting... :( tried both with my phone and my laptop - both in Chrome Version 49.0.2623.75 m

webrtc works fine, but I'm unable to type anything...

mukgupta 10 years ago

It connected me with the developer but somehow I was not able to type anything. It kept displaying connecting.. I used Chrome.

  • jsinOP 10 years ago

    Thanks for letting me know! Was running this on a small server and didn't expect it to blow up. Bug fixes coming in next week after I finish finals.

  • superplussed 10 years ago

    The same for me on Chrome and Firefox.

mrborgen 10 years ago

Hey, awesome service! I'd be interested in using this at my site (BugRex.com). We're a chat based help line for developers in the need for help. Sharing code is an issue we haven't solved properly yet. Let me know if you want to chat.

h43k3r 10 years ago

It is just showing connecting with my own video at the right top corner. I think something is wrong. I am on the latest chrome.

Getting these errors in dev console. Could not open document: [object Object]

  • jsinOP 10 years ago

    Thanks for letting me know! Was running this on a small server and didn't expect it to blow up. Bug fixes coming in next week after I finish finals.

apap 10 years ago

This is amazing! Super hyped to see people building things that solves problems. Way to go.

self_taught_ 10 years ago

I like it. Only complaint is it seems to hijack the back button making it hard to get back to this page.

digital_ins 10 years ago

This is awesome. Thank you for sharing!

jsinOP 10 years ago

It's back online!!!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection