DEV Community

Cover image for Falling in love again
Matthew Watkins
Matthew Watkins

Posted on • Originally published at

Falling in love again

Once upon a time, back in school, I discovered Cloud 9. A website that gives you an IDE in your web browser? And root terminal access to your very own Linux VM? I was in heaven. I had a beefy machine at work, but for my school work, I just had an old refurbished Chromebook. But I loved my old Chromebook, and didn't want to spend a bunch of money getting a proper laptop just to haul in my backpack to school every day so that I could compile code for my C or Java class. Plus, I needed Python for this and my other blog running on Jekyll. And Node for the Echo and Google Home actions I was working on on the side. Cloud 9 fit that need perfectly. I could spin up a new project for each stack and edit right from my Chromebook.

But really, editing on Cloud 9 is not the same as editing on a proper IDE. Auto-complete is extremely limited, and while the nature of the app forced me to get a lot better at the command line, when it's 2 AM and you're still working on that C assignment, you don't really care that you're getting really good at traversing directories via the command line or parsing out obscure GCC compilation errors from typos a "real" IDE would pick up right away.

I tried dual-booting my Chromebook using Crouton, but the overhead was so large I started running out of drive space before I even installed an editor (like I said, this is an old Chromebook). I almost gave up and bought a proper laptop, but in the end, I stuck with it. Partially to save money, and partially just to say that I managed to get through my 4-year CS degree with basically nothing but a Chromebook. :)

Now, I'm out of school and I've still been using Cloud 9. Why? Well, partially because that old Chromebook still is my laptop of choice around the house, and partially because I just feel weird installing RVM and Python just to write on my blogs. Or installing and configuring Node just so I can keep my Google Home action up to date. The list goes on. I don't want 50 versions of 30 frameworks in 5 languages stacking up on my personal laptop.

But at the same time, I've yearned for the nice things a native environment/IDE can offer. Even for my blog, which, leaving the underlying Jekyll guts aside is nothing but Markdown, YAML, and web frontend. It would just be nice to have real IntelliSense. And extensions. And breakpoint debugging. And all the other niceties that come with decent editors (like my prize child, VS Code). Even just the markdown preview would be nice. At one point, I wondered: since VS Code is an Electron app running on Node, how hard would it be to create a web-served instance of VS Code on some Linux container that could give me something like that?

Then yesterday I heard the guys over at CodingBlocks mention this new thing called Coder. It's exactly what I dreamed about: a web-accessible container that runs full instances of VS Code directly in the browser. I couldn't believe my ears. I was giddy. I ran home that day, threw open my laptop, created a free account. Yes, it's free. It's awesome. And it's everything I hoped for.

I crated a free account, cloned my GitHub-hosted blogs, installed RVM, Python, and Jekyll, read the docs on the ports to bind and... there it was! To celebrate, I'm writing this article on that same now 7-year old Chromebook in Coder.

I am in love. A proper IDE. In my browser. With all my extensions, task running capabilities, etc. In a container I can blow away and re-hydrate at will. It's beautiful.

I'm going to keep playing with Coder as they work through their public alpha. Next up on my "play" list is .NET Core and Node.js. I've noticed some bugs in the UI that defintely make themselves known, but so far, nothing that really gets in the way of a normal workflow. So far I am thoroughly hooked.

Top comments (7)

ben profile image
Ben Halpern

I've really been interested in getting DEV running in one of these. I haven't gotten around to making the full attempt yet.

If anyone is interested in attempting to run our codebase in a cloud IDE, Coder or otherwise, I'd love to see the results:

kayis profile image

I read codesandbox ia based on VSCode.

I played around with C9 back before the AWS integration and didn't find it very appealing, but on the other hand I never had a Chromebook.

With AWS integration it finally got some use for me, because now I can work on a real EC2, compile stuff that direcly can run on Lambda and I get preconfigured CLI.

carterbryden profile image
Carter Bryden

I've been using cloud9 for years now and I loved it before the integration to AWS. This looks like an awesome option, but I really, really want to be able to pay for more containers. Let me create container templates and clone them and I'll be in dev heaven. I don't want my dozens of projects all on one container.

anotherdevblog profile image
Matthew Watkins

Yeah, I was saddened when Cloud 9 started tightening its leash on how many workspaces individuals could create and requiring a credit card to register for an account. Still, it got me through my college :)

Currently, it looks like supports only one container per account, with paid options to increase the resources available, but still to that one container. However, I noticed when I was playing around and resetting my container the other day and clicked reset twice too fast, there was an error thrown saying my "organization" had reached the limit for the number of containers (1).

I don't want to get anyone's hopes up, but that sounds like they're adding organization/team support and the ability to pay for more containers in the near future. Since they're still in the alpha v0.2 phase, I'll be surprised if they don't add that sooner rather than later.

guayom profile image
Guayo Mena

Man, this really got me thinking. Maybe you can even use a phone, with a bluetooth keyboard and a smart tv as a coding computer. That could be useful. At least as a backup setup

cheston profile image

How does coder handle full stack application development? like LAMP, MEAN/MERN?
Im really attracted to the Chromebook workstation for personal projects!

anotherdevblog profile image
Matthew Watkins

It handles them just like running a Linux terminal with VS Code. Because you're running a Linux terminal with VS Code :)

If your question is how do you do web applications, as long as what your working on can serve requests at, the extension will create an internal URL for your account where you can access the site while the container is active (very similar to Cloud 9, except that Coder chooses the internal URL for you instead of being based solely on your username and project name).