Introducing runroot: live programming languages in your browser
blag.genges.com
blag.genges.com
Imagine a group of people who want to implement a web app. All they have to do is buy a private server from you, which already has software to allow them to write and serve code. If you nail the IDE, then the web app development process becomes much, much closer to the "normal" method of write/compile/run. In your case, it's write/save/refresh other page.
I realize that you are focusing purely on the REPL right now, but you got me thinking about it and I wanted to share. If you turned these babies into web servers too, it would be pretty awesome. You'd probably have to move to "cloud" hosting, though.
Anyway, great app. I'll probably be using it. But I resent your categorization of Python and Ruby, and agree with gcampbell's UI gripe.
It'll be interesting to tie in the guts of EtherPad[1] and/or Bespin[2] to runroot.
As far as "cloud hosting" goes, everything currently runs on EC2.
Resenting my categorization is perfectly acceptable. Hate me or love me, just don't forget me.
Assuming that the author had "pedagogical use cases" in mind, I'll have to ask: why not just a plain server with ssh access and screen w/ multiuser support installed? It's really hard to believe that it would take anyone more than 10 minutes to learn how to use screen to the point they can share a session remotely.
If anyone else is struggling with screen, I recommend launchpad.net/byobu, for a more humane/learnable/menu-based multiplexing program
1) open a terminal
2) ssh joe.student@teacherserver.net
2.a) your password is "PASSWORD_FOR_JOE"
3) screen -x joe.session
What else does the student need to do, besides having a ssh client? Share files with a friend
Run a (sinatra web app? whatever) and get feedback on it for 20 or so minutes
Do anything that requires a few open ports.
And basically anything else you can think of. (of which, I'm sure I've only scratched the surface)It's more than just a shared terminal.
What I don't understand is how one can justify spending all this time to build one application that is an inferior, resource-hogging clone of a GNU tool that is probably older than him. And the only possible explanation that you could give me is "you could run this on ChromeOS"?
I don't mean to be rude, but it looks like you are saying the right things, but not stopping to wonder if it makes sense or not. Is it really that much of an advantage to have this "feature"? If all you have is a ChromeOS device, you are probably not the person who would need to have an Erlang REPL. And if you are that kind of person, you'll probably get a computer that runs an actual operating system, one that actually gives you a terminal and a SSH client.
I know to you and me these aren't major hurdles. But we have years of experience and knowledge of these "basic" tools that most other people don't. So as a teaching tool for those without such experience this is great. Also I think you underestimate how much inertia needs to be overcome for most people to try something new. This drastically reduces the friction to trying out new languages.
Edit: a new one http://transmuscle.runroot.com/?123d0b7cf0728555
edit: At least I got off an error message for others coming late to the party session before it stopped responding.
http://img.skitch.com/20100105-mgdxdtt5nqpef6qpba9s9rnkbi.jp...
I think it has some great pedagogical use cases. Teaching a distributed revision control class? Everybody can have their own private server and practice pushing/pulling over the network. Teaching a programming topic? The instructor can jump into any student's REPL to help out.
Otherwise, very cool.
There are two schools of thought with web REPLs. Either you do everything inline like http://lotrepls.appspot.com/ or you give people an individual input box like http://www.simplyscala.com/
I'm mostly in the second camp with a big helping of "haven't thought too much about it and just wanted to get the thing working."