as a hardcore GNU/linux user, but not windows hater, I have to say that this talk is a great resource to show win users an easy way to embark on the power of GNU/Linux. WSL is a great way to get a Linux Environment without setting up a dual boot and messing with partition tables. Thanks for sharing!
As someone who just started using wsl recently, this video blew my mind. I didn't realize you could do so much with wsl. Particularly the explorer trick. Amazing talk!
This is the best talk about modern development I've seen in decades concerning Windows. I'm back to Win from Ubuntu as my primary OS after 12 years. Infeasible a few years back but I'm happy! It's always a pleasure to hear an OG get into the "why" things are that way simply and it makes sense. That context is important. It's not magic. Gives the broad overview of how things fit that is usually missing from the "How to build X with X" crowd that just glosses over the reason things work. The TCPView and Terminal stuff is wonderful. Thanks so much!
TTYs use CR+LF too behind scenes (and emulation does that too); in fact, real TTYs often require extra time to reposition the head in addition to the sequence (often handled by sending NULs); this is one of the reasons that prompted Multics to have a streamlined I/O translation framework (idea inherited by Unix, called "line discipline"), which also made adding extra features easy; using just LF represents a saving of 2.5%-3% depending on the nature of the file (based on modern UNIX code and documentation files), and storage was extremely expensive back then, plus these were research products (innovation + little baggage). LF was chosen over CR because in practice CR was also used to fake a boldface in real TTYs (also works in matrix printers). Windows inherited CR+LF usage from DEC, indirectly, through DOS, for compatibility with CP/M. DEC systems were dumb, and CP/M was heavily influenced by DEC's TOPS-10 in all aspects because Gary Kildall used it for development and thus wanted compatibility.
@@OlivierDALET I can only guess they didn't take into account other uses of CR and they didn't have TTYs, the TRS-80 also used CR. Interestingly LF was standardized long before these microcomputers: in 1963, ISO drafts of the 646 standard already included the use of either CR+LF or LF; pre-dating Multics by about a year. ASCII was ammended in 1968 to the same effect.
Love the work that has gone behind WSL. But I just hate that I have to use a mouse every now and then on a windows machine. TIL every windows process has an interactive window attached
I started using WSL just a few months ago, and installed Windows Terminal just recently. Yep, absolutely great stuff, both are amazing. If I had only seen this talk before, it would have saved me a lot of trouble I learned the hard way... And now I see the background behind that old CMD program, that I have been hating with a passion, since I usually work on Linux command line terminals (real and git-bash-mingw ones), that have always been much much better.
This is pretty good. I tried WSL some time ago (1 or 2 years) and it was using lots of ram. Maybe it's because I tried to go full Hyper-V? From the video, user experience seems pretty good now
For anyone reading this comment, I found out in the mean time that you can set a memory limit for WSL. Search for the .wslconfig and wsl.conf files. Memory used by WSL is shown in the task manager under the Vmmem process.
@@DF-ss5ep when i used it 2 years ago, it still consume memory even though i'm not run anything on WSL. And by default it will consume a half of your memory. Is that still a thing now ?
@@fajara.r1379 I haven't tested this, but I saw someone's blog claiming to have it running with a 3GB limit - you set this in the ~/.wslconfig file (in windows) with memory=3GB. Should be enough to run at least some simple apps in docker. I have it running at the moment, with docker and a ubuntu distro and it's using 1.5GB.
very interesting presentation! In the last few years I used to work with linux only for web development. Now I started to use wsl2. It was terrible in the beginning (few years ago) but now I gave it another try and it seems to be a nice experience. One thing is that I needed to deactivate the wslg (which is used for graphical stuff in wsl). My problem was that if I pressed printscreen key, everything started to flicker every second. if I pressed printscreen multiple of times, everything flickered even more. After hours of debugging everything, I found the culprit. wslg. Don't know if thats a wsl2 bug or a problem with my graphic card drivers. And wslg was also starting strange remote desktop processes. The first time I saw multiple remote desktop processes, I quickly disconnected my internet... I thought I was being hacked and someone was watching my screen xD
AFAIK the reason is that git uses lots of tiny files, which is fast on Linux, but for various reasons slow on Windows. (Some of the reasons: virus scanners or any kind of file system hooks; and the way Windows file systems are implemented there is no general OS level file lookup cache but one in each file system and stuff like that wich makes it all more complicated than on Linux. Somewhere there was a talk about these issues and how Microsoft is working on fixing them, can't remember the name of the talk or anything.)
Many years ago this experience was unthinkable, ask Steve Ballmer and his "Cancer view from Linux". It was resistance to change and fear to the opposite way to do things in Microsoft. I love linux and I'm very happy with this effort from Microsoft. A good example that fear to opposite ideas or antagonistic situations is not well funded and maybe it is better to ask ourselves what if... Linux and Windows work together! Still, work to be done but this is a good signal. Talk was asome!
Fantastic talk. And impressive work from MS. As a Mac user I'm jealous. Although it feels like Windows will switch to Linux as the default OS. As soon as it's not unprofitable enough.
I'm about half way through; enjoying the talk. But really really wishing he'd picked a better mirror for cygwin because chances are good it would have installed quite a lot more quickly with a better site selection... Oh well.
it has significant ram overhead for some reason, but it's surprisingly robust running gui apps out of it with the hacky x server in windows 10 is actually viable granted most of my exploration into wsl was due to being limited to a windows system at work (once they let me pick what I wanted - went back to comfort of arch, I need that kde and btrfs) of course it has overhead, significant performance issues when you run a 20 docker container emulating a kubernetes deployment - 16GB laptop simply went unresponsive after it went into swap (pretty much the cause of why they let me pick my choice) - linux on the same machine works with 6 GBs of ram to spare (I keep my swappiness low)
50:28 No, not surprising. People were calling .NET exes "natively" for almost two decades. You only need a binfmt kernel module which detects the filetype and handles this with some interpreter. Adding a bridge through this technique suggests itself.
weasel is much easier to understand int 21h calls were called system calls, but granted some people referred to them as doing soft interrupts with steamos being what it is: the moment you realize that you are still running windows for no other reason then pure force of habbit hmm ... the linux kernel can run anything ... as long as there is an interpreter for it
Windows has pinned apps, a start menu and pinned apps in the start menu, but people keep using shortcut on desktop, just like windows 3.11 taught them to.
I abandoned windows 1.5 years ago and I cannot overstate how much happier I have been since. Native linux runs circles around Windows and it isn't spying on me
WSM (Windows Subsystem for Mac) would be great! I'm having to buy a new "devbox" MacMini for no reason other than that Apple ain't maintaining it anymore... Microsoft has its flaws but at least my VB6 games from middle school still runs
18:00 ehm, what? Where have I heard that? 🤔 Ah, yes: "Surprise!!! Your perfectly fine laptop is not going to the next version of Windows because it doesn't contain a TPM. And neither will your Windows VM, *although it doesn't even run directly on hardware*, unless you do the magical simulate-the-TPM voodoo dance."
Why would anyone in his sane mind develop for Linux on Windows? The only reason to keep Windows on a PC is games. BTW I did not watch it, maybe there is a proof in a video.
Funny video :), just install a double boot. Keep windows for gaming and video. Use Linux for development ! That it. Sooner or later windows will do the same as MacOs, using a linux core.
@@wolvAUS People continuously fail to understand that a blade, knife and axe has different uses altogether, inspite of the fact that all of them cut things.
because people love Windows; it has all the cross-platform dev tools and you actually use it to develop software conveniently for dozens of platforms, one of which is Linux; also because "year of linux as desktop" will never come and all those f*kheads like Stalman are just eating off your ignorance
as a hardcore GNU/linux user, but not windows hater, I have to say that this talk is a great resource to show win users an easy way to embark on the power of GNU/Linux. WSL is a great way to get a Linux Environment without setting up a dual boot and messing with partition tables. Thanks for sharing!
This talk a a bit all over the place and I love it
As someone who just started using wsl recently, this video blew my mind. I didn't realize you could do so much with wsl. Particularly the explorer trick. Amazing talk!
this has nothing to do with my daily life, I thoroughly enjoyed this hour
This what happens when a genius gives a presentation, I respect Scott a lot and he's one of my inspirations in tech.
Scott Hanselman is a global treasure. The amount I've learnt hearing him speak is priceless!
Amazing talk. I had no idea WSL had advanced that far. And just for fun, I installed gimp and ran it from ubuntu on WSL, and it just worked. Wow.
One of his best sessions. The nostalgia that popped up was cool.
This is the best talk about modern development I've seen in decades concerning Windows. I'm back to Win from Ubuntu as my primary OS after 12 years. Infeasible a few years back but I'm happy! It's always a pleasure to hear an OG get into the "why" things are that way simply and it makes sense. That context is important. It's not magic. Gives the broad overview of how things fit that is usually missing from the "How to build X with X" crowd that just glosses over the reason things work. The TCPView and Terminal stuff is wonderful. Thanks so much!
Sooooo informative session. As always Scott's talks are amazing.
the best part is actually the dev container for vs code, that solves an issue I always had (too many extensions for different projects)
Great presentation. Very informative. Brought back a lot of good nostalgia as well. :) Well done, Microsoft, on WSL.
@56:23 "Googling with Bing" is the best quote!
TTYs use CR+LF too behind scenes (and emulation does that too); in fact, real TTYs often require extra time to reposition the head in addition to the sequence (often handled by sending NULs); this is one of the reasons that prompted Multics to have a streamlined I/O translation framework (idea inherited by Unix, called "line discipline"), which also made adding extra features easy; using just LF represents a saving of 2.5%-3% depending on the nature of the file (based on modern UNIX code and documentation files), and storage was extremely expensive back then, plus these were research products (innovation + little baggage). LF was chosen over CR because in practice CR was also used to fake a boldface in real TTYs (also works in matrix printers). Windows inherited CR+LF usage from DEC, indirectly, through DOS, for compatibility with CP/M. DEC systems were dumb, and CP/M was heavily influenced by DEC's TOPS-10 in all aspects because Gary Kildall used it for development and thus wanted compatibility.
Do you have an explanation why macs pre-osx used cr alone?
@@OlivierDALET I can only guess they didn't take into account other uses of CR and they didn't have TTYs, the TRS-80 also used CR. Interestingly LF was standardized long before these microcomputers: in 1963, ISO drafts of the 646 standard already included the use of either CR+LF or LF; pre-dating Multics by about a year. ASCII was ammended in 1968 to the same effect.
@@IsmaelLuceno That's some precise knowledge!
Love the work that has gone behind WSL. But I just hate that I have to use a mouse every now and then on a windows machine. TIL every windows process has an interactive window attached
I started using WSL just a few months ago, and installed Windows Terminal just recently. Yep, absolutely great stuff, both are amazing. If I had only seen this talk before, it would have saved me a lot of trouble I learned the hard way... And now I see the background behind that old CMD program, that I have been hating with a passion, since I usually work on Linux command line terminals (real and git-bash-mingw ones), that have always been much much better.
Fantastic talk, Scott - really enjoyed hearing more about WSL (or should that be LSW 😂), also great hearing the history of consoles 👌🤓
correction. Gimp is Photoshop for everyone not just for linux
Thanks Scott, I enjoyed it; very. 😍
It was XTree for me and I am still using Win32 ZTree to this day! For tagging and searching source code files nothing beats it!
Praise the cameraman. Dude was working overtime to keep Scott in frame the whole time lol.
This is pretty good. I tried WSL some time ago (1 or 2 years) and it was using lots of ram. Maybe it's because I tried to go full Hyper-V? From the video, user experience seems pretty good now
For anyone reading this comment, I found out in the mean time that you can set a memory limit for WSL. Search for the .wslconfig and wsl.conf files. Memory used by WSL is shown in the task manager under the Vmmem process.
@@DF-ss5ep when i used it 2 years ago, it still consume memory even though i'm not run anything on WSL. And by default it will consume a half of your memory. Is that still a thing now ?
@@fajara.r1379 I haven't tested this, but I saw someone's blog claiming to have it running with a 3GB limit - you set this in the ~/.wslconfig file (in windows) with memory=3GB. Should be enough to run at least some simple apps in docker.
I have it running at the moment, with docker and a ubuntu distro and it's using 1.5GB.
I’ve been using Wsl2 for a couple months, Microsoft did a fantastic job, switched from jetbrains ides to vscode
Now there is audio!
Seeing that will can be updated out of band with respect to windows update, can I hope to see wslg on win10?
very interesting presentation!
In the last few years I used to work with linux only for web development. Now I started to use wsl2. It was terrible in the beginning (few years ago) but now I gave it another try and it seems to be a nice experience.
One thing is that I needed to deactivate the wslg (which is used for graphical stuff in wsl). My problem was that if I pressed printscreen key, everything started to flicker every second. if I pressed printscreen multiple of times, everything flickered even more. After hours of debugging everything, I found the culprit. wslg. Don't know if thats a wsl2 bug or a problem with my graphic card drivers.
And wslg was also starting strange remote desktop processes. The first time I saw multiple remote desktop processes, I quickly disconnected my internet... I thought I was being hacked and someone was watching my screen xD
I use WSL at work every day because for some reason git is really really slow on Windows. It's absolutely fantastic.
AFAIK the reason is that git uses lots of tiny files, which is fast on Linux, but for various reasons slow on Windows. (Some of the reasons: virus scanners or any kind of file system hooks; and the way Windows file systems are implemented there is no general OS level file lookup cache but one in each file system and stuff like that wich makes it all more complicated than on Linux. Somewhere there was a talk about these issues and how Microsoft is working on fixing them, can't remember the name of the talk or anything.)
Many years ago this experience was unthinkable, ask Steve Ballmer and his "Cancer view from Linux". It was resistance to change and fear to the opposite way to do things in Microsoft. I love linux and I'm very happy with this effort from Microsoft. A good example that fear to opposite ideas or antagonistic situations is not well funded and maybe it is better to ask ourselves what if... Linux and Windows work together! Still, work to be done but this is a good signal. Talk was asome!
I code on Mint and run on Windows and Mac. Rider is great.
We want native USB :)
I do all my work on wsl and it's freakin awesome
Amazing talk
The biggest benefit of wsl is it just works out of the box. It does exactly what you expect.
1:14 "Where the Sound Card works!" HAHA LOVE THIS! SO APT AND STILL FUNNY. 👍👍💛💛🤣🤣
Excellent talk. Took me down the memory lane. Microsoft is doing wonderful things.
Finally the year of the Linux Desktop... and it's on Windows
Total Commander for the win!
What's up with cameraman?
At work we're stuck on WSL1 because WSL2 bypasses the windows firewall. Is there any effort to fix this issue?
53:57 when the customer falls, they fall into the pit of success.
Audio is fine. Great talk!
There is audio
Bah, I was hoping this was for developing Windows software on Linux.
I'm not sure how your reached that conclusion from the title "Developing for Linux on Windows"
Damn I love programming I love hardcore nerd vids like this
Good explains
Fantastic talk. And impressive work from MS. As a Mac user I'm jealous.
Although it feels like Windows will switch to Linux as the default OS. As soon as it's not unprofitable enough.
That'd be great!
Microsoft only needed 22-ish years to join the 21 century. And they are still not there...
That a side, Amazing talk! :)
I'm about half way through; enjoying the talk. But really really wishing he'd picked a better mirror for cygwin because chances are good it would have installed quite a lot more quickly with a better site selection... Oh well.
I think it may have just been the really crappy WiFi in the conference centre!
Amazing how it just works for him, I've tried different distributions and none of them was able to run apt properly…
It just works for millions of folks. If you can explain what went wrong for you we can try to debug it?
it has significant ram overhead for some reason, but it's surprisingly robust
running gui apps out of it with the hacky x server in windows 10 is actually viable
granted most of my exploration into wsl was due to being limited to a windows system at work (once they let me pick what I wanted - went back to comfort of arch, I need that kde and btrfs)
of course it has overhead, significant performance issues when you run a 20 docker container emulating a kubernetes deployment - 16GB laptop simply went unresponsive after it went into swap (pretty much the cause of why they let me pick my choice) - linux on the same machine works with 6 GBs of ram to spare (I keep my swappiness low)
Using WSL2; Great Job, guys!
Impressive, nice presentation.
Great talk Scott!
Impressive efforts. One thing I could not know where is the shared folder?
See 52:00 👍
@@alanjrobertson Many thanks Allen!
AMAZING talk! My kids were yelling and I just couldn't stop listening! Haha!
did any one get the "ghostbusters" reference in there? "cat'S and dogs live together.... mass histeria" :D nice touch!
50:28 No, not surprising. People were calling .NET exes "natively" for almost two decades. You only need a binfmt kernel module which detects the filetype and handles this with some interpreter. Adding a bridge through this technique suggests itself.
weasel is much easier to understand
int 21h calls were called system calls, but granted some people referred to them as doing soft interrupts
with steamos being what it is:
the moment you realize that you are still running windows for no other reason then pure force of habbit
hmm ... the linux kernel can run anything ... as long as there is an interpreter for it
Windows has pinned apps, a start menu and pinned apps in the start menu, but people keep using shortcut on desktop, just like windows 3.11 taught them to.
I abandoned windows 1.5 years ago and I cannot overstate how much happier I have been since. Native linux runs circles around Windows and it isn't spying on me
WSM (Windows Subsystem for Mac) would be great! I'm having to buy a new "devbox" MacMini for no reason other than that Apple ain't maintaining it anymore... Microsoft has its flaws but at least my VB6 games from middle school still runs
Linux is IN Windows
18:00 ehm, what? Where have I heard that? 🤔
Ah, yes: "Surprise!!! Your perfectly fine laptop is not going to the next version of Windows because it doesn't contain a TPM.
And neither will your Windows VM, *although it doesn't even run directly on hardware*, unless you do the magical simulate-the-TPM voodoo dance."
17:47 "Microsoft does not get credit for backward compatibility". Wish Microsoft allowed my i7-6700K to run Windows 11.
Audio ?
good job on using bing lol
Yeah. No audio. :(
Why would anyone in his sane mind develop for Linux on Windows? The only reason to keep Windows on a PC is games. BTW I did not watch it, maybe there is a proof in a video.
A microsoft audience doesn't even know what GNU stands for. Wow.
WSL is awful on Windows, your files are created with execute permissions by default, ssh
Funny video :), just install a double boot. Keep windows for gaming and video. Use Linux for development ! That it. Sooner or later windows will do the same as MacOs, using a linux core.
Microsoft forked Linux kernel… if it will go MS way you will get candy crush saga directly through kernel…
Embrace extend extinguish. Microsoft is so 1990's
How exactly do you extinguish Linux? Microsoft is also a contributor to the Linux kernel.
@@wolvAUS in 3 easy steps. you first embrace, then you extend, and finally you extinguish.
@@user-zq8bt6hv9k you can't extinguish linux even if you tried.
Also Microsoft is invested heavily in Linux. Pretty sure Azure runs on it.
@@wolvAUS People continuously fail to understand that a blade, knife and axe has different uses altogether, inspite of the fact that all of them cut things.
@@iamsantanubanerjee aight.
What on earth for? We should be moving away from Windows not continuing to support this bloated spyware OS.
because people love Windows; it has all the cross-platform dev tools and you actually use it to develop software conveniently for dozens of platforms, one of which is Linux; also because "year of linux as desktop" will never come and all those f*kheads like Stalman are just eating off your ignorance
Fantastic talk Scott!