What does HackerNews think of codespaces?

Microsoft's Dev Containers [0] is pretty slick, especially when used with GitHub Codespaces [1] if you want remote development.

[0] https://containers.dev [1] https://github.com/features/codespaces

> In theory, Visual Studio Code for the Web

Yeah, it works okay. I've been using it with GitHub Codespaces[1] in the past, which is not only VSCode Web, but also allows you to run your code (and any terminal commands really) in GitHub's cloud.

You get 60 2-CPU-core hours for free each month, it comes in pretty handy if you just want to quickly code something on the go, and don't have a real laptop / PC available.

[1]: https://github.com/features/codespaces

Now that .NET is easy to run on non-Windows platforms, Microsoft is likely trying to figure out what's the business case.

By keeping the tools to them, Microsoft can try to offer the best developer experience. Hopefully (from Microsoft point of view) this pushes developers to use services from their ecosystem (Github, Azure).

It's likely that in the future more developers are actually doing the development remotely. Not checking out the code to local machine, but instead using IDE which communicates with the server component. Microsoft has Github Code Spaces [1], JetBrains has Fleet[2]

[1] https://github.com/features/codespaces [2] https://www.jetbrains.com/fleet/

VSCode is the core component for Microsoft's GitHub Codespaces developer tools as a service cloud offering.

https://github.com/features/codespaces

It's not revolutionary – no offense intended. There have been a ton of companies that built products like they did that are far more sophisticated with comparably simple getting started experiences.

For example, Cloud9 IDE (c9.io) had (and has) a fully functioning (custom) IDE in the browser, with syntax highlighting, autocompletion, debugger w/ breakpoints, and a terminal/REPL: https://web.archive.org/web/20170201175009/https://c9.io/ - fully functional in 2016, and earlier. I was part of the team at AWS that acquired the company that year [1], which is now an AWS product: https://aws.amazon.com/cloud9/ - they made it trivial to click a button and boot a workspace with a sample Python, Ruby, JavaScript app, etc., and then start hacking on it using the IDE or web-based terminal/CLI. (The latter alone is a very difficult thing to build in a web browser! Not to mention syntax highlighting for many languages, autocompletion, etc. – though Language Server Protocol implementations were a help for adding basic auto completion IIRC).

The Cloud9 IDE was sufficiently mature that the Cloud9 team used it to build their own product.

GitHub has also launched Codespaces which loads a repository as a VS Code IDE in your browser [2]: https://github.com/features/codespaces

And there are a number of other companies that provide similar products.

Maybe Repl.it hit some sweet spot of user experience that the others haven't, but – I mean no offense – I don't see what's innovative about it compared to the numerous other products I came across while doing market research back then. (I don't recall all the names.) It looks more like an IDE now than it did a year or two ago, but it seems to be behind Cloud9's capabilities as of 2016, not to mention the present version of AWS Cloud9 and CodeSpaces.

I feel I might be "that guy" who's calling Dropbox a dumb idea, but I'm skeptical that a revenue stream will materialize to justify the valuation. Tools like Repl.it, Cloud9 IDE, and CodeSpaces seem to me like features, not products.

Large corporations aren't going to want their proprietary codebase uploaded to a third party cloud service. GitHub (Microsoft) and Amazon have overcome that trust hump; and both have many developer-oriented products where these online coding tools are one feature among a large product suite, where it can be connected to continuous build and integration systems that deploy code to their clouds.

The largest addressable market for a standalone product that software development shops aren't actually going to use for real software development might be teaching students, which is not a large market. Cloud9 IDE tried that play and the market wasn't large enough to justify a startup, which is why I assume the founders & board of Cloud9 approved AWS's acquisition offer.

I haven't used Repl.it's product recently. What's the differentiator? What's the moat? I'm sorry to be a downer in a forum where we're meant to cheer startups (especially an HN startup); I'm only trying to offer rational analysis. Repl.it must be doing something unique right to be growing enough to garner such an investment. (Wasn't Repl.it just like ~3-5 people a year or two ago?)

On the other hand, this could be the VCs and founders making a play hoping one of the tech giants will acquire them. But Microsoft and Amazon already have equivalents and would likely not be interested. Maybe Salesforce or Google? I don't see this growing to become a public company without substantial diversification of the feature into a product suite that's sticky with enterprises. Maybe they've got a roadmap... would be interesting to see the pitch deck for this investment round.

[1] https://techcrunch.com/2016/07/14/amazons-aws-buys-cloud9-to...

[2] VS Code is an Electron web app compiled to run natively, which is presumably how GitHub got it running in the browser – especially given that as a Microsoft subsidiary they could presumably tap Developer Division's help.

This is well written and deserves my upvote, because sparse-checkout is part of git and knowing how it works is useful.

That said, there's absolutely no reason to structure your code in a monorepo.

Here's what I think GitHub is doing:

1) Encourage monorepo adoption

2) Build tooling for monorepos

3) Selling tooling to developers stranded in monorepos

Microsoft, which owns GitHub, created the microsoft/git fork linked in the article, and they explain their justification here: https://github.com/microsoft/git#why-is-this-fork-needed

> Well, because Git is a distributed version control system, each Git repository has a copy of all files in the entire history. As large repositories, aka monorepos grow, Git can struggle to manage all that data. As Git commands like status and fetch get slower, developers stop waiting and start switching context. And context switches harm developer productivity.

I believe that Google's brand is so big that it led to this mass cognitive dissonance, which is being exploited by GitHub.

To be clear, here are the two ideas in conflict:

* Git is decentralized and fast, and Google famously doesn't use it.

* Companies want to use "industry standard" tech, and Google is the standard for success.

Now apply those observations to a world where your engineers only use "git".

The result is market demand to misuse git for monorepos, which Microsoft is pouring huge amounts of resources into enabling via GitHub.

It makes great sense that GitHub wants to lean into this. More centralization and being more reliant on GitHub's custom tooling is obviously better for GitHub.

It just so happens that GitHub is building tools to enable monorepos, essentially normalizing their usage.

Then GitHub can sell tools to deal with your enormous monorepo, because your traditional tools will feel slow and worse than GitHub's tools.

In other words, GitHub is propping up the failed monorepo idea as a strategy to get people in the pipeline for things like CodeSpaces: https://github.com/features/codespaces

Because if you have 100 projects and they're all separate, you can do development locally for each and it's fast and sensible. But if all your projects are in one repo, the tools grind to a halt, and suddenly you need to buy a solution that just works to meet your business goals.

This already exists with github codespaces. https://github.com/features/codespaces
I think what you might want is GitHub Codespaces?: https://github.com/features/codespaces. Was on HN recently too.
> But it can be said that adopting VDI over Citrix solution for developer machine is a mistake

That's debatable - certainly in many cases it makes a lot of sense: e.g. a corporate environment with hot-desking (i.e. Windows Roaming Profiles), but programmer/dev users need a consistent workspace so they can't use roaming profiles, instead having consistent and persisted VDI environment makes sense.

Another reason is that you can pre-image and snapshot an entire OS environment more easily (and even more easily if you're using a Hyper-V VDI instead of a multi-user Terminal Services or Citrix VDI) which is great for ensuring everyone on a team has the exact same build/dev/test environment. This is being reinvented as "Code Spaces" which GitHub and Visual Studio seem to be really getting behind: https://github.com/features/codespaces and https://github.blog/2021-08-11-githubs-engineering-team-move...

-----

But I'd wager that most devlop-in-Citrix/TermServ situations are in "normal" corporate businesses with "no fun allowed" IT policies, and even if they don't have a hot-desk office policy they probably still don't like the idea of anyone having root/admin access to their own machines. (I'm fortunate to have never been in that situation in my working life, but I've heard plenty of horror stories from friends who did short-term contract dev work on-site for companies like Tesco and the like)

> distinct from the Codespaces launch

It's mentioned here https://github.com/features/codespaces

Did we read the same article?

> Today, GitHub is making Codespaces available to Team and Enterprise Cloud plans on github.com. Codespaces provides software teams a faster, more collaborative development environment in the cloud. Read more on our Codespaces page.

Links to https://github.com/features/codespaces

It's called "reading"

I wish the tweet just said what it was. People on mobile have no way of trying it.

It opens Github Codespaces (https://github.com/features/codespaces), which is basically VS Code in the browser, and lets you edit the files of whatever repository you're in.

I'm surprised anyone would invest in this technology when Microsoft has made it pretty clear they're going to dominate this space with https://github.com/features/codespaces
> Can’t access my notes from mobile

On mobile (iPad anyway) try CodeSpaces:

https://github.com/features/codespaces

It’s VS Code in your browser tab, and works great.

Separately, I don’t necessarily use that, since it’s an online experience. I use Working Copy and Textastic (or other local native editor depending). Benefit of git sync and markdown. A smattering of local editors do have both Markdown and mermaid support.

Rest of your feedback, I agree with.

If you have the Visual Studio Codespaces extension installed (https://marketplace.visualstudio.com/items?itemName=ms-vsonl...), then GitHub Codespaces (https://github.com/features/codespaces currently in beta) gets you a workflow pretty close to this.
Github already has that feature, every repo has an "Edit in Codespaces" button to press: https://github.com/features/codespaces
Or, the GitHub feature page itself (same feature as the one you linked via microsoft.com):

https://github.com/features/codespaces

Extensive GitHub use with Node?

Sounds like GitHub Codespaces ought to be up his alley.

https://github.com/features/codespaces

While I'm not sure I agree that IDEs need to be bundled directly into browsers (as other commenters have said: at that point, why not Photoshop? Or Excel?), I think that Github Codespaces [1] is an interesting foray into a much-simplified dev setup experience that will help beginners start writing code without learning the more arcane utilities of professional programming like terminal emulators, shells, and the *nix userspace tools. And it's (optionally) browser-based, so you can get started without installing any dependencies, even though it doesn't ship as part of the Chrome binary.

I agree with a lot of the commenters here that eventually you'll need to learn the arcane things! But I think there's something to be said for being able to just get started writing code and having it run. I did a lot of my early programming on a TI-83 in math class in high school while pretending to pay attention to my teacher. I didn't have to configure it, or do much other than learn the programming language I was writing code in. Later, in college, my intro-level classes were in purpose-built educational IDEs like DrScheme, where I once again just typed my code into the textbox and then ran it from the same UI. I probably would've grit my teeth and pushed through learning all the extra stuff anyway if confronted with an emulator, a shell, and figuring out what `$PATH` refers to, because I was pretty into computers and had high mental pain tolerance. But I can't say it would've been a better onboarding experience, and eventually, I learned all of that stuff anyway -- so why put people off with it at the beginning? Let them do the fun stuff first, then teach them how to do it "for real." In a lot of cases, the not-"for real" version might even be enough to suit their needs.

1: https://github.com/features/codespaces

>Here’s my pitch: build a browser that comes pre-installed with node.js, an IDE and a simple runtime environment.

https://glitch.com/

https://runkit.com/home

https://codepen.io/

https://github.com/features/codespaces

Maybe you don't need new browser ?

Maybe ?

I think we're going to see more and more work being done in the cloud on dedicated SaaS platforms, even if your work is technical. The idea that most businesses will be running and maintaining a complex network of powerful VMs isn't realistic. Once this shift starts, the hardware you're working on starts to become irrelevant and replaceable.

Examples:

Github recently announced Codespaces (https://github.com/features/codespaces) which will allow developers to write and test code in a cloud IDE with repo dependencies preinstalled. This will replace local development in VSCode, Atom, etc.

Bigquery and Snowflake both allow direct querying of the database in a cloud UI. Tools like Redash (https://redash.io/) allow analysts to do the same, but across multiple databases. This will replace SQLWorkbench, DataGrip, etc.

Data scientists can use tools like Mode (https://mode.com/) or DataBricks (https://databricks.com/) to run exploratory notebooks and dashboards in the cloud. This will replace running local Jupyter notebooks.

Data teams can use tools like Shipyard (https://www.shipyardapp.com) to orchestrate complex workflows and automate any scripts in the cloud. This will replace Cron, Windows Task Scheduler, Airflow, etc.

Amazon Cloud9 [1] and GitHub CodeSpaces [2] already offer cloud IDE. There are almost certainly many more.

[1] https://aws.amazon.com/cloud9/ [2] https://github.com/features/codespaces

Codespaces works on iPad already https://github.com/features/codespaces

It was a big undertaking :)

GitHub Codespaces was announced at Satellite and it's basically what you say - a way for developers to skip the "setting up" step (often the most annoying step and single biggest blocker for OSS contributions) in a new repo. https://github.com/features/codespaces

Disclaimer, I helped make these :)

Something like Github Codespaces[1] but self-hosted would be interesting. I'm sure you can cobble something together now but it would be nice not to have to deal with the infrastructure (i.e. containers, remote hosts, VPCs, whatever).

[1] https://github.com/features/codespaces

The beta signup list is available today https://github.com/features/codespaces and we'll add people in the order they sign up.