@@rand0mtv660 Well the comeback could be that some didnt learn their lessons. So keep on being skeptical to ensure that they actually will keep up their "good" ways. I think MS at least deserves to be viewed with a skeptical and wary mind even if they seemed to have turned a corner somewhat somewhere.
@@Fireship thanks man. Really hoping to see it. Always wanted to use Docker for development, testing, production. But couldn't get started. Looking forward to your awesome video.
@@nishatsayyed8326 docker documentation is messy and probably the worst I have seen on any project ever. But in order to use it to its 90% potential, you literally need just 4-5 commands: docker images (displays all docker images with container id and image name) docker commit [CONTAINER_ID] [IMAGE_NAME] (use this in a separate terminal window, not the one you are using for docker images and use it when you are running the current docker container you want to save to an image (docker container is an instance of an image)) docker rm -f image [IMAGE_NAME] (to remove a previously committed image that you don't want anymore) and finally docker run -it -v [VOLUME_DIRECTORY] -p [PORTA:PORTB] [IMAGE_NAME] (this command is used to run a docker container with the specified image name. -v is for mounting a local volume to docker container and -p is for mapping port if you want to use that port outside docker container) Hope it is straightforward enough for you
@@SahilP2648 thanks mate. Much better and very clear than the docker documentation. Never had a very serious need for Docker but it looks very elegant so I will try. Thanks again for awesome clarification.
Correction at 6:36: Adding nvm to in .zshrc plugins will not install nvm on your system. You still must install nvm through curl or some other way. The OMZ plugin only adds zsh command completion and other niceties. It can be inferred from this that oh-my-zsh is a package manager like apt-get, which it is not.
Really annoying that he didn't fix this mistake in the video. Also had to go through some repos and readme's on GitHub for solid 30 minutes to figure this out. I was about to comment this myself.
This is a time I wish RUclips had a 'love' button... for work, I'm stuck in a company-issued Windows 10 laptop, and had to run a VM with Ubuntu 19.10, which was kind of okay but still just felt 'wrong'. Having just gotten the Windows 10 - 1909 update pushed to my laptop last week, I can finally install WSL! Very timely video release! Thank you!
Minor correction: WSL2 is faster in most ways over WSL1 except for the mounting of shared file systems (a common bottleneck in I/O heavy situation). The fix for that is to just store the files primarily in the Linux VM, but that’s also not always desirable, since you’ll need to use UNC style network paths (fretwork file shares) to directly access the files. Also, I prefer to store files directly on the host machine (not the VM, which I consider to be ephemeral and disposable).
I dont know why sometimes youtube recommendation sometimes works so bad, I've been trying for days to find a way to have linux on my windows machine and tried a hell lot of things like vm and dual boot when it is already there. Thanks man this is like a piece of cake as compared to vms and dual boot.
I am tired of tech videos with long intro! Finally video that is informative from the 1st sec. You speak fast and informative which is amazing in compare to other long tutorials with long introduction. This is the first time in my life when I slowed down speed to 0.75 in tutorial for few mins to be able not just listen but understand and remember. Brilliant!
It would be as it’s not native Linux but wsl2 has a full Linux Kernal but I’ve never tested it myself but it’s good so windows users can take advantage of Linux tools
I've been using wsl since early 2017, a guide like this would be really useful for me 3 years ago, great job, btw I switch to vs code because of your videos, still getting used to the keybindings, but it's been almost seamless thanks to the sublime extensions. thanks for the videos, I've been learning a lot of useful things here.
That integration of VS Code via the Remote extensions is all kinds of epic. Thanks for this video. It made setting up a WSL dev environment friction free for this web dev newcomer.
For those of us that can't "Just use linux" because of other work requirements, WSL looks awesome. It might be time to see if WSL2 can replace my Docker workflows. Thanks for the video Jeff.
This is my setup at work, a large company with super locked down Windows environments. It works well because I at least have root on the Linux side. Windows makes a decent desktop environment.
For anyone as noob as I am: Node will probably not work at at 6:03 in your zsh terminal. Remove any existing node/npm installation and install nvm which will keep your versions uptodate. For details check : docs.microsoft.com/en-us/windows/nodejs/setup-on-wsl2 Your videos are a fusion of art / comedy / code. Thanks for being here.
@@ml_serenity For everything. If you're doing backend dev, chances are you're deploying on Linux. So, coding in windows traditionally required running a Linux VM and some tool like vagrant to push your code to be run in the VM every time you save your file on windows. WSL just makes things much faster.
@@ml_serenity Because the environment is vastly different. Having something working on windows does not guarantee that it'll work on Linux. And bugs in stuff like this can be very hard to trace and fix. Ideally you'd work under the exact same distro as your server, with the exact same packages installed and configured in the exact same way (a clone of your server). After the introduction of Linux containers this became quite trivial to do, and today running code in a clone of your server is very common and saves a lot of headaches.
@@simioni Well, obviously you have to have some kind of staging pre-production environment that is very close to production to verify that everything is working correctly, but I don't really see why you would want to keep deploying to production-like environment in your dev after every single build... I can understand when someone is using windows-specific production environment and some legacy technologies such as ASP.NET, or ActiveX, MSMQ, domains, etc... but Linux server side tools are usually all available natively in Windows...
By that logic macos is the best os for development, it's a unix like os like Linux and you can install many popular applications not available on Linux like Photoshop
This is still a pretty relevant, and useful today, I mean the packages, and versions are outdated but the method is perfectly viable. Would be nice to see an up to date version of this. Keep creating content man! You are godsent :)
It was only a matter of time before the Linux supremacists started swarming. As was mentioned in the video, there are some things you can do on Windows which you just can't do on Linux. This is clearly the best of both worlds, combining Linux's excellent command line and Windows's wealth of mainstream applications and ease of use.
@@theclockworkcadaver7025 Yes you are right. My comments was written for amusement and is not 100% correct. I know many people rely on windows-only tools anyway which makes it impossible to use linux. Then it might also make sense to use WSL (or use other tooling). For most cases I think the best approach is to use us a virtual machine for either linux or windows, depending on which you use more. And if you check how WSL is implemented, it is likely also just a linux VM which is deeply mounted to your file system.
I used to leverage NVM for my node version management needs but since switching to the PNPM package manager, I now use its built-in node version management features. If you use PNPM but haven't discovered its node versioning ability yet, run pnpm env -help.
Great video and tutorial. I still keep W8.1 in dual-boot for my son to play Minecraft, but I'm doing webdev and backend dev (C#) fully on Linux mint for years. I have the same setup on Linux as shown in the video. Kudos for showing node installation via nvm it's much safer and convenient.
??? I know this is a year old comment, but Minecraft does and has run natively in Linux since pretty much the beginning? Free that poor HD of its windows shackles.
WSL in my opinion is the best thing microsoft has done in their history. I have a mid range laptop, i hate dual booting and I can't do something like running KVM with windows on linux because of my specs. Now windows gives me the option to setup a linux development environment without a big hassle, it feels surreal. Thanks a lot for this video it definitely helped me setting everything up for the first time.
9:41 Firefox can also block trackers, just like brave. The only difference I know is, that brave has an adblocker enabled by default. Overall Firefox is (at least for me) way more useful than any chromium based browser, since it just has more features! Not only for css, but it also displays json in a really useful way, unlike chromium, which just uses plain text.
Mainly using FF myself and the dev tools is one big reason to keep me around. Design-wise and ergonomics-wise, I like it better than the Chrome dev tool. Layout aside, the color scheme of Chrome Dev Tool is a big meh for me... I tried a bunch of JSON-related extensions on Chrome and they are lacking in either aesthetics or functionality (no collapse all? seriously?).
you really make my day easier. instead of switching back to back from windows to ubuntu, i can just go to windows terminal and then boom... it does all what i need from ubuntu. tysm :)
I installed wsl back in 2017 when it came out. It was so cool. At the time i used it for accessing servers ive been managing (still using ti for that). Having the alias command for bashrc in windows 10 was so darn good. I dont remember when but as soon as beta of windows terminal came out ive used that. Very nice tools. Best of both worlds. Stable programs on windows + bash terminal
Yeah it's amazing, I use my PC for work, coding, video editing and games, and Windows+WSL is the most seamless way to do that. The only thing that's really cumbersome is using a GPU in WSL.
I'm a programming rookie, but the more i think about it the more i think you don't need windows at all for development, unless you're a front end dev, it makes sense for using adobe xd and all those design related tools, otherwise it doesn't
Was just reading in to this, super interesting! Using two drives for PopOS and Windows and I think I still prefer that. But this is definitely something I will test out! Thanks for the awesome content and keep the great work up!
I prefer to just install windows in virtual box. Incredibly rare that I open it but when I do I have a half hour or so free time while it installs updates, reboots, installs more updates, etc....
My setups: Private: Windows 11 host (mostly for gaming), VMWare with Mint guest for my private projects. Work: Ubuntu host, VirtualBox with Windows 11 (for the work tools that don’t have a good Linux alternative).
Great video!... I've been using WSL2 for roughly a year now. The only thing I dislike is working with the LAMP stack, and using Git GUI tools have been troublesome because the project folders work best inside of the Linux distro itself.
Love your content ❤️ I instead use Windows in a VM on my Linux host machine, if I need to run Windows specific programs. But WSL is an awesome tool. I have helped my Windows loving colleagues numerous times with WSL so that they can work on projects running in Docker containers without leaving their favourite OS.
I am not a web dev but I have been using WSL2 on Windows 10 Insider Slow Ring (2004) for C++ development and I can attest to the quality of WSL2 integration with windows. I have generally had a bad time with native Ubuntu gnome on my laptop right from scaling issues to poor battery life and hot machine. WSL2 has changed my workflow drastically. VSCode WSL remote works really well with explorer support which is also very good. I occasionally use VcXsrv for X11 windows. Had some minor issues with finding kernel headers for C++ dev but web-devs have no excuse to not try it.
@@Fireship I also hope MS did change but so far they're en route. They embraced Linux, extended the kernel and now slowly taking over the market segment who'd dual boot the ubuntu on their machines...
@@georgegach723 well, they also have their own Linux distro (for Azure) also, at this point I don't think they actually still make a profit with Windows on Home users, but because most people want to use the same programs at work and at home, they can't really stop developing it because then they would lose their business customers in the long run
Honestly I rocked this for a long time. For some laptops linux just doesn't provide a good consumer OS experience. Things like graphics card switching or even simple stuff like going to sleep when you close the lid don't work right. But since these laptops ship with windows all that user-focused stuff is optimized, while the developer experience is not, like it is with linux. What made me finally switch to mac was wanting to branch out to iOS development. Otherwise I see no real reason from a software standpoint to switch from Windows + WSL at this point, especially after they finish up WSL2, which I've tested. It's blazing fast and an absolute joy to use.
Your videos are extremely helpful. I subscribed immediately. You are a remarkable teacher, especially once getting used to your presentation style. Thank you for the content, I look forward to more!
I'm very glad that WSL exists, that opens a whole new array of hardware available for beginners and intermediate devs that have only ever coded on a Macbook. Apple having pretty much full control of the sole tool used by developers was bad news. This will probably make it much better. That being said, I still hate Windows, I'm never using it and I'd rather just run a native Linux. But hey, I'm grateful for the contribution. Very.
I'd suggest getting powershell v7 and windows terminal first. Then install chocolatey and use that for installing; git, chrome / firefox and nodeJS. There are other helpful bits of software you can get through chocolatey for dev / productivity e.g. krita, inkscape, libreoffice, keepassXC, etc. Furthermore you can export your installed software list to an xml file. Handy if you need to clean install windows, though you'll need to back up the configs of said programs independently.
If you're using Win 10 Home and still want to use (or learn) Docker, You can use Chocolatey to install docker, docker-compose and docker-machine, and of course You have to use CLI to manage it.
Because Windows is scared of losing that sweet sweet dev telemetry. Same reason they bought NPM and created VScode. Windows, NPM and VScode are all malware.
extremely useful. There is another open source project that calls tmate, which use tmux as a base to create shared ssh sessions. It is very useful when you need to work in the same server as your colleges and need to debug something.
1. In case after ubuntu install, powershell shows no distribution, click on launch in MS Store and wait for Ubuntu install. 2. For installing 'sl' follow instructions on this link: zoomadmin.com/HowToInstall/UbuntuPackage/sl 3. Install WSL extension for VS code first and then open bashrc file 4. Exist and reload terminal is nvm command is not found. If fails again then install it using this script in github.com/nvm-sh/nvm 5. Authorize github cli by openning the url shown in cli
WSL2 actually is virtualized, but in a good way - at least good for Windows and Microsoft. Just stick with GNU/Linux. I personally use Manjaro Linux KDE on my Workstation, Gnome on my Convertible Notebook.
WSL is great and I can't wait for it to be better than working on MacOS. At the time of writing, it still isn't. For context, I have transitioned my entire workflow to Windows from MacOS to see how viable WSL makes Windows-based development. My hope is that WSL introduces competition to MacOS and helps drive the Linux community forward. It's been mostly great, but it definitely doesn't feel as seamless as developing natively on the machine. Only little issues like: - In WSL2 you can't access servers running on the host machine (useful for things like browser testing tools like puppeteer and cypress). - Files are deleted permanently when you delete them in your IDE - When you copy files in your IDE, write permission prevent you from editing those files and require you to restart your IDE It's coming along though and I will continue to use it. I can't wait to see it evolve and hopefully replace the NT kernel.. I mean wait what?
I haven't had the file copy issue, not sure what you mean exactly. But for those testing tools, can't you just run them on WSL? It has GUI support etc. But yeah accessing servers the other way around works but this way it's difficult without some trickery.
Well I need the GUI to be working and not just the linux terminal. I am currently using Virtualbox and I have heard that using something like VNC from the WSL env is not suitable since WSL wasn't designed for host to guest and back socket mapping or something like that. Do you know any other alternative?
If someone's getting mvn not found then add this to you .zsh file: export NVM_DIR=~/.nvm [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" Hope that's helpfull
You can now install Docker on non-pro Windows as well and let me tell you, just install wsl2(although you need to be an Insider user) it's just much better and works perfectly with Docker. One thing that I'm wondering is if Linux and Windows do share their ports or Linux just forwards them to windows side. I Mena if port 8080 is used in Windows, is it then used in WSL too?
One big hang-up with web dev on Win + WSL is testing. To make 'ng test' work, for example, you have to point your CHROME environment variables to your windows installation of chrome. And I couldn't even get e2e tests working. If you'd like to make a follow up video about that on how to set that up, I'm sure it would be much appreciated. There's not a lot of information out there on how to set that stuff up.
I am pretty sure more than 50% likes on this video is for the way you configured other tools like shell, git etc. (rather than for Windows as best platform)
@@etherweb6796 if you use 1 gb or less you are not a real IT professional. Professional developers use a ton of virtual machines and visual studio not code for big projects if they develop code.
@@timothygibney159 When I was saying 1GB or less, I wasn't counting virtual machines, just desktop and code tools. Visual Studio proper is garbage - literally the only reason to use it is for some of the enterprise analytics tools that individual developers don't generally need day to day. I'll be sure to tell the 50+ developers I work with that we aren't professionals because we don't use visual studio or windows. Has to be the most laughable thing I've ever heard.
@@nico1337 I tried Vim with packages and syntax servers and stuff and is super slow. I can't even use Vim bindings in VSCode, that's how slow it is. The only place it works for me is IntelliJ, but it involves other bugs
@@dennisbarzanoff9025 What do you mean with 'slow'? Are you not used to work with vim? I can tell you if you continue to use it it will get better and better and you'll get more productive. In your journey you may have to look up some stuff if you don't know how this works in vim
@@okie9025 No i personally don't like windows from the time i starded using Linux 1 year ago. i would rather run it in VM than have it on my pc. its just a preference
I develop on dual booted ubuntu because It gives me the freedom to install a ton of packages and random stuff that I will forget to delete. I don't want those files clogging up my windows install. Since ubuntu is dual booted, I could just delete those partitions and I have a mostly clean version of windows. Can I do the same thing with wsl? or is wsl just giving another way to interface with the windows OS and file system?
If you just install Docker on Windows as it is and just set an alias in WSL to docker.exe, it works just fine. (WSL only adresses windows apps in bash if you call it fully, e.g. notepad.exe ~/.bashrc)
Fireship i actually went through the hassle of installing docker on windows home a couple days ago. You can do it you just have to enable CPU Virtualization in BIOS (Different brands call the setting different names) and make sure to enable WSL and Windows 10 Virtual Machine Platform
For those having issues trying to login with Github. 1. You can't directly clone in the terminal, it does work in VS Code terminal 2. If login fails follow these two steps: code.visualstudio.com/docs/remote/troubleshooting#_sharing-git-credentials-between-windows-and-wsl
Now Windows can bluescreen itself and Linux at the same time!
prbbly had 1 bluescreen in last 10 years
FWIW Canonical helped develop WSL. It's a good thing for the Linux world, much easier for windows people to take advantage of it.
@@vabalokis -- They've updated the blue screen, it's now the stop working while I update and reboot screen
Last time I saw a bluescreen on Windows it was 2005... Last time Linux froze on me it was last week...
@@ionitaa probably because you didn't use Windows since 2005 and kept using Linux.
Legend has it that Steve Ballmer is still out there shouting "DEVELOPERS DEVELOPERS DEVELOPERS.... "
Holy shit, that’s THE Ballmer? Of Ballmer’s Peak fame?
Wanna watch the original video
@@andrewp6738 Haha, yes! Apparently he was having a "Peak" moment here too.
Apparently jes passionate about developers
lolz
WSL2 is the best thing that happened in Windows since the end of clippy.
So basically, Windows is being recommended because it has Linux xD
that's one way to look at it
It's a trap. Microsoft is in the "Embrace" phase. DO NOT use WSL.
@@thelastmagethelastmage2084 Someone is stuck in the 90s...
@@rand0mtv660 Well the comeback could be that some didnt learn their lessons. So keep on being skeptical to ensure that they actually will keep up their "good" ways. I think MS at least deserves to be viewed with a skeptical and wary mind even if they seemed to have turned a corner somewhat somewhere.
@@michaelk.jensen1611 but this could basically be said for any large company.. It's not like they work in our best interest lol
What about a "Docker in 100 seconds (and beyond)" ?
That will happen soon
@@Fireship thanks man. Really hoping to see it. Always wanted to use Docker for development, testing, production. But couldn't get started. Looking forward to your awesome video.
@@nishatsayyed8326 docker documentation is messy and probably the worst I have seen on any project ever. But in order to use it to its 90% potential, you literally need just 4-5 commands:
docker images (displays all docker images with container id and image name)
docker commit [CONTAINER_ID] [IMAGE_NAME] (use this in a separate terminal window, not the one you are using for docker images and use it when you are running the current docker container you want to save to an image (docker container is an instance of an image))
docker rm -f image [IMAGE_NAME] (to remove a previously committed image that you don't want anymore)
and finally
docker run -it -v [VOLUME_DIRECTORY] -p [PORTA:PORTB] [IMAGE_NAME] (this command is used to run a docker container with the specified image name. -v is for mounting a local volume to docker container and -p is for mapping port if you want to use that port outside docker container)
Hope it is straightforward enough for you
@@SahilP2648 thanks mate. Much better and very clear than the docker documentation. Never had a very serious need for Docker but it looks very elegant so I will try. Thanks again for awesome clarification.
@@nishatsayyed8326 no problem. Let me know if you have any doubts about it, but it is pretty straightforward once you know these commands.
Correction at 6:36: Adding nvm to in .zshrc plugins will not install nvm on your system. You still must install nvm through curl or some other way. The OMZ plugin only adds zsh command completion and other niceties. It can be inferred from this that oh-my-zsh is a package manager like apt-get, which it is not.
Thank you for this comment, was going crazy trying to figure it out.
What the fuck. Is this the lingo linux users have to deal with? Holy shit
I just wasted a ton of time trying to figure out why nvm wasn't working. Thanks.
Really annoying that he didn't fix this mistake in the video. Also had to go through some repos and readme's on GitHub for solid 30 minutes to figure this out. I was about to comment this myself.
git clone github.com/lukechilds/zsh-nvm ~/.oh-my-zsh/custom/plugins/zsh-nvm
Then load as a plugin in your .zshrc: plugins+=(zsh-nvm)
This is a time I wish RUclips had a 'love' button... for work, I'm stuck in a company-issued Windows 10 laptop, and had to run a VM with Ubuntu 19.10, which was kind of okay but still just felt 'wrong'. Having just gotten the Windows 10 - 1909 update pushed to my laptop last week, I can finally install WSL! Very timely video release! Thank you!
Minor correction: WSL2 is faster in most ways over WSL1 except for the mounting of shared file systems (a common bottleneck in I/O heavy situation). The fix for that is to just store the files primarily in the Linux VM, but that’s also not always desirable, since you’ll need to use UNC style network paths (fretwork file shares) to directly access the files. Also, I prefer to store files directly on the host machine (not the VM, which I consider to be ephemeral and disposable).
installing zsh just for the theme
10x developer 🤣
ps1 👍🏻
ZoomersHell
Its way better than bash bro.
Or a window tiling manager
Bruh , themes are awesome and predictions are great in fish as compared to zsh .....
Maybe in a perfect world "Just use Linux", but if you need Windows then WSL is amazing! Oh, and Macs are pretty cool too! BEST is just an opinion.
But I saw a course on LinkedIn Learning. The instructor recommends to use Powershell in virtual machine.
Thanks. Your videos are precious. Glad I'm subscribed
Or just buy a mac instead! ;)
Really cool video, but how about macOS? Adobe works fine on it and its essentialy a linux.
@@EgiN281 Macs are a great option as well, but have other tradeoffs with price, performance, customization, etc. I use a Macbook when I travel.
DEVELOPERS, DEVELOPERS, DEVELOPERS...
_*continues video narration in normal voice like nothing happened_
I dont know why sometimes youtube recommendation sometimes works so bad, I've been trying for days to find a way to have linux on my windows machine and tried a hell lot of things like vm and dual boot when it is already there.
Thanks man this is like a piece of cake as compared to vms and dual boot.
Developers 👏 developers 👏 developers 👏 developers 👏 developers 👏 developers 👏 developers 👏
Developers 👏 developers 👏 developers 👏 developers 👏 developers 👏 developers 👏 developers 👏
Developers 👏 developers 👏 developers 👏 developers 👏 developers 👏 developers 👏 developers 👏
I am tired of tech videos with long intro! Finally video that is informative from the 1st sec. You speak fast and informative which is amazing in compare to other long tutorials with long introduction. This is the first time in my life when I slowed down speed to 0.75 in tutorial for few mins to be able not just listen but understand and remember. Brilliant!
It's been about a year since I tried WSL after primarily using Linux, and it felt extremely slow compared to just running Linux.
Kaleb Ercanbrack WSL2 is supposed to be faster
WSL2 is only 8 percent slower than native Linux. Superior option imo
@@wolvAUS yeah but it has serious memory leaks doe. Like it ends up sucking half of your ram
Actually, I would like to play games as well as make websites....
So.... WSL for me
It would be as it’s not native Linux but wsl2 has a full Linux Kernal but I’ve never tested it myself but it’s good so windows users can take advantage of Linux tools
Finally I can be a developer while having a social life
I've been using wsl since early 2017, a guide like this would be really useful for me 3 years ago, great job, btw I switch to vs code because of your videos, still getting used to the keybindings, but it's been almost seamless thanks to the sublime extensions. thanks for the videos, I've been learning a lot of useful things here.
That integration of VS Code via the Remote extensions is all kinds of epic. Thanks for this video. It made setting up a WSL dev environment friction free for this web dev newcomer.
For those of us that can't "Just use linux" because of other work requirements, WSL looks awesome. It might be time to see if WSL2 can replace my Docker workflows. Thanks for the video Jeff.
I sympathize.
I will open a windows VM in solidarity.
Using just linux is simpler.
@@malipetek Did you not even read his comment? Linux can't do most things
@@okie9025 I used both and just using linux is still simpler than configuring WSL. I mean this is not a solution for those who cant "just use linux".
@@malipetek How is it not a solution? What does linux have that windows doesn't, except the commands, which can be installed manually anyway?
This is my setup at work, a large company with super locked down Windows environments. It works well because I at least have root on the Linux side. Windows makes a decent desktop environment.
This is amazing! I got WSL2 up and running, but didn't know what to do with it. This video really clears up a lot of doubts I had 🙏🏻
For anyone as noob as I am: Node will probably not work at at 6:03 in your zsh terminal. Remove any existing node/npm installation and install nvm which will keep your versions uptodate. For details check :
docs.microsoft.com/en-us/windows/nodejs/setup-on-wsl2
Your videos are a fusion of art / comedy / code. Thanks for being here.
The "Linux inside" logo never felt so real.
Easily set-up my Windows Terminal with WSL thanks to this video. Amazing explanation!
That Steve Ballmer video will give u nightmares (...just saying)
I know, I watched it way to many times editing this video
Fireship lol
I started using linux about a year ago and it's amazing I don't think I will ever go to windows again
I love WSL, being using it for more than a year as my main development environment and I'm super excited about WSL 2.
Just wondering, what are you using it exactly for? Except for terminal?
@@ml_serenity For everything. If you're doing backend dev, chances are you're deploying on Linux. So, coding in windows traditionally required running a Linux VM and some tool like vagrant to push your code to be run in the VM every time you save your file on windows. WSL just makes things much faster.
@@simioni not sure I understand why would you need to push it every time to Linux VM? Why not just run it in Windows using native tools there?
@@ml_serenity Because the environment is vastly different. Having something working on windows does not guarantee that it'll work on Linux. And bugs in stuff like this can be very hard to trace and fix. Ideally you'd work under the exact same distro as your server, with the exact same packages installed and configured in the exact same way (a clone of your server). After the introduction of Linux containers this became quite trivial to do, and today running code in a clone of your server is very common and saves a lot of headaches.
@@simioni Well, obviously you have to have some kind of staging pre-production environment that is very close to production to verify that everything is working correctly, but I don't really see why you would want to keep deploying to production-like environment in your dev after every single build... I can understand when someone is using windows-specific production environment and some legacy technologies such as ASP.NET, or ActiveX, MSMQ, domains, etc... but Linux server side tools are usually all available natively in Windows...
SAME WITH ME!!! now that I no longer dual boot makes everything easier!!!
By that logic macos is the best os for development, it's a unix like os like Linux and you can install many popular applications not available on Linux like Photoshop
Correct. But the problem is Apple's pricing and dated hardware.
That's why we have Wine and Lotirus
@@hanzofuma except when I run stuff in wine the perf is worse
@@moonythm yeah maybe they are trying to improve it.
@@moonythm Quite a few games work just fine.
This is still a pretty relevant, and useful today, I mean the packages, and versions are outdated but the method is perfectly viable. Would be nice to see an up to date version of this. Keep creating content man! You are godsent :)
I did't know about this until today, finally I will switch from Ubuntu to Windows on my main machine :D
if someone is not able to run the train,do this 👇
> sudo apt update
> sudo apt upgrade
now install sl
> sudo apt install sl
run train
> sl
It looks like WSL is solving all of these problems that you would not had if you just directly use linux.
true!
It was only a matter of time before the Linux supremacists started swarming. As was mentioned in the video, there are some things you can do on Windows which you just can't do on Linux. This is clearly the best of both worlds, combining Linux's excellent command line and Windows's wealth of mainstream applications and ease of use.
@@theclockworkcadaver7025 Yes you are right. My comments was written for amusement and is not 100% correct. I know many people rely on windows-only tools anyway which makes it impossible to use linux. Then it might also make sense to use WSL (or use other tooling). For most cases I think the best approach is to use us a virtual machine for either linux or windows, depending on which you use more. And if you check how WSL is implemented, it is likely also just a linux VM which is deeply mounted to your file system.
I used to leverage NVM for my node version management needs but since switching to the PNPM package manager, I now use its built-in node version management features. If you use PNPM but haven't discovered its node versioning ability yet, run pnpm env -help.
Great video and tutorial. I still keep W8.1 in dual-boot for my son to play Minecraft, but I'm doing webdev and backend dev (C#) fully on Linux mint for years. I have the same setup on Linux as shown in the video. Kudos for showing node installation via nvm it's much safer and convenient.
??? I know this is a year old comment, but Minecraft does and has run natively in Linux since pretty much the beginning? Free that poor HD of its windows shackles.
Minecraft runs on JVM, Linux supports Java.
WSL in my opinion is the best thing microsoft has done in their history. I have a mid range laptop, i hate dual booting and I can't do something like running KVM with windows on linux because of my specs. Now windows gives me the option to setup a linux development environment without a big hassle, it feels surreal. Thanks a lot for this video it definitely helped me setting everything up for the first time.
This is crazy the amount of different things we have to learn nowadays.
I use WSL every day for everything. This is my favorite video on yt.
9:41 Firefox can also block trackers, just like brave. The only difference I know is, that brave has an adblocker enabled by default. Overall Firefox is (at least for me) way more useful than any chromium based browser, since it just has more features! Not only for css, but it also displays json in a really useful way, unlike chromium, which just uses plain text.
haha orange browser go brrrr
I personally like the chrome dev tools alot more for js/ts debugging + for json formatting there are lightweight extentions that enable that.
Mainly using FF myself and the dev tools is one big reason to keep me around. Design-wise and ergonomics-wise, I like it better than the Chrome dev tool. Layout aside, the color scheme of Chrome Dev Tool is a big meh for me... I tried a bunch of JSON-related extensions on Chrome and they are lacking in either aesthetics or functionality (no collapse all? seriously?).
Agree absolutely. Firefox is by far the best browser.
you really make my day easier. instead of switching back to back from windows to ubuntu, i can just go to windows terminal and then boom... it does all what i need from ubuntu. tysm :)
I installed wsl back in 2017 when it came out. It was so cool. At the time i used it for accessing servers ive been managing (still using ti for that). Having the alias command for bashrc in windows 10 was so darn good. I dont remember when but as soon as beta of windows terminal came out ive used that. Very nice tools. Best of both worlds. Stable programs on windows + bash terminal
Yeah it's amazing, I use my PC for work, coding, video editing and games, and Windows+WSL is the most seamless way to do that. The only thing that's really cumbersome is using a GPU in WSL.
I'm a programming rookie, but the more i think about it the more i think you don't need windows at all for development, unless you're a front end dev, it makes sense for using adobe xd and all those design related tools, otherwise it doesn't
Web developer: *has 8GB+ of RAM*
Also web developer: "Zsh is bloat"
Zsh is faster than Bash.
Ohmyzsh is bloat
Having two shells for no reason is bloat
WSL is legit. I switched from macOS for it. Never looked back.
Was just reading in to this, super interesting!
Using two drives for PopOS and Windows and I think I still prefer that. But this is definitely something I will test out!
Thanks for the awesome content and keep the great work up!
I prefer to just install windows in virtual box. Incredibly rare that I open it but when I do I have a half hour or so free time while it installs updates, reboots, installs more updates, etc....
My setups:
Private: Windows 11 host (mostly for gaming), VMWare with Mint guest for my private projects.
Work: Ubuntu host, VirtualBox with Windows 11 (for the work tools that don’t have a good Linux alternative).
Great video!... I've been using WSL2 for roughly a year now. The only thing I dislike is working with the LAMP stack, and using Git GUI tools have been troublesome because the project folders work best inside of the Linux distro itself.
Bash is not a programming language, is a SHELL command interpreter, it allows also to make .sh files to run a lot of commands in batch.
Love your content ❤️
I instead use Windows in a VM on my Linux host machine, if I need to run Windows specific programs. But WSL is an awesome tool. I have helped my Windows loving colleagues numerous times with WSL so that they can work on projects running in Docker containers without leaving their favourite OS.
I am not a web dev but I have been using WSL2 on Windows 10 Insider Slow Ring (2004) for C++ development and I can attest to the quality of WSL2 integration with windows. I have generally had a bad time with native Ubuntu gnome on my laptop right from scaling issues to poor battery life and hot machine. WSL2 has changed my workflow drastically. VSCode WSL remote works really well with explorer support which is also very good. I occasionally use VcXsrv for X11 windows. Had some minor issues with finding kernel headers for C++ dev but web-devs have no excuse to not try it.
Embrace, Extend, Extinguish...
Good point. I don't think that's their strategy here, but maybe I'm naive.
@@Fireship I also hope MS did change but so far they're en route. They embraced Linux, extended the kernel and now slowly taking over the market segment who'd dual boot the ubuntu on their machines...
if it is good for extending open source community.. does it still matters?
@@georgegach723 well, they also have their own Linux distro (for Azure)
also, at this point I don't think they actually still make a profit with Windows on Home users, but because most people want to use the same programs at work and at home, they can't really stop developing it because then they would lose their business customers in the long run
@@georgegach723 I mean does it even matter as long as linux is getting used? is not like distros are completly FOSS except a couple ones
As a back end developer using Go, JetBrains GoLand and WSL2 is working so nice together on Windows.
Yes, this is a game changer.
"One thing you'll need to install is sl to make a train roll through the command line" 😂 😂 I love it!
Honestly I rocked this for a long time. For some laptops linux just doesn't provide a good consumer OS experience. Things like graphics card switching or even simple stuff like going to sleep when you close the lid don't work right. But since these laptops ship with windows all that user-focused stuff is optimized, while the developer experience is not, like it is with linux. What made me finally switch to mac was wanting to branch out to iOS development. Otherwise I see no real reason from a software standpoint to switch from Windows + WSL at this point, especially after they finish up WSL2, which I've tested. It's blazing fast and an absolute joy to use.
windows in kvm with pci passthrough is still my way to fix it
same
Developers!!! Developers!!! Developers!!! Developers!!! Developers!!! Developers!!! Developers!!! Developers!!! ✊
Your videos are extremely helpful. I subscribed immediately. You are a remarkable teacher, especially once getting used to your presentation style. Thank you for the content, I look forward to more!
Already using all of these, feeling like a 10x developer
😎
where are you working,Sir?
I'm very glad that WSL exists, that opens a whole new array of hardware available for beginners and intermediate devs that have only ever coded on a Macbook. Apple having pretty much full control of the sole tool used by developers was bad news. This will probably make it much better.
That being said, I still hate Windows, I'm never using it and I'd rather just run a native Linux. But hey, I'm grateful for the contribution. Very.
wsl got me into learning web dev. I feel so lucky with all these techs being available now.
I'd suggest getting powershell v7 and windows terminal first.
Then install chocolatey and use that for installing; git, chrome / firefox and nodeJS.
There are other helpful bits of software you can get through chocolatey for dev / productivity e.g. krita, inkscape, libreoffice, keepassXC, etc.
Furthermore you can export your installed software list to an xml file. Handy if you need to clean install windows, though you'll need to back up the configs of said programs independently.
By Far the Best Explanation for WSL in the world
Does kind of feel like a hacky attempt to become a Unix based OS that at the same time offers a wide variety of professional desktop applications.
They've been committed to WSL for a while. I think this actually works
Agreed, but still less frustrating than MacOS
It's not "hacky" it's a standard feature that you can enable easily through the standard UI.
WSL is the best thing that came out of Microsoft in a long time. Windows is finally complete.
I would like to see a tutorial how to create such great videos.
If you're using Win 10 Home and still want to use (or learn) Docker, You can use Chocolatey to install docker, docker-compose and docker-machine, and of course You have to use CLI to manage it.
Great video, but I am still not sure on the "why". What is the reason for wanting both Linux and Windows for webdev?
So you can brag about how you use linux, while in reality you do 90% of the work on windows.
Running docker, and running your server in the same enviroment you will deploy to will save you lots of stress
If you don't think you need it, you don't need it really, but when you do WSL looks promissing
Doodles oh that’s true. Aren’t most servers running Linux? I only briefly touched backend stuff and I vaguely remember a class talking about LAMP
Because Windows is scared of losing that sweet sweet dev telemetry. Same reason they bought NPM and created VScode. Windows, NPM and VScode are all malware.
I have recently switched to Laragon which is completely portable and sync it with a cloud drive so no matter what my work is always available to me.
Great toolset. I’d also recommend Tmux tho
extremely useful. There is another open source project that calls tmate, which use tmux as a base to create shared ssh sessions. It is very useful when you need to work in the same server as your colleges and need to debug something.
1. In case after ubuntu install, powershell shows no distribution, click on launch in MS Store and wait for Ubuntu install.
2. For installing 'sl' follow instructions on this link: zoomadmin.com/HowToInstall/UbuntuPackage/sl
3. Install WSL extension for VS code first and then open bashrc file
4. Exist and reload terminal is nvm command is not found. If fails again then install it using this script in github.com/nvm-sh/nvm
5. Authorize github cli by openning the url shown in cli
Best Web Dev Setup? Just Linux!
^^ and if in confusion which version to choose, just use ubuntu.
Yeah of course why you need windows for Dev? ... BTW Gentoo ftw...
@@matiasm.3124 Well some of us work with clients who still have plenty of code on the old .NET framework :). This is a godsend
Linux + Webstorm = best web dev setup
BTW I use arch
I have a dual boot setup on my desktop. I develop on Linux and play games on Windows!
WSL2 actually is virtualized, but in a good way - at least good for Windows and Microsoft.
Just stick with GNU/Linux.
I personally use Manjaro Linux KDE on my Workstation, Gnome on my Convertible Notebook.
No, it's not virtualization, it is an actual Linux kernel.
@@rajatsingh5714 Yes, it is an actual Linux Kernel, virtualized with MS' Hypervisor.
WSL is great and I can't wait for it to be better than working on MacOS. At the time of writing, it still isn't. For context, I have transitioned my entire workflow to Windows from MacOS to see how viable WSL makes Windows-based development. My hope is that WSL introduces competition to MacOS and helps drive the Linux community forward.
It's been mostly great, but it definitely doesn't feel as seamless as developing natively on the machine.
Only little issues like:
- In WSL2 you can't access servers running on the host machine (useful for things like browser testing tools like puppeteer and cypress).
- Files are deleted permanently when you delete them in your IDE
- When you copy files in your IDE, write permission prevent you from editing those files and require you to restart your IDE
It's coming along though and I will continue to use it. I can't wait to see it evolve and hopefully replace the NT kernel.. I mean wait what?
I haven't had the file copy issue, not sure what you mean exactly. But for those testing tools, can't you just run them on WSL? It has GUI support etc. But yeah accessing servers the other way around works but this way it's difficult without some trickery.
Absolutely Lifechanging for devs like me using VM. Thanks.
Well I need the GUI to be working and not just the linux terminal. I am currently using Virtualbox and I have heard that using something like VNC from the WSL env is not suitable since WSL wasn't designed for host to guest and back socket mapping or something like that. Do you know any other alternative?
@@SahilP2648 Why do you need WSL or Linux for VNC? There are native windows VNC clients...
@@ml_serenity are you stupid? So I can VNC into Ubuntu obviously to use the GUI instead of doing it through VirtualBox which is laggy.
@@SahilP2648 you are clearly an idiot. You can VNC from Windows into anything including Ubuntu. You don't need VM or WSL for that.
Windows 11 will allow support for native Lunux GUI apps out of the box!
If someone's getting mvn not found then add this to you .zsh file:
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
Hope that's helpfull
Okay like the content, but why is there someone snoring in the background for half the audio lol. Can only hear it with headphones
You can now install Docker on non-pro Windows as well and let me tell you, just install wsl2(although you need to be an Insider user) it's just much better and works perfectly with Docker. One thing that I'm wondering is if Linux and Windows do share their ports or Linux just forwards them to windows side. I Mena if port 8080 is used in Windows, is it then used in WSL too?
They are 2 machines with 2 Ip address each
One big hang-up with web dev on Win + WSL is testing. To make 'ng test' work, for example, you have to point your CHROME environment variables to your windows installation of chrome. And I couldn't even get e2e tests working. If you'd like to make a follow up video about that on how to set that up, I'm sure it would be much appreciated. There's not a lot of information out there on how to set that stuff up.
I am pretty sure more than 50% likes on this video is for the way you configured other tools like shell, git etc. (rather than for Windows as best platform)
You're probably right
But Windows IS the best platform
Should update this one soon, since Microsoft updated the new way already with just a single command, plus they have WSL2g too.
Please, Jeff!
3:56 someone snoring?
I'm glad someone made a video about this.
Forget Windows - Linux is the ultimate developer platform.
C# and mssql are available on Linux. Linux has support, and Windows performance is a joke under most circumstances
My dev environment on Linux runs on less than 1G of RAM (600mb of which is Chrome) - let's see you do that with WSL and Windows
Windows has office and hyper-v for full type 1 virtualization. Vms is on linux but it's not at the same level and guest support is spotty.
@@etherweb6796 if you use 1 gb or less you are not a real IT professional. Professional developers use a ton of virtual machines and visual studio not code for big projects if they develop code.
@@timothygibney159 When I was saying 1GB or less, I wasn't counting virtual machines, just desktop and code tools. Visual Studio proper is garbage - literally the only reason to use it is for some of the enterprise analytics tools that individual developers don't generally need day to day. I'll be sure to tell the 50+ developers I work with that we aren't professionals because we don't use visual studio or windows. Has to be the most laughable thing I've ever heard.
How have I not seen this video yet?!
3:30 real 10x developer would use neovim 😎
+ Vundle + Some Plugins and it's perfect
@@nico1337 I tried Vim with packages and syntax servers and stuff and is super slow.
I can't even use Vim bindings in VSCode, that's how slow it is.
The only place it works for me is IntelliJ, but it involves other bugs
@@dennisbarzanoff9025 What do you mean with 'slow'? Are you not used to work with vim? I can tell you if you continue to use it it will get better and better and you'll get more productive. In your journey you may have to look up some stuff if you don't know how this works in vim
@@dennisbarzanoff9025 idk NeoVim with plugins works super fast for me and VScode is fine its just slow when doing vscode features not vim features
Literally no reason to use nvim anymore since vim 8 added async support.
I've been using this for years now, and I love it. Should do an update dor windows 11 + windows terminal! there are a bunch of new stuff
the only reasons to use windows is if your company gives you a windows machine to develop on or if you want use steam lol
Linux sucks for everything except developing
if your company gives you a windows machine to develop on, You delete windows and install Linux And then run Windows in a virtual enviroment :D
@@eric.m5790 you mean the other way around?
@@okie9025 No i personally don't like windows from the time i starded using Linux 1 year ago. i would rather run it in VM than have it on my pc. its just a preference
@@birsp literally no games work on linux except for legacy. Try running doom eternal or emulating animal crossing on linux (pro tip: you can't)
This is the best tech video that I've watched in a while.
I develop on dual booted ubuntu because It gives me the freedom to install a ton of packages and random stuff that I will forget to delete. I don't want those files clogging up my windows install. Since ubuntu is dual booted, I could just delete those partitions and I have a mostly clean version of windows. Can I do the same thing with wsl? or is wsl just giving another way to interface with the windows OS and file system?
Why not just use VM for the purpose?
@@ml_serenity poor performance. I was using a vm for ubuntu for 4 months or so but it kept freezing even with the settings maxed.
I think you can do that just by deleting your distro.... Reinstalling will give you a fresh distro again, I guess.
If you just install Docker on Windows as it is and just set an alias in WSL to docker.exe, it works just fine. (WSL only adresses windows apps in bash if you call it fully, e.g. notepad.exe ~/.bashrc)
Nice one but I will just stay with my Ubuntu
Me too, I used to use dual boot for the same reason, but ultimately like a week ago removed windows because of the zero day bugs lately published
the WSL file system and I/O is so slow that is basically useless for development and building software on it.
Isn't that you computer?
WSL2 is way faster than WSL.
Idk not that bad, and fixed in wsl2. I/O is finally ~full speed, as if in native Linux.
Exactly what I was thinking, even with wsl2 you'll need to mount your source code on the right place to get the full benefit
These videos are so 🔥 to the point growing my brain 🧠 in a few minutes.
I'm in love with you videos
Fireship i actually went through the hassle of installing docker on windows home a couple days ago. You can do it you just have to enable CPU Virtualization in BIOS (Different brands call the setting different names) and make sure to enable WSL and Windows 10 Virtual Machine Platform
Now I need to uninstall ubuntu somehow, I'll find it eventually
LMFAO
To remove Ubuntu from WSL just run 'wsl --unregister Ubuntu'. More info docs.microsoft.com/en-us/windows/wsl/wsl-config
For those having issues trying to login with Github.
1. You can't directly clone in the terminal, it does work in VS Code terminal
2. If login fails follow these two steps: code.visualstudio.com/docs/remote/troubleshooting#_sharing-git-credentials-between-windows-and-wsl