Hacker News new | past | comments | ask | show | jobs | submit login
GitHub Codespaces (github.com/features)
1769 points by CraftThatBlock on May 6, 2020 | hide | past | favorite | 601 comments



Interestingly, it seems that Microsoft hast just renamed its "Visual Studio Online" (which was basically the same as this new product) to "Visual Studio Codespaces". So it seems that they are merging these two products. (See: https://visualstudio.microsoft.com/services/visual-studio-co...)

EDIT: They actually announced the renaming of the product a couple of days ago: https://techcrunch.com/2020/04/30/microsofts-visual-studio-o...


Codespaces uses the same underlying technology as Visual Studio Codespaces to bring a fully GitHub-native experience to our GitHub users. We've been working with multiple teams on the Visual Studio side to make this happen (I work as the product lead on Codespaces)


Similarly Github Actions is reusing a lot of Azure Pipelines under the hood.

One of the most impressive parts about Microsoft's recent acquisitions is how quickly essentially two separate companies are now sharing code. It's hard enough to get different teams/products in the same company to use shared code in a meaningful way, and Microsoft has accomplished it with a new company.


Having APIs designed for public consumption probably helped.


My experience with azure storage didn't make me think it was "designed"...


Azure storage is definitely the black sheep. They cleaned up the VM/compute layer a few years ago with the introduction of Azure Resource Manager (ARM), but storage hasn't gotten that big an overhaul yet. And it shows. They seem to be slowly improving things under the hood though...


Hopefully they’ll eventually provide an S3 compatibility layer like everyone else.


Give Azure NetApp Files a test drive. World of difference.


What's the issue with Azure Storage? It seems to me like it's one of the azure cloud services that are the least painful to use - at least through the official SDKs


Evolved via natural selection perhaps?


GitHub’s acquisition of Microsoft is really paying off.


Thanks to Microsoft maybe it will be possible to code seriously on an iPad. Hey Apple look at this!


All that is nice. But who are they building this for? Who is asking for this stuff?


For Github Actions, the product launch has been a major success and has become a new monetizable product. Anecdotally, I've heard of some companies moving their Jenkins/Circle CI/Travis CI workflows over to it, better proof is the sheer number of Github Actions that are now easy to install. This also allows Github to compete directly with Bitbucket and Bitbucket pipelines.

If your question is about who is asking for Github Codespaces, I'm not totally sure. Personally, for small changes it would be nice to be able to edit directly in Github but I certainly wouldn't pay for it. I imagine that core why behind this product release (besides the fact that most of this functionality was already pre-built and easy to reuse) is that it improves the user experience for anyone working from their chromeOS device, tablet and phone improving brand loyalty and capturing new users, especially students who may only have chromeOS devices.


As an OSS developer, Github actions make a lot of sense and is very welcome since it's very easy to setup (now! it was impossible in the beginning) and if you use bash scripts/npm scripts AND a tiny bit of workflow code then they are very agnostic as well.

I am unsure about this Github Codespaces though, I'll be testing it but I am fairly skeptical about invest a lot in Github-specific tooling beyond what is needed by a typical repo. It seems like Github has been trying to "extend" git into a proprietary phase for a while, and now with Microsoft backing it I'll wait to see if it's still the same old concept of locking you in deep and then do as they please. Not sure, it does look like they are going nice for now, but I personally prefer to wait.

This Codespaces doesn't solve a specific need I could point out like Actions did before, but maybe I'm just not their target.


I can imagine this being very useful in educational settings. Instead of students and teachers spending time on getting everyone's lab environments set up they just fork the course repository and tada it's there and it works.


For private repos, Codespaces will help on-boarding new team members or employees who don't have to waste time setting up a dev environment to contribute back.


I would love to have this stuff in theory but in practice, it hasn't worked for me.

I'm responsible for about 15 different Rails apps. These apps were built over the last 8 years and many have some nasty dependencies that make setting up a dev environment for them a pain. Or running tests a pain or whatever.

So many no one has touched in years but then some bug needs to be addressed in them. Today I have to get the app running again on my machine and there's always some silly timesink that makes the trivial change take too long.

For me ideally, I'd have two docker style images, one production, one test/development that just adds the dev resources to the production image. And then I could jump into any editor and see the changes live online without even installing docker on my machine.

Having a full dev system online means I can make changes from my phone, or really any internet connected device.

At this point, I don't have any interest in using such a system for my day to day work. But for my oddball stuff a well designed one would be great.


> For me ideally, I'd have two docker style images, one production, one test/development that just adds the dev resources to the production image.

Clarification question: do you mean two images in total?

Perhaps you are saying that would cover all 15 Rails apps?


I imagine a lot of projects will start here, whether it's new developers or existing developers who want to spin up a straightforward service.

I just used Glitch.com for the first time to set write and deploy a Node server in 10 minutes, and it was an incredible experience.


I've been looking for a better way to make changes to my personal projects from my Chromebook.


I can easily see at least one use: we have some outsourced dev work. It is painful to get them up and running because we have to set up remote desktop with everything that goes along with that, simply in order to let them edit code and run builds.

I imagine MS/GH will be selling to people like us the idea that we can simply make our GH repos the dev environments, and so all the access controls which we apply for managing interaction with the dev environment get us the appropriate dev environment for (effectively) free, and we throw out the desktop VMs.


So I suppose that you would like a faster horse?


When someone builds something and doesn't actually mention why, its not unreasonable to ask what the motivation was...


Have you asked them? You can hit up pretty much anyone these days on Twitter and they'll respond, if the question is reasonable. You make it sound like someone owes you a response.

If this is about GitHub Actions specifically there is quite a bit of info at https://github.blog/2019-08-08-github-actions-now-supports-c.... My takeaway is that it's about packaging up Azure Pipelines in a way that GitHub users understand and complements other features. There are more jarring ways to integrate the products.


> You make it sound like someone owes you a response.

I didn't interpret the comment that way.

BTW, I'm not saying your interpretation is "not true" or "crazy" or anything like that. I just think it is better to keep this kind of (bad faith) interpretation private. I think it is useful to remember this HN guideline "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith." [1]

The benefit, which is not spelled out there, is that if more of us do this, there will be fewer amplifications / chain-reactions of misinterpretations. This results in a more useful discussion.

[1] https://news.ycombinator.com/newsguidelines.html


I think that's a fair point.


For the love of God please make it work at least manageably in phones! Tall ask no doubt, but y'all seem capable of it. GitHub does everything right except getting the phone experience right!


Do you really want to write coffee on your phone? I couldn't imagine wanting to every do that myself. Am I weird? :)


Yes! I certainly do. It's not my main device but for a quick bugfix when I'm not close to a PC it's really useful.

Currently Github regularly completely freezes Chrome on my phone when viewing moderately large files. And I have a decently specced phone.


I’ve used GitHub’s in browser editor to make minor changes to a PR from my phone while out at dinner. It was possible, but made me wish it was a little bit better.

I don’t think I would spend a day writing on my phone, but it’s really useful having this mobile.

I also use GitLab and their “web ide” (I think it’s called) is nice for changes by non-developers who don’t ever have a dev environment. We use a lot of config and docs repos that analysts use to update project material and they use the browser exclusively. I also approve merge requests from my phone almost daily to regenerate the static sites.


I will say it would be nice to review a PR while standing in line for groceries.


I'm gonna say you are in the minority there. Firstly, a Review should be just that a review of the code - not just a blind acceptance of a button. Its going to be hard to properly review code, which may be across multiple files, or may require switching within the same file, on a phone.

And secondly, work life balance, just because you can work while waiting in line for groceries doesn't mean you should


Firstly, I know my repo quite well and can generally (not always) tell whats happening with a PR without having to switch too many files. Even if I need to do that, I've been able to do that just fine on GitHubs desktop page so if it's not easy on a mobile now it's just a usability problem. It's a little bit much to say there's only one right way to do PRs or even write code.

Secondly, work life balance is a choice. Glad you make it, no one should ever be coerced against it, but I want to choose what I do. I'd rather look at my company code than what Kim Kardashians butt looks like on the Us weekly issue in the aisle. Also a bit presumptuous to assume it's only work, I have a personal website as well and I actually want to work on that whenever I have downtime.


My main usage of the app so far has been to approve PRs when pair/mob programming. Instead of going back to my desk where my computer is, I can approve the PR I've co-authored immediately.

Obviously it's quite a narrow use case, but I imagine there are lots of similar cases where the review is simple for one reason or the other and you want to get it done quickly.


Why would you need Codespaces for that? They released a standalone GitHub app recently just for this purpose. Not sure if it also works with the web version. But Codespaces seems to be the wrong tool for this job.


Their app is still outrageously feature incomplete in some ways. Can't create a branch! Can't edit files! Still better than their mobile site though but I end up opening their site in desktop mode to do any real work on my mobile. Super annoying!


They did some demos of improved github mobule support for phone based reviews in the Github satellite stream.


Well played, autocorrect.


I don’t know Visual Studio Codespaces.

Something I don’t yet understand about GitHub Codespaces is: can you execute a Dockerfile from it? Can you execute multiple ones? Can you execute docker-compose configurations?

Is it just an editor, or can it also spin an AWS (or Azure?) instance of the code you are writing?

I have seen people mention they can code from an iPad; but that’s not a complete workstation replacement unless it is easy to run your code.


I'm very excited about this! I hope you can host Codespaces in Australia as well so the latency is nice and fast! I tried VSO but I could only deploy to Singapore and it wasn't fast enough for me in Australia.

Super super super excited!


So I imagine this is similar to codesandbox.io which already lets you do frontendy bits?

I imagine the way Code spaces works is you spin up a container in azure with checked out GitHub branch, vscode on the browser then interfaces with the container(s).

Pretty neat idea if you can customize the docker container setup like a simple docker compose file or something.


Is the codespaces team hiring by any chance? I took a look at GitHub Jobs, and there are a few positions I could apply to there, but none directly related.


Can we please have Julia support? :)


Visual Studio Online (before the recent renaming as Azure DevOps) was at first, and for years, a Team Fondation server in the cloud an associated service. Naming, renaming, re-renaming is always quite an issue with Microsoft products.


Thanks for this! I was just gonna say "wait, this looks exactly like Visual Studio Online".


Ah, this really makes sense with all of the recent work they've done on VSCode's remote development capabilities.

- An early announcement on their focus: https://code.visualstudio.com/blogs/2019/05/02/remote-develo...

- Most (all?) of their recent VSCode updates include improvements to remote development. i.e.: https://code.visualstudio.com/updates/v1_44#_remote-developm...

- Facebook partnering and becoming an early, heavy adopter: https://developers.facebook.com/blog/post/2019/11/19/faceboo...


Their remote development capability is amazing and was quite a game changer for me. Having a nice ide where all of the plugins work on a remote server as if everything is local is so nice!


The SSH plugin is insanely good. I can dev from a Windows machine and SSH into my Mac and do React Native (native) iOS modules. Even my zsh shell acts as if it's local. Running `pod install` from Windows. It's seemless.


+1 to this. $DAYJOB has some proprietary ssh handling, but I can dev from my work-issued macbook into a Linux desktop in the office and vscode "just works"


Agreed. It's completely changed my productivity for the better. I don't even remember the code is remote.


+1 on this -- I had lots of remote issues when traveling to Windows desktop locations. It was surprising how few good solutions (hint: 0) I found. Until VSCode, which has been awesome.


but how do you test the iOS app on Windows?


I agree. I was floored by how well it worked, and actually had doubts that it was working in the way I expected it to/it's supposed to. It was just so seamless and natural. I kept thinking there was no way it was using the correct configuration, running the right scripts, etc.

It was a lifesaver too. I was using a severely under-powered ThinkPad and I'm admittedly awful with Windows. Being able to quickly swap to that remote setup reduced a tremendous amount of friction for me.

When good software works, it's so cool.


So nice when it works and has been breaking incredibly badly for me recently. The Python extensions that vscode was trying to bring up whenever I connected to my remote had some weird interaction with a virtualenv and just pinned the server to 100% CPU and rendered it completely unresponsive. Repeatedly. Reboot to recover.

Generally extremely good, but for obvious reasons this makes me think twice about connecting to some things.


Emacs has had Tramp for ages, which does this. Yes, it's amazing. :)


That's not the same at all. The emacs one is equivalent to all the other text editors that were able to open and save to SSH. Vscode allows remote plugin installation, so things like intellisense work on a code base of millions of lines remotely.


I've absolutely had gtags+semantic on remote C++ projects working just fine with Emacs and Tramp. Python+Flask, too, come to think of it. Oh, and Ruby, including full projectile integration along with automated test execution integration.

The key is Projectile+Tramp; I suppose you coulde use EDE, but I prefer Projectile.


Emacs is the beast.


remote dev (and I guess now codespaces) is one of those "clear differentiators" that is actually getting me to move away from intellij and friends.


I wish IntelliJ moves in this direction so bad - would gladly pay more for this. I tried switching to VS Code for my current project yesterday and it's the best VS Code scenario out of my projects - backend RoR frontend React/TS. TypeScript aspect is amazing but the Rails part is nowhere close to RubyMine.

.NET (Core) was inferior to any IDE (even Xamarin ones) last time I tried it (~6 months back). IntelliJ Rider has been quite an amazing discovery in this regard - I prefer it to Visual Studio.

And then there are things like mobile development which VS Code has realistically no chance of touching.

Any language I can think of other than TypeScript - VSCode just cannot come close to IntelliJ support. I would pay for the ability to have a desktop machine on which I could SSH develop from say a Windows tablet/2in1 with integrated 4G and hardware powerful enough to run the client editor + productivity apps and has portability + battery life (say some intel low power series + 8GB ram)


I agree. I’d love remote intellij development, but it doesn’t seem to be something they’re interested in at all.


VSCode team's highest priority is Javascript/Typescript, everything else is just trailing behind. Python and C++ are the very well supported ones. .NET is still really bad.


In my experience, it can't even do it for TS either.

WebStorm seems to understand Microsoft's TS better than the VS Code Plugin. Complex refactors actually work.


RubyMine can become a resource hog - even when it's not acting up the VSCode responsiveness is a noticeable improvement for me (and I'm working on a i9 MBP with 32gb ram !) - for example code refreshes analysis hints and opens autocomplete much faster.

I don't trust any refactoring tool to do cross file refactoring correctly in JS/TypeScript and the code navigation stuff in VSCode has been rock solid for me - I don't really miss anything and it's a much faster environment to work in - if I just had to do JS/TS development I could switch without any issues.


Vscode has an excellent support for golang too. Python support also is good but sometimes it’s hit or miss with some native dependencies.


VScodes support for Golang is meh. My entire team has switched to using Intellij/Goland.


Try solargraph for VSCode. I've found it about as useful as RubyMine.


But intellij has had remote dev support for longer than vscode has even existed, what am I missing?


It's amazing!

I've been doing some AOSP customization (Android 9) and I have several remote (Ubuntu) servers hosting/building OS images for different implementations (it takes too much disk space for a local PC and even so, I have a Windows based PC because of reasons, so if I had to use VMs, it would be too slow).

Now I can use intellisense through the entire Linux folder without delays. And... a global search for a string takes no more than 2 seconds. And I am talking about a string search through the entire codebase (not just the kernel; thousands of files).

My days are brighter, my life happier, my mood changed; thank you whoever invented this!


How does it work with poor or slow internet connection?


In my experience, pretty well. If the internet cuts out temporarily, it reconnects automatically without losing any of your work.


It’s actually impressive how often VS code or ssh has exploded for some reason without losing any work.


Should be fine - most editors will not round trip on every key press, only periodic saves or command runs.


True, I love it and it has been a game changer. The only problem with that is that it only works with the official VSCode, not with the OSS counterpart, which is a damn shame.


The WSL integration is a pretty good result of that effort too.


Is there a way yet for me to run a server on Windows, and be able to code anywhere from my web browser? I basically want code-server that works on Windows.

https://github.com/cdr/code-server


You can register your own machines with Visual Studio Codespaces: https://devblogs.microsoft.com/visualstudio/bring-your-own-m...

It's not entirely self-hosted, but it's an interesting hybrid middle-ground.


Coming soon :)


I wish the vscode remote dev functionality didn't require a binary server/remote side component. I have a bunch of users who want to use it, but it's not compatible with the system libraries on our servers and dev environments.


Reminds me of a job in a past life I was quite happy to leave. It seemed like all I did was clean up low-end websites compromised through Frontpage extensions.

That was a year I'll never get back, but I do highly recommend the fun of leaving _vti_bin/ directories laying around with funny-behaving things in them. Every few months I still see evidence in my personal site logs of a script kiddie slowly becoming enraged as they figure out I left them a busy box to play with.


Are you sure it needs a remote component? The remote SSH dev experience is actually pretty good in python.


Quite sure. Here's the documentation.

https://code.visualstudio.com/docs/remote/remote-overview

It seems like it runs all the functionality on the remote end, and the vscode instance you're running on the machine in front of you is just the GUI. To install this, you need ssh access, and then it drops some binaries on the remote system and uses ssh to start them up -- so it looks to a layman trying to get this working that "it only needs ssh", but that's just for the install stage. These binaries only work with more recent releases of glibc.

You know what's interesting about some of the features listed on that page:

- Develop on the same operating system you deploy to or use larger or more specialized hardware.

- Sandbox your development environment to avoid impacting your local machine configuration.

- Make it easy for new contributors to get started and keep everyone on a consistent environment.

- Use tools or runtimes not available on your local OS or manage multiple versions of them.

- Access an existing development environment from multiple machines or locations.

We have all those already with the way our development environments are setup, but the reason people want to use vscode is for the editor, no one asks about the above things.


So then perhaps you could mount the remote file system with something like SSHFS and use VS Code locally?

I don’t understand what VSCode could provide that would be useful while not executing any code on the server side. It sounds like what you’re really asking is that vscode be made compatible with older version of glibc?


sshfs is god awful slow for heavy local editor use. I don't understand what vscode provides other than an editor when all those capabilities are something that already exists when working directly on a remote machine, either.

I am asking that vscode be made compatible with older, established builds of glibc; or that the server component be open source so it's potentially possible to get it to work.


Use the remote containers plugin and that problem goes away.


Didn't we already solve this problem with containers?


You should read the article...nothing to do with containers...


The article has a lot to do with containers. When you spin up a code space, you get a containerized workspace for the current repository.

> Codespaces sets up a cloud-hosted, containerized, and customizable VS Code environment. After set up, you can connect to a codespace through the browser or through VS Code.

(But that wasn’t what the parent was referring to...)


I believe he was referring to the system libraries being outdated problem


There are perpetual reminders all around that Microsoft's only pretending to like f/oss because that's where the developer attention (and thus corporate money) is. There's spyware in all of their open source apps (TypeScript excluded, because they couldn't get away with it there) that you can of course patch out, but you can't get it removed from the project because, free software or not, Microsoft gets to decide what goes in or out.

Bet you a dollar the GitHub mobile app that's going to come out pretty soon will also be totally proprietary with no source provided. It's a growing trend in developer tooling: even Docker's desktop versions (not Microsoft's fault, but still) are not even open source (much less free software).

It's going to be really sad in a few years when Microsoft starts turning the screws to extract more revenue from this free software ecosystem (GitHub/npm) that they are coming to exert major control over.

Soon, the most common "industry standard" tooling for the largest and most popular software development ecosystem (javascript) will rely heavily on proprietary software that spies on you continuously while you use it, just like Windows.


> Bet you a dollar the GitHub mobile app that's going to come out pretty soon will also be totally proprietary with no source provided.

Stable version already came out a while ago, been using it on my phone. Also, GitHub the website has never been open source and they never pretended it was or was going to be, so no one was holding breath for source code of the mobile app.


I mean, they could have totally released the source and it probably wouldn’t impact their bottom line at all.


It would make quite a dent in support contracts for their on-prem offering.


I'm pretty sure it wouldn't. The mobile app isn't something that requires a ton of support anyway. What good would the source code do you in this case?


I think jon-wood was talking about the website’s source code, not the mobile app.


The view of the Eclipse Foundation onto VS Code may be interesting here: https://blogs.eclipse.org/post/mike-milinkovich/theia-open-s...


whoa, slick.


Yeah, this.

The analogy seems clear to me: The web is to IE as git is to VSCode, eh?

At the very least, it makes it harder for an editor to be a competitor to VSCode w/o integrating with GitHub (not just git) now, eh?


It’s telling that they went with VScode and not Atom. Makes me wonder what the long term outlook for Atom is.


Not really. At least: the web happened well before IE was introduced as an answer. In contrast, VS Code was invented much later than git which at the time was an established technology and in some ways a standard.


The other context here is that IE was a competitive browser in its time: 1998-2001. The problem is that it won and then languished. IE had a lot of sway over how developers built things as the market share grew. Then it locked in users in various ways which starved the other competitors.

It took until Phoenix (now Firefox), for there to be something better that grabbed the attention of developers and those sick of being stuck with IE. It became Firefox and Mozilla hatched a pretty effective plan to steal market share. For all of Mozilla's recent failings, we forget (or weren't around to remember) the success of Firefox was pretty impressive as it was a grassroots effort.


GitHub has always been a proprietary company unconcerned with user freedom.

They actually have a whitepaper that predates acquisition on exactly this:

https://resources.github.com/whitepapers/introduction-to-inn...

The company has always been unethical; Microsoft didn't change that.


Wait for radicle.xyz


Those of you downvoting this - can you explain what you disagree with here?

Because it looks like a good analysis of this part of Microsoft's strategy to turn "Open Source" into a spyware-laden sausage machine for Azure.


I think the downvotes are because Microsoft has been providing some amazing tools completely free of charge. If that helps them sell more Azure... great! Everyone wins, except GitLab and AWS.

Calling it spyware is hyperbolic.

Keep it up Microsoft.


Some of us have longer memories of Microsoft's game-plan - embrace and extend. With so man now willing to grant Microsoft open source cred don't forget that it wasn't so long ago that Microsoft was running a Linux patent racket. If we allow The Beast to monopolise open source development tools we have only ourselves to blame.


Microsoft has been adopting standards to then extend them and lock-in users for two decades.

> Microsoft has been providing some amazing tools completely free of charge

Yes, and they are the opposite of a no-profit.

This are just the first steps: "embrace" and "extend".


Not at all. There are no objective criteria to define spyware that do not also apply to Windows or VS Code (and probably the GitHub mobile app, but I have not yet confirmed that).


My hope and suspicion is this will have a significant impact on the number of improvements to open-source projects and particularly little things like js components.

Just in the last few days, I've come across a few very minor bugs, with a one-line fix. In order to make that change, I currently need to fork the repo, download it, make the change (turn off my prettier or adapt to the repo's) then make the PR.

I'm hoping with this I can just make a PR in the owner's package. It's the difference between a 10 minute commit and a 1 minute change.


Github has had a built-in editor for almost a decade, you just had to click the Edit button in the file: https://github.blog/2011-04-26-forking-with-the-edit-button/ (the button has since changed look to a Pencil icon)

This is not to disparage you, just to note that it may not have such a great effect.


GitHub's editor is useful for simple fixes, (formatting, markdown, typos,) but Codespaces seems extremely useful in building a reproducible dev environment for more complex packages / projects, including build tooling!


Yes but OP was talking about simple fixes in the first place


Even simple fixes often need to be run/tested before a PR can be put up with confidence.


a one minute change isn't ran or tested, almost by definition.


If you could have a fully-functional dev environment with pre-installed dependencies in 10s and the package takes 48 seconds to build and test, then you could.


I'm aware of several places in my team's codebase where you can change a couple of characters and break the entire company if you didn't test the change.


Wrong


There's a very big difference between editing a file in a textbox and editing a file in an IDE pre-configured to have all the correct dependencies, extensions, build&test scripts, intellisense, etc.


Of course there is! But if it's literally one line...


The set of single line changes I'd be comfortable making with full IDE support is much larger than the set of one line changes I'd be comfortable making in a text box.


I feel like even with one-line fixes, having the tests run before committing (to see the CI/CD results instead) would give people a lot more confidence in making those changes.

Personally speaking, I'd be worried that I end up making 15 commits to get everything right and the history in that PR would be slightly embarrassing. Having the live linting, intellisense and tests makes pushing a single commit a lot easier.


That was already possible with Travis CI though. Not sure how the situation is now, are they still up and running?


The difference is habbit.

We are not in the habbit of doing this now.

This change may change that habbit and encourage a new one.

Im not saying it will, but its naive to brush literally every suggestion off because you can already do something similar.

At least think it through before making a judgement on a new idea.


Yeah, where this gets really interesting is in the integration with the project's build system, CI, and test environments.

I'm envisioning a project with a full automated build and test suite with an on-demand staging environment for each change (the k8s docs project does this, at least it did the last time I chucked a typo PR over the wall).

With proper integration to the editor you could have an extremely slick dev environment instantly available for any casual passerby. Once implemented, this would greatly simplify maintainers' lives as well!


The edit button is perfect for fixing typos; I don't think I've ever even used it for any other purpose. Tidying-up typos up as you're passing through is a small way in which anyone can help contribute! It's like picking up pieces of trash as you're strolling through a park.


a bit of a noob question. I'd love to be able to tweak code on the spot. Like I'm showing something to my boss and he wants something quickly adjusted, I write a couple lines, commit and then with Github Actions I get back an updated executable immediately

But I feel like things are set up explicitly to not work this way. Maybe I'm doing something wrong but can you trigger a rebuild of a prerelease?

It seems you need to setup a new tag and a new release version to ever get a rebuild. There are explicitly no official Actions for updating releases. A new release for a one line change seems a bit crazy (and you'll get a huge clutter of releases which is confusing for users)

I tried to ask and was told it's maybe possible if you write an action yourself .. yikes https://github.community/t5/GitHub-Actions/What-s-the-canoni...


You can set up your actions to build an executable for each commit on the master branch, it will be available as an artifact in the actions tab. This is useful if you want to test your built code.

Generally speaking, you shouldn't modify existing releases, since somebody may have downloaded them and he will have no way of knowing you have improved them.


I guess you're right. That this is the expected workflow. The way the UI by default dumps Prereleases and Releases together (with very small faint font to distinguish them) in the same tab called "Releases" is an issue so I sorta understand why you feel it'd be confusing. The UI is no good, but this is not an insurmountable problem

It's true you can have a latest artifact.. I will try using that - but I can't email a colleague and tell him/her to download an artifact. There is no "latest build action artifact" page and there is so much extraneous information that if they've never used github you'd need to attach an explanation of where to click.

I didn't feel my use-case was particularly unusual, but I guess it's doesn't fit Github's model.


You still have to fork


Because implementing a shadow fork is sooo hard.


You must be fun at parties


I think you missed the part where i was being positive to new ideas and not just being a pointless debbie downer.


Hopefully the licensing requirements can be made simple as well!

I recently wanted to submit a 3 character change to golang that significantly speeds up strconv.ParseFloat(), but lost interest about 2-3 minutes into reading this: https://golang.org/doc/contribute.html


Technical advancements are always held back by politics. This is one of the main advantages of GPL, there is no CLA to sign.


CLA's are imposed by companies, not licenses. I'm quire sure that companies with OSS projects under GPL licenses would still want external contributors to certify that the code they contribute is theirs to contribute and can legally be licensed as GPL.


Indeed, there is the Developer Certificate of Origin for that:

https://developercertificate.org/


Sure there is: https://www.gnu.org/licenses/why-assign.html

The owner of a GPL project doesn't own the copyright for contributed code (and therefore can't license it themselves under GPL), unless they receive a copyright assignment.


Why not post the change here so someone else could contribute it? Sounds useful.


That'd be awesome!

    diff --git a/src/strconv/atof.go b/src/strconv/atof.go
    index 28ad094..49cec69 100644
    --- a/src/strconv/atof.go
    +++ b/src/strconv/atof.go
    @@ -410,12 +410,12 @@ out:
     }
     
     // Exact powers of 10.
    -var float64pow10 = []float64{
    +var float64pow10 = [...]float64{
      1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
      1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
      1e20, 1e21, 1e22,
     }
    -var float32pow10 = []float32{1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10}
    +var float32pow10 = [...]float32{1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10}
     
     // If possible to convert decimal representation to 64-bit float f exactly,
     // entirely in floating-point math, do so, avoiding the expense of decimalToFloatBits.

math.Pow10() already uses arrays this way, and I found a ~10% performance while optimizing an alternative float parsing implementation by making the same change.


I just want to say kudos and well done to post the diff here.


Didn't you just poison this change and ensure that it can never be applied? Having posted this anonymously, nobody can sign the Contributor License Agreement and promise truthfully that this is original code that they have the rights to contribute. Including yourself, in the future.


You can not copyright the ... (dot dot dot) nor can you claim copyright to an existing work by adding ... to it. You might be able to pattern it though...


I don't know the specifics of Google's contributor agreement (you need to log in with a Google account just to read it), but in my experience they are much stricter than copyright law. I've heard of organizations that would like to force people to sign contributor agreements just to be allowed to open GitHub issues. Because the issue might contain information that might taint everything. At least in the view of corporate lawyers.


That seems outside of the scope of an in-browser text editor...


Sure - I'm just venting. I found something trivial that makes a small difference, but the contribution process was overly cumbersome.

To the parent poster's point, I feel if I could easily submit even a small subset of the trivial changes I have sitting around in local forks, it'd greatly improve several projects.


Or syncing a local fork before you can edit against master and PR back. I wish syncing a remove/local fork was simpler.


Must be fun for @sytse to watch these GitHub announcements every year, where they consistently release the same thing GitLab rolled out two years prior.

Codespaces -> https://docs.gitlab.com/ee/user/project/web_ide/

Insights -> https://docs.gitlab.com/ee/user/project/insights/

GH Actions -> https://docs.gitlab.com/ee/ci/

etc


Gitlab is a bit of a mess though:

a) Gitlab.com is ridiculously slow. Even the CEO admits they failed to invest in it.

b) You can't disable features you don't need so you end up with a sidebar full of Kubernetes and Security features for a Git project dedicated to documentation.

c) Staggering amount of open issues and merge requests so you feel discouraged from even raising anything since it just gets lost in the weeds.

d) On the main Git project screen there are 15 buttons. Including again ones for "Add Kubernetes cluster" or "Add License" which you can't remove or hide even though it's irrelevant for 99% of Git projects.

e) Feature set and billing are all over the place. It has great project/issue management but in order to get say roadmaps you need to have everyone in your team on the $99/month plan. Even though they aren't developers. So in some cases Gitlab ends up being much more expensive than Jira + Github.

I could keep going. But Gitlab is an example of a company that is moving too fast and needs much better product management. I would take Github's more deliberate approach any day.


Thank you for your feedback!

Regarding performance, we've made some recent improvements (here's one example: https://gitlab.com/gitlab-org/gitlab/-/issues/30507#note_293...), but we know we need to do more. We're actively working to improve our sitespeed (https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/7154), and we have several other improvements in process this quarter.

Regarding disabling features and the Git project screen, our UX research team has heard this feedback from other users. It's fair feedback, and we're looking at how to address it.


I love GitLab's transparency and the decentralized concept; But I can't comprehend how some basic features take as long as they do to get done. It took GitLab _3 YEARS_ to add a "What's new" link to the header: https://gitlab.com/gitlab-org/gitlab/-/issues/16653 ... and it still isn't closed.

Issues fall through the cracks because there's no internal health oversight, take this issue for example: https://gitlab.com/gitlab-org/gitlab/-/issues/21907 It simply ceased to exist because the original staff member left GitLab.

I've also seen community MRs with weeks of work go to waste because GL staff couldn't take proper ownership/responsibility to see them through.

I think having a "all hands" week where all work stops except for going through current GitLab.org issues, fixing labeling/priorities, adding related issues and pinging the correct leads would do WONDERS.

Sadly, if GitHub adds scoped labels and descriptions we'll be making a move over as it's the final piece of the puzzle.


My favorite is when I open an issue and get no response.

Then, after a year, a bot auto-closes the issue due to "inactivity"...


One feature that would help a ton, that would hopefully be low hanging is to refresh the "Issues", "Merge Requests", and "To Do" count indicators in the background.

They're basically useless right now because I constantly have 6+ tabs open and they all have different numbers and I just now I need to do a full page refresh to get the updated number.


I agree that there are loads of open Gitlab issues, but I’ve found that their team are really easy to communicate with, really open to feedback and somehow also respond really quickly on issues. I like that they use Gitlab for so much and that they’re still really open to hearing about a workflow that’s different to theirs and keen to help with that.

As a user I really like that they have their tickets open like that. I’d never contact Github and tell them about some minor feature that would be helpful or give them feedback on a new feature they’ve released because how would you even do that in a way that’s not annoying? And with Gitlab you often get to feed in at the design stage which you’re completely shut out from anywhere else.

I’m not sure if you’ve actually had issues go missing - I know they have loads of repos and I’ve only engaged with a few - but my experience definitely hasn’t been that things get lost in the weeds.

For what it’s worth I agree with all the extra features being too visible. I kinda get it - one day I’ll get round to learning Kubernetes and I’ll probably do something with Gitlab’s integration when I do - but while I don’t use them those features are definitely too visible and add too much clutter.


We host our own GitLab instance and it's been great. Performance is way better than the public GitLab site and it's been dependable. It would be nice to disable some of the features but, overall, everyone at my company is happy.


Ah yes, the "Who can find the open 2y old GitLab issue for our problem" game. There is always one and it always has a couple of "This is an issue for a customer <zendesk link>" comments. At least even very old issues still get responses and seemingly are tracked somehow.

I kind of agree with the "too fast". It seems to me that many features are being created as a PoC to pad out features lists and having something new to market. It will then live on as barely useable and accumulates hundreds/thousands of issues as the devs seem to be spread way too thin over all the PoC, core and new features.


This is great feedback. Going fast is a core part of our strategy, as is focusing on breadth over depth (https://about.gitlab.com/company/strategy/#breadth-over-dept...). Not only does this provide an easier path to collaborate and contribute for the wider community, it allows us to shorten the feedback loop with everyone that uses GitLab so that we can invest our time and effort in the areas that matter most to the wider community.

That said, I completely agree that we need to get better how we iterate and improve the quality and performance of existing features. We've more than doubled the number of Product Managers, Engineers, and UX Designers over the last 12 months to work alongside the wider community to help transition "barely usable" features into lovable features. Please ping me (@gweaver) on any long standing issues that are important to you and i'll do my best to route it to the directly responsible PM.


> But Gitlab is an example of a company that is moving too fast

I've studied GitLab's code history for a while, and they have been moving at a very fast pace for years now. Below is a one year window (from today) into to their gitlab repo.

https://imgur.com/HOh5Zrr

https://imgur.com/snU8UfY

https://imgur.com/DDxD3lN

Some points of interest are:

1) 15k commits are merge commits.

2) The vast majority of the code churn is ruby, which is expected.

3) Based on the bus factor, a lot of files that are iterated on, have less than 10 unique contributors. And there are a handful of files that are iterated on a lot, by a lot of people.

4) A lot of the code changes are 10 lines of churn (lines added, changed, deleted) or less, which indicates incremental improvements/bug fixes/etc., as opposed to adding new functionality.

Something that I'm not doing right now, is mapping the churn, to the number of unique contributors. It would be interesting to see if there is a pattern to their churn vs number of contributors.

GitLab is definitely moving at a very fast pace, and it would be interesting to map this to their issues, but their API is extremely slow, so I've never bothered trying.

Edit: For the scatter charts, the x-axis represents the number of files. And the y-axis is number of contributors (bus factor chart) and churn size (churn chart)


The GitLab license is really tough. We use GitLab internally with about 1000 users, but only 50-100 are developers. The rest are analysts and data scientists who either edit doc files or push their R projects so other people can see them.

25 of those are willing to pay for the advanced features at $100/month, but the entire instance has to be upgraded. It’s frustrating because there’s no way to pay $100/month so 950 people can view a private repo or edit markdown.

If we could enable features for just the devs who need it, we could. The GitLab folks were nice, but the only workaround for this was to have multiple instances that people would connect to depending on their need. That’s confusing for non-devs and also many projects have a few developers but 3x as many people who just edit markdown or view CI status.


I'm a solo developer and I disagree with everything you have said. Gitlab has been an absolute joy to use. Sure, it has a lot of features, but it's not like you are forced to use stuff you don't need. My workflow is pretty simple, yet I have never felt like I'm using a sledgehammer to kill a fly.


I don’t remember gitlab being this cluttered, these new features you mention must be relatively new.

Haven’t used them since they allowed an intern to purge the production database.

Kind of glad I have stuck with github thus far.


Intern? I don't remember that detail being shared.

Really!?!?


It wasn't an intern, it was (or rather is now) a senior engineer, and this was 2 years ago now.


GH is clearly not innovating nearly as much as GitLab and hasn’t been for a long time, but since they have so a huge chunk of the market already they can see what works and what doesn’t work for GitLab and cherry pick what they like. Apple operates in a very similar manner - in many areas they lag behind.


I'm not sure this is correct. GH seems to take their time, and get things right. They're product leadership is really top tier compared to the rest of the tools providers who are often quick to release a feature half-baked hoping to iterate. I've rarely seen a GH feature that's not fully polished and "makes sense" on day 1.

They are the Apple of the dev tools space. Less is nearly always more.


Can't really agree on that, looking at Github Actions for example.

It's such a lack luster offering with severe limitations that make it almost unusable for any sort of serious project (no support for private Docker repository, no manual steps, yaml support is abyssmal, ...)


My view is that GitLab is more prone to feature creep. They have a lot of innovative features, but because of the number of features, most of them really only feel 90% or 95% of the way there. GitHub chooses a smaller number of features, but they feel more polished.

I don't think the feature creep is all bad. Sometimes the new features are amazingly useful, if not totally polished. It depends on what you need, and sometimes you need features that only GitLab has.


VS Code online is a substantially more robust offering than the GitLab Web IDE. Not an apples to apples comparison of the actual substance of the offerings here.


This isn't really a useful observation — it's not like any of those were something unique which nobody had thought of before GitLab implemented them, either. It'd be far more useful to compare them knowledgeably and talk about their respective benefits and drawbacks.


This is a "Good Thing" for everyone involved.

Look at Android vs iOS. Each release sees popular features "borrowed" from the competition. Back and forth Google takes something Apple did well, then Apple turns around and does the same.

Tight competition between two platforms gives us, the consumers/users, the best. It drives innovation, it drives down prices (I mean, lets be honest, GitLab had the entire "free" thing down a LONG time ago), and the features that we do have get refined to be even better.


BTW I've seen the same thing on Zoho side, they have so many products and they all work seamlessly across one another, yet they have a very little market share.


The bigger question is, how far will "but we did it first!" carry a business? After all, Github wins that battle on the core feature set.


How do the implementations compare?


In this case, they don't. Codespaces offers a lot more functionality than the GitLab web IDE.


Competition is good for customers. I don't care who had the feature first.


I'm sure he'll have his usual blogpost moaning about how Gitlab already has it by end of day.


Why wait until the end of the day on the west coast? :) We just posted https://about.gitlab.com/blog/2020/05/06/git-challenge/ where we encourage you to compare:

1. GitHub Insights with GitLab Insights, Contribution Analytics, Issues Analytics, Productivity Analytics, Value Stream Analytics, DevOps Score, Code Review Analytics, and CI/CD Analytics.

2. GitHub security features with GitLab Container Scanning, Dependency List, Dependency Scanning, Dynamic Application Security Testing (DAST), Security Dashboard, Static Application Security Testing (SAST), and Secrets Detection.

3. GitHub Codespaces with the GitLab Web IDE, CI/CD Environments, Review apps, and Live Preview.


I'd definitely encourage everyone to git GL a try - our teams switched over from GH + Jira about a year ago, and haven't looked back. The integrated CI and project management features are a game changer.


I have to agree. I have been a big champion of GH but the more I use GL the more I keep asking myself why I don't just do all my stuff in GL.


Git it a try, pun intended? :-D


'Twas a simple typo, but I'll happily retcon it into a pun!


GitLab is also faster at cloning than GitHub. Whenever I have to clone a bunch of website repos to update templates for my website generator the GitLab repos finish cloning first even though I start them last.


To be fair, nothing was announced today by GH that wasn't in GL for several years.

Perhaps the quality of VS Code trumps GL WebIDE ... But I am not the sort of developer to ditch my desktop editors / IDEs for something running in a browser (electron or otherwise).


I think the most important thing that most people maybe forgetting is, GitHub maybe announcing these features, but these features were the results of acquiring companies that were solely focused on these features for years.

So if you take this into consideration, GitHub's feature has not only been in works for a while, but they have been refined to a point that GitLab will have a hard time catching up to.

There is no way GitLab will be able to compete on the IDE front-end for a while since GitHub's solution is essentially VSCode which they own and is iterated on at an incredible rate. And the one thing Microsoft hasn't made open source, that makes remote work incredibility powerful, is what makes Codespace incredibility difficult for GitLab to compete with.

Their security scan feature is the result of acquiring a leader in the field with expertise that GitLab will have a hard time matching/hiring for. And GitHub's Insights feature is the result of multiple acquisitions with years of previous experience.

These announcements maybe new, but the solutions that GitHub has released are years ahead of GitLab's existing solution.


I think that you are wrong on VS Code Remote not being open source. Here is the relevant repository: https://github.com/microsoft/vscode-remote-release. Corresponding official documentation (https://code.visualstudio.com/docs/remote/remote-overview) states that Visual Studio Codespaces is essentially a managed service of Visual Studio Code Remote Development. BTW, there is also an interesting alternative, the `code-server` project (https://github.com/cdr/code-server).

P.S. FYI: The TLS certificate on https://gitsense.com has expired.


That repo doesn’t have any code in it, it’s used purely for issue tracking and syncing with the VS extension repo, I believe.


My bad. Apparently, you're correct. It seems that relevant code is a part of VS Code codebase. Perhaps, this is it (though, I very well might be wrong on this, too): https://github.com/microsoft/vscode/tree/master/src/vs/workb....


I vaguely remember a post a while back (maybe a year ago) where they said they can't make a part of their remote technology open-source. Maybe things have changed, but I was quite sure it was something they were keeping close to them.

Also thanks for pointing out the certificate issue. I was actually leaving it that way on purpose, but I guess it can reflect poorly on my product, so I should just update the landing page with something non-descriptive.


Perhaps, you're right (or maybe not :-). Frankly, all this stuff, while interesting and eventually useful, is a bit low on my current priority list ... Re: certificate - You're welcome.


Yeah, well good luck with that one.

With this feature, MS just ventured in a space where no-one can compare yet.

If this ever gets popular, that's check mate right here.


Was this reply to the wrong comment? Cause your first line is a total non sequitur to what you're replying to. And this is definitely a space people both a) can compare (compete?) and b) MS is playing catchup to (albeit with a great advantage).


I understand that many companies will be seduced by the offering and what could come next:

* No more source code on developers machine so better for security.

* No more development environment to setup and all the devs sharing the exact same settings: simplified onboarding of devs.

* No need for costly developers machines.

* No more infra to setup to host the source code repository, the CI/CD workflows (even if many companies already moved that to the cloud).

But as a developer I am worried what could also come next:

* dashboards for managers with all sort of stats on developers: code quality with arbitrary rules, productivity (number of lines of codes), number of stars from other developers, etc.

* being locked-in with the Microsoft toolchain all along from source code edition to deployment in Azure. For instance currently I chose to do my NodeJs backend development on vim with coc-vim and found it to be much lighter than Vscode (I have a very old developers machine)


They announced developer productivity analytics in the same keynote as they announced codespaces. It's not just coming, it's here!

Funny enough, after introducing the analytics stuff, they started the next section by showing that the more code you write the more security vulnerabilities you have.

Which is it, Github? Do I want to stay on top of your SLOC leaderboards so my manager doesn't fire me? Or does writing the most lines mean I introduced the most vulnerabilities so my manager should fire me? The answer depends on which product github is trying to sell you at that very moment.


Do I get points for deleting lines of code?


You should get double points!


Do you have link to the developer productivity analytics? Or is it stuck in video form at the moment? Very curious


Here is the HN discussion from the frontpage: https://news.ycombinator.com/item?id=23092966


> dashboards for managers with all sort of stats on developers: code quality with arbitrary rules, productivity (number of lines of codes), number of stars from other developers, etc.

How does GitHub Codespaces allow for any of this? All of this was already possible with plain git, no?


My thoughts:

* Some teams do this already with git data...but if it's free as part of a team's development platform then maybe the less sophisticated managers who don't know how to interpret the data will misuse it?

* If the editor is heavily instrumented then even more granular "productivity" metrics could be extracted, like time spent with the tab active, etc. which aren't available with a vanilla install of other editors. ¯\_(ツ)_/¯


Sounds like a form of (job?) security-through-obscurity, no? The data was always there, but not all managers were savvy enough to process it and weaponize it.

In the end, obscurity is just not a durable defense. Better to earn trust with good managers, and avoid companies that let bad managers flourish. If you don't have the ability to quit a bad manager or bad working environment, then no amount of tooling choices by GitHub/Microsoft was going to save you anyways.


>weaponize it

Oh boy. Had chills from my time as a Jr. Engineer at Accenture. Still remember the day a manager looked at me like I offended his entire family for saying that lines written didn't mean productivity achieved.


It can take years for some to learn that the real metric is how many lines were deleted.


You give managers too much credit.


How does something like this work when you have configurations not in source control? Access keys, passwords, IPs for database connectivity.


It would live in your own personal instance, just like how a lot of company confidential data lives in google docs and gmail today.


You can archive (2) with VS Code by having a development container defined in .devcontainer/devcontainer.json + .devcontainer/Dockerfile + Remote-Containers plugin.

I've been doing that in my company and it's awesome to have a reproducible environment for each project.


> dashboards for managers with all sort of stats on developers: code quality with arbitrary rules, productivity (number of lines of codes)

...down to number of keystrokes. Microsoft has a 25+ years history of spying on users.

> being locked-in with the Microsoft toolchain all along from source code edition to deployment in Azure

That's the real endgame. Lock-in has been Microsoft go-to strategy since the beginning.


This is pretty epic. VS Code has proven itself to be one of the best (if not the best) and feature-complete editor out there. It's basically an IDE of a ton of languages at this point, and it's completely free. Integrating it with GH is a no-brainer move from Microsoft's standpoint, to increase market share even further with more seamless integration.

If they're able to do setup for Python, Go, Ruby, and JavaScript projects, I suspect that'll be > 50% of all professional work (both FOSS and private) done on GH.


While VS Code is definitely good in general, and first choice for languages like JavaScript, I find it really hard to compare it to JetBrains PyCharm and GoLand (understanding GoLand has no free version).

The debugging and refactoring experiences for Go and Python in VSCode feel slow, awkward to set up and configure and just generally tacked-on.

I have gotten the PyCharm professional and GoLand licensed through my employer but I will 100% be paying for them out of my own pocket if I ever lose that.


Yup, VSCode isn't comparable to IntelliJ or the rest at all for anything other than Typescript. IntelliJ offers a bunch of life saving refactorings. Want to extract a new method? Ctrl+Alt+M. The exact same shortcut works in every language, with almost the same semantics as much as possible. Intellij can do context aware autocompletion (Ctrl+Shift+Space).

I use vscode for lightweight file editing. But for any long term project, it doesn't offer anything over Jetbrains products.


I pay for the full JetBrains subscription. While I still use vscode for typescript and rust, I use JetBrains for anything else. It's one of those no brainer purchases that pays for itself within a month.

Programmers create enormous value. If you can get even small single digit percentage improvements by leveraging better tooling, it pays for itself almost right away.

I estimate conservatively I produce $500,000 in value a year. If I can eke out a 1% improvement in productivity that's worth $5000 a year.

I think it's a big blind spot that developers don't invest enough in.


Many vendors do think like this when they start their offer with 'how much is your time worth'? Indeed, your tool might save me 1 hour but it's not necessarily worth the price.

On complex codebases though I mostly need the IDE just to navigate code. Anything released in the past decade knows how to index some classes, jump around and do 'find usage'.

I agree that tooling most definitely helps, starting with your office, your chair, your hardware and your software config. You could also get 1% out of sleeping more I think.


Chair, desk, distraction free environment, fast computer, fast internet, multiple screens, consistently good sleep, diet, and exercise. Stable emotional environment (relationships). You could easily get better than 1% from each of those. I'm ruthless about optimizing these.

Software tools, keyboard shortcuts, libraries, frameworks and saas software are also good targets to optimize that often don't get enough attention.


(Serious question) I'm curious to hear more about "ruthlessly optimizing" your emotional environment and relationships. That is not something heard everyday...

Or if you'd prefer not to personally summarize, are there any books, articles, videos, etc, you can recommend that expand on this overall life philosophy?


It's not the right word for that, but in general just be extremely picky about serious qualities in your partner. Ditch bad relationships and maybes quickly, because there is a high opportunity cost. Value peace in a relationship, and stay away from people who like to fight.


> I estimate conservatively I produce $500,000 in value a year

Do you actually earn this amount per year? Or, is this just a projection of what you think the value of code you write is?


You can never earn the amount of value you produce. Your employer can't survive if they hire you for that amount.


Not sustainably, but they could if they underpay others. Or run a deficit.


I think he was talking about the value he generates, so possibly something like revenue/profit per employee kind of thing. For example, FB and Google make more than $1M revenue per employee. You can go more granular and look at the impact of your team or yourself as well.

But can be his comp as well, these are not unheard[1] of numbers.

[1] https://levels.fyi


Yes, I'm talking about value. My comp is less than that figure. There are some developers with total comp like that though.


I've found I love JetBrains IDEs when I'm operating as a one-language power-user. But the last few years I find myself needing to use 2-3 languages in the same day (several more if you include markup "languages"). VSCode has become my editor of choice for local dev and vim for remote dev/debug.


I use IntelliJ with the various language plugins for this reason. It allows me to use the same setup for all my languages. Granted, I do get the full license through my employer, but I think it's worth it even if my company didn't pay for it.


This is exactly my current situation. In one day I can end up writing in up to 4 languages (Go, Python, C, C++) and having one editor, with one set of settings for editing, and all the customization available in a single settings.json file, is just too good to give up for language-specific IDE's, especially ones that require yearly subscriptions.


I just use intellij for the same purpose. Today alone, I made changes in Kotlin, Typescript, Java, JS, Groovy, and Python. All in a single project, in Intellij. I do use and appreciate vscode, sometimes, but the experience is nowhere near as good as Intellij for me.

That said, being able to change/edit PRs in github with vscode will be awesome. Will negate the need to check out out a branch locally for a ton of cases.


Have you tried the Remote Development VS Code extensions from Microsoft? I find them quite neat.


Even for C# VSCode is way less useful than VisualStudio, which also has a free version (though doesn't run on Linux)


Honestly, unless I'm working on a Windows machine, I find JetBrains Rider to be the best option for C# specifically. This is especially true if you like having your tests easily accessible from your IDE.

That said, VSCode is still very nice for front-end pretty much universally, and it's also great for things like back-end Javascript/Typescript. I think Codespaces is really going to excel when it comes to things like NodeJS -> AWS Lambda. Make code changes, run "sls test", done.


> This is especially true if you like having your tests easily accessible from your IDE.

I haven't used Rider, but I'm curious how it could be easier than the Visual Studio test explorer? It seems pretty convenient, and doesn't lack any obvious features I can think of.


Minor point: the Rider test explorer tells you why your tests aren't appearing. Visual Studio's test explorer will just say "You have no tests, try rebuilding your solution" even if you already rebuilt it.


I assume in part this is because the Rider test explorer is based on the one in Resharper.

Some stuff it does better is things like running 64 bit and 32 bit tests at the same time, supporting both nUnit 2 & 3 without having to disable/enable the plugin. Mind you I spent some time with code in release mode trying to work why I couldn't debug a test last week.

To be fair I hate what Resharper does for Visual Studio performance and a lot of the really useful refactoring in box these days so I no longer use it.

I prefer to stick with Visual Studio but I know lots of folks who are happy with Rider. It's good for all of us when there is competition in paid for developer tools.


I feel with .NET Core migrations the wind is shifting, at least for web development where VSCode is starting to be preferable to Visual Studio. VSCode isn't likely to get the WinForms or XAML visual designers any time soon, so Desktop apps will likely stay a Visual Studio niche, but even then I've found myself increasingly working in VSCode up until the point I need to do a UI tweak even with Desktop apps.


It's no contest, JetBrains Rider provides the best C# development experience on any platform, with smarts well beyond what VS is capable of.

While a commercial product, I've got 9 JetBrains products installed under the same toolbox subscription where it's by far the best value software suite I've ever paid for. Thanks to their Toolbox App you can update all products with a single click, just the productivity saved from not having to endure VS's multi-gigabyte updates & OS restarts pays for itself.


> Even for C#

Weird way to put it, C# is expected to work better in VisualStudio, it's the standard/officially supported .NET IDE. For everything else I prefer VS Code personally.


JetBrains has Rider on Linux for C# and while not free, if you're already paying for other JetBrains IDE's, as many devs do, it's included. I just think there's still not much reason to do C# on Linux over say Kotlin if you want a huge ecosystem.

I'd consider it if they come out with a cross-platform GUI toolkit for .NET Core/


While Visual Studio is powerful, I have ran into wierd behaviors within the IDE that just make it a chore to use. Personally, I've preferred C# on VSCode over Visual Studio so far.


I've been using VS Code's Go and Python plugins for development for the last 2 years and I've never had any major issues. In fact, my experience continues to get better after every release.

With the Go language server kicking off, Go development in VS Code is literally a breeze. Every single thing I'd want to do (format code, imports, run tests, run a particular test, debug a test, breakpoints, on and on) has been integrated into the VS Code plugin and it works pretty much seamlessly. I haven't used Goland since it's early release in 2016 or so, so I might be missing out on something, but it doesn't feel like it.

I've never had a good experience with PyCharm. Again might be because I've using earlier releases and things have gotten better. But I'm at a point where I'm too comfortable with VS Code and have customized it to a point where I don't think it's worth it for me to switch to another editor, especially one that is tied to a particular language.


I made the transition from PyCharm to VSCode a couple of days ago and... it's not been smooth. Virtualenv doesn't automatically activate when I first open the workspace, pylint doesn't work yet VSCode thinks it's working and debugging just doesn't seem to work full stop.

I need to get back to it and try to fix it because I do like VSCode as a whole.


One thing that helps me managing Python environments in VS Code: I start VSCode from the command line with my virtual environment activated ("code -n .").

With this, I rarely have issues with VSCode picking up my environment. Hope that is of some use to you.


I will try it, thanks.


Pro-tip for VSCode: if you have a .venv directory in the root of your project, VSCode will try to activate it when you open the project. A few other tools have adopted that convention, too, and now at my job so have we. Rather than sticking virtualenvs in some odd location, the venv for ~/projects/mystuff is ~/projects/mystuff/.venv, and now it almost always Just Works.


Mine is in the root directory but it's called venv, without the preceeding dot. I'll dig around the settings to see if I can change what it looks for.

Strangely it works if I close the initial termnial it spawns and open a new one.


The issue with PyCharm is that it’s actually quite hard to extend due to lack of proper documentation for their plugins.

I love it but I sometimes think of something that contains less features while is easier to develop for would be a better choice.


I think VSCode sets a really good level across all languages (even more esoteric ones like Idris) however it can't compete with IDEs essentially dedicated to a tech stack like PyCharm or Visual Studio.


Just an anecdote from a sample size of one - I had a recent situation where I had to nagivate and edit a code base that was a mix of Go, C++, and JS. And I had a paid IntelliJ Ultimate license. Long story short, VSCode did the best/fastest go-to-defintion like navigation given the constraints. IntelliJ separating Clion to a separate install is rather unfortunate. I can edit Java and Go together, but not C++


I think it's because CLion is a bit of a separate codebase, integrating with GDB and all that, rather than just a language plugin that's also sold as a separate IDE as is the case for other languages.

This is also why the Rust plugin only has proper debugging capabilities in CLion.


I used to use rubymine a few years ago and maybe I just wasn't using it right but I can do all the stuff in rubymine in vs code. The only thing I'm missing is being able to look through the code for gems.


> if not the best

Them's fightin' words. But on a more serious note, I think 50% is a massive overestimation. We haven't seen pricing. Unless MS is willing to take a huge loss on this there's no way it will be free. We all know the resources required to run a modern web app in development mode. I can certainly see this being useful if you happen to be away from your dev machine, or if you just want to contribute to something without setting up the whole environment, but not as a full-time solution. Especially considering github is known to have outages. You'll really be SOL then.


There is preview pricing available for VS Code Spaces, which is almost the same thing. https://azure.microsoft.com/en-us/pricing/details/visual-stu...

The estimated cost for a full time developer to use the system is $23.30/month or roughly $280 a year. That's quite competitive- my "portable" workstation costs north of $2k and has a 3 year life span, so the "yearly" cost is $666. The benefits of being able to get use cheaper dev terminals in the general case could pay for itself, even before you get to the benefits of having a common environment.

Also, you can self host for free. 50% is an over estimate (I've never seen 50% of developers agree to ANYTHING), but broad adoption looks highly likely.


I use my workstation for lots more than typing into vscode. If that’s all I do, then I could just use a chromebook.

I think my $2k laptop uses its local storage for evaluating software, working with large data in memory, lots of other stuff.

So that’s not going away. This would be a cost on top of my hardware $666/year.


I'll admit I've got a particularly killer use case. My daily project has an enterprise system for its backend. Its obnoxiously complex software, so devs generally only run part of it locally and part of it off of shared infrastructure in Azure. Because we are distributed team, cross-country network latency really hurts application performance under "local" dev conditions.

Running in a codespace, the entire codebase runs in Azure. The application performs almost as fast while debugging as it does in production deployment. It's awesome for where we've been able to convert to it.


MS may indeed be willing to take a "huge loss" on this. It may dwarf the added revenue from other sources.

So like I don't know your particular context but I imagine MS's moves would seem surprising for developers, say, at startups. Whereas if you work at an IT adjoint to a mechanical contractor it might make more sense. What's at stake is that MS might be ramping up to some bigger announcement, "GitHub Cloud" or so, where you pay some fee for the cloud hosting and the sales pitch is, "imagine that you can fix a bug from a bug report in a non-crappy editor like VS Code, do a quick code review and push a button which will run your tests, canary deploy, then version it and push it live -- we take care of all that infra, you just pay for the Azure hosting." If you give half of that for free to everybody, you nominally "lose" but you increase the adoption rate of a separate revenue machine, which makes up for it.

A similar strategy was used by Microsoft to make their initial profits with Windows. There it was "you don't have to worry about the hardware specs -- we have already worked all of those out and all of them work with Windows." The key point in both is to say, "what are people seeking out, at the same time as they are seeking out my product?" and then to either give people a lot of freedom or a really easy option. You would rather take one pill that is carefully engineered to have the right omega-3 balance to stave off depression AND is a good probiotic AND has all of your daily vitamins, than to have to bother with a separate fish oil pill and probiotic and multivitamin. Focusing on product "complements" is often a really good strategy.


I don't think anyone would suggest this a full time replacement for your dev environment and IDE


Let's just hope they don't only maintain this online editor and deprecate the desktop install.


That sounds quite unlikely.


Doesn't to me (they might not deprecate it but they will simply stop putting resources into it at which point it turns into maintenance mode). As another posted pointed out the Facebook links, companies would love remote IDE tooling hosted on their premise so it can be an easy way to remove overhead on onboarding and tighten security more.

For monorepos, it might work pretty well.


> would love remote IDE tooling hosted on their premise so

sounds exactly like what Gitpod self-hosted is for: https://www.gitpod.io/blog/gitpod-self-hosted-0.4.0/


Yeah but does it come with github or azure enterprise package?

No.


This sounds like good feedback. What do you mean by "github or azure enterprise package"?

I think Gitpod Self-Hosted was successfully installed on GCP, AWS, and Azure, and we're working on documenting the process.

It also works with self-managed GitHub and GitLab installations (with Bitbucket coming soon).


Considering the desktop install is an Electron app I wouldn't think the two would diverge that much.


If they don't release the code for the cloud implementation, it could diverge.


Free is a huge minus in my book. If I'm not the customer, then I'm the product. I'll happily keep paying for my JetBrains all-product license: https://www.jetbrains.com/all/


> If I'm not the customer, then I'm the product.

This is not necessarily always the case, for example the free thing might be a loss leader, exist to boost secondary or tertiary effects or otherwise exist for non-profit motivated reasons.


Sure, it's a generalization, not an absolute. But for me there's not a big difference between "I'm the end product" and "I'm an intermediate product used to increase sales of the end product". Microsoft isn't a charity; they're an oligopoly pushing hard to keep their stock price up.


I think your characterization of being an "intermediate product" is also dubious since you aren't being sold in any reasonable sense ala the way you are with ad tech. And whilst MS are obviously in the business of making money that doesn't mean it's the only thing they'll do.


If you'd like to argue that MS is giving this away just to be nice, instead of as a calculated move toward sustaining or increasing revenue, I'd be interested to see that. But for now let's assume they're doing what their shareholders expect: making money.

We can't know whether I'm an intermediate product without knowing their goals, which they're unlikely to be transparent about. But lets suppose one of their goals is usage and market share statistics that they use as proof to convince paying customers. In that case, my usage is very much an intermediate product.

Or let's imagine that one of their goals is restored market dominance in developer tools. To that end, they would like their competitors to receive less money, leading to their collapse. If they paid somebody else to give away developer tools for that purpose, I'd obviously be the product. That they're paying for that internally obscures it, but fundamentally doesn't change the exploitative nature of the relationship.


If all this is really what you believe rather than just being argumentative then how can you use any product. Usage and market share statistics are just as useful to JetBrains in that regard and you pay them for the privilege of being an “intermediate product”.


Jetbrains shows no signs of wanting to be a monopoly player in development tools. I've been a customer a long time, and I think they've done a great job of balancing making money with doing solid work and serving their customers. Microsoft, on the other hand, has a long history of willful domination and exploitation, and they've specifically done that with free products to kneecap competitors.


Ahh, so we get to it. You just don’t like MS. I think that’s a valid reason not to use their products.


No, I like competitive marketplaces, as they're one of the core engines of capitalism. I deeply dislike willful monopolies and oligopolies in general, because their goal is to break that engine in ways that harm consumers and often society. Microsoft themselves I can take or leave now that they've been mostly defanged.

I also really like having good developer tools. Many of them come out of community-driven open source. But some of them cost money. And for those, I very much want there to be a competitive marketplace, so there are strong incentives for all players to keep improving.


> If I'm not the customer, then I'm the product.

I'm not sure what you mean by this, care to expand? Aren't you also the product for JetBrains, since you're one of the customers that's keeping them afloat?


Sure. The foundation of commerce is sustained relationships where value is mutually exchanged. I give you a few bucks, you give me a cheeseburger. If fix somebody's problem with a computer, they give me cash. Product for payment; value for value.

When some commercial effort departs from that, it's good to be suspicious. The bills are getting paid somehow. E.g., look at network television from 1960-2000 or so. The viewers were not customers. The viewers were the product being sold to people who wanted to manipulate them. Advertisers were the customers, so the programs were generally about getting maximum influenceable wallet-connected eyeballs; quality was at best secondary.

In contrast, look at what's happened to TV since then. We're in a golden age. [1] Why? Many reasons, but a key one is that people are now paying for TV directly. To Netflix and Hulu and HBO and all the other paid streaming efforts, you're the customer, not the product being sold to somebody else. Now they have a strong incentive to make things that you don't just tolerate but love.

Microsoft in particular has a history of monopolistic behavior that has been harmful to the industry (e.g., [2], [3]). Are these developer tools awesome just because Microsoft is run by nice, generous people? I'd say instead they correctly recognize that if they want to regain some of their lost market power, they're going to have to compete with the existing tools, many of which are quite good. Why are they good? I'd say it's partly because smart people have built a strong business [4] making those tools. If Microsoft manages to eliminate the competition, they'll lose the incentive to build good stuff, just like they have in the past.

[1] https://en.wikipedia.org/wiki/Golden_Age_of_Television_(2000...

[2] https://eev.ee/blog/2020/02/01/old-css-new-css/

[3] http://www.ecis.eu/documents/Finalversion_Consumerchoicepape...

[4] https://news.ycombinator.com/item?id=21796793


> Many reasons, but a key one is that people are now paying for TV directly

This is an insignificant reason. People paid for cable TV and were soon shown ads. Even people who pay to see movies are shown ads before the movie and during movies via product placement. Hulu makes great shows but sells ads more highly targeted than any broadcast channels.

The biggest reason for the current golden age is that streaming services don't have to try to create the most broadly appealing content to fill the most valuable timeslots and can instead cater to each viewer's tastes directly. Breaking Bad was a great show before it got on Netflix, but it wasn't a hit until wide on-demand streaming availability helped it find its audience. Tiger King is the kind of hot garbage that would normally get an afternoon time slot on a second tier cable channel, but making it available on demand turned it into a megahit.


The explosion in channels was definitely another factor. But being paid matters. HBO punched above its weight for years, for example. WHy? Because they had to.

I agree with you that oligopolies like big movie-theater chains will try to exploit that power by doing anti-consumer things like showing ads. But that's just more proof we should be suspicious of free products that may increase oligopoly power.


Thanks for the detailed response.

I can definitely see where you're coming from. In fact, for VS Code, I believe they collect quite a bit of metrics on your usage of the product through telemetry, so it's definitely not "free" in the sense of "nothing given" - essentially, your programming and usage habits of the program are being sent to MS every second.

Re: the case of VS Code eliminating competition and MS losing the inventive to build good stuff, I think the core editor engine being open source gives me hope that this won't happen like in the olden days of MS. But of course, still a risk.


Facebook (and Cambridge Analytica) is another example.

> If Microsoft manages to eliminate the competition, they'll lose the incentive to build good stuff, just like they have in the past.

Typical strategy. You provide a good and cheap product until you reach a relative majority of a market and customer lock-in, then quietly slow down on the free improvements and start extracting money from the users.


No the JetBrains IDE is the product. This phrase generally refers to things like Facebook or Google. They offer tons of free services in order to gather data about you and sell it to advertisers.


Thanks. VS Code is actually no saint in this regard. MS collects metrics through VS Code's "telemetry" option (I think toggle-able to off, not sure) and this data has no doubt been used to improve VS Code and help MS build better product offerings and hence more rake in more revenue.



> If I'm not the customer, then I'm the product.

This isn't always true, so it's best to look at it on a case by case basis. One wouldn't suggest that Typescript coders are a product of MS.

So far, they don't seem to be treating vscode users like the product. I think they're are building out great free tooling to entice users to use their other paid services like Azure.


Github has made their pricing model and the motivations for it pretty clear. They subsidize their hosted service with enterprise self-hosted pricing to justify expanding their feature set. This has been true for a long time, well before the MS acquisition. The things that have changed are:

- Developments that were in place were released.

- The subsidization model made pricing structure changes possible.

None of this has to be a big conspiracy or a big change from Microsoft's acquisition. It's possible they just have a business model that's less nefarious than you're able or willing to understand.


That's an adequate slam at the end there, but I'm more interested in your claim about "to justify expanding their feature set." How about you give me the elevator pitch on that. Because the obvious alternative explanation is that Github was doing what a lot of companies have done: use a loss-leader pricing scheme to establish market dominance, allowing them to charge more to customers for whom that dominance is a feature.


Well, you must then love Oracle. I mean, what you are saying is just silly. Of course the producers of FOSS want something in return, but sometimes it's not nefarious as you might imagine it to be.

It could be a strategical investment to create an ecosystem out of technology that you know the best and can influence its direction, to then sell customizations and develop services on top of it. Like MS is doing here. Or RedHat. Or Google with Kubernetes. Or Canonical with Ubuntu. And so on.


It could be a lot of things. Would you like to argue that it is some specific thing that couldn't possibly lead to the sort of oligopoly or monopoly position that Microsoft has eagerly sought and maintained in the past? If so, which exact thing?


I'm arguing that the premise of non-free software and services being somehow better because there must be a catch is just ludicrous. So no, I don't want to argue "it is some specific thing".

I don't think MS is very charitable company and dislike many things about them, but sometimes a deal is just mutually beneficial. Better at times than with paid products.

And if Microsoft has something terrible planned, the community would just fork the project and go in a different direction.

Moreover I want to add that people, and companies, change. Just like a nation isn't the same it was 100 years ago, Microsoft too might have toned down its malicious practises. Just as a thought to you. We don't anymore blame Germans for being Nazis either.


I'm not saying paid IDEs are necessarily better. But I am saying that in practice, commercial IDE vendors have been making superior products to the free-as-in-speech ones, and have been for 20 years at least.

You blow a lot of smoke here, with "sometimes" and "might". Sure, Microsoft could have been taken over by angels straight from heaven, and is now only intent on doing charitable works until the money runs out. Many things are possible. But possible doesn't mean true. If you'd like to argue something's true, by all means do it.

I think the only substance is "the community would just fork". One, there's no particular proof that a bunch of volunteers can make something like that. Two, that's an enormous effort. Look at how much work and time it took between MS using a free IE to kill Netscape and the emergence of Firefox. And that only worked because Mozilla found a revenue model that let it afford the large number of full-time engineers needed to produce a browser.

So if you're serious about your argument, why don't you explain exactly how "the community" will afford to do that fork. And why your imagined destruction of paid developer tool vendors like JetBrains and handing MS a monopoly in the market is ok as long as you're getting something free right now.


I doubt codespaces will be free- this is how VS Code starts seeing increased monetization. It'll be interesting to see if the self hosted codespace options are no-cost as well.


Even if you're the customer, 99.9% of the time, you're also the product.


Not in the sense which that is meant. The foundation of commerce is long-term, positive-sum relationships between people. The people at my corner grocery are looking out for the needs of me and my neighbors; we look out for them in return. That relationship is fundamentally different than the one between cow and meatpacker.


Yes, you are the product in the sense that this is meant. The people at my grocery store track my purchases using my loyalty card, use that data to influence their ads, and sell that data to others.

Jetbrains might not do this, but if they can make money from this, they would be just as incentivized to do this as GitHub.


Good thing my grocery store doesn't have a loyalty program or track purchases then. Maybe you should use a different one?

I agree the lets-exploit-the-customers behavior you're talking about is currently common, but it's far from universal. And regardless, in a value-for-money relationship one has power that just isn't there when one is purely being sold.


Your grocery store probably charges slotting fees for shelf space, making you the product.

You have the same power when not paying because there are other providers whose free services you could use instead.


My grocery store definitely does not charge slotting fees. Which is part of why I use them. They're a small, family-run market.


Do you avoid public drinking fountains? (Covid-19 aside)


Huh. Do you really not see any difference between a publicly funded accommodation and attempts to dominate a market by a company with a long history of abusing a monopoly?


I do see some differences. I was attempting to use those differences to illustrate one of the ways that this maxim about consumers and products is overly broad.


It's interesting that this is the moment at which you chose to do that.


Exactly. All generalizations are broad. But nobody goes around objecting to generalizations every time they see one; they'd get nothing else done. So the pattern in which they do that is always informative.


I aspire to contribute intrigue to the world.


Microsoft is really the best at the slow strategic burn.

* You host your project in github

* You fund your project using github sponsors

* You develop your project using github codespaces

* You compile, test and deploy using github actions

* You cloud host on azure

Each individual feature is definitely great. I'm not trying to be critical of Microsoft trying to turn their investment in github into a profitable business. This is a kind of vertical integration that is guaranteed to lead to some efficiencies.

One prediction based on this stack is the next piece could be some sort of subscription payment architecture. I wouldn't be surprised to see some kind of Microsoft Marketplace integration coming, but maybe branded under github. Some kind of SaaS subscription enabler.


We're not even porting GitHub to Azure. Our tooling is completely platform agnostic, and MSFT Actions facilitating deployment to Azure are built in the same platform and open sourced the same way that AWS, GCP and everyone else are offering theirs.

GitHub isn't driving anyone to Azure Devops, we'd prefer folks to migrate from AzDO to GitHub. The focus of much of our work is building out the GitHub platform to meet and fairly quickly exceed the capabilities of AzDO (or any other platform for that matter) in every respect


And strangely enough, Microsoft is currently the only big three Cloud Vendor which you likely wont be competing against.

If you are doing anything on the Web, you are competing against Google ( and Facebook ). If you are doing Retail, e-commerce, you are competing against Amazon.

Microsoft is trying to turn the Cloud into its new OS before Amazon does it. But from the way things stand this will likely never happen.

So as far as I can tell I have no problem with that strategy at all.


Don't forget about VSCode! It's very quickly becoming one of the best free editors out there, replacing Sublime, Atom and the rest. I'm actually curious, will this be using Atom, it's own thing, or VS Code as the editor backend?

I have actually been running code-server [0] which finally allows me to have my powerful editor with all my settings and extensions and working with my own files on any device.

[0] https://github.com/cdr/code-server


> Don't forget about VSCode! It's very quickly becoming one of the best free editors out there

I don't know if people realize just how much market share VS Code has grabbed. It went from 7% to 50% in five years, according some some surveys [1]. Microsoft is quietly dominating this part of the stack. [2]

[1]: https://www.welcometothejungle.com/en/articles/vs-code-javas...

[2]: This is not an invitation to debate the merits of VS Code or tell me which editor you use, just an observation of growth


It's hard to make a profit from a code editor - i think. but will it allow MS to grab developer mind share to focus on C# .NET and Azure?


MS constructing a path between different levels of the development stack. They're integrating languages they control with their super popular IDE with their insanely popular source code repository with their cloud provider.

My bet is they won't stop you from going off the path (e.g. using VS Code to push to Bitbucket and deploy to AWS), but they will make the MS path the easiest and the default.

VS Code in GitHub is a perfect example of this. Every integration makes it easier and more appealing to your CTO to Just Use Microsoft TM.


I feel New Microsoft is a lot.of about TypeScript/JavaScript. TypeScript development is dominated by Visual Studio Code.


>I'm actually curious, will this be using Atom, it's own thing, or VS Code as the editor backend?

Isn't it obvious? VS Code.


> replacing Sublime, Atom and the rest

Regarding Atom, I've heard some whispers around the internet that they may slowly wind it down in favor of VSCode so that Microsoft doesn't have two competing text editors. Anyone know how true that might be?


If you look into Atom's changelogs and commits graph you can clearly see they winded it down the day the GitHub acquisition was completed.

Atom is basically in maintenance mode now.


Github CodeSpaces is explicitly VS Code. Their tagline is "Get the full Visual Studio Code experience without leaving GitHub."


As someone how really like github and really dislikes azure devops - and a corporate direction pushing us from the former to the later - any idea what their endgame is as these two converge?


I also use Azure DevOps for work and am a recently-former MSFT person. From what I've heard from those still there, most of the new development is going towards Github Actions, which is also reflected in their staffing movements. However with GHA running on top of ADO pipeline infrastructure (public info), Microsoft's success with the strategic slow burn as OP called it, and their super-long-term-support reputation, it's probably not in their interest to rush the move. I'd be willing to bet that in a year+ or so the writing on the public wall becomes much clearer. To that extent, we've started planning a migration at my company.


If webhooks become increasingly less useful we will know what thinks are going.


the end game is the developer gig economy. you assign a ticket to yourself, write the code while they analyse your behavior to calculate your hourly rate then you get paid


It might work for low level development tasks (which could very well be most of the software development happening in the world, who knows?), but not for anything more advanced.


Edit: I misunderstood your comment as about Azure generally and not Azure DevOps specifically. I see Azure DevOps as the “full service” version of GitHub’s slightly more “DIY” approach. DevOps can also be customized and sold by partners, consultants, I think. GitHub if anything, might move more to a “consultant network” approach. I think Microsoft is maintaining two district brands for developers, for the time being. I originally wrote:

I think there’s a clear benefit to Microsoft for GitHub to internally use Azure, but I think there’s a clear benefit to Microsoft’s developer community, GitHub and the Microsoft Partner ecosystem for GitHub to support AWS and GCP via open source, AWS Marketplace, Docker and anything else that helps ensure GitHub is useful independent of the rest of Microsoft’s services — GitHub being impartial is more important to Microsoft than the extra market share they might — might — get.


The corporate direction could be based on pricing. Azure DevOps (pay per concurrent job) can be a lot cheaper than Github Actions (pay per minute of CI time, with macOS minutes counting as 10 minutes each).


I see a Marketplace, but not their own payments architecture. I think what would be more likely is better project management built into Github.


Wait till they have linkedin spammers trying to recruit you directly in your IDE.


I definitely agree - was thinking about this in 2018 when thinking about the acquisition, and it's really interesting to see how this is driving the competitive landscape between Azure and AWS: http://redgoldleader.blogspot.com/2018/07/using-continuous-d...


Yup all the free stuff is ultimately to lead us into using and paying for Azure. Need an open source alternative to GitHub.


Sourcehut would like to have a word...

https://sr.ht/


I like the concept but the UI is so ugly


I find the UI much more beautiful and clean than github's, but this is mostly a personal preference. Just hope it will be feature complete really soon!


I had not seen that...interesting.


Source hut is cool. Among things, it prioritizes exposing and leveraging Git's existing functionality wherever possible, like email patches, rather than building new proprietary functionality on top of Git like Github and others do.


Everything about Github's PR workflow is killer to me, so to me personally the message I take away from this is that Source Hut isn't even competing with Github in the parts I care about.


If the one particular aspect I mentioned isn't for you then why even bother wasting your valuable time responding? Just go read their website instead and see if there is something for you. Maybe there is, maybe there isn't, but at least then you'd know definitively. Much better use of your time and effort. I'll even save you a few clicks:

https://drewdevault.com/2018/11/15/sr.ht-general-availabilit...

https://sourcehut.org/


I posted because I think my post would be useful to other people who are considering alternatives to GitHub but also like rich PR workflows like GitHub has, and because I think it's good to encourage would-be GitHub alternatives to invest in that area.

I've actually been following Sourcehut's mailing list and updates since forever because I find their philosophies interesting, but not right or practical for my own workflow.


Github flow is garbage.

Its broken by design and forces a subpar experience on top of something that actually fucking works.

Maybe you find it nice and dumbed down, good for you. The rest of us want git to actually be git.


Sharing dissenting opinions is useful and by no stretch a waste of time.


It was just on the front page last week for a new feature launch (project hubs). The design is very minimal, but it’s organized into several different composable features. The author is on here often.

https://news.ycombinator.com/item?id=23030489

I haven’t migrated over completely from GH yet, but it’s a compelling option.


Codeberg[1] also recently had some conversations here.[2]

[1] https://codeberg.org/

[2] https://news.ycombinator.com/item?id=22795930


Why is that a bad thing? If you found value in Azure and it solved your problem, why is that a negative?


Switching costs.

If the things are offered free, and you build a lot of it into your system, and now it costs money, you have to choose between paying that money, or paying a potentially high switching cost to move to a different system.

If you had known you were going to be faced with those costs, you may never have bought into the system in the first place.


The trap is comfy and warm. Why ask what the springs are connected to?


GitLab has been great for a while and actually had some features before GH.


Thanks for the mention. As for how the features today map:

1. GitHub Insights => GitLab Insights https://docs.gitlab.com/ee/user/project/insights/ Code Review Analytics https://docs.gitlab.com/ee/user/analytics/code_review_analyt... DevOps Score https://docs.gitlab.com/ee/user/instance_statistics/dev_ops_... and Value Stream analytics https://docs.gitlab.com/ee/user/analytics/value_stream_analy...

2. GitHub CodeScanning => GitLab SAST https://docs.gitlab.com/ee/user/application_security/sast/ and Secret Detection https://docs.gitlab.com/ee/user/application_security/sast/#s...

3. GitHub Codespaces => GitLab Live Preview with client side evaluation https://docs.gitlab.com/ee/user/project/web_ide/index.html#c... and upcoming server side evaluation https://gitlab.com/groups/gitlab-org/-/epics/167 which would work both with on-premises Kubernetes clusters and in any cloud.


Simple but big issue I have is getting solutions that suit the platform. Often when I'm looking for help on something it gives me the on-prem solution. Docs on your website are confusing for this reason and that's why I stopped using. Takes me 30 seconds to solve a problem on GH and 5min to solve the same problem on GL. Clean that up so when devs try out the platform it's slick and easy to buy into not annoying and difficult.


Why? It's not like you MUST deploy on Azure


I think it's more about all of the integration leading to efficiencies that are hard to ignore while they're being subsidized / promoted. It'll start out as something where the value proposition is too good to ignore, but, as time goes on, they'll tier off features and charge a premium as you scale up.

There was a time when I was hopeful and though Microsoft would take a developer first approach with the end goal being making it easy to deploy to Azure. After seeing the VSO (the old name for Codespaces) pricing I'm a lot more cynical. Microsoft's going to be altruistic until they're not.

Go look at the pricing for VSO. They have a full time dev (100 hours a month - lol) estimated at a cost of $23 USD per month. Just wait until there's some type of marketplace for extension developers. The local version of VSCode will disappear overnight and (IMO) we'll be paying $50+ / month for the same thing that's free right now.

Get ready to pay for everything per user per month for the rest of your life.


> The local version of VSCode will disappear overnight

That's the beauty of open source though. VSCode is prominent enough that someone will fork it and maintain it if Microsoft pulls the plug.


My fear is that an officially supported marketplace for selling extensions would be appealing enough that important extensions would put all future development effort into their marketplace versions and cease development of local versions.


Hi! PM on the Codespaces team here.

I wanted to quickly help calm any potential concerns about changes to VS Code or its model.

Codespaces is a separate, additional service from VS Code, very much focused on providing compute catered to developers and their workflows. We hope you'll use and love it, but we're also very happy if you'd prefer to continue to use VS Code in the ways that you may have previously done.

Either way, we will continue to invest heavily in VS Code as you know it. Codespaces will not change that.

Hopefully that helps clarify any concerns!


I believe you when you say your intentions are good, but I'm skeptical. Even if it's not the official stance, getting as many people as possible onto the SaaS offering has to be the goal and, IMO, there could be a point where maintaining the standalone product isn't worth it.

I'm worried that Microsoft's going to be successful in shifting a bunch of developer workload onto Azure and that'll create a power imbalance where developers will see increasing prices while they lose control their own workflows.

Is it true that Nadella frequents the gym and chastises people for running on treadmills instead of Azure? Lol.


> we will continue to invest heavily in VS Code

Just like MS heavily invest in Atom now? :)


"nobody gets fired for buying IBM"


Gitlab CE, Gitea, Gogs


Some background on these:

Gitea is a fork of Gogs. Both are written in Go and are pretty light on resources (they support SQLite as database backend).

Gitlab is heavier on resources and requires at least Postgresql and Redis.


Gitlab looks nicer and has a lot more features even in the open source edition. (Though some paid features seem to be arbitrary paid vs free, like scoped tags, a feature everyone could use is paid, while a really Enterprise feature like kubernetes support is free)


Doesn't gitlab fit the bill here?


This is going to be great for open source—Being able to get a fully-configured dev environment at a click of a button greatly lowers the barrier to entry. I've had a few small OS contributions where the time to set up the environment was more than the time I spent programming!

I could also see this being popular with engineering teams. No futzing with the new hire's computer, just have them open a web browser and they can dive right in!


I'm not sure if this is really true. Why would you want to become a contributor to an OSS project if you can't bother to get it working on your machine? You actually learn quite a bit about the project by going through its dependency hell.


Idk, I feel like we've been trained to believe this is necessary. Why you should need to know more about a dependency than its documented API? This sort of reminds me of Americans believing their current healthcare situation is the only way to do it even though it's awful.


Don't get me wrong - I don't think that you should go through it every time. Also, I'm not sure anyone reads the documented API of a dependency until some unexpected behaviour is happening. My basic point is that the dependency hell is not the biggest barrier for an open source contribution. In fact, mixing both problems is a bit strange to me - codespaces is not going to magically solve the dependency hell - it's just going to shift it to some other part of the configuration. The best way to start contributing to an OSS project is really be to have a mentor in project who could guide you through it during your first contribution. Personally, I'm willing to fight the machine for a couple of hours/days to get something to compile -- however, it's hard to justify reading code for weeks in the hope I can tackle an open issue.


Sometimes setup on different platforms is different in very subtle and hard to debug ways, and for smaller OSS projects that haven't yet been tested on different platforms, it may be very hard to figure that out. Now you can develop even on a chromebook (without the terminal access) without having to deal with any of that.


The only time I could see myself using this is in the following scenario;

1. Browsing repos.

2. See a quick fix I could make (like a typo)

3. Open up the code space view, make the change, add and commit it.

For my daily needs I would never replace an online IDE with my local IDE. I see no value in doing that. My concern would be for when github has a service outage. I am without my IDE until they resolve the issue? With a local IDE I can just continue to work on my branch and push it when GH comes back online.


> The only time I could see myself using this is in the following scenario

You can already do this. There's an edit button when you view any file and a streamlined process for turning your change into a PR. I don't think Codespaces will make this any faster. Maybe you can fix slightly less trivial things due to the IDE support but on the level you described no new capabilities are added.


I think with the same editor experience as I use on my own machine, I can fix substantially more complicated issues, with significantly less effort.


I contribute to various OSS (and private) projects all time just by using the GitHub code editor and catching errors or regressions if any in the CI. Having a fully fledged dev environment is even better.


This is pretty cool. Can you share a bit more about your experience? I would like to be able to help out this way.


Basically it's just the same as whipping out a simple text editor in hurry; if I need to modify multiple files, I just do multiple commits (do a change -> commit -> jump to my branch/fork -> do the rest of the changes one by one) as GitHub doesn't support editing multiple files for a single commit and then I wait for the CI results. If something goes awry I'll probably clone the repo at that point.


Most of the time when I contribute to a GH project it works like this: I use the product, discover a bug, search on their GH, don’t find it, file a new bug report, clone the source fix the bug, submit PR, never commit to the same project again.

The threshold for doing that sort of minor work can be lowered a lot by this.


I'd like to be able to contribute to Firefox or Brave, but there's no way I'm going through with the setup.

If I could just do some small stuff, maybe write some unit tests, that would be fine.


If going through the setup is hell, what makes you believe that it'll be easier to contribute after you get it for free? I still believe the best way is for OSS projects to ask contributors to do some mentoring...


> what makes you believe that it'll be easier to contribute after you get it [setup] for free

I'm flabbergasted. Like.. I don't even know where to start. You've been through an on-boarding process before right? Have you led one? Haven't you ever watched a junior dev get dragged through all sorts of arbitrary "don't breathe on it" setups just so they can start making tiny isolated bug fixes?

And even then, you're just following instructions where even most high level developers don't even know why their project is set up the way it is.

We've worked on very, very, very different projects your and I.


I don't understand what your comment have to do with contributing to OSS. Anyway, I don't really believe that codespaces or any out of the box tool is going to be a magical solution for junior devs not be dragged in those kind of setups in the projects that you're referring to.


> magical solution for junior devs not be dragged in those kind of setups in the projects that you're referring to

That's exactly what this is. The setup is part of a clonable environment. So for large scale compiled projects, you wouldn't have to:

1. Download the massive thing 2. Get it to compile 3. Potentially not have to compile many files that already have their `*.o` (or equivalent) file in the environment.

It could be like just walking up to some other developers fully functioning station, and getting started.


Most developers are pissed at programming on the cloud and want to do core development locally on their laptops, if you will force them to cloud edits that good luck getting developers to work with you.


From my experience (in the UK) companies either don't care about your environment assuming you set it up, or they just give you a preconfigured laptop (or workstation)


I've spent the last two weeks working on provisioning scripts to make that possible for enterprise products. It's hell.


Yes, and ( Sadly ) No. I have seen quite a few open source project that refuse to host on Github due to its lock in, proprietary nature.

Personally I have no problem with Github, as its advantage far outweigh its disadvantage.


From Microsoft's point of view, it makes sense to merge Visual code with Github, as both are their properties. And it walks into the realm of repl.it and darklang, who are demonstrating people want to shorten the repl loop.

But I'm still wary of Microsoft, and remember them from the 90's. Completely dominant and ruthless. Even though it's new people now.

I can see them embracing open source development workflow, branching to eat up everything that has to do with your development workflow. Once Microsoft wins the ecosystem of open source developer workflow is when they'll start to leverage it, using it as lead gen for the lucrative cloud/dev ops services.

They're playing a long game to beat Amazon AWS, and to beat off any new startups with shorter repls.


in 5 years: "Please take a break from your coding and watch this short advertisement"


Please drink verification can


I wonder if it's usable from an iPad. I haven't tried an online ide before, but if it works well it could be a great mobile development tool.

It would be awesome if this could be setup as a backend for vim as well. Given how well Coc.vim integrates with VSCode tooling, I'm cautiously optimistic.


That's correct it's usable from an iPad during the beta. There are a few known issues but we're planning on addressing those so that we can support this workflow (I work as the product lead on Codespaces).


Seems you are about to finally turn the iPad into a good development device :)


Does it work with the software keyboard? I seem to recall Monaco not really supporting mobile.


I haven't specifically tried it, but I think it would be challenging given how much screen real estate the keyboard takes.


Super excited to hear this, I had the exact same question reading the page. Any chance you'd be willing to slip us a peak on when we could reasonably (even a Qx ballpark) on when Beta begins?


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


My kingdom for native VSCode on iPad. It’d be soooo much better than a Safari version.


Wow, great to hear!


I've been self-hosting VS Code Server ( https://github.com/cdr/code-server ) and using it from Chrome on my iPad with a keyboard and mouse when I'm on the road..

If this is the same or similar approach, then it should work just fine.

If the pricing for Codespaces is reasonable, I'm going to move to that for sure. It's been kind of a hassle to keep my self-hosted setup running properly.


Can you share what issues you've had?

Been looking at this.


This tweet from GitHub's lead designer would suggest so!

https://twitter.com/notdetails/status/1258070699165585410

... also this tweet from another GitHub product designer

https://twitter.com/mschoening/status/1258069269260038144


Hey, the first tweet is mine. Codespaces work pretty great on an iPad. We're going to be making improvements to the experience here as we get to GA but we know it's a scenario everyone is really excited about.


Is the screenshot of Codedpaces from your iPad or macOS? Because that looks a lot like safari on macOS.

https://mobile.twitter.com/notdetails/status/125807069916558...


It's a mockup in macOS safari, but I'll tweet a video of it running on my iPad at some point


What do you mean by "a backend for vim"? I use vim almost exclusively for coding but I'm not really sure what you mean here.


Backend may have been the wrong word, but they mention being able to connect to your codespace from VSCode running on your computer. It would be cool if you could connect to your codespace from vim running on your computer in the same way.


Vim can connect to anything that runs sshd.

https://unix.stackexchange.com/questions/202918/how-do-i-rem...


I'm getting tired of this game. Even the deaf ones like me start to hear the drums now.

You know, it's not that we do not have enough megacorps controlling every aspect of our lives. We need more of the "opposite" - places that empower you and leave you in peace and control.


People hate on Electron apps, but it sure enables some cool stuff. I can't imagine another sustainable way to build a fully-fledged IDE that runs as a desktop application that people love, _and_ can be run on a remote server instance, rendered and interacted with in the browser. Amazing.


VSCode is a decent app, but I no longer consider it an electron app. It uses tons of c++ and you'd have to have the cash to buy the electron team (like ms did) to get anywhere close to what they have done.


Care to elaborate about the tons of C++ part? In their GitHub repo, I can hardly see any C++ files.


I remember listening to Nathan Sobo, one of the founders/creators of Atom, talking to The Changelog in 2017 about creating Atom and his goal/dream to make it a collaborative editor, i.e. Google Docs for code [0]. He didn't have a timeline but he had done research into it:

> That’s definitely something I wanna do; that’s not really in progress yet. I did a bunch of research in that area, so that I can’t really put a timeline on. I can definitely say that more async style traditional GitHub collaboration will be happening this year. I think there will be a natural outgrowth from that into the real-time stuff.

Don't know if Sobo or his Atom colleagues do anything with the VS Code people, but hearing about Codespaces made me immediately think about his ideas for cloud editing.

(AFAIK the CodeSpaces presentation didn't mention collaborative editing in its current feature set)

[0] https://changelog.com/podcast/241


I had a short chat with some members of the VSCode python extension team to give feedback on their product. They wanted to know how much I’d value collaborative editing in VSCode. They’re definitely thinking about it.


>They wanted to know how much I’d value collaborative editing in VSCode. They’re definitely thinking about it.

Thinking about it? I thought this was a feature since 2018...

https://code.visualstudio.com/blogs/2017/11/15/live-share


If you've noticed it during the demo, the Live Share extension is preinstalled and logged in with your GitHub account, so you can start a session right away.


Having some thought about the GitPod folks[0] that provide nearly the same feature set.

I hope we are not witnessing a big sherlocking being done here, but… it really looks like one. :/

[0] https://www.gitpod.io/


They already have a blog post up about it - https://www.gitpod.io/blog/github-codespaces/


First time hearing of Theia - thanks!


Hopefully one day we can get over "sherlocking". When you build your business off of another business, you're still at the mercy of the other business.


We're pretty stoked to have new friends in cloud-native development!

Microsoft/GitHub joining the dev-environment-as-code movement is huge, will likely save us all a few more years of dependency-hell.

(EDIT: Removed official blog post link because taywrobel posted it first)


They should be OK because they're still usable with GitLab and have a self-hosted offering.


Yes, I think it is... Gitpod still has gitlab though :)

It's quite crazy what GitHub is doing...


I can only imagine how the people at GitHub paid to work on Atom are feeling right now.

Microsoft hasn't been kind to them!


Pretty sure they haven't been paid to work on Atom since the acquisition: https://github.com/atom/atom/graphs/contributors

They killed Atom the day they took over - they haven't had the balls to say anything publicly, but just go look at the commit graphs in the Atom repos. Here's a summary: https://twitter.com/DuncanLock/status/1177747512905461760


Wow, I was okay with this until I saw the promise to keep Atom around.

That's...scummy.


Agree. And considering the size of this, they are executing a very well defined playbook. Sounds like a very successful company integration to me. Will be good for everyone.


The people at Github that used to be paid to work on Atom may be the ones that built this :)


Wouldn't be my guess, personally:

https://github.com/atom


yeah, not much action there. Vim gets much more action per day.


No, this is based on VS Code's Visual Studio Online: https://techcrunch.com/2020/04/30/microsofts-visual-studio-o...


Sandstrom is suggesting the ex-Atom devs were pivoted to VS Code Online and contributed to this release.


Ah, that's obvious now!


At first glance this seems great for me. I was a big fan of Cloud9 before they were purchased by Amazon.

I was new to dev world and had never touched AWS so the transition to AWS C9 left me bewildered and I just gave up on it.

This seems like this would fill that role for me pretty well.

Bonus points - I currently use Visual Studio Code as my goto tool.


Hypothetically, say I wanted to build, I don't know, a new spreadsheet that ran Python, runs on macOS and Linux. I hope it will give Excel a run for its money. Since Excel is so disappointing outside Windows.

Now I know Microsoft has a long history of safeguarding trade secrets, they were always very aggressive in this regard, from the beginning, the Xerox Parc days, and they still are. They state in their Investor Report that in Research & Development, they safeguard trade secrets, and are a world leader in patent pursuit [1].

Surely I don't need to worry that this platform for online development, tied to my source code, is not just another step towards making it easier for them to have a sneak peak into what I'm building? I know they can see my code in Github, but as a developer I know source code is one thing, but getting code to compile and run is a lot more work (on a very big project). This would make it even easier to dip into project runtimes, since IDE and environment settings are stored online now.

I mean, there's no way that strategically, they would aggressively try to bulwark their own business lines, by snooping on competing tech, and using insights to help strategically direct their patent lawyers, advising them on who to go after an how. And anyway, even if they did do that occasionally, there's no way they would bully me unjustly, I would surely deserve it. Right?

[1] https://www.microsoft.com/investor/reports/ar13/financial-re...


Microsoft is pushing for a future with dumb terminals and online services. I think this is just a move that gets them closer to the point where a low power tablet/laptop combo (surface like form factor) can be all that a developer needs to work.

There's a lot of reasons why Microsoft will want that, among them that if they can sell a solution that works in cheap terminals, they can tie corporate customers into their bubble by selling them services that allows them to avoid buying hardware for their employees.

I'm not saying that being wary of Microsoft's ownership of your code isn't warranted, I'm just saying there are probably less shady/convoluted reasons why this kind of product benefits them - Occam's razor, etc.


> Microsoft is pushing for a future with dumb terminals and online services.

I wish they’d up their game then. The cloud versions of Word and Excel are missing numerous important features.


I think you're looking for Hanlon's Razor: "Never attribute to malice that which is adequately explained by stupidity"


I think we need another, Machiavelli's Razor: "Don't attribute a string of coincidences to accident when they are more neatly explained by self-interest".


What I've always wanted was to be able to easily browse code on Github:

* a file tree (do-able via the octotree browser plugin)

* clickable functions (Github is doing this on some projects in some languages I've noticed)

* caller tree. Xcode is one of the only navigator doing this, you can see the whole hierarchy of callers and go through them easily.

What we're getting is something really cool, but it does not bring the caller tree function. It looks like this:

https://holko.pl/public/images/xcode-search/call-hierarchy.p...


vscode supports call hierarchy searches, but its not supported by all languages yet. Support was recently added for java https://devblogs.microsoft.com/java/java-on-visual-studio-co...


I've never seen this in any languages that I use (obviously Java is not in that list), is there a list somewhere?


I don't know of a central list. It depends on the particular language server you are using and if it supports the feature. The only other language I use it with besides java is typescript/javascript. https://github.com/microsoft/vscode-docs/blob/vnext/release-...


It's a neat idea and kudos to them for executing on this. However, it also triggers my spidey sense a bit. It makes me concerned about a far-flung future in which people who opt-out of the VSCode integration get a sub-optimal experience. Who knows if it will go this way but it may happen very slowly and without anyone noticing over a period of years. Corporate strategies often trend this way.


Looks great!

At least now we don't need to run VS Code in another Chromium instance!

Now that Microsoft has Chromium Edge in Windows, it should be possible to provide a good way to spawn and communicate with Chromium GUIs/windows from native Win32 apps! That would be killer!




To me it is just something that grew by being distributed being merged into a monolithic entity. Merging and centralization seems reasonable at some point to solve big problems and iron out insignificant differences, and computing has always been swaying between distributed and centralized, but this is one scary centralization phase for me because it looks unprecedentedly global and because it concerns developers themselves. I don't like fiddling with development environments (I kind of liked it first, actually) and toolchains (especially the web ones) just as much as anyone else, but I am afraid this might be too much lock-in.


This also seems quite similar to repl.it, which I've been enjoying a lot recently.

I wonder if they'll support plugins and importing other VS Code settings to the online editor.


I doubt you'd get the same quick & simple experience you have with Repl.it. This is more replacing your local VSCode, which is not what Repl.it aims to replace.


this is not even just replacing your local vs code.

This is a minor variation of the existing Visual Studio Online (now renamed Visual Studio Codespace) product.

The core of it is running an automatically created azure hosted docker container. It automatically checks out your repository. It actually runs the whole VS Code backend on the remote machine, with the the user interface being provided by the "local" VS Code instance (web or desktop).

I'm going to bet this will end up with identical pricing to the existing product, at least if you don't pay for any github products. If you do, there might be some discount or included running time with those products.

The only part that sounds new here is the editor integration into the GitHub site.


I wonder how they will (did?) work around the keyboard shortcuts that Chrome reserves (and doesn't propagate to the page). For example, Cmd+T in VSCode opens up the quick search panel, while in Chrome it opens a new tab.


One of the hardest part getting anyone into Programming is actually setting up their Dev environment. ( You have many different platform, OS version or other compatibles issues... etc. And most student dont have clue about any of these ) You then have to teach them basic Git ( Github ) usage.

Cloud9 could be great but hasn't gotten any traction apart from using it for some tutorials.

This Codespaces brings the best of both world and kill two birds with one stone.

The next step is Azure, hopefully they could have an Amazon Lightsail equivalent that is simple to understand and deploy without scaring beginners away.


I think that setting up your development environment is often an ironically pleasant and linear (i.e. easy) task that is a matter of following some tutorials and that might make a beginner feel like they are accomplishing something. There were always plenty of tutorials for doing that as well, and I can imagine it is not least because developers like sharing their experience by writing them. Of course after some time it becomes a hassle and one just wants to have their setup the habitual way, but in the beginning for me at least it felt like accomplishing something.


I hope they allow to run the VMs on local hardware. I would love to use my desktop resources (more than they are offering, which is still generous) for this feature.

I think Chromebooks are going to be a great use for this. Lightweight client but full editor and environment, with no hassle.


>I think Chromebooks are going to be a great use for this.

A great use for this if you don't mind losing the ability to run Ublock Origin and similar extensions when Google "upgrades" the software on the Chromebook to extension manifest V3.

That is relevant because most developers probably need to look stuff up on the web while they are working. Some of us really don't like ads.


I’m not sure if you can bring your own machine[1] with GitHub Codespaces, but you can with Visual Studio Codespaces, which has the same underlying tech/featureset. (Visual Studio Codespaces was known as Visual Studio Online until last week) it basically does exactly what you want, let’s you use your dedicated local resources on another machine or remotely via the browser or using VS Code proper.

I work at Microsoft on Azure but not with VS Codespaces or with GitHub Codespaces — I’m just a big fan/user/beta tester.

[1]: https://devblogs.microsoft.com/visualstudio/bring-your-own-m...


Thank you, very interesting! I use IntelliJ mostly, and this is something I wish was available on that platform


FYI gitpod.io offers 16 CPU / 60 GB RAM, and works great on Chromebooks & iPads.


>gitpod.io . . . works great on . . . iPads

gitpod.io is tightly integrated with the Monaco editor; is it not?

I ask because the top of https://microsoft.github.io/monaco-editor/ says, "The Monaco editor is not supported in mobile browsers or mobile web frameworks". Has Microsoft changed their policy and simply neglected to change the passage I just quoted?


You're right, Gitpod uses Theia, which uses Monaco, which doesn't officially support mobile browsers.

However, we do extensive testing of Gitpod and Theia on mobile devices, and work around bugs or contribute fixes upstream to Monaco when possible.

Gitpod/Theia users now report that the iPad experience is great, and we continue to push forward on improving it.

On the other hand, VS Codespaces blocks you with a "This browser is not supported" error page when you're not using Chrome. (Even pre-Chromium Edge is unsupported.) But you absolutely need Safari support to work on iPad (all browsers there are basically just Safari skins).


So.. let's say I host my source code with MS (GitHub), I develop using their web ide (visual studio code space) and then I deploy to their cloud (azure).

Give it a decade and you'll have Microsoft specific developers and organizations who are locked in beyond rescue.

It's always a fragmentation vs defragmentation battle.


It's going to be ALL developers getting locked in. You're seeing a 5-10 year plan in action here.

1. Create a popular, locally run dev editor.

2. Shift it to the cloud.

3. Build all new features into the cloud version only.

4. Ignore the locally run version until it's obsolete.

5. Developers rent the cloud version forever.

The GitHub integration is going to be amazing for Microsoft because the allure of clicking a button and getting an instant development environment will be huge. Watch for a big campaign where popular frameworks start providing "Launch in Codespaces" or similar buttons.

We'll get to a point where new developers won't even know how to set up a local development environment. I'd bet a lot that Microsoft is envisioning a world where developers pay $1000+ per year for a combination of GitHub, Codespaces, Actions, Pipelines, etc..

The idea of paying cloud compute rates for things like build agents is crazy to me, but here we are.


For me, the real appeal is to be able to share dev environments easily and make software development truly remote friendly.

In the end, it will come down to latency, usability and pricing. I do agree with you though - I'm not paying $2K+ for a macbook pro and then pay to run VSCode in the cloud -- something doesn't add up.


I'm not clear on how this will make things easier. The default "environments" are just docker container defined in this repo: https://github.com/Microsoft/vscode-dev-containers/ except that you can leave them suspended when not using them. (For the non-GitHub version this is literally a VM provisioned by way of running a single pre-specified docker container. Suspending is presumably just suspending the whole VM. In the beta the GitHub branded version will not persist processes, so it would be more like stopping the VM when not in use rather than just suspending it.)

As for the pricing, it will likely be in the same ballpark as the non-github branded version of this exact same service (modulo any included time with a paid github subscription): https://azure.microsoft.com/en-us/pricing/details/visual-stu...

The estimated costs for full time development for one user with only one environment is ~$23.30/month.

Each environment you leave in a suspended state for a whole month would cost $6.40. OF course, if you are willing to have your filesystem wiped and rebuild each time you start and stop coding, you can destroy the environments when not in use, in which case you will probably want to create a custom dockerfile to customize the environment.


... Then don't buy a $2K+ MacBook Pro?


> We'll get to a point where new developers won't even know how to set up a local development environment.

I think we're already there. I think system administration is the current biggest stumbling block that new programmers have. Tools like repl.it, google colab, etc. remove these (stumbling blocks | learning opportunities).

At many universities, a lot of code is now written in online editors that compile, run, and check against public and hidden unit tests (sort of like codewars but lower quality).

I personally love learning systems administration but there is very real demand for services that abstract it all away.

That said, you enumerated an effective roadmap for this kind of transition. I suspect it will generate an increased annual cost similar in magnitude to the Office 365 migration.


> Give it a decade and you'll have Microsoft specific developers and organizations who are locked in beyond rescue.

Don’t need to give it a decade, you can find plenty now, or two decades ago. It’s not like Microsoft is a new entrant to the IDE market with VSCode or GiHub Codespaces (hint: the VS part of VSCode).


I like how they say that if you don't want to develop in a browser, you can connect VS Code. You're still developing in a browser.

Still a great IDE though.


> You're still developing in a browser.

How so? Node/Electron != browser, though I see how the whole HTML/JS/CSS thing can be confusing.


It's a browser without an address bar.


or any http connections...


I think it’s saying you’re still using chrome under the covers when you use electron apps.


What languages does this support? It would be super cool if this supports `xcodebuild` :O


We support all languages that can run within a Linux container, see https://github.com/mcolyer/codespace-containers/blob/master/... for a base example image (I work as the product lead on this).


Well then I'm glad you're here...Is it possible to integrate with an existing Dockerfile? My team's main build is handled by an image that is a result of years of fine-tuning and files with external dependency definitions (like requirements.txt for pip). Getting all of that installed in github's container is only slightly easier than getting it all installed in a desktop IDE, which is currently prohibitively difficult for us. We don't want to end up with a second platform we have to maintain.

More generally, is there going to be a clean way to to use this if we already have a containerized stack, especially editing code in a user's existing container? (With the code still under version control, of course)


Awesome! Seems like it's very capable even from launch.


They have Mac runners for GitHub actions, so maybe they could (although you’d have to pay a steep price since it’s hard to virtualize OS X).


Any language you can run in a Linux container, so not XCode, because Apple


ahh shucks :( But this means it will support Swift so yay??


"given enough eyeballs, all bugs are shallow" If this succeeds in reducing the friction for someone to submit a patch/bug fix, the number of 'eyeballs' for open-source projects would increase substantially.


This is maybe the most relevant threat to the macbook pro product line I've seen in a while. Seems like I could do everything I need on an iPad with this, without Apple having to give me access to a shell in iOS.


I was just looking in to setting up "VS Code in the browser" with gitpod, code-server, and Visual Studio Codespaces last weekend. Gitpod looked nice but the fact that you can only customize the editor per-repository doesn't make sense to me. Looks like GitHub has solved this by using a `dotfiles` repo. code-server looked decent but I would much rather auth / secure the editor through GitHub. I tried to use Visual Studio Codespaces but I find Microsoft's account system and Azure's interface so infuriating. I'm really looking forward to this!


> Gitpod looked nice but the fact that you can only customize the editor per-repository doesn't make sense to me.

Gitpod also has user-specific Preferences, and even user-specific VS Code extensions. (Usually customization places have a "Workspace" tab and a "User" tab.)


I just added my user settings and my custom theme via .vsix and everything seems to have worked fine. Not sure how I missed this, thanks Jan!


Hey, that's awesome! Thanks for the update.


I still wish that PyCharm has some better remote development support... Basically this feature request: https://youtrack.jetbrains.com/issue/IDEA-226455

The VS Code remote development is already much better now, and only seems to get improved and extended more and more.

And then, going further, some online web version of PyCharm...


You can run any Linux/X11 app remote.

    ssh -X
Then start the GUI app on the remote machine and you will see it locally,


I am surprised this is not using atom. After all I that that was developed by the GitHub team. But I guess since Microsoft owns them VScode comes first.


VScode is lightyears ahead of Atom in nearly every way. It would make no sense to choose Atom over VScode for something like this.



This is a really good idea, however I think it's somewhat marred by the pricing structure: https://azure.microsoft.com/en-gb/pricing/details/visual-stu...

There should be a free tier as well as monthly options.


I can see why this is interesting from a project manager's perspective. But why would I as a developer want this, let alone pay for it? Isn't this the "developing in a browser" nightmare everybody was joking about a few years ago?

Maybe this will work for developing web applications which are executed on a remote machine by design, but everything else?


I see this as a major competition to Repl.it they have had GitHub integration for some time, but it's clunky in my opinion...


Products like this have existed in various forms for a few years now, but this is poised to set a new bar. I wonder at what point a significant number of companies will start issuing their developers lightweight laptops and just having them use a web-based environment for everything. It seems almost inevitable (at least, when developing applications that are sufficiently abstracted from the underlying system).

Edit: it also occurs to me that this could be Microsoft's big end-game from all of their recent dev-focused work and acquisitions (VSCode, NPM, GitHub, TypeScript, WSL, etc.). If they create a world where a significant fraction of developers who currently buy their dev environments from Apple start renting them from MS instead, that's a huge deal. And of course there's lots of potential for synergy with Azure on top of that.


Small bug in the signup page, if you select and then deselect "Other", it still stores the selected state and doesn't let you send the form [0]

[0] https://i.imgur.com/tNAzrFw.png


Is anyone else imagining a dystopian future where employers force you to use online code editors?


I am so excited about this. I've been using code-server [0] for a while now, because Visual Studio Online was not fast enough in Australia for me to use.

I have a VPS that runs code-server and I use 'save as app' in Edge so that it captures control keys properly. It feels like it's native and using ssh tunnels it feels 99% native, and I can pick back up working on any computer.

I ended up with this set up because I have a Galaxy Book S and VS Code doesn't have an ARM build. Very excited!

[0] https://github.com/cdr/code-server


Very nice and much needed.

What worries me is the consolidation of great resources in the hands of one party. We know from our collective experience since forever that concentration of any resource does not give us resilience.

Your thoughts?


Oh, WOW! I was looking for something just like this recently.

I tried setting up Theia (https://theia-ide.org) on windows and it was definitely not ready for major use.

I didn't find anything else that fit the bill either, I hear something like this exists internally at google though.

I'm not typically a huge fan of Github (I'm sure that's a controversial opinion) but this is definitely something I'm going to check out.


You've probably seen https://gitpod.io then, which is kind of a hosted Theia that seems to work well in any browser/OS/device?


I was looking (at the time) for something that would allow me to develop windows applications from a Linux machine.

Sadly I'm still falling short. :<


So how would the actual running of the code work?

I haven't used GitHub in some time (using gitlab), so just wondering what are they using to run this stuff... because you'll probably need a fullyfleged container service with secret management and whatnot. Does GitHub already provide this?

Also I'm guessing the editor won't be using the same file system as the launched code, i.e. would hot reload be possible or do you have to commit and redeploy

Anyone have any ideas/speculations?


There is an amazing free alternative: https://goitpod.io

You simply prefix your GitHub (or gitlab) url with "gitpod.io/{your-repo} and you are instantly redirected to VM with with your repo cloned and ready to use, a fully customizable dev environment, vscode, extensions, machine is public on the internet so you can "npm start" and actually start serving your site.


Fixed link: https://gitpod.io/


This will probably affect sales of beefier Macs too. Why do you need a beefy machine when all compilation / intelligence is streamed from the cloud?


That doesn't solve the problem of having to deal with Windows 10 or a laptop running Linux.


I develop front ends for Laravel apps. The database is also on my desktop. With this would I need to host the database on its own server or can the Codespace also handle running a DB? Mainly asking because I only use laptops for co-working and meetups. Would love to ditch buying them and just use the iPad Pro that I have. Not sure how to handle the database if I'm on an iPad.


This is great news! I've been doing a similar setup to this for years with Jupyter Notebooks.

However, if I get to make a teeny tiny feature request (Nat, if you're out there...) it would be about this:

> What if I don’t want to develop in a browser?

> If you prefer, you can open a codespace in GitHub and then connect to it in VS Code.

I really kinda wish I could do the oposite, kinda like how Google Drive's Colaboratory (essentially Jupyter Notebooks on Drive[0]) do: I would launch a CodeSpace on GitHub, and it would handle all of the UI and automation bits, but I would keep the "environment" hosted somewhere else (i.e. a Docker container exposing a CodeSpace agent/headless VSCode through localhost:8080 that my browser talks to)

All of the gears seem to be already in-place for this to be possible given:

> How is Codespaces different from VS Code?

> Codespaces sets up a cloud-hosted, containerized, and customizable VS Code environment. After set up, you can connect to a codespace through the browser or through VS Code.

The reasons for this are several:

- I bought a beefy computer for a reason, and want to use it. I don't want to pay boatloads of money to Azure to have equal firepower to what I currently have idling;

- From an SRE perspective, your code, several times needs to be "inside" your infrastructure to run properly (because of roles, latency, you might be running Data Loss Prevention solutions, what have you), and this allows me to point the CodeSpace to a dedicated instance I have running inside a VPN on my own infrastructure;

- There are more, but I don't want to make this too long and I'm failing to recall some of them.

So to sum it up: I think this is a potentially great feature, as long as it doesn't come coupled with the need to buy Azure instance time. This would (and I'm asserting this purely from my own gut, without a shred of evidence) probably lead to increased adoption for this feature, and as a corollary lead to selling more Azure instance time for those who do not want the hassle, without crippling those who actually need to keep some things "in-house".

[0] https://colab.research.google.com


I'm slightly surprised all the screenshots are based on MacOS and that Microsoft didn't require them to look like Windows 10.


Is the browser editing powered by Monaco or something else entirely? https://github.com/microsoft/monaco-editor

Both repl.it and codesandbox.io seem to be Monaco based. This seems to have better support for VS Code extensions than what's available in Monaco.


It's not Monaco, which is a basic text editor, it's full VS Code (extensions, terminal, debugging) but in the browser


I couldn't find any info on how much memory/vCPU these will have available or if it's configurable, does anyone know?


I think it's 2 cores, 4 GB RAM by default but they are planning of adding other options I expect it'll be in line with the VS Codespaces offerings https://azure.microsoft.com/en-gb/pricing/details/visual-stu...


Hey I'm a Codespaces PM. It's 2 cores 4GB right now but there will be more configurations coming soon as get further along in the beta.


2 core, 4GB ram... can't config atm.


Oh, now things are getting interesting.

I was a big fan of the idea of GitLab IDE, but never got too deep; it seemed like a great idea that could use more baking. But then I saw Theia and GitPod. I like GitPod, but I just wish it had better Github integration.

Well, yeah. So... good job Github. Can’t wait to try this one out.


This is great. We all knew it was coming, but I wish they hadn't axed xray.

Has vscode performance improved in recent history? Are there any plans to replace hot code paths with Rust or wasm? Has modal editing improved? I'm not against using vscode, but even with codespaces it's a hard sell.


(vscode does use ripgrep to power part of their search)


Isnt this what google cloud shell + editor [1] already does ?

[1]https://medium.com/google-cloud/developing-on-gcp-getting-st...


Amazing, this finally turns the iPad into a legit remote dev machine. No need to setup a DO VPC either.


Will this support Teletype style multi-cursor collaboration? I'm very excited about this for easy dev environment setup but if it had easy collaboration it would be immediately adoptable at my org for pair programming while we're all pandemic-remote.


Argh--does anyone understand what this is supposed to be? (beyond what GitHub already provides)


I've already been using VSCode remote over SSH on cheap yet powerful Hetzner instances. You can do this on any cloud vendor and you can, if you want, put your home directory as a volume and resize up and down your machine as you want.


Does this work on iPad?

I was under the impression this bug is blocking VSCode and other electron based apps.

https://bugs.webkit.org/show_bug.cgi?id=149054


Monaco has a few rough edges on iPad, but overall it seems to work great with https://gitpod.io (same editor as VSCode).


According to that bug, this issue has been resolved.


It's interesting that Microsoft acknowledges the fact that their native windows platform is really not good for a lot of developer. Linux is better. The web is even better. Good direction they're heading to.



Once they have all the coding sessions recorded they can finally replace those pesky devs /jk. But seriously, is there anything in the conditions about ability to record coding sessions of say open source devs?


Sounds good, microsoft is building some interesting tools lately. I use visual code on the desktop for various languages, so it is a welcome to see it will be supported online through github repositories.


So now that the IDE is on the web, it would be pretty neat to be able to automatically launch interactive debugging sessions when breakpoints are hit in CI jobs.

Does any CI solution already offer something like this?


This feels like a step toward a contemporary "VB6" in the cloud.


I hope this accelerates interest around web-based development environments. If someone could pre-package a setup containing language servers for "all" languages, a build system that is generic to all languages (bazel or bazel-like), and internally run a small kube cluster with a wildcard DNS name pointing to it you'd reduce ops work of setting up staging environments, feature branch testing, development environment management, etc for most development teams by at least 10%.

I can't wait for a monorepo-friendly staging/development environment that works out of the box and can provide cross-language & generated code autocompletions for "every" language.


I think you severely underestimate how hard it is to do this for “all” and “every” language. Even VSC only has first class support for a handful of top languages. Most languages I use have barely more then a syntax highlighting package.


Can someone explain how 'build' is done with the obvious targetting of platforms and build configs etc? Does the build happen locally? On a rented server? Serverless?


Wow this seems pretty sick.

Gitlab has a decent web ide, I think this may be github playing catch up, but I'm hopeful that this competition gets us a better product on both sides.


This is great - it basically is signalling how Microsoft is thinking about GitHub. I think vscode is on its way to be owned by the GitHub team.

Will the same happen to Azure Devops ?


> I think vscode is on its way to be owned by the GitHub team.

God please no, especially if anyone from Atom is involved.

I almost didn't even try vscode in the first place after atom soured me on electron.


I was expecting this years ago when GitHub started work on Atom. This will be quite useful for people who are willing to participate in the Microsoft ecosystem.


OT: For those who like to have VS Code's features in an super responsive console environment: Check out coc.vim for nvim. It's a masterpiece.


Being able to connect, do the work, run tests and everything without needing a strong laptop sounds like a good solution for people who like to travel.


> Get the full Visual Studio Code experience without leaving GitHub.

I'm going to go out on a limb here and say that statement isn't quite accurate.


I've been using Visual Studio Online (now Visual Studio Codespaces) which is the same tech, I've found it has everything my local VS Code had; extensions, terminal, debugging, themes, all the settings. Pretty remarkable, but as VS Code has always been a web application, it make some sense. I'm sure there'll be something missing but nothing major


It's plausible, given that VS Code is effectively a web app. (the exception in features could be Extensions)

Not the first IDE to have full-feature parity on desktop and web.


Given that a locally running VS Code can interact with the host system, and a webpage cannot, I'm sure there will be some differences between the two.

And like you said, the exception in features could be extensions. If that's the case, it's not "the full Visual Studio Code experience".

(Not to take away from their announcement, it's very interesting and I've joined the wait list, just this type of absolute wording irks me).


Well, the web app is interacting with a host system too — the host just happens to be different than your web browser environment.

I mean, yes, there are some differences between the two (and keep in mind you can also access a Codespace via a locally installed copy of VS Code in a remote development environment, where the remote dev environment is the Codespace VM), but as far as I know, there are very few differences between how a remote environment locally works vs a remote environment using the browser-hosted editor.

You’re correct when you say there are differences, but I still feel like “full” experience is accurate. Full doesn’t have to mean 1:1 copy. To me it just means aren’t losing out on something.

I work at Microsoft on Azure but not on VS Codespaces or GH Codespaces. I’m just a fan/user of both.


Not having extensions alone already means it's not the full experience. How many people run vanilla VS Code?

Can I run unit tests? Debug?


It does have extensions[1]. It just might not be able to run _all_ extensions.

[1] From the link: "Inside of a codespace, you’ll have access to the Visual Studio Code Marketplace, and you can preload any extensions you want loaded at launch using a devcontainer configuration file. You can also personalize your codespace by pulling in dotfiles."


The article notes near the top that extensions are supported, and also answers your other questions.


Are extensions not allowed?


So is this another play to lock us into Azure Cloud?


'How much does Codespaces cost? Codespaces is free while in beta. Plans and pricing will be announced as the beta progresses.'


I think if you look at the pricing for github actions minutes, you'd gather an extremely rough idea of what they feel is a fair price for docker hosting. Maybe add some buffer to make the VS Code investment worth it, etc.


Absolutely, just might not be for everyone. Installing running those modules is gonna cost them. node_modules for create-react-app, react official boiler plate is around 280mb


I have no idea about VS Code. For which languages is this good for? Javascript I guess. What else? C, C++, Java, python or such?


This looks excellent. Can easily see this vertically integrating across Azure to become a strong competitor to AWS + Lambda.


Is this built on top of open source technology? Say, can I integrate it into a gitlab instance, or host it on my own server?


I don't think VS/GH Codespaces are open-source, and they don't seem to support GitLab.

However, if you do need something based on open-source that works with GitLab, take a look at https://www.gitpod.io

You can even self-host it: https://www.gitpod.io/blog/gitpod-self-hosted-0.4.0/


It used to be called Visual Studio Online (it was renamed to this) and you could indeed run it on your server, so I'm assuming that's not going to change.

No clue about GitLab integration. I don't see myself using a browser tab instead of an app to write code, and the app does have GitLab plugins, so I'm gonna go with probably.


The Visual Studio Codespaces have coverage of using your own server at https://docs.microsoft.com/en-us/visualstudio/online/how-to/....


This is great, I can't help but feel like the whole point of rewriting a part of VS in JS was to get to this stage.


Is this a new main competitor to AWS Cloud9?


So seems like GitHub is in the shape of VS Code now. Good job Microsoft. Atom is not your child anymore.


This looks nice to show off code and do 1-2 line fixes.

Don’t think I would write a full app or module in this though.


I wonder if it will be possible to install extensions, I want my Vim keybindings!


Isn't that antithetical to the entire idea of git and of Microsoft?


This is going to be amazingly useful.

It's also some pretty serious vertical integration for Github/Microsoft!

IDE: Github Source control + collaboration: Github CI/CD: Github Hosting: Github + Azure (with docker and azure functions that experience is pretty much already there technically?)


Is there a list of supported languages or environments for this yet?


So how would this differ from CodeSandbox or StackBlitz?


I wonder what they use on the backend. Is it .NET Core?


Can you compile, run and test your code online as well?


The more Microsoft move from Azure to GitHub the better


Where do you think these VMs are hosted? :)

I hope they allow BYO-remote backend for compliance reasons. This feature seems amazing but I cannot use it.


We do!

https://docs.microsoft.com/en-us/visualstudio/online/how-to/...

(I work on Azure but not on this product)


I'm aware of the product, I'd like to know if there plans to integrate these two offerings (e.g.: click on GitHub CodeSpace and connect to my _personal_ remote server as opposed to one on Azure) and if there will be any better approaches for IT/Ops security focused folks to configure these en masse. The current approach is untenable, each user has to log in and set up a VS Remote environment individually, personally, and if I'm rolling this out to a team that's just not an option.


Thanks for the feedback, I’ll send it to that team!


GitHub vs Gitlab best thing for this decade.


Interesting to see VScode in github. Slowly integrating Microsoft’s feature. I think we can soon expect something like Create a MS PowerPoint from code comments


nice! thought about an environment like that. would be great to have python, golang and c/cpp runtimes.


Final nail in the coffin of Atom, adieu.


As long as I can get vim keybindings...


Dear Diary, today I saw the future


MSFT loves devs :)


#20880


Wasn't one of the primary reasons for the creation of git to be "decentralized, offline"?

This is counterintuative to that.

Call me paranoid, but you'd have to be a madman to

    * Store all of your source code with Microsoft (GitHub / npm)
    * Now start authoring all of your said source code online with yet another Microsoft product
That's a stupidly huge amount of trust to put into Microsoft.


Don't conflate Git with GitHub. Git is decentralized and always will be, and you're free to use Git however and wherever you'd like. GitHub is a collaborative code repository with social features, and the ability to edit code in place is an interesting evolution. The fact that GitHub happens to use Git is incidental. The entire product would be a useful and viable venture even if it were backed by CVS or Mercurial or Perforce. Git just happened to be the best choice when they started.


So much Github marketing spam today, maybe the admins should look into whether they are sending out coordinated upvote instructions to employees?


Github is getting Microsofted, there were some good things about this in the recent past, but I wonder...


What does "getting Microsofted" mean, especially in the context of the last 10 years?


A thin dusting of "Open Source" over lock-in, spyware, and censorship.

To thunderous applause from people who are fooled by the first element of that.


Two years, tops, then it'll be unusable.


I tend to agree, it's quite crazy what they are trying to pull off technically. It's hard to imagine how all these features will not impact the service. Also it's probably just bleeding money... millions of dollars on CodeScan alone.


Three years, and we'll have a version control ribbon to replace all pre-existing UI elements.


Typical Microsoft strategy: Embrace, extend and extinguish

Soon the Platform will be renamed 'Microsost Visual Studio Github' or 'Microsoft team Github'. Then 'microsoft Visual studio hub'.

Then at somme point, Github will be inside Visual studio code online and not anymore the other way around!


Just goes to show hard a reputation can be to let go of.

Different people, different leadership, different strategy and an entirely innocuous product offering.

But people still find a way to relate it to EEE.


Its legacy thinking.


What?

This is just them creating a one stop shop for developers by expanding what GitHub offers.

Nothing to do with EEE


Just think! You have Github. Git coming from linux, open source World, ... Also Github is notoriously the base of a lot of the ecosystem that is deprecating Microsoft solutions and environnement. All the website and js things of today are all developped by and for the unix world(linux, mac,..). In ms World, you were supposed to use proprietary closed heavy corporate solutions : c sharp, j2e, closed 'pro' server solutions.

Si Github was the corner of all of that. Then they but it, suddenly there are a lot of features coming that bring it far from the scm job it was meant to. Now, it starts to be 'integrated' with ms tool ecosystem. How long before your Github accounts are merged, shared, replace with a Microsoft account?

They will tell you that it makes sense and is needed because vscode needs to be interconnected with ms team and co...


You seem to have closed your eyes for the MS of the past 10 years.

The 90s are over.


And btw, don't forget the past. They had 'team fondation server' (that is now azure devons server'), that was shitty and git and Github were terrible competitors.: https://wilsonmar.github.io/tfs-vs-github/

And all of tfs was volontarely deeply intricated with Visual studio useless things.


Github was since forever a proprietary product, so EEE doesn't apply here. This is equivalent to buying a closed email client and integrating it with MS Office.


Um, they own it, so why shouldn't they be allowed to put their name on it?


Great, but Github doesn't even support sorting your repositories into folders and is ignoring years-old requests to change that: https://github.com/dear-github/dear-github/issues/74

Gitlab does.


Neat, use gitlab then. Get over your tribalism and use the right tool for the job.


So GitHub (Microsoft) continues to venture way beyond just source control and it's directly related areas, into a much more overall "development" strategy, seemingly echoing what GitLab have been doing for a while.

It's sad to see GitHub moving slowly into spreading itself too thin, instead of just improving the platform they have. They now try to replace CI services, donation platforms and now remote code editors.

Seems their core service is still holding up so far, but with all these moves in different directions, I'm getting a bit worried that the SCM and software collaboration part will be left out. I think GitHub becoming SourceForgeV2 is closer than people think. It's bound to happen at one point.


> It's sad to see GitHub moving slowly into spreading itself too thin

People have been saying this every time GitHub has added a feature that wasn't SCM. How is this time any different?

> I think GitHub becoming SourceForgeV2 is closer than people think. It's bound to happen at one point.

How do you possibly jump from Codespaces to SourceForgeV2, and somehow proclaim it as certainty?


Since when is saying "I think" considered to "proclaim as certainty"?


It's literally in the quote: "It's bound to happen at one point."


> instead of just improving the platform they have. They now try to replace CI services, donation platforms and now remote code editors.

Aren't they in the category of "improving the platform they have"? What exactly do you want Github to be improved then?


They now try to replace CI services, donation platforms and now remote code editors.

I am not too worried about spreading themselves too thinly. GitHub Actions is much nicer than some of the competitors I used before (though I still love sr.ht builds).

Also, it would be bad for them not to branch out. GitLab is now a strong competitor and they also provide many features beyond code hosting, such as CI, registries, etc.

It is nice that there are three large players now (GitHub, GitLab, Atlassian). GitHub was stagnant for a while, but they seem to be moving fast again after GitLab became a serious competitor. It's a clear case where competition is benefitting the users, both in price and in platform capabilities.


By this logic, Apple should have stuck to Macs and never created the iPhone..


I'm not sure it's bound to happen. They're owned by a trillion dollar company and Github is a super important tool in their overall developer strategy.


based on what is it bound to happen


> Seems their core service is still holding up so far, but with all these moves in different directions, I'm getting a bit worried that the SCM and software collaboration part will be left out.

They literally just made teams cheaper and added to their free tier.


Indeed, the signal to noise ratio for GitHub is pretty rapidly decreasing. It's getting a lot harder to find the important details on any given page.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: