Hacker Timesnew | past | comments | ask | show | jobs | submitlogin
Eating Our Own Dog Food: Behind the Scenes at Cloud9 (c9.io)
58 points by lennartcl on July 29, 2015 | hide | past | favorite | 29 comments


I've noticed a huge improvement over time and am really impressed with how well it works now. I forget when I first used c9, but it was more of a novelty than a productive tool. I'm also really enjoying the way the terminal works, feels integrated.

I've never tried the nested stuff, or would even think of it, but it sounds pretty cool. Hope to see more improvements and features in the future.


I only ever used Cloud9 to try to help a few friends get into programming (which worked wonders since we could all work on the same repos together [my way of teaching them git before any programming was stupid and got dangerously close to turning them off to programming] and I could correct them with commit messages as well as inline comments) and didn't know that you could actually get a preview after running your program[0]. I'm pretty sure this is going to be all I use for the next few weeks until classes start back up.

[0] http://i.imgur.com/vDvYAvo.png


I've used Cloud9 mostly as a way to collaborate with interactively with novice developers. I think it is a solid tool; in many businesses however using an externally cloud hosted environment for source code isn't an option. Have you ever considered a licensing package for customer based installs, similar to how Atlassian licenses Stash as an alternative to BitBucket?


I've been watching too much dota. I just assumed this was about Cloud9.gg , the eSports team haha


Behind the scenes at the other Cloud9:

"Drop your stick. Drop your stick! DROP YOUR STICK!"

-- https://www.youtube.com/watch?v=Ye4AkBocrro


Who do you think sponsors them?


Cloud9 IDE was founded a few years before Cloud9.gg and the two have no affiliation (or sponsorships)


Oh wow, I could have sworn they were related. (and I learned about cloud9 -the ide- because of them)


HyperX, G2A, Logitech, and a handful of other gaming-oriented hardware and software companies:

http://cloud9.gg/sponsors/


I hope I am not being rude, but could someone compare Cloud9 with nitrous.io? I am a light user of pro nitrous.io (a few hours per week) and like always having Haskell, Clojure, my most recent project repos cloned, etc.

Is it worth checking out Cloud9? Perhaps not a fair question, but I am interested in hearing from people who have used both. I enjoyed Google's internal browser based IDE Cider, and think that web based development has a strong future.


ive moved my entire development environment to cloud9 on a chromebook and i couldnt be happier with the performance and lack of overhead needed on my part. thanks!


Chromebook is actually what got me started as well :) Now it's also nice to be able to jump from Chromebook to Macbook to work computer if needed. Glad you're enjoying it!

Full disclosure: I am part of the C9 team


Your IDE looks darker than the default flat white theme? I like the flat theme a lot but can't stand the brightness, I hope you find some time to make a dark version of the flat theme! That said, yours is by far the best "web IDE" I've tried so far, congrats! =)


You have good eyes :) The screenshot uses the "legacy" white theme that didn't have the flat look yet. It did have a few more dark colors at the edges, which is why it was used for this screenshot. We plan to work with our designer on darker versions of the flat light theme. Until we release those, I can recommend using something like f.lux (https://justgetflux.com/) to make it nicer to work with bright web sites and applications in low-light conditions.


Oh no, I have terrible eyes, that's the point! ;) I've been a happy user of f.lux for a long time! =)


Why is that background image 4000 x 3000?!

https://c9.io/blog/content/images/2015/07/Chatuchak_Weekend_...


Fixed that, somehow that slipped through, thanks for the heads up :)


Hum 5MB background image of dogfood for an article about an IDE.

Thinking maybe the tech team did not design this post ;)


In this case the tech team recently switched to Ghost for blogging and didn't realize that it doesn't automatically scale images when you upload them :)


As someone who is trying out Ghost, thanks for the heads up ;)


400,000 lines of original source code sound really impressive! are you sure about that? Does sloccount say that or some wc -l ?


400K physical SLOC including comments. Count without inline docs/comments was >320K.


[edit] I think it sounds somewhat unimpressive, as shorter code is often better code. Anyway it is true and I'm curious why so much code is needed. Here's the output using cloc on their core github repo (so this does include, e.g., the ace editor):

Javascript: files: 1125, blank lines: 58790, comments: 114390, code: 330409.


We did a massive rewrite last year (https://c9.io/blog/announcing-the-all-new-cloud9-development...). We adopted a new plugin system and started with a completely new, clean code base. We ported the old plugins one by one, optimizing them and fitting them into the new system, and actually throwing out quite a few of them entirely. So the code is actually rather clean. But note that this figure includes code for a lot of backend systems that are part of the Cloud9 service infrastructure, such as backup workers and container management code, as well as code for partners and plugins that are not exposed to the normal user base.


Many thanks for the clarification and discussion of the structure of your code base.


Of this 330409 lines of Javascript code, the majority (223414 lines) of it is stuff in the node_modules subdirectory, which probably is what you mean by dependencies...? E.g, there is one file in there https://github.com/c9/core/blob/master/node_modules/ace/lib/... that contains 54209 lines of code.


We indeed count third-party node_modules and large packed JavaScript files as "dependencies".


Great article, it's good to hear about IDE companies dogfooding and using that to improve their product.

I don't want to call you out but in https://c9.io/blog/content/images/2015/07/recursion.png you're really only running C9 in C9 - the rest have the same URL.


The URL is very similar but notice how the subdomain differs. The outer Cloud9 runs on (ide.)cloud9-lennartcl.c9.io. It responds on that URL and on *.cloud9-lennartcl.c9.io. That's where the inner Cloud9 runs: (ide.)cloud9-lennartcl.cloud9-lennartcl.c9.io. Visit that URL and you actually go through 3 proxies: the production proxy of c9.io and those of two inner instances. And note that the user names look the same in this case in this case, but that's really just for symmetry; ide.cloud9-2-lennartcl-2.cloud9-lennartcl.c9.io would have looked too awkward :) Each instance can have its own database with user names and workspaces. And each workspace runs in its own container.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: