

Show HN: Codebox - Open-source cloud and desktop IDE - SamyPesse
https://github.com/FriendCode/codebox

======
pjungwir
I'd love to see someone build an IDE that lives locally but syncs up to a
cloud service so I can pull everything back down to a different machine and
work there. I think you could actually do this with Docker, where your "IDE"
would not be an editor, but a virtual system with the code, the database, a
web server, the right version of Python/Ruby/foo, dependencies, etc., and you
could use whatever editor you wanted. As you worked, the app would use Docker
to save the state of the world and push it up to the server. It seems like
this would get the benefits of cloud IDEs but still provide the low latency
and flexibility of working locally. I don't have the time or expertise to
build it, but I hope someone will!

~~~
TheAnimus
Visual Studio 2013 lets me do this quite easily between my different machines.

[http://msdn.microsoft.com/en-
us/library/dn135229.aspx](http://msdn.microsoft.com/en-
us/library/dn135229.aspx)

One of the nice things about TFS is the whole shelving things, it doesn't pass
the tests yet, but you want to switch machines, makes it a lot easier than
having some personal branch / patch set etc.

------
jalan
I sometimes wonder, can cloud IDE's will really be able to replace traditional
code editors like Sublime Text, Vim, Emacs.

I really like the idea of cloud IDE's, but practically it's difficult to bring
the entire development environment on cloud/browser, and even more difficult
when switching from Vim.

Anyways, I really appreciate the efforts you are putting in this project.
Congrats guys/gals, job well done.

~~~
username223
> I really like the idea of cloud IDE's

What advantage do you see versus just the ability to edit remote files (which
has been around for decades) or sync local files with a server (a.k.a. "cloud
storage")? Why suffer the UI limitations (solvable), latency (not solvable),
and unreliability (not solvable) of having your development environment
sitting on a server somewhere?

~~~
alandarev
So that you could work on glossy iPad, of course!

------
whazzmaster
I was confused for a moment at the app name as I thought this referred to the
excellent CodeBox application[1]; I thought maybe that app had been evolved
into a full IDE.

[1] [http://www.shpakovski.com/codebox/](http://www.shpakovski.com/codebox/)

~~~
AaronO
Sorry about the confusion. Codebox (our IDE) will have a full desktop
application soon on Mac/Linux (the IDE can run on the desktop).

------
arikrak
How does this compare with Cloud9?
[https://github.com/ajaxorg/cloud9/](https://github.com/ajaxorg/cloud9/)

~~~
AaronO
Codebox & Cloud9 share some similarities (IDE's built with web technologies).

However we have a big emphasis on modularity, ease of use. We have a Desktop
app (linux/mac) coming in the pipes.

Our cloud version has offline support (so you can code even when the network
cuts).

And a handful of other things. For example our hosting platform supports
stacks (swappable VM images), that allow us to provide our clients with
tailored environments to suit their needs (languages & frameworks they use).

Overall Codebox & Cloud9 are both interesting projects. And the Cloud9 team
has definitely built some interesting stuff as well.

~~~
filearts
It might be worth noting that some of the key components used by Codebox are
actually developped by Ajax.org (the Cloud9 team) like the ACE code editor
component and the vfs system.

Thank you for keeping your source open. Interesting to poke around in the
internals.

~~~
belluchan
Cloud9 contributes to ace, but it's also a Mozilla project. Bespin was merged
into Cloud9's editor, and now both contribute to Ace.

~~~
janjongboom
Bespin was merged into it, yes. But there have not been major contributions by
Mozilla in recent times.

------
itry
Signed up with codebox.io. When trying to create a "box" I get this:

Error creating this box

Error: undefined: <!DOCTYPE html> <html> <head> <style type="text/css"> html,
body, iframe { margin: 0; padding: 0; height: 100%; } iframe { display: block;
width: 100%; border: none; } </style> <title>Application Error</title> </head>
<body> <iframe
src="[https://sx0z2mmmtv96.statuspage.io/heroku/error">](https://sx0z2mmmtv96.statuspage.io/heroku/error">)

Application Error</p> </iframe> </body> </html>

~~~
rickyc091
Refresh and the box should be there.

~~~
itry
True. But now it gives me an "Authorization Required" dialog.

------
blairbeckwith
Seems like a cool project, but you might want so consider changing the name,
given that CodeBox has been around for years:
[http://www.shpakovski.com/codebox/](http://www.shpakovski.com/codebox/)

------
ekyo777
Seems to lack some form of 'package control'. I'd suggest checking the
following before implementing tough:
[https://sublime.wbond.net/](https://sublime.wbond.net/)
[http://batsov.com/articles/2012/02/19/package-management-
in-...](http://batsov.com/articles/2012/02/19/package-management-in-emacs-the-
good-the-bad-and-the-ugly/)

------
staticshock
I'm running into an error.

1) I signed up via github oauth

2) I created a new "public" box with a python stack

3) Clicked "start editing"

The app says "PREPARING YOUR WORKSPACE" and then asks me for a password (via
http auth.) If you're asking for my github password, you're not going to get
it... Then again, you probably aren't, so I'm clueless as to what to put
there.

~~~
AaronO
Hey sorry, due to the Hacker News load a piece of our infrastructure is having
some difficulties ...

I'm really sorry for the inconvenience, I'm on it now.

Check codebox.io in a few hours when I'll have had time to deal with the load
issues.

~~~
crashandburn4
yeah, same problem here, I'll check back on it later. Either way, nice idea, I
like the idea of online/offline. it'll be tough to steal me away from
emacs/evil mode though :)

------
sjs382
I signed up at codebox.io and when I go to "Start editing" a test box that I
created, I get a HTTPAuth login box. Not sure what to enter here, but my
codebox.io password doesn't work.

I thought that _maybe_ I had missed a dialog box with a user/pass, so I went
to delete my test box and create a new one. But nothing happens when I click
the delete button for my one box.

------
talkingquickly
Exactly what I was looking for yesterday researching an interactive
programming tutorial I was thinking of putting together. Great timing!

Not sure if it's intentional but the license (apache2) link on GitHub goes to
the docs folder rather than the license text/ definition.

~~~
AaronO
Regarding interactive programming. I've got some things in a local branch,
that provide some Light table like features.

I'll try to get working on those, when I've finished a few other things with a
higher priority.

Maybe you could help contribute to that ?

~~~
talkingquickly
Definitely interested in contributing, going to get this up on a VM tonight
and try and get to grips with how it works. What's the best way to get in
touch with you?

~~~
AaronO
Shoot me an email at aaron DOT omullan AT gmail DOT com

------
AaronO
The service is currently going through some issues with the load from Hacker
News. (We're in early Beta ...)

I'm doing my best to restore the service back as soon as possible, stay tuned
I'll update this comment and follow our twitter feed @CodeboxIO

------
myang
Trying to create a new box but got the error:

Error: HTTP ERROR 200: Error: connect ECONNREFUSED at errnoException
(net.js:770:11) at Object.afterConnect [as oncomplete] (net.js:761:19) ERROR:
Loadfire does not know how to handle that request

------
Goranek
I'm getting Error: connect ECONNREFUSED when trying to create a new box
@codebox.io

~~~
Goranek
I've managed to create it out of a git repository, but when i try to start
IDE, i'm getting some weird login request(dynobox.io)

~~~
AaronO
Sorry guys, due to some load our datastore is having some issues coping ...

Sorry, the hosting service is still in beta, I'm actively working on improving
it.

------
marigoldpicker
is there a way to run this on a local machine. from the root, I run "node
index.js" and nothing happens. from /core/cb.server, I run "node main.js" and
nothing happens.

I installed by cloning and cd into repo, ran npm install.

I did not do "npm install -g codebox" because I wanted all the files in a
specific directory. Therefore, I'm not using the codebox command that is
supplied in the readme. I wanted to start it by running 'node __somefile__'

~~~
joshuacc
You can probably start it by running codebox/bin/codebox.js directly. (It has
the shebang line at the top, so no need to explicitly start node.)

[https://github.com/FriendCode/codebox/blob/master/bin/codebo...](https://github.com/FriendCode/codebox/blob/master/bin/codebox.js)

------
Morphling
I like the idea of cloud IDE, but I just don't know if they are as flexible as
I want them to be, like with adding tools and packages or connecting to
staging databases via VPN.

------
ritonlajoie
I have an issue installing this with npm. Here is the error :
[http://i.imgur.com/7NQo8US.png](http://i.imgur.com/7NQo8US.png)

~~~
AaronO
Have you tried clearing your cache (with npm cache clear) ?

Codebox is on NPM, here :
[https://npmjs.org/package/codebox](https://npmjs.org/package/codebox).

Try clearing your cache and give it another try, it seems to be some issue on
NPM's side.

~~~
ritonlajoie
well, I installed npm just for that :p

Also Tried the cache clear, didn't do anything.

Nevermind, will pass on that. Seems to be a great work btw, will try again in
a few months :)

Edit : I had to npm config set registry
[http://registry.npmjs.org/](http://registry.npmjs.org/) and it's working now.

~~~
AaronO
Great :)

~~~
ritonlajoie
Oops I think my system is too old to run that :p

npm ERR! Unsupported npm ERR! Not compatible with your version of node/npm:
loadfire@1.3.4 npm ERR! Required: {"node":">=0.8.0"} npm ERR! Actual:
{"npm":"1.1.4","node":"0.6.12"}

enjoyaol@serveur:~/codebox$ uname -a Linux serveur 3.2.0-55-generic #85-Ubuntu
SMP Wed Oct 2 12:29:27 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

~~~
quarterto
The Node.js in Ubuntu's repositories is horrifically old. Try this PPA:
[https://launchpad.net/~chris-
lea/+archive/node.js/](https://launchpad.net/~chris-lea/+archive/node.js/)

------
kybernetyk
The idea of encapsulated VM boxes is intriguing.

What I couldn't find at first glance though is: what programming languages are
supported by this IDE?

~~~
AaronO
Hi Aaron from FriendCode speaking (Codebox author),

The IDE itself isn't tied to specific VMs, it can run on your own server, your
own desktop/laptop or our cloud.

We provide stacks for our cloud solution
[https://www.codebox.io/](https://www.codebox.io/).

We provide stacks and VMs for all common languages and frameworks (PHP, Java,
Dart, Node.js, Python, Ruby, Go, C/C++, Lua) as of right now.

The community can also contribute new stacks providing support for other
languages.

Hope this helps :)

~~~
kybernetyk
Oh, that's pretty interesting. Going to try this out - maybe this will be the
first usable C++ IDE under Linux for me :)

Oh, and Rust support would be awesome. But I guess that's too early.

/edit: I like that it runs cmatrix in my browser:
[http://i.imgur.com/ZDiJ5Tw.png](http://i.imgur.com/ZDiJ5Tw.png) ;)

~~~
AaronO
I've played with Rust a bit as well (with Mozilla's servo engine) and it's
pretty cool.

I don't think it's an overly common request, but I could definitely add a Rust
stack (we already have a Go one).

cmatrix :)

------
rickyc091
Hmmm, getting a "Error: connect ECONNREFUSED" when I'm trying to create a box.

------
spindritf

        npm install -g 
    

I'm seeing this regularly in node.js projects. Why is it common to install
globally and, well, crap up your system like that?

Are they running each app in a separate container/vm? This one seems to made
for desktop though.

~~~
joshuacc
The only time I see this is when installing a command-line utility of some
kind. For instance, if you install express with -g you can generate an app
skeleton.

Installing libraries globally would be a problem, but it doesn't seem like
this is what Codebox is doing.

------
jhappoldt
I really tried to give this a shot but it fell down spectacularly.

1\. NPM install failed.

2\. Registering for an account with github failed the first time.

3 Creating a workspace failed.

4\. 'Start Editing' is now asking for a password.

This is not a great first showing for a concept as critical as an IDE. I was
genuinely excited to try this but cant trust this until it bakes for a few
more months.

