Facebook Teams With Microsoft On Visual Studio Code's Remote Extensions (facebook.com) 38
A new Facebook blog post explains the company doesn't mandate one development environment internally. "Some developers use vim. Some use Emacs. And even more engineers use our internal, unified development environment called Nuclide," which originally was a set of open-source packages built on top of the Atom editor.
But in late 2018, Facebook "announced to our engineers" that the company was moving to Microsoft's Visual Studio Code, a free and open source editor released under the permissive MIT License that runs on macOS, Windows, and Linux. And the Facebook for Developers blog reports that they're now actually helping Microsoft build the IDE: While engineers at Facebook have Visual Studio Code installed locally on laptops, most development is done directly on individually-reserved development servers that live within our data centers. Being able to access code on these servers in a seamless, performant way is critical for productivity.
As Microsoft's Visual Studio Code team stated when they first released the remote extensions, remote development is an emerging trend... [W]e at Facebook believe that we can apply our unique expertise in this problem space to help. That's why today we are excited to share not just our usage of their remote development extensions, but our involvement in helping Microsoft further improve remote development extensions, with a lens on enabling engineers to do remote development at scale with Visual Studio Code...
Microsoft has now created such a robust remoting experience, it has allowed us to move off our own custom solution... Visual Studio Code is now an established part of Facebook's development future. In teaming with Microsoft, we're looking forward to being part of the community that helps Visual Studio Code continue to be a world class development tool.
But in late 2018, Facebook "announced to our engineers" that the company was moving to Microsoft's Visual Studio Code, a free and open source editor released under the permissive MIT License that runs on macOS, Windows, and Linux. And the Facebook for Developers blog reports that they're now actually helping Microsoft build the IDE: While engineers at Facebook have Visual Studio Code installed locally on laptops, most development is done directly on individually-reserved development servers that live within our data centers. Being able to access code on these servers in a seamless, performant way is critical for productivity.
As Microsoft's Visual Studio Code team stated when they first released the remote extensions, remote development is an emerging trend... [W]e at Facebook believe that we can apply our unique expertise in this problem space to help. That's why today we are excited to share not just our usage of their remote development extensions, but our involvement in helping Microsoft further improve remote development extensions, with a lens on enabling engineers to do remote development at scale with Visual Studio Code...
Microsoft has now created such a robust remoting experience, it has allowed us to move off our own custom solution... Visual Studio Code is now an established part of Facebook's development future. In teaming with Microsoft, we're looking forward to being part of the community that helps Visual Studio Code continue to be a world class development tool.
Great... (Score:1)
If they treat each other like they treat us ... (Score:1)
All we gotta do, is fuel the fire, watch and eat popcorn. :)
Somebody in for a Kickstarter for financing an agent provocateur mole? *evil grin*
I wanna see a Zuck-Nadella cage fight! I'll bring the throw-chairs!
Re: Great... (Score:1)
"Free and open source" (Score:1, Troll)
Let me guess ... just like that first sample of Microsoft crack always is.
Until you find out the nasty secret.
They are a for-profit company, after all. One of the most profitable, even.
So if they pretend it has no strings attached, it's naturally even worse than something where they could admit what they are doing.
The alternative is, that their shareholders are soon gonna complain, and the strings will be attached after people are hooked and they got leverage. IE style.
But maybe the MS leech from hell latch
Re: (Score:2)
Re:"Free and open source" (Score:5, Interesting)
You mean of course less open. They have no requirement to share the code, can share code that differs from what is used, and can even sell the binaries without releasing the source. The MIT license is only less restrictive if the licensing entity decides to make it that way. I'm sure Facebook and Microsoft would never do anything shady though, so no worries.
Re: (Score:3, Insightful)
You mean of course less open. They have no requirement to share the code, can share code that differs from what is used, and can even sell the binaries without releasing the source. The MIT license is only less restrictive if the licensing entity decides to make it that way. I'm sure Facebook and Microsoft would never do anything shady though, so no worries.
I think in your definition of free and open you are conflating the code that is released under an MIT license with the code that uses that code (and or changes it).
and your comment about shady practices is specious at best. Shady practices can be performed regardless of the original source of the code and regardless of how it is distributed.
Re: (Score:2, Troll)
You are hereby prohibited from using that phrase until further notice; don't hold you breath for approval.
Re: (Score:2)
I think in your definition of free and open you are conflating the code that is released under an MIT license with the code that uses that code (and or changes it).
Thats exactly what the GNU zealots are doing. They call it free and open but then retain ownership and control.
Re:"Free and open source" (Score:4, Informative)
https://code.visualstudio.com/... [visualstudio.com]
What is free is vscode. Visual Studio Code's relation to vscode is similar to that of Chrome to Chromium: Branding and some features.
https://github.com/microsoft/v... [github.com].
Somebody should invent network mounts! (Score:3)
So there is no mandated dev environment, but their solution is to make changes to a single dev environment when the solution to this problem is extremely simple and has already been around for decades and works for all dev environments? That's fucking brilliant.
Re: (Score:3)
A network mount is not a good solution for working with massive server software in a monorepo.
You end up downloading a hundred gigabytes of source material across millions of files, with the associated latency of on-demand access, just to build and run on laptop hardware.
Re: (Score:3)
First of all they are not building and running anything. It is interpreted server side code and front end code that gets loaded by the target browser at runtime. Second if it was code that gets built they would build on the server. You simply have no idea how software development works, so stop pretending that you do, thanks.
Re: (Score:1)
Sounds like you are describing scripting. A dead giveaway when words like "interpreting" are used.
While scripting may look like code and/or coding, there are more than enough differences between scripting and coding.
And if you don't know these differences, you yourself might not know as much about the subject matter as you pretend to do in your post.
As I am familiar with these differences, it is clear to say that I am a scripter and you won't see me ever pretend to be a coder.
Good scripters can be just as u
Re: (Score:2)
Re: (Score:2)
You have literally no idea what you are talking about and should definitely not be trying to sound like you have a clue. You simply make yourself look like an idiot. The biggest language Facebook uses is PHP, so much so that they have developed first HipHip and now HHVM [facebook.com]. PHP is
Re: (Score:2)
Re: (Score:2)
It's been a while since Facebook ran on simple PHP files and static JavaScript.
Yes, this is what they're describing in the article.
I'm not disputing that, but I do work for Facebook, and (anecdotally) I find that my beefy dev server help
Re: (Score:2)
Javascript runs on the client in a browser so it is interpr
Re: (Score:2)
It's not network mounts. Each engineer gets a rack-mounted workstations in a dc. Mine was in Prineville, OR. Some engineers use nuclide and mount the files remotely. I personally would just mosh in and run vim in screen. Anyway, on their workstation, each engineer has a copy of the entire fb codebase locally in git. Syncing and rebuilding was slow and painful. Latency was never a problem.
For what it's worth, since I left Facebook and now work at Google, I far prefer citc. Here, our workstations are local, u
Re: (Score:2)
scary words (Score:3)
We're from Facebook and we're here to help.
Bah.
Coding on Servers (Score:2)
Being able to access code on these servers in a seamless, performant way is critical for productivity.
Uhm, no; this is the way to bypass all sane SDLC processes and end up with all servers having different hack job bits of code changes all over the environment with inconsistent changes that never make it into revision control and break constantly when any attempt is made to redeploy.
We have better ways to solve these problems now, CI/CD tools and containers to name two. This is just enabling creation of a huge mess.
Re: Coding on Servers (Score:1)
Re: (Score:2)
Remote code execution? (Score:2)
Shitty management -- ignore your "customers" (Score:2)
> Some developers use vim. Some use Emacs. And even more engineers use our internal, unified development environment called Nuclide
Talk about shitty management.
* Let's force everyone to the lowest common denominator.
Yeah, that will build "trust" between management and workers.
Did management ever stop and LISTEN to WHY people are using the tools they do??
I use both Vim and MSVC. They have *different strengths*. One definition of a cult is: "Someone who believes their way is the ONLY way."
Re: Shitty management -- ignore your "customers" (Score:1)
always broken (Score:2)
Isn't Faceboot's marquee site pretty much always at least a little broken?
VIM killer for Visual Studio Code (Score:2)
What I'd like Visual Studio Code to do is implement some wicked smart, syntax aware, selection mode. You press Esc, that puts you in the selection mode and then you navigate with letter keys, vim style. Press some key, you select the current subexpression under the cursor (say 2), press another key to expand the selection and go from 2 to 2+x, another press and you have selected (2+x)*y. Another key would select the current scope, press a key you go one scope up.
It's somewhat similar to what they did with
Re: (Score:2)
Have you tried IntelliJ or any of its family? It has an extend/shrink selection that works pretty close to what you describe, and is most convenient.
Re: (Score:2)
EEE Inception (Score:1)
I'm unsure here who is doing the Embracing, who is doing the Extending, and who hopes to Extinguish whom.
Nothing bad to say about vscode. (Score:1)