chapters transcript notes
click any line to jump to that moment in the video
0:00 [music] thinking. 0:14 Hello everyone and welcome back to Agentic Thinking with Mike and Matias. With us we have another guest today. Ryan, welcome to the show today. , 0:24 this is a weird wild episode. We're going to try something brand new. The internet and the technology may totally fall flat on its face. , but we're gonna attempt to do a live viewing of 0:35 the story of VS Code, a world premiere. myself, Matias, and Ryan, we are all Avid developers. We we have probably spending way too much of our life 0:46 running around inside VS Code. , and that's what it is for today. Matias, welcome. How you doing? Doing great. , that's a a fun idea. I 0:56 love VS Code. almost no day where I don't spend any time in it. I'm really excited to see what what they've got to present here. And Ryan, hello. Welcome as . 1:06 Ryan's on my team. Ryan works for my company. he is my senior developer. just a brief introduction to him, but Ryan is probably the one on of anyone who spent way more hours than on our 1:18 team inside VS Code. And I Ryan recently, we were just talking about this offline. You're not using VS Code as much as you used to with all these agentic experiences. Yeah. 1:29 . Yeah. , I I love VS Code, too. It's always been one of my most favorite programs to use ever. Yeah. I really the Monaco editor and 1:39 the multi-edit capabilities. Cursor multicursors. Dude, that looks a rock star. [laughter] Yeah. , yeah, I absolutely love it. It's always on my screen, always up. 1:50 Yep. that being said, let's try this. We're going to try and go over. , we're going to be the talking heads. We're going to do a mystery science theater 3000 type version of this. We'll 2:00 be the talking heads across the bottom. for those of you who are in the chat or listening to chat as , let us know about the audio quality, if you're hearing things correctly, if things are working properly. , we're 2:11 going to just test this out and see how this runs. That being said, let's go over and we'll start the show. All , here we go. The talking heads are up. The video is ready to run. And 2:22 I'm going to hit go on the video here. for those who are listening online, for those of you who are listening online, 2:35 back in the 80s , it feels 80s to me. [laughter] 2:46 Hi. The reason we build visual studio code from very beginning was a was really connected with a very explicit strategy shift that we have done in developer division. in early days of of 2:58 Microsoft or throughout most of Steve Bmer's CEO leadership development was really there to service the needs of our platform which at that time really was 3:08 really Windows and what that meant is that we took a relatively narrow viewpoint which is that if it's not on Windows we didn't care about it if it's not C# or C++ which is really 3:18 builds Windows application we don't really care about it and the particular pivot we really did in early I remember code is that we realized we had to go embrace every developer. 3:28 It was Windows or nothing that was the only way to think about it. Mission we want to meet developer where they are. Good morning. Good afternoon. 3:38 Good morning. Captions in Germany. Welcome to our planning call. it's I can turn on captions 3:48 last one of the year. [music] it might be the last one of the year. I I have Does anyone remember when you first used it yet? Just in case there are some leftover things. 3:58 I don't remember when I first started using it. It's been forever. It's a staple. Yeah, probably 12 years ago maybe. You've got it. I was before that using Eclipse cuz I 4:09 was writing some code on Linux. I was doing C++ and then we sh we shifted it over to VS Code halfway on that project 4:19 and it used much work. [music] I think I was using Notepad++ before potentially 4:29 for a [laughter] little bit. . I used to be big on, , big fat Visual Studio. Oh, Visual Studio 4:41 and then that's where I transitioned out of an interview. and I still have Visual Studio installed, but Great. can't remember last time it great 4:52 people me too same I've I've I've uninstalled it on my recent machine don't even have it on my computer anymore the very first line of code at Microsoft was written by Bill Gates that was a 5:02 developer tool but by 2010 something was happening in the developer world and that was because of the web the 2010 along and about 10 years it had gone from being 5:12 dude that seems not that long ago I'm old that was a long time ago dude years all of a sudden you started to see you know Google Docs, Office 365 5:24 things were that were not websites anymore full applic you weren't looking to Windows 5:35 or the desktop [music] and we knew that if we wanted to stay relevant with developers we had to do something we started to put some of our best people on this problem we brought Steve Lucco 5:47 in to work on a new JavaScript script engine that would change the way anyone out there if you upgrade VS Code to the latest design a new language 5:58 the link to this particular video here is is going to be in a release note the one thing that was missing that's how I saw about this that's how I heard about it and just around that time 6:10 amazingly Eric came into our world [music] that looks Switzerland. Yeah, there we 6:20 go. Oh, there you go. You called it. Nice. he said Eric. . where Eric's from? Yeah. But it did look very southern. 6:30 Yes. Us Americans don't get to know other countries as . , oh, some [laughter] country place over in Europe. Just near my home. You see the the lake of Zurich. Some touristy mountains 6:43 there. It's us being , "Oh, that looks Tennessee." Goes that. Oh, yeah. That's California and that's why co because you have the nice 6:53 and also have good Zurich is one of the biggest Google developer hubs outside of the outside of the state I know that 7:03 yeah cool a significant proportion of the Zurich population gets their income from Google 7:14 my I don't know I just the feedback loop from developer tools, ? You do something, you use it yourself, your friends use it and other developers 7:24 which are very I heard about JUnit clients, ? They're zero loyal. They jump around to the best that they . it's really challenging but also 7:34 very rewarding to work with other developers because when they something they they really do, ? There was the annual Eclipse Conference in 7:45 San Jose. in Silicon Valley and I thought that's very near to Redmond. we set it up that I spent from there one day in Reman on the 7:56 Microsoft Compass and I got introduced to the the development leads of developer division and I also got one hour with Bill Gates, ? And we 8:06 talked and it was great day. , I think there was lots mutual commonality, ? the passion for developer tools which I immediately 8:16 desensed which I started to miss a little bit at at IBM we immediately connected but what was also very clear I'm 8:27 not looking for a new job I'm looking for new challenge then Jason Sander he was the head of Delition came to Zurich and he came with the 8:38 challenge would you be interested in working on online developer tools that run in the browser. Eric was run the browser. Interesting. That's 8:48 where they were starting from. I didn't know that. Gang of four who'd written this book called design patterns that every engineer would follow. He had built I think six or seven ideas before 9:00 this. And Eric from day one Eric was [music] I don't want to just take what I know and try to make it fit into the web. I want to build something that's born of the web. And you 9:10 know away interesting Jason and I as we talked we were hey this is this is the person. 9:22 Yeah, it took me a while to think about it, but it really infected me to to it because I could go back from this outer loop back to the inner loop, 9:33 ? Edit, develop, test, debug, whatever, because that's where you are the closest to the developer, ? , I got very excited about this prospect. 9:43 I got very excited about online tools in the browser. The browsers became better. the JavaScript engines became better. V8, Chalkcraft, Spider Monkey, it looked 9:55 the time was ready. Spider Monkey, I don't even heard of that thing. Tried to work on that that you can have developer tools that only in the browser. that's why I decided to 10:05 accept the challenge. One screen, one monitor. What the heck? 10:17 [laughter] Yeah, that doesn't fly for me anymore. [laughter] You can tell you're an old developer when you have one monitor. It's a 24 in. 10:29 And of course, , what did you do then? I thought it's it's a great opportunity to to brush up and learn stuff. , I developed some online tool in the 10:39 browser, a little playground to run unit tests. I just love testing frameworks and built that, run it, and was great. It was a great confirmation that the time is to try that the new 10:50 browsers to have for web workers you can do things in the background have HTML 5 with all the powerful support and also what was also interesting what I 11:00 learned is there is node JavaScript would have been a massive enable in the back end oh that's a good point I guess pre-type 11:10 in the narrative yeah JavaScript it's the precursor correct Yeah. This made it then. Yeah. I'm really happy about the 11:21 decision. Microsoft really was careful. They didn't want to get into a into [music] debate with IBM whether I would take the team with me or not. what 11:31 Microsoft told me once I left I'm not allowed to talk to my team anymore. The thing about Eric is Eric isn't just Eric. It's Eric plus Eric's team. And 11:44 very early on when we were talking about getting the team started, Eric was very interested in figuring out how he could get the gang back together. The nice thing was we didn't 11:54 have to do a lot of selling, ? Eric's whole team was in love with Eric and they wanted to work with him. all we had to do was create a Zurich dev center, advertise those and they came. 12:08 One thing I find interesting here is I know iPhone was a big push in a lot of JavaScript stuff. iPhone came out in 2007 and then by 2010 he's talking about JavaScript here being JavaScript 12:18 coming becoming the wave. Apple made a decision to say look we're only going to be building JavaScript stuff for stuff on their phones and supporting it or something that. That might have been a big tipping point here to 12:28 really push that language a direction where everyone builds web with that. I do not remember the exact dates. The longest person here that I know is Martin. Martin was a student at Take 12:41 Five with me. we we most of the people here have a very long relationship together. At the time that Eric left, I was also ready to a new adventure. 12:52 And [music] maybe they're going to make a documentary about us one day. Eric started everyone when Matias was starting to build his own, , whatever software package and Ryan was Mike's 13:03 friend back in the day. [laughter] it'd be a very short documentary. That's we'll say that [laughter] it has a button click here to apply. 13:13 I just applied as . That's cool. It's cool they had this chemistry a lot of things get done with a good team, ? You work together. you can 13:23 see it in VS Code it's a good product and I think it's working on it a certainty. browser apps were still pretty early and most people you 13:34 talk to, they'd be , there's no way you're going to build something that can handle the performance and responsiveness that you need in a developer tool in the browser. Most 13:44 people thought of browserbased editors as toys, ? we had to give Eric and his team a long runway. The real thing was 13:54 just treat it as a startup. Treat it as a pure green field. Start experimenting. Deliver something along the way each year and let's see let's see how far it 14:05 can go, ? Let's see if we can build a a tool that's truly born of the web but but is good enough for everyday needs. What I'm also going to poke at a little 14:15 fun here. All of us are watching this but we're all probably also watching our bots. , keeping Claude busy on the side here, come over to this [laughter] build conference where they introduce 14:26 Windows 8 Win 8. And yeah, I got to know eight. I also got to see , this is quite different. 14:37 Oh, yeah. [music] Wasn't this the one that was supposed to be for the It was supposed to be the same on the tablets and the 14:47 Good morning everybody. This is [clears throat] around Windows phone, ? I hated Windows 8. Hated it. Scared, ? Wow. How can I have success in here? 14:57 when you have this, we all thought and then Windows 8 tanked and then you guys were just fine. Was that [laughter] before after Windows meant 15:08 when you have something to hand you can demo I think me was before seven. Seven was a real breakthrough that solved a lot of problems. Eight was a was 15:19 a minor iteration on top of seven, ? Shenku and also only a small stepping stone towards 10 which was a really really 15:29 good one was the beginning I would say of Windows ME was 2000, Windows 8 was 2012. sorry totally different timeline. Windows 8 and ME are are 15:41 touted as the most criticized operating systems. [laughter] I went home with that 15:51 and this was just a great inspiration for what eventually that's why I had to go from 8 to 10 to distance themselves from it. Exactly. Yes. 16:03 . We're in Redmond . Thought Windows 11 is pretty good. We played and VS day. Yeah. But 11 and 10. 16:13 I showed him it was to find some of the bugs as the code base grew and that's the new hot thing 16:24 was that Ryan got to be 100,000 line 200,000 lines that how were you going to refactor? How were you going to have control over the interfaces? And that's when we hatched this plan where I 16:35 would keep driving on the TypeScript compiler prototype and keep and drive it forward. And apparently the VS code project nowadays 16:48 the largest TypeScript project. our earliest and best customers completed on how to make it serve their needs and 17:00 they got to that large scale project the VS Code one would compile in a more reasonable it was really unclear what the web 17:11 speed and they achieved 10x improvement there wow and compiling the VS codebase was a major test, , 17:22 whether or not that Go rewrite worked . Interesting. I didn't know that. This is some of the most high taste users, developers who know good software 17:34 from bad. [music] Anytime they use anything, their expectations are that they have a code editor that can allow them to work at the speed of thought. they want to be able to go 17:45 from their brain down their arms to their fingers without having to think. And they certainly do not want their code editor to get in their way of getting their ideas. 17:55 I just talked to it. it's just talking to my agent that it does all the work. Whether or not the web would be able that level of interactivity was in question [clears throat] 18:05 of VS Code [laughter] Eric, we need a new version for what the team was doing and he took a dependency on it. 18:15 but it was a mutual whilst we're listening and a mutual pop because the TypeScript team what what are your personal VS what are your favorite VS code features 18:27 and it's not a quiz because there's no answer let's [laughter] your favorite VS code features 18:37 you could see it was a weekend project I love multicursor and anytime I demo it to any client when I'm doing it at the same the shortcuts there, dude. They think I'm a wizard. And every time I watch 18:48 Ryan, I'm not good at that at all. Ryan's incredible at it. And I see him, oh yeah, if you just do this, this, 17 different key commands and boom, boom, boom, he's got 80 cursors across the page and he's 18:59 updating all of them at the same time. It's phenomenal and is amazing. that one I it just astounds me every time I use it. . Yeah. I think it's part of the 19:11 Monaco editor that they have, ? I mean they built this Monaco editor for VS Code and that thing is being used everywhere too which is neat because 19:21 we use it in our products. Yeah. . And that all that multi-cursor stuff I think is embedded into that Monaco editor if you 19:32 I I think for me that's a huge part of it. It's just nice to work in an editor that that works you type faster. And once 19:42 they had GitHub Copilot have autocomplete mindblowing you type stuff and it would show you what it it's expecting you to 19:52 write and you'd be nine times out of 10 it would get it for me. I was whoa that is nuts. All you have to do is tab to complete it. And I think it's gotten a little bit more harder to use where they have 20:03 the cuz sometimes I don't want to make the changes and they have that little blue indicator. It says, "Hey, here's your next change. Here's your next change." I think sometimes it's [clears throat] a little too aggressive, 20:15 ? and the project that the team was this thing. Yeah. the editor is my favorite part of it. A code editor. What about you, Matias? What's your favorite piece of this 20:25 component that just goes in the browser? And I love VS Code, being able to create a tunnel on any machine and then launch VS Code on any 20:37 other machine and connect to that session of where it runs. Yeah. And also how easy that is and how responsive, . And 20:47 that's manager in Visual Studio. His name was Chris Das. And Chris had been in tools at at 20:57 Microsoft for a long time. He knew everyone. He was just an amazing people person. Mike, , when we had the we had an open claw or a little bit 21:08 that was one of the features that I really liked about it where I would remote in what Matias is saying. I would remote into that clawbot which is a Linux 21:18 on a different computer. able to just write in VS Code it was my own application on the computer I was using. It was easy and it just felt natural, 21:28 . Yeah. [music] Killer feature. That was cool. Yeah. Fun times. 21:39 It [laughter] was funny because I I thought to myself, all , we hired this guy. He was really popular a long time ago. He wrote an awesome book. 21:49 I think I never read it. And I thought to myself, all , if this guy is just resting on his laurels and is all about the past and this is obviously a whole new format 22:00 we're trying today. I was just thinking, to be really it was five minutes. Next time we should have an agent listen 22:10 to this in real time with us. And then contribute as . really [laughter] the beginning of another would be bu it and we'll put it in 22:20 there. We'll put a little agent, you know, agent notes on the hand side of the screen as we're talking about things. That'd be fun to build me a thing, Matias. We'll put it in the show. 22:30 He's on it. He's already Fable 5.1. He's Matis is already giving He's wring. Do you need Fable for that? I doubt it. [laughter] Probably not. 22:41 He's gonna do it in Luna. And there's lots of different products in Microsoft that are are using that today and it's the same editor that 22:51 code today and this is in third parties as because it's an open source code and and extensions coming back to favorite features VF code would not be VF code if it weren't for 23:01 extension browser% and you highlight some code if it has nice rounded corners that's the first clue that it's the Monaco I love that look at that we did get a letter from 23:12 country of Monaco asking for clarification between the code editor and tourism for Monaco. But we didn't think that was that confusing. 23:23 [laughter] One of the early questions we asked ourselves is hey should we use jQuery or not? That was the de facto framework at the time. Ultimately we chose to write this ourselves just 23:35 because it could [music] then be under our control to evolve it and forth. We knew from early on that we have to write really specialized code. if you think about the editor itself, 23:46 it is full of custom rendering code. We create divs for lines, [music] we create spans for tokens and being able to manually decide each 23:56 and every DOM interaction is one of the key things that helps us make rendering very performant. Yeah. there were a lot of interesting challenges. We always knew 24:06 that compute intense operations computing squiggles we cannot do in the renderer process. [music] on the renderer thread. the renderer threats 24:16 gets all the drawing done. Make sure the cursor blinks and make sure that colorful boxes and letters appear on the screen. And if you saturate that thread with work that you don't see the UI 24:26 freezes. This is usually when you resize a window and it doesn't follow up you just see blank space around it. That usually means this Fred is doing something that it shouldn't do, ? Because it's there to just draw. 24:36 in the early days, we we did some very good decisions we we , never ran long running scripts on the UI thread. But then we were also very careful to be sure that 24:47 everything you do in the editor [music] has a runtime cost which is directly proportional with what you're doing. for example, even if you're in a huge file which has , , 24:57 millions of lines of code, if you type one keystroke, one character, then you should only pay the cost of, , reacting to that one keystroke. When you're scrolling and you only see 50 25:08 lines, we really, really try hard to only render those 50 lines that you have really to see. Makes sense. That's why it's fast. I'd question why you have a million 25:19 lines of code in one file, but different problem. Different problem. With agent stuff anymore, you don't even want a big file because agents can't even read the whole thing. Seeing the Monaco editor 25:30 running in the browser. You could type. You got some IntelliSense. . , I've got an actual publish that you could 25:40 guess how many commits there are currently on the main branch on the VS Code repo. Oh gosh. How many commits? 100,000. 25:52 . Ryan, we have immediate feedback. I'll go 200,000. Oh jeez. yeah, you are much closer. 164,000. 26:04 164,000 commits. Jeez. On main. Oh, it's been it's been around for 10 years, whatever it was, ? , next question. How many open 26:17 branches are there in GitHub? Oh gosh. Do these include forks of the repo? No, no, no, no. Just just branches. That's the next question. Forks. How 26:28 many forks? How many? Probably 500. 500 open branches. Is it that high or is it that is it is am I too low there? I don't even know. I 26:39 don't know. The scale in this project the number of branches is a metric for two different things. either sloppiness as in you don't clean 26:50 up after yourself or genuine work in progress in parallel, ? , with this one, I think it's probably more towards the ladder. 27:00 I'm assuming that they're pretty good with their engineering practices. , Mike 500 Ryan, based on that, I would say probably more 27:10 50. [laughter] Leading the witness. Leading the witness. . We are orders of magnitude of it's 5,000 27:20 branches more than the commits. Wow. I was not I would not expect more comm more more branches than commits but I guess it makes sense. That's much less than the commits. 27:30 There's 164,000 commits. Only 5,000 branches. That's still a lot of branches though. But it's an open- source project. is it just everybody 27:40 everyone's pilot on potentially? I very much doubt that they get a lot of external contributions. Make available under the name as Visual 27:51 Studio online Monaco. That's crazy though. How do you manage Scott? How are you, sir? Scott Hanselman. Yeah, something cool. He's a lot less gray hair there. You want to build something very 28:01 lightweight? It's Visual Studio light. It's It's very light, fully responsive, and gives you still the comfort of coding, ? Oh, yeah. That's 28:11 Monica editor built into Azure functions. I hope was that we get some usage out of that. That scenario was pretty interesting. He also showed Azure websites. That was the early 28:22 version of you have to have an Azure website. You have to Yeah. As an Azure website and then eventually you get I used to love that. I used I used a lot to do live edits of 28:34 Azure functions. Oh, interesting. In the browser. Yeah. we were not relevant with this web ID under the SCM subdomain web IDE can we just be for 28:47 the code name is Kudu and then again I remember that I remember using that too and I'm pretty sure they're still using it 28:57 when I moved away from apps and moved into more static web apps when I was doing the app side I was doing some kudu a lot more 29:08 . , 42,000 forks since the question came up earlier, but I very much doubt that we can also have a desktop application 29:18 using our technology. More than 1% of those are actively just people 29:28 creating a fork and then forgetting about it and they're hacking away. Welcome to all my forks. they're using Sublime, they're using open source, they're using git, all these different things. And I had no way to as 29:39 Microsoft Visual Studio, I had no way to talk to them. I go in , "Hey, can I request coolment tool?" You'd be 29:49 two developers trying to work together in the same This is it. This is the live connection stuff. do one is close that Mac, go buy [snorts] a Windows machine, go buy a visual, download five gigs of 29:59 stuff, rewrite everything in net and C# blah blah blah blah, ? And and I'd be the kids going to be , "Yeah, , boomer, just put the headphones on [laughter] just shoe 30:09 me away." we were irrelevant. And this was the genesis of the idea of building VS Code as a locally installable cross locally installable 30:20 tool. that way we could have a conversation with people. that was the beginning then of what became Tino. 30:34 H I never heard of the Tino project. I took this prototype in Revan. I was able to demonstrate it and I remember the meeting because 30:44 I demonstrated on Linux. all of a sudden can build a tool that runs on Linux. Oh my gosh. And we had a lot of cheering going on. Oh great, we can do it. That was in 30:55 October. And the cheering got that far that we decided at the next build conference in April. about 6 months 31:05 later, we want to announce we have a crossplatform editor that runs on Linux, Mac OS, and Windows and is a new light. Sounds Microsoft. , you made a 31:16 prototype. Great. Let's make it a product. In a week, it was not entirely clear that Electron would be the pick. But in terms of what it meant for us, it was not such a big shift away 31:27 from what we had already built. , we were building for the web. And Node WebKit and Electron were our web rendering engines that you can install. , in a way, it was 31:37 take whatever we have and throw it into Electron and deploy it to users. Electron was really the enab scenarios. We used electron on business ops. 31:48 Were just using web back then. Yeah. We said we want we haven't touched that project in a while. Spectrum here from lightweight editor. No documentary needed for that one. We want to be close to 32:02 from the ID and what we really and we need for this inner loop I mentioned before is bridge language support and debugging. 32:12 the browser we a little bit early and for us it was just a natural pivot to say then go and go for a more native story which runs on the desktop but use 32:22 the same technology. We started this idea crossplatform desktop app in October in April. Wanted to have it done and then of course seeing the demo on Linux 32:34 debugging .NET Core app with V real Visual Studio Code was just for us happiness. [applause] 32:44 Wow. Scott's back. I feel perhaps I haven't sufficiently blown your mind. why don't we take a moment and switch over 32:54 to Ubuntu. I'm on Ubuntu in a net app doing 33:05 a debug session. I've got local [music] variables. I've got a call stack. I've got break points. The UI is simple compared to what it is today. Visual Studio. 33:15 Yeah. It hasn't changed a whole lot. No. that about it though. Yeah. Oh, this is Scott Hansselman's office. 33:29 You've been there? I'm not very good. No, I think I've recognized it from his videos. [laughter] Not not good at that. Game over. Oh, yeah. I do, too. 33:40 Dude, documentaries are the best. I made my 17-year-old watch Helvetica. We watched a two-hour documentary about a font. There needs [laughter] to be a 33:51 documentary about my code editor. People need to remember that Microsoft of 2010, Microsoft of 2015 was different than Microsoft of 2025. And there was an 34:02 expectation that it was Microsoft's way or the highway. It was Windows and our stuff and our code and our our apps. And the idea that someone would bring a 34:12 editor, a fully featured code editor crossplatform, a Mac, a Mac on stage at Microsoft Build was unheard of. They could have done April Fools, you can't 34:23 release Visual Studio Code. We're not doing it. Yeah, but Macs are everywhere on the Microsoft campus. The limits and they let us they let us do it. And it felt a shift 34:34 when they were thinking about names and someone said, "Let's just call it code." I was , "Who does that? Who who has the audacity to just pick a noun?" And 34:47 not just any noun, but the noun. I thought it was both insane, audacious, and it turned out to be the best choice that they ever could have made to 34:57 say, "Oh, we'll just call it Coke." This was a time when a progressive web app, a Chrome, he's a good story that runs within Electron had a limit to its 35:08 complexity. I don't think anyone had seen a performant web app that. It was a showcase for Electron. It was a showcase for TypeScript. It was a showcase that a crossplatform app at 35:20 that time 10 years ago could do the stuff that it did. That in itself, I think got people interested in the app and made them want to try it. tapping around and you can see I'm 35:31 doing the game assets and the code all inside of VS Code. We'll zoom in a little bit. Scroll around. How much is that monitor things left and ? 35:42 Oh my goodness. That must be one of the that must be a surface interest we generated with Visual Studio Code and this was overwhelming. 36:04 This is a pretty good documentary. I'm enjoying this first announce code and I think the hacker news line was via they dropped the code ships cross 36:15 platform for Linux and Mac and then he was very hot. What is that showing us? You write beautiful software 100 I think. Oh, I need to move. [laughter] 36:28 I'm coming out your way, Matias. And yeah, that is a very we're nowhere near any significant mountains. Yeah, 36:38 then we all need to move all the way up to Scotland. We had no we were not on GitHub, ? We were on Coplex or whatever. We were we had nothing visibility. What we had 36:48 visited back then was user voice which was a tool where people could up and download requests and this went very fast people asked great but we need extensions great 37:02 but want to have this being open source and this was clear this is what became the next two goals we have to achieve we need to have an extensibility story and we have to be able to 37:13 there it is there's your feature announce extensions are showing up an open source devil we had another intense 6 months ahead of us. 37:28 There was this one repository that we were not allowed to make public and I of course clicked that button. [laughter] the digital repository was for one minute open source and got I thought I 37:39 tried no way really. Yeah, I think it got part and then we had to reach out. For me, open source until then had been, it's just where would you host the code anyway. Yeah, you're just a kid 37:50 doing software just put it on source forge maybe. , and when we became open source, the preparation for that it it's interesting. We ended up 38:01 going to the code cleaning out a lot of things. I remember I saw a commit where I'm just erasing to-dos. slashtodos and I thought [laughter] I didn't do it 38:11 in the last three years. I'm never going to do it. Let's just remove it. the code needs to be a little bit clean. And the decision was made at the time that we wouldn't include any of the history. we would do a little 38:21 snapshot of what the code looked on release date. Interesting. We would have Eric put his name behind it. And the very first code in the VS Code open source repo is hello code from Eric where all our work from the past 38:34 four years just landed. I think Typescript was already open source at the time, but that was pretty much the only great example from Microsoft. We were really paving a path of going open source as 38:46 far as Microsoft is concerned. And what do we do? are we allowed to put the Microsoft name in the source files? Are we allowed to put the branding in there? And it turns out, you 38:56 know, after a lot of negotiation, yeah, branding has to be aside, iconography has to be aside. And we came up with this engineering setup. In private you would have icon and whatever license 39:08 text and in public all the source code would be in there. For us it was obvious that extensions 39:20 must run in a separate process. If an extension has some programming error and for instance just is stuck in a busy loop the extension process is dead. I all these 39:32 graphics they're applying between the speaking sessions. It feels very fluid. I and it feels very much in the style of the era that I came from. They're doing a good job with that part. 39:44 Claude is doing Claude Design did a great job on that. [laughter] who's at fault? Is it the bad driver that crashes Windows or is it Windows that allows to be crashed 39:54 this? . You give people a very sharp knife and they cut into their fingers. And this was something that we were we will not do this. And at the time there was also Atom and they 40:04 were we the most editor and they were everything that the core Atom developers could do extensions in the Atom ecosystem could do 40:14 this code we we did you build anything on atom Brian and this comes with a lot of some people don't us for this but it pays dividends. API becomes API the moment somebody uses it. you cannot say oh 40:24 this is API and this is internal API. There's no such thing as internal API. If somebody can call it, they will call it a declared API. And then you can be in the situation where there's an 40:35 extension which is very popular uses an API which you don't want to use because you say it's an internal API. Do not use API [music] and they can hold you 40:45 hostage. We don't change the API ever. once the API is out, it is out. If you wrote an extension 10 years ago, you can still install it. It will still run. 40:56 And that's our our guarantee. That's when software gets expensive. The first contribution was there was this big conference. We're 41:06 oh we're going open source and then we had Omnish in there and it had this little status when you run it and it's oh getting ready starting running and because my spelling is not great I 41:17 had spelled running with three ends and then it took seven minutes and the first open source contribution came along to fix the spelling. first request was a typo and this is how it started. 41:27 [laughter] Thanks. I'm really happy to be here for this very special moment for our team. I'm here on the Microsoft VS Code GitHub 41:39 repository page on the settings page. I'll dive down into the danger make this repository public by [clears throat] just confirming it and 41:49 understand what this means. you can all view it and even more important it from on. 42:01 today we're not opening up just the the core of his Julia code. We also open up some extensions and you saw there all for extensions you want to keep the API simple as possible. If the hurdle is too 42:12 high people will not do extensions. What's interesting was people came to us they want to write extensions. It's not that we had to tell them, hey, we have an API. 42:22 That's when you've got good demand and people are clamoring to build things on top of your tool. You got a good thing when it's when they're asking to build it for you and you don't have to do the work to make it and maintain it. That's cool. 42:46 The S code came out. I jumped on that really quickly and really liked the editing experience and at that point I found December 2015 the VS Code team 42:56 before open source and in the next release in a day or two the patch was you know added in 2015 I just 43:06 really became enamored with the product. once they came out with an oh november 2015 ecosystem or architecture was really jumped on the opportunity to to see 43:18 you love get lens Matias I was really passionate about pushing the boundaries trying to bend VS code to my are you indifferent about it 43:28 I think it's just it's too heavy I would spend an enormous amount of time of nights and then you have to pay for it I can't do without lens really even the free edition is ex 43:39 extremely powerful . what do you about it? What is it? The barrier of entry to creating an extension was low. it was the tiniest little bit of SC. 43:49 He likes to blame me for all my bad code that I write. can publish it, package it together using [laughter] standard tools. We don't work on projects together [laughter] really 44:01 straightforward access to commits, branches, remotes, work trees, all in one view, side by side. and then very 44:12 nice context menus on each item, you know, for I don't know, rebasing, merging, whatever. , 44:24 you don't have to memorize any git CLI commands anymore because every Git feature is exposed visually. You don't 44:34 get that out of the box, [clears throat] with the with the You don't get that out of the box. I see what you did there. I think learning the CLI is the way to 44:45 go. I think it if you understand what you're doing with the CLI, then you really can't get lost on Git and you understand how it works with committing and and what that means. 44:56 And I feel sometimes the UID it's it's useful running circuit Python and that code was develop I I feel 45:07 using the circuit Python extension I got distracted by him talking about I think he wrote the code for this sword with VS Code [laughter] he did it's a little circuit board a pi 45:18 circuit board why do devs get emotionally attached to I I just think understand how it works with my rooming Command lines just help you understand more what the UI 45:29 is doing. If you understand it from the command line, you will understand what's happening. Buns brain. you got to invest. Maybe maybe we should take a revisit on 45:39 git lens. I don't know. You got to have a great editor. You have a great monitor. It's [laughter] where you spend your time. I'm I'm a very visual guy. If I don't see it presented, it's not 45:50 accessible to me, . That's why I don't this whole trend of tuies, , terminal interfaces. I 46:01 I don't feel productive in them at all. Interesting. But at the same time, building a gooey equivalent is substantially 46:13 makes sense. All of us that that were using other editors , downplayed it. We thought you you can't get us to use another editor. It's 46:23 the bar is just high to offer people the value required to switch what they're using every day. But VS Code did that. 46:36 Wow. This is such a cross national development team. Die hard Sublime Text fan. much that I I even wrote a book about it. I had hundreds of blog posts about it. Oh my 46:46 gosh, Sublime Text. And then when VS Code, I looked for it , "Oh, that nice," , and I I used Sublime Tech for maybe another year. , 46:57 but every time I went back to try it, I realized , man, this is a much nicer experience. A lot of people who were coming to VS Code were not coming from 47:09 an IDE. they were coming from a text editor and and they didn't necessarily know about the IDE features and we kind of got pilledled into being that's 47:19 nice. Oh, it knows what my my methods are. It it knows about my codebase and that made a lot of the IDE people really mad because they've 47:29 had that for years. , but us text editor kids were , "Oh man, this is awesome." [laughter] 47:39 Look up method. Oh my gosh, this is cool. Imagine a world without VS Code because it really made editing such a great experience. much more lightweight than a Visual Studio VS Code every day. 47:50 Yeah. Oh, 100%. Visual Studio took forever to start to replace it with. It was gigabytes in size just to get it going. extensible really made it 48:00 why do I need every version of net installed from the beginning of time on my code interface I don't I don't think I need all that sorry Matias you're going to say 48:10 what's really ironic it just occurred to me they they talked much about editing code files and and the value you get from a good 48:21 editor and over the last 18 months arguably everyone's ditching it ditch has been ditching it because we no 48:32 longer do that , ? We just delegate it to AI agents. Instead, we're editing markdown documents. That's how we communicate back and forth. , 48:42 it's very historical what we're currently looking at in the f future generations of developers probably won't even appreciate this. No, 48:54 in the same way, ? That's what I was telling Mike the other day. I was saying VS Code has 49:04 always been one of my favorite tools to use. But I find the only reason I have it open is to just look at the diffs when AI makes the diffs and then 49:14 I'm , , this looks good. I'm going to commit it and move forward. The goal sounds a new product we need to make here. your AI and differ tool 49:24 all they do have that that's the VS code agents window that's exactly it I I can't get my head it I'm lost in that tool I it 49:35 but I'm lost in it I get really lost and I I it's a bit opinionated and the opinions that it's giving me is just I feel I'm I feel clumsy in that new agents window 49:48 I find myself continually going back to the regular VS Code experience because probably what I've been looking at for years. I do Cursor's application that they have. 49:58 All , you're touching on a new thing there. Cursor is making some waves for me, too. I it, too. And they start , you start with the agent application or whatever. It's their equivalent of the VS 50:08 Code agents app, ? where you have a prompt and you can start sessions and stuff, but then you can jump it into straight into the IDE, which is 50:20 a fork of VS Code . , . Shocker. [laughter] Yeah, it's one of those hundreds of thousands of branches that are pulling off of there. Yeah. , I think . Cursor is one. I 50:32 think anti-gravity, which is Google's zed is another one that has been rebuilt on Rust . That's one I'm [clears throat] actively testing . It's neat. 50:43 I wonder if they imagined the success that it would have when they started. I don't think anyone imagined this as success. It just starts to grow. 50:53 Yeah. And I think at some point you look back, you're , "Oh gosh, 5 years later, you're , wow, this is really successful." And you just take the next step. I don't know if you plan at day one to think how to make it such 51:04 a big success. I do think though the intention for this team to continue to listen to the community and build what the community wanted is the reason why 51:14 this is the tool that it is today. the listening, the feedback. I think that's to me if I look at the story that that is the essential thread in this entire story, which is listen to your 51:24 community, build what they want. And with AI and dark factories that we can build where we stand up applications and let people comment on 51:35 our repos issues and problems and our agents can fix these things. this to me I look at this this just throws fuel on the fire for any application you build moving forward 51:46 every app should be built with oh this is how you build apps point blank someone this is really good then we start to think about it what 51:56 would be really cool when they turned multi-wind that was also a big deal it took a long time and back I talked about big vs 52:06 code sorry big visual studio versus vs heard earlier. , originally being multi multi-wind application used to be the big advantage of traditional 52:19 Visual Studio over VS Code that is no longer the case and that really made a big difference which being able to fully leverage multi-creen setups 52:30 internal team without that I think may have been a very different reception to plus being fully crossplatform from from the 52:41 get-go, ? Big deal. Being very lightweight. and on Windows in particular, you can install and update without elevated 52:51 permissions. That's a big deal. Huge environments. Save us a lot of duplication because at the time you can even download the portable 53:01 version and just run it without anything anymore. that's it's yeah I've used that a number of times where I've been on lock down machines and I need to just get something to edit 53:11 download the portable open it up unzip it boom it work it just works we couldn't do there's that whole principle of letting the IDE call something external 53:23 a it doesn't fail and B the Java people can write in Java the JavaScript guys can write in JavaScript the Go can write in Go it allows us to do more with less 53:34 that's the big win of LSP. Claude provided native integration, 53:44 but somehow it's still a bit of a hidden feature. I would have expected a much bigger impact of that 53:54 in inside CLA. I'm not quite sure why it hasn't really been that interesting. really good tooling on Eclipse JDT. , can we take 54:06 some of that tooling and make that a language server? You could just add an LSP to a cloud development environment and that would give you something good 54:17 enough or even in some cases equal to one of the more established ideas. I think from that perspective, it opened 54:27 up a number of communities to VS Code. 54:40 Without VS Code, I think Go wouldn't be adopted this widely. The whole ecosystem was pretty chaotic. Just to be honest, as a language creator, you have to 54:51 really work closely with many different parties to ensure that every text editor and every eay has similar feature sets. if you think about the sheer scale of language 55:03 integrations that you have to build, the burden is growing over time. It's a lot of work, ? LSP was born to deal with that burden to be 55:14 honest. And surprisingly in such a short amount of time language maintainers really really liked it. They were able to provide the 55:24 best experience the official experience and was able to ship it across different editors and ease. At some point I think 75% of Go users were using VS Code. 55:37 it became a canonical experience. VS Code extension put everything together. , you just start there and then inherit all 55:47 that knowledge and the correct tooling and the conventions. That is true. , if you think about the old days, 2000s, 2010s, if you wanted to 55:59 establish a new programming language or language ecosystem, you would have had to ship a dedicated editor for it, which obviously is hugely expensive 56:11 and and and problematic in terms of the language protocol you find interesting in terms of adoption. Whereas nowadays, you language create an LSP for it and 56:24 then the whole world already has the editor to to working it. . Interesting. I didn't think of it that way. Success story. They're saying what is it? LSB. 56:35 Yeah. Server protocol. LSP. Got it. Libraries to make it easy. And then what happened is 56:45 the that is is the the the backend interface between the the editor bit in VS code and an 56:58 extension that understands a particular language. . Makes sense. all these things you hear it you're oh yeah that makes total sense. why wouldn't you do this? 57:08 At the time it was revolutionary. for the longest time the VS Code team was mostly a team in Zurich. We had Chris and a couple of engineers and a 57:18 supporting staff in Redmond but for the most part if you needed to get anything done on VS Code you had to be in that room in Zurich. And for a 57:28 long time I would ask Eric hey Eric is there someone we can hire after this team twice as much as you're doing. 57:39 talking about moving to Yeah, I don't know if I'm ready yet. And what I didn't know is he had this one person in mind and that person was Kai Metsel. 57:50 [music] 58:03 Good guy. He's got a dog. [laughter] suspicious. I was Aries intern. 58:13 that goes many years ago. Then we pretty much went this. we worked together for a while and we didn't work together for a while. Then we worked together. he decided to join Microsoft and then I had an 58:24 interview with Microsoft at the time, ? Because do I want to go with him? And my visa situation was then a little bit different and on. But the real killer at the time was that they offered 58:35 me a PM job. and because there was no engineering team here [music] it didn't work out and then I went into the startup world went to through an 58:45 accelerator all of these kinds of things that were super exciting not super successful but super exciting and then I started looking around and Eric and I 58:55 had never really lost contact at some point I I I told him saying oh I'm about to sign over there and I was no 59:06 No, no, wait, wait, wait, wait, wait. [music] You you can know it. Here's, you know, I I really want you on on the team and I'm close to to get this all done. And I was , oh, . , 59:18 and then I came to Redmond and talk with Shonku and on and that's how I then I came. Wow, 59:28 what a friendship that can sway that. That's interesting, ? Because direction there. What do you do when you have a team the Zurich team who knew each other already for for 59:39 time has built something went through a couple of pivots and you build a new team there are two things that you can do you think for 59:49 I'm an ideas guy and I thinking about ideas and new things and having stuff come together but I don't think I understand the gravity of the scale of things that these teams are 1:00:00 building I build stuff for thousands of users, tens of thousands of users if I'm if I'm lucky, ? These guys are building things for millions of users. I think about the 1:00:11 Excel team working on things in Excel and they they I don't know how many users are using Excel. A billion users a seventh of the world's population is using Excel or something 1:00:21 astronomically ridiculous monthly active users. it's in crazy the an insane amount of people. I can't even fathom I don't know what what's what is the user base of VS Code? 1:00:32 What do you think? H what percentage of the world's population uses VS Code? How high do you think that is? Is it a million users? Is it 100 million users? How many users? 1:00:43 I would say tens of millions. What was what was Excel? Microsoft Excel. Last time I heard it was 700 million, 1:00:54 but I had to that was years ago. I had to imagine Excel user base monthly active users is a billion is would be my guess. I don't know that could be that could be wrong but 1:01:04 that's just total guess. Do we think it's that that close? I don't know. I'd say it's 100 million. Excited because during my focus on data easy. Yeah, I think . 100 million 1:01:14 users on VS Code and I was using VS [laughter] that I already loved and use every day. Ask the Microsoft models too. I'd be curious the comparison the the my 1:01:25 models see if it gives you a different answer. Reasonable current estimate is 40 million worldwide 35 to 45 million active monthly 1:01:38 users monthly active users. Wow. For two weeks interview I got a job and they have been the team ever since. Totally natural. 1:01:49 [laughter] I'm good . This is This is giving very much 1:02:01 this is giving Silicon Valley level vibes to me with the TV show off of HBO. Oh no, 1:02:11 that sound is giving PTSD. Which one am I? [clears throat] 1:02:22 oh, I'm guessing the hat. That's the German translation. Of course, we were continually working listening to feedback. But we also saw and observed some users that could not 1:02:35 use VS Code. Data scientists in Python, they had a very beefy machine to do their models. And what they did, they had a separate machine for that. And in order to 1:02:46 develop on it, they would use an SSH connection. Here's your feature, Mathias. Y this is this is your feature. But they cannot use the rich experience of VS Code to develop on this BV 1:02:58 machine. That's even more relevant nowadays, ? Because when you run lots of agent sandboxes in a cloud, you want to be able to log into them at some point 1:03:08 if you want and you can develop from Windows on Linux. But you have the problem when you want to run your program for instance the tools that run 1:03:19 the thing they run on Linux but on the VS code side you have also Python but it's the wrong one or you don't even have it a third scenario is docker 1:03:30 became popular and docker is nice you have a container it's these animations are great you have all the love the animations they've done here developing and building you install in 1:03:40 the this container without having to pollute your machine. It would also be nice if you can develop in it. But again, if all the things is in in a docker container, 1:03:51 you cannot easily develop in it, ? Of course, you can use Vim, but you don't get the power from from VS Code. And the last scenario we saw is 1:04:02 enterprises Facebook, they give the developers, they don't want that the developers have the source code on their laptop. the code they work on they also give them development machines in the 1:04:14 cloud that they then connect to and work on. what is missing is this also code spaces to some degree some parts of VS code on the remote 1:04:24 that was released in VS code 135 files are just looked no all the remoting part sorry 1:04:34 as possible as easy as possible we are in 126. there we go. It's been around for a long time. . It's been there for a bit. We started and see what they're doing. 1:04:45 They had a 101 that allows them to use Atom in their remote setup. 1:04:55 New Clyde was a set of extensions that we installed on top of Atom. they were pretty big and and the way we branded New Clyde was that this is a set of extensions that provided an IDE 1:05:06 experience in Atom. Meta Facebook had always done remote development. What was interesting about Nuclide was we were able to go add 1:05:18 the IDE capabilities, autocomplete, debugging, source control, integration, all those sorts of things to make that work in our environment but remote first cuz everything was 1:05:28 being developed on a dev server. Then what happened I think in maybe it was early 2018 and Adam was still a popular editor but VS Code 1:05:38 really began to hockey stick and Adam flatlined. I think it maybe had around 2 million downloads or 2 million active users at any given point in time and I think VS Code at that 1:05:48 point was maybe around 5 million. If you go to newio came to us the team they had some new ideas. They wanted to do a big story of stuff in Rust and and they're 1:05:59 we're going to beat VS Code on performance in the Z editor these days. Hey, I called it earlier that's a lot of risk for us to take on. But I 1:06:11 would say the real breaking point which we had conjectured would happen is that Microsoft acquired GitHub. If you're not 1:06:21 familiar with this, you will be. It's GitHub. We were really trying to impress upon 1:06:32 them just how much we cared about remote development and the types of changes that were required to support it and how much we had thought about it because they already had this nice separation in 1:06:43 the architecture. They have a a UI process and then they have the extension host process. , they realized that , oh, these two things are we already have these as separate processes 1:06:53 why do they have to be on the same machine? I think we had convinced VS Code at least that hey how about you have this idea of a a virtual document your extension can 1:07:04 provide the functionality that when the user hits save instead of just writing to disk it calls this function from your extension. they still wanted to continue to collaborate with us and we certainly wanted to be able to 1:07:14 use what Microsoft was developing for the remoting protocol in internally. I never knew about side and the meta side together and we made an agreement 1:07:24 where Meta would get this source code and we would be all in on VS Code for remote development and blog post to publicly announce that at some point I think in 1:07:34 maybe it was 2019 I forget. I never heard about this one with Meta jumping in the development of this. I didn't know that either. With VS Code, they had this clear 1:07:45 architecture really a remote architecture. you can install the back end anywhere and the front end runs locally and then they communicate with each other and that is the key to 1:07:57 building a great user interface or user experience with remote development. Codespace is based 1:08:07 to spend configuring a new dev environment. Spin up an IDE of your choosing in the cloud. The VS Code team's original vision was to build a development. 1:08:17 I would say this is with code spaces with varying degrees of success. we've had some success with Codespaces, but it also has been a little bit of a headache too in some ways. 1:08:27 I think it's been we just don't use it enough. I think it could be more impactful potentially, ? Yeah, 1:08:38 because we just do a lot on our machines locally. We've done a little bit of pulling it into code spaces and and leverage them as a team. , everyone's working on the same dev box or dev boxes. 1:08:49 Yeah, I think it's because our team is small and it's easy enough for us to pull pull things down and work on our own machine. Yeah. , but if we were spinning up developers, 1:09:00 it would be I think we would do this more useful. Also, another advantage we've been getting in our side is we've been leaving Windows and we've been moving to Mac. 1:09:10 that's been another one that's been consistency to our development cycle is not doing it on Windows computers. I'm the last hold out on Windows. I'm trying to get off of it as soon as I 1:09:21 can. Use VS Code to develop anything from anywhere. that supported us releasing VS Code for the web or VS Code.dev and also GitHub code spaces since that also has a 1:09:31 component that could run in the browser. You didn't have to worry about installing anything and especially if you're working on a machine a Chromebook or a tablet or even looking at code on your phone. You don't have to 1:09:41 worry of is my machine compatible or it's not compatible and where do I go from there? I have this devcontainer.json file and this one file describes my entire dev environment. All I have to do is say 1:09:51 reopen in container and then instantly it's going to look at that file, pull everything down and I have a development environment that I'm used to. If you've ever started on a new project, 1:10:02 maybe you joined a new team, you're on project. Usually one of the first things you have to do is go research. , what dependencies are involved? What versions of languages or tool chains do I need? 1:10:12 you just ask claude. , you don't even need that's what the dev environment would do for you is just you have it set up automatically. anybody who starts just open up 1:10:23 the dev container and everything's installed for youing the dev container CLI specification felt a logical next step. And again, really helping with VS Code to develop anything from 1:10:33 anywhere, but also just helping users be productive with their same applications in any environment, even if that's beyond VS Code. With all our different remote experiences that we've had over 1:10:43 the past several years, we've been able to reach a variety of different kinds of developers or folks who are just learning about code or getting started with coding for the first time, even if they're not developers yet or maybe on a 1:10:53 different path data science or just a hobbyist. I think it's really cool too that we've been able to as we've been expanding VS Code with more functionality, reaching more platforms, all these things, also still 1:11:04 realize the VS Code team's original vision of bringing VS Code to the browser, having a code editor in the browser, seeing how our original architecture decisions supported that all along. 1:11:15 This has been really fun. I'm I'm enjoying this thoroughly. I do have some meetings I've got to get to. Matias, I think you also have to go somewhere as . what do you guys say? maybe another five or six minutes of 1:11:25 this and then we'll maybe call it quits and cut it for the day. Sure. I I would vote for jumping forward a little bit because obviously they talk about AI and and co-piloted 1:11:37 would be a shame to miss that. Yeah, let's see if we can not do that. Let's see if I can get the minimize screen here. which section are we talking about there? Which area? there is 113 the AI shift and then 1:11:49 115 GitHub copilot. I guess if you jump to 113. See if I can get there. Let's see if I can get to 113. 1:11:59 Yeah, that that should be it. . To merge a pull request. [music] It could fail due to accessibility requirements that are not being met. And then our developers use [music] test 1:12:09 plan items and screen readers to test the features that we've built. The iteration after those features have been introduced. It brings me. She's talking accessibility AI 1:12:20 coming after this one. . , the the shortcut got a little bit ahead of where the section kicks over to. Oh, here we go. That should be AI . 1:12:34 Interesting. I think it's three things that that have helped it become big. First, it's a really good experience. as an 1:12:44 engineer who uses this day-to-day you know this is the prime tool that you use as an engineer and the experience that VS code offers is just really good they just got a lot of things the second I think is exactly this open 1:12:55 ecosystem LSP is good at creating support for a lot of languages that a team even as resourceful and as 1:13:05 staffed as the VS code team would never be able to support and the third I think is the access that that VS code conferred it was not behind a payw You didn't need an MSDN subscription. 1:13:15 This is the trick here. Same thing with PowerBI. Honestly, join the fact that you could get it for free and download it. Open source and contribute. The development happens in the open. You can see where things are going. 1:13:27 The extension ecosystem that that they created, , allowed everyone to become a part of this of this journey and it wasn't locked down. , I think it's those three things. The experience 1:13:37 is really good. the ecosystem that they created with standards, with LSP, with def container. And the third is the degree of access that they confer to everyone by making it free. Not just as 1:13:48 in free beer, but also as in free thought. Free beer. Is this where we get to AI? 1:14:00 Yeah, there we go. there we go. There it is. The ship, we're there . I can't remember a time in my career where the pace of change 1:14:10 has been fast. There's a lot of AI news, but often there are meaningful nuggets in there of , oh, hey, that's that's a crazy new idea or 1:14:20 that's a crazy improvement that we have to rethink how we're doing things. The idea of having a one-year road map in this time is very difficult. you can have themes that you're shooting 1:14:31 for, but you can't you just don't know where we're going to be six months from . there was a time before and and and after AI or the emergence of AI after we had tripped 10, 1:14:42 ? We had this it sounds a corporate soundbite customer obsession, but but that's really the thing, ? We we sit on GitHub, we get the issues [music] in, we 1:14:53 look at Twitter, ? and really see pretty much what people are saying [music] and then in next stand up it was oh what can we do about this but then what was that 20 1:15:05 22 co-pilot completions came I think it marked transition for us from a mature market understanding what 1:15:16 people want and need to they don't really know that's a good point. We're we're we're stepping into things that people don't 1:15:27 understand what they need yet. Yeah, very fair. We have to tell users what they want. how do you want to use AI in your coding experience? 1:15:38 we have to build this formulate what it looks . I founded the copilot project while I was working at GitHub. I asked Nat for an introduction to the founders of 1:15:48 OpenAI and very kindly. This was early 2020. They gave us access to what would later become GPT3. H 1:16:00 I remember we we were pretty excited when we first got access and we had a video call where a bunch of us were writing prompts and trying to get answers from them all. We laughed a lot 1:16:11 because it spit out a lot of nonsense. It was clear, [laughter] however, that were the beginnings of code generation capabilities. And , in order to do a proper test, I coded up 50 interview 1:16:24 questions that I used to ask while I was a professor at the University of Oxford, got all of them wrong. All of them. But, if you gave the model a thousand 1:16:35 attempts, eventually it would get it . And in order to make the next step, we created a harness that you 1:16:45 could point at a GitHub repo and it would find functions that have high test coverage and then we blank out the body 1:16:55 of such a function, ask the model to fill in the code itself and then rerun the tests to see whether it got the answer . 1:17:05 And that really surprised me. it got it more than a third of the time. , let's let's race together and 1:17:18 assess whether we can build a a product based on this. GitHub co-pilot went GA within a year. wow June 21 and then GA June 22. It was 1:17:31 almost half a year before when the model gets it wrong for the penalty for that is very low as a user it doesn't bother you when the model 1:17:42 makes a suggestion that's not quite you just keep typing and I have to admit in most annoyed by all these 1:17:54 code [laughter] I didn't really take them seriously normally got in my way yeah it it was not until quite a few years after that when you saw 1:18:05 there's real value here and it it it's really able to infer your 1:18:15 goals and and aims developer the ideal state for you you 1:18:26 know is the the flow state or whatever I don't know if You've seen that movie The Social Network where this guy's fun. I've met him in person. Justin Timberlake's , "Don't bother him. He's in the flow state." . 1:18:37 when you get there though, you don't want to be interrupted because you're holding all of these abstract concepts in your head at the same time. You've built up your own context and you're working from that context. And 1:18:48 guess who else has built up that same context? The AI. And it has this ability to enter the flow state with you. And again, until you experience that, it is really hard to describe. And 1:18:59 I think that's when I realized, oh wow, this is this is way different than anything we've ever seen before. You can think about it as a slider of autonomy for AI that we've all been 1:19:10 working through as an industry is where does this go, ? if if you walk the autonomy thing all the way out, then you get to these proclamations that AI is going to be writing all code 1:19:20 and there will be no more developers, ? that's the full autonomous conclusion. if you go that far. I don't go that far, but there is autonomy that we've been walking out with AI that starts with ask and then 1:19:31 when you move to edits, , we release edits and edits provides more autonomy for the AI. instead of just suggesting code to you, it can write the code for you in your files. 1:19:42 And if you keep going, , if you keep sliding, then you playing and an agent mode, the thing [laughter] really has, , I'm just wondering given that we're not going to be able to get a human being, 1:19:53 ? Maybe maybe we need to move this to another episode because arguably this is the most 1:20:03 interesting thing from an agentic point of view. maybe we do a deep dive on all those final chapters where they talk about GitHub copilot AI show. 1:20:13 I love this and and what else VS codes doing around AI. and we do a dedicated episode on it. 1:20:23 next week. I I love that idea and we bring Ryan along too and just give our take on this with AI. This is a great point to pause it. I'll pause here. 1:20:33 We'll come back over here to our main window. awesome really great documentary. Thought it was very fun. This is very enjoyable. I'm really enjoying and also I would watch this 1:20:43 myself. I think this is much more fun watching it with my three my my favorite friends who write code and do AI things with me. I absolutely love engaging on this topic with you and and doing 1:20:54 this with you as . really cool great documentary. You if you want to go get it I will make sure I copy the link here. You can go watch it . It's still finishing up on GitHub if you want to go check it out 1:21:05 there. It comment is in the comments here. It's also in the video description down below if you want to go check out the video for yourself. , hope you found our Mystery Science Theater 3000 1:21:15 commentary alongside this somewhat additional entertaining to you as . And , , and and hopefully you found that as fun for you as you 1:21:27 listen to us yammer about our memories of working with code. I think one Yeah. one takeaway mo maybe for for me certainly I no 1:21:38 longer just see VS Code as a as a massive repository and as a piece of software that I love and use all the time. This documentary shows it's about people 1:21:50 and teams behind it and many coincidences and relationships, ? and someone saying yes to someone else at the time, ? And I think 1:22:03 it's that's probably a really good reminder as we're trying to delegate more and more stuff to these agents 1:22:13 whatever they are. at the end of the day, successful projects come out of human ideas, relationships, and 1:22:26 plans and and making it happen. cool. Why don't we why don't we leave it on that? That's a great ending. And then 1:22:36 and then next week, promise to everyone, we're going to do a deep dive into AI specifically as far as code's concerned. I love it. That sounds a That 1:22:46 sounds a fair win to me. , thank you all much. We appreciate you listening to this really long episode of Agentic Thinking. It's been an hour and a half almost. I hope you enjoyed this. Thank you much for watching. We'll 1:22:56 see you next time on another Agentic Thinking. Bye everyone. [music]