Sometimes I wish life had a Task Manager so when something just isn't right you could get a handy list of what's eating up all the clock cycles, kill off misbehaving processes, locate memory leaks and the like... Thanks for best laugh of my day Dave.
@@DavesGarage Hey, Dave is there an easy way to migrate your windows installation from one disk to another on your PC (both being and remaining connected and used) Without complete re installation? In my case I have added a SSD to an older laptop and would like to move Windows 10 to it for the added performance(older disk was a hard drive). Cheers and thanks for all your amazing content.
Awesome video, Dave! Would definitely love an opportunity to pick your brain sometime. Did you by any chance ever meet or work with a guy named Lex when you were at Microsoft? My uncle in the music industry is somehow affiliated with him and apparently he had a big part in Windows 10 early on.
I am glad to see that even a former Windows Dev at times accidentally types "ls" instead of "dir", its nice to know i'm not the only one who keeps confusing the two XD
@@gorak9000 legacy. The command prompt hasn't changed much over the years and because of that you can run a batch file from ten years ago and mostly be guaranteed that it'll work
@@gorak9000 Linux has a veritable smorgasbord of functions and commands, whereas cmd is fairly limited. But the commands available to you on a Linux distro could differ, whereas with Windows you know without a doubt that this set of commands is going to be available
@@gorak9000 The only times i use a shell at all is when pinging something for testing, or on those occasions where i end up compiling manually via command line, rather than via the IDE. Soo, i dont particularly care which one i use, as long as it has ping, tracert, and i know how to navigate directories
Thanks for letting me know! The autogenerated ones are awfully impressive, but I write it out in Word so you have the right capitalization and punctuation, etc :-)
I don't really have hearing issues, but it helps when I watch the video and there is some noise going on and I don't need to rewind or put on a headset to get what you are saying! 😊
@@DavesGarage Generally the autogenerated ones are impressively awful. I guess it's different for American accents. Some version of the Redmond effect maybe.
Even ignoring his former MS employee creds (which are pretty damn cool), the content is always great and presented without all the BS that seems to come with so many other YT channels. Keep it up!
Before digging thought the BIOS for checking/turning on Virtualization. Just open Task Manager and in the CPU Tab in the Bottom right it will tell you if Virtualization is enabled. See 7:50
@@noblesavage149 It's not just M$. Looking back at computing history reveals that it's never the companies that base their strategy on simply making better software then the competition that are succesful: Digital Research, OS/2, WordPerfect, Borland, Be, NeXT. You make more money selling cheap software that requires less programmer time and years to complete and then you capture the market and gain a stranglehold. The only requirement is that it must not look cheap. If M$ had one single super power it was the ability to package a turd beautifully.
AND you also get the preinstalled ad-/bloat-/spyware that comes with windows 10 and that reappears with some updates even when you initially uninstalled it. AND of course Cortana, which is deliberately hard to disable completely without breaking the local search functionality. Speaking of local search... let's not forget the start menu search bar: When you type the exact name of a software you've installed, it usually offers you either it's installer from your download directory or some random document that happens to have that name in it somewhere, or it searches for that word using bing - but it definitely doesn't give you the one program with that exact name. How do you even code something like that? Got to be some advanced AI driven awesomeness there! There's so much stuff you'd be missing out on if you'd just use a decent linux distro in the first place. Here's one more thing: The BS that runs in the background consuming a decent amount of CPU time (at least on my laptop) even though the user never asked for that to happen in the first place (updating search index, anti-malware stuff, windows updates, etc.). The OS updates, that sometimes take AGES and multiple reboots. I mean damn, my debian testing just updated to the next major version without me even noticing. And of course the file system support, which is limited to some legacy file systems with character limits for paths, no case-sensitivity, no support for even the simplest punctuation characters in file names, etc.. And the option to hide extensions of file names in the explorer, that is enabled by default (Face palm level >9000!!). And, and, and, and... So much wow! Finally I can use the linux kernel and also experience all of these goodies. Amazing! Seriously, Windows 7 was actually a half-decent operating system. From there it went downhill lightning fast. If it weren't for all these amazing linux distros out there, I would probably even consider getting a mac. And now I feel gross for even thinking that. *shiver*
@@KnutBluetooth Your comment is also underrated. "packaging a turd beautifully" is exactly the situation, and to be fair, they did a fantastic job at it! Arguably, nowadays it's a bit better in some sense (Win10 is technically a better OS than say Seven), but worse in others (pretty sure there wasn't telemetry and other crap in 9x. there were backdoors though... and often not intentional).
Is that a borrow? I used to hear that every week day on the BBC radio programme "Listen with Mother", and the response "Then I'll begin" which came however I answered the Q Or is it a borrow from some similar US radio? Either way it's the first time I have heard it in any accent other than BBC RP English.
@@Name_cannot_be_blank well, sadly real linux distros need some much needed work desktop site. A lot of linux development mainly benefits servers or enterprise solutions. Windows is more tailored to the desktop experience
@@poopy9172 It's a Windows subsystem that runs Linux. The name makes sense since Windows NT was designed to have multiple subsystems (which these days is just Win32, but historically also OS/2 and POSIX, just like Dave talks about).
@@Name_cannot_be_blank please give me one reason why it sucks that Linux can run natively within Windows and interact with it. Windows is *the* most widely used desktop OS so if anything, it only makes learning Linux more easy and accessible for computer users. Of course that’s not enough for elitists like you, your kind probably rather’d see the evil Micro$oft burn because Linux users are always right and open software is the only way.
I love it when I have to pause a video to take in the details. No filler - that's a rare thing these days and I absolutely *love* these. For the record, pretty much like Dave, I have been using MS-DOS, Windows and Linux since they were invented. I started on CP/M, Commodore BASIC, Z80 and 6502 Assembly. In 1980 I didn't yet have an assembler and wrote *one* program in 6502 machine code. Man, that was hard work. I digress. Excellent work, Dave. I've ordered a mug. And I'm going to try and set my machine up like your. So excited!
I am a hardcore linux fanboi. Your channel makes me curious and interested in how Windows works, and I am incredibly grateful for its existence. Please keep making videos, they are amazing!
Likewise, I've primarily been a Windows user for many years, but I've always been fascinated by the cool stuff you can do with Linux. I have previously used a little bit of Raspian (the OS of Raspberry Pi), which is just a variant of Debian. I'm thinking of installing either Mint or Ubuntu on an HP laptop just to further test the Linux desktop experience.
Hate the fact I cannot like a video for every time I watch it. You'd have about 5 likes for this one already. Thanks for the content... Getting rid of CygWin was a blessing. Productivity increased to about 32% to 34% after moving into native. Really appreciate it.
@@joshuakb2 Thanks, came to the comments to set it straight^^ Based on what I think I know about git, you can pack git objects and it involves some sort of diffs but the other way around to keep the most recent version of a file instead of needing to reconstruct it.
@@joshuakb2 between storing compressed copies of whole files and storing diffs, they are not actually that different. Calculating diffs is basically a compression with pre-shared dictionary (the dictionary being the old file); compression of two or more very similar files is basically compressing the original file plus the diffs of the files.
It's cool to think that Dave Cutler who was the man behind Windows NT also contributed a lot to Hyper-V, the MS hypervisor. It's even cooler how Microsoft are now leveraging it - it's not a massively new thing, as Hyper-V has been around since the Server 2008 days; most on-prem servers at a business will either be VMware ESXi or Hyper-V. Really cool to see how it has matured and is now being used even on home machines. Makes sense given the massive power (and potential RAM) that even a normal consumer can have available on an affordable desktop/workstation.
@@lawrencedoliveiro9104 For the worse, yeah.... We would have been that old 60's "everything is a file" concept thing instead of the more powerful "everything is a securable object" ; no possibility of subsystems etc.
@@lawrencedoliveiro9104 These drive letters exist for the windows subsystem as a backward compatibility stuff with MS-DOS. But otherwise they are just convenience symlinks to the actual NT device paths "\Device\HarddiskVolumeX" etc. (equivalently, \\?\HarddiskVolumeX") that you could use instead, and that are the actual equivalent to these /dev/hdaX (or sdaX ...) of linux.
Dude, you really make breaking down this info like it's one of my best friends talking about how you got something working, and here, let me show you. Awesome info, super inviting, a little humor... This is an amazing recipe for a mega channel!
I remember when getting 2 serial ports to work at the same time was hard. Now I can develop code that runs the same on Windows and Linux using the brilliant Visual Studio, then if I need to, I can drop into the Unix command line and enjoy the same tools I used in the 80s!
Please tell me that you mean Visual Studio Code, not actually Visual Studio, that horrible 50GB pile of garbage is practically unusable compared to a basic makefile, compiler and linker setup
@@mcardellje89 Visual Studio quality has certainly gone down now that they do six releases a year versus 4 per decade but I use it every day and love it.
WSL (first version) came out when I was in college and I was so happy to tell my professors that they no longer needed VMs or Cygwin. This is great news!
For me, I run Linux with unactivated Windows 10 in a kernel virtual machine with GPU passthrough. It's my version of best of both worlds. Great video, man.
@@DavesGarage I got the iso from Microsoft's website. I can't change any "personalized" settings and I inconsistently get a watermark, but I mostly just use it for games or helping other Windows users with their questions. It's unactivated because I just don't care enough.
Great video! This is the first WSL2 video I've found that hasn't just been about installing it or general usage. One small complaint, the scanline font in the terminal is a bit hard on eyes, looking kind of blurry or dim.
Dave, This was/is wonderful! I’m a retired MSCSE / sysadmin / hacker / tinkerer (get the idea?). I’ve used VMware a lot (and Hyper-V a little) but I didn’t know you could really do this with deskto Windows. I’ve wanted to do this concept for years. It’s the perfect sysadmin’s warship! (Even if I don’t have 64 cores!) Please, please consider doing an update to this article, maybe 2 videos. You and I are fairly contemporary, as I’m 70 now. Encountered my first PDP-11 in 1979, CP/M in 1981, first PCs in 1983, …and I retired in 2021. In between? …history!
Have you ever considered making a website for written versions of tutorials like these? It wasn't hard to follow or understand, I just like reading. I also love hearing your experiences and opinions, and I'd definitely visit such a thing.
This kind of gets at the crux of the issue. I've installed Linux on HyperV, Windows on HyperV and Windows on QEMU and Linux on QEMU. Linux KVM is similar to Windows NT subsystems in that you can run any subsystem as long as you translate the calls. But thats slow. While Windows NT had the subsystem feature it was effectively useless for running other OSes until Microsoft supported the Linux subsystem. Well actually there was an exception to this which was a Linux kernel which emulated all its calls onto the Windows NT kernel and that predated Windows Subsystem for Linux. P.S. Windows NT is nice, HyperV sucks.
I actually use a Windows Machine on KVM Also if you do some manual XML editing you can really squeeze the overhead and make the Windows system think it isn't in a VM. Very nice for playing competitive online games
@@Furiends LOL, KVM is just a crutchy set of IOCTLs providing access to the CPU's facilities. And IO is handled in a very entangled way with it since it only allows inferior type 2 VMMs whereas Hyper-V is a type 1 HV.
@@Furiends "Well actually there was an exception to this which was a Linux kernel which emulated all its calls onto the Windows NT kernel and that predated Windows Subsystem for Linux." which linux was it?
I remember being a curious about how computers worked as a kid. Mostly when I was 8 and from then on. It all started with windows xp with the operating system being not only at school but at how where me and my dad would build custom computers even today we still do. And now I get to see one of the people behind windows xp is awsome. I thank you Rey much for inspiring me even if indirectly with wanting to know how computers work and leading to today where I’m studying at a university to code. U have been a great inspiration and I thank you for ur work to being people like me joy in using computers
Oh, it compiles so slowly? I guess CPUs weren't that fast when you started compiling. (just joking if it wasn't obvious. Greeting from ElementaryOS (because I am lazy and love the UI))
I'm sure some people won't see this as jolly as I do, but Microsoft really did bring the year of the Linux desktop to the masses. WSL 1 and 2 has been a wonderful tool in our development and devop arsenal and I'm still really impressed what can be done with the NT subsystems.
Oh, if that git repo has a ton of branches (and it probably does as kernel repos typically do), if you use the git option "--single-branch" you can save yourself some clone time :)
Or for the lazy (like me): git clone -b .git [] Tagged on the last part if you feel like naming the clone something else.. it can be handy at times. Cheers,
WSL is bliss, I am a Linux admin/developer and previously had to sit on macs or use Linux VM's in windows (as Linux is always great on servers, but not on desktops ) with WSL decade long holy war can be finally put to an end. one thing though - while WSL2 is fast, and gives direct I/O, because of the network stack and weird NAT implementation in WSL2, I went back to WSL v1 for my needs :)
I too had to go back to WSLv1 because I couldn't get WSL2 to talk to MySQL server running on the Windows side. Not sure if that's been worked out yet as I haven't looked into it since it initially launched. WSLv1 is still pretty awesome though, even if it's a little slower.
WSL2 is awesome! Now you can write some linux scripts (in bash, awk, or whatever you fancy) and run them on Windows. Your c: drive would be mapped to /mnt/c Docker Desktop also relies on WSL2.
Ultimate Hybrid OS is Linux + FreeBSD. Anything proprietary cannot be considered as good. I was hoping that MS software engineer would have come to his senses and would have installed Gentoo Linux. But as it has been with MS, I had to get disappointed. Well, at least I haven't been disappointed in 5 years because I migrated to Linux completely.
Dave, you forgot to mention one very key detail. In order for wsl --install to work you must be part of the Windows Insiders Program. I'm on version 1909 and the wsl command didn't work so I needed to do some googling and do a manual install of WSL. I really enjoy all of your videos.
Very good and instructive video. Take note that you should avoid editing the .config directly. menuconfig resolves the dependencies for you. Also you should not copy the .config. You should instead make a defconfig file that will make the .config for you.
"You don't need to worry about finding a distribution with an acceptable user interface, because you can use Windows with its excellent desktop shell as the host for all of the others." As someone who uses linux for the user interface, this hurts my head XD
@@DavesGarage Windows user interface = Pain. Actually my problem was Microsoft's remote access, even when it was off it was on! Result system partition remotely re-formatted three times by parties unknown to me, I now use Linux instead!
@@gorak9000 The Start Menu shows ADS? What the...? I haven't really used Windows since Windows 2000, so my surprise might be weird, but what the hell? How can people just accept that their OS shows ads?
@@jbird4478 I think it's the Windows 10/11 start menu app-reccomendation thing, but I use Open-Shell, a continuation of Classic Shell, for all my start menu things, plus I think it can be turned off as well, I wouldn't know entirely
Dave! Thank you for this video! I've been a heavy WSL/WSL2 user for a while now, and you cleared up a lot of questions I had about how WSL2 works with the Windows kernel. These videos have been a blast. Signed, another former Microsoft employee, albeit from the retail store side, as a service technician (RIP Microsoft Store; conversations with developers who would come into our shop will be sorely missed)
Excellent content! I've been toying with the idea of installing Linux on a machine from scratch, but running Windows and Linux side-by-side makes huge sense. Thank you.
As a Linux and FOSS fan, I tend to overlook Windows' clever features and design decisions as my focus is taken by the ideology on one side, and the not so great features and bloat on the other. Thanks for giving the devil its due and reminding us that truelly elegant features exist in Windows.
I cant speak for the devs. But my guess is that simply is not a requested feature. Linux users are more likely to be privacy aware and push for open source software. Having windows integrated into the Linux kernal would feel like a betrayal to the community and the principles behind Linux. Recently Rasbian Os, a flavour of Linux added Microsoft repos into their package manager, which gave Microsoft a way to get root privileges. And it sparked immediate outrage. Let alone an actual Windows integration.
@@dr.mounir.mallek most of the developed programs are hosted on Linux servers, thats why developers need to test it on a linux environment before deploying on a production server
That's so cool! I'd really love to dive deeper in such stuff. Maybe I have to quit my Java development career, because this low-level OS stuff, is what really thrills me.
Dave, I am SO disappointed you didn't use CTRL+SHIFT+ESC to open your task manager @12:02! My main gripe with WSL(2) is the lack of transparency of what it's doing, and that it doesn't work properly if you use VirtualBox. I like the older Windows Hypervisor UI but WSL is just there through a few obscure commands and it wasn't obvious to me how it worked.
While you’re on the topic of virtualization and Hyper-V, can you explain how Windows backwards compatibility works? What special stuff did XP do behind the scenes to run Windows 9x apps that wouldn’t work on Windows 2000?
I am not him ... But Linux lacks 1 thing that every OS supports. That is an ABI. Application Binary Interface. Reason is RMS thinks binary drivers and apps are evil for political reasons. So basically every driver and app has the pointers so the c/c++ can link and run. Since Linux lacks this it means the memory addresses change each kernel and api build so apps need to be recompiled unlike other operating systems. FreeBSD even had SCO ABIs which were mostly compatible with binaries
Everybody who is talking about Linux is talking about GNU/Linux. There has never been a time when one was interesting without the other. It’s just too cumbersome to state explicitly, and will never catch on. Sorry GNU. We love you, but not enough to say your name.
Hey Dave, I don't see anyone else commenting on this but actualy how git works, it makes use of very effeciënt snapshots which uses trees of file/blob references. This trick is especially efficiënt with duplicate files. It doesn't make use of diffs, all diffs are runtime generated
This is very enjoyable channel! While I personally dislike Windows so much, I do enjoy watching Dave's garage exactly because Dave seems to enjoy what he is doing, and he _does_ know his stuff, and that is what matters most! I can hate an "product" but deeply appreciate the man and his skills "making the product". After all these skills are needed for any product to exists.
We can find linux tinkering, but an ex microsoft employee, talking about ins and outs of windows? Not so much. My vote is on whatever you can show, or tell in detail about how windows does it manages, since it's much more closed and inaccessible
@@skilz8098 The only semi successful reverse engineering of windows is react OS, but i don't think it's good enough as a daily driver. It's the only one i know of that is clean room reverse engineered at least, as that's perfectly legal.
Amazing. I would love to have two monitors one with Windows one with Linux (I guess Kubuntu), but have only one computer. I want my mouse to float from the windows desktop on one monitor to the KDE desktop on the other. Depending on which desktop the mouse is one will determine which desktop receives the key presses from the keyboard. I thought of using virtualization and running windows and linux side by side, but did not know about WSL. Would love to see a full version of both available as boot options as well as having third WSL or some other form of virtualization to run both simultaneously.
@@akamenskiy VirtualBox is an hypervisor of type 2, HyperV is an hypervisor of type 1 Meaning VirtualBox run on top of your OS, HyperV below your OS. Virtualbox could not handle WSL2, it's not mean for it 😜
@@LordNementon It could, but that would be painful type 1 all the way... Microsoft did / are working on the ability provide hyper-v as an engine, so other virtualisation vendors could simply have their GUI / Managements tools which run on top of Hyper-V. No idea if / where that went.
@@affieuk It is finally an option to run VirtualBox with the Hyper-V native virtualization engine. It's still slower than VirtualBox's own hypervisor, but at least it doesn't BSOD anymore. VMware announced they were working in the same direction too.
@@rockytom5889 Using the Xen hypervisor instead of KVM would be more similar to what WSL2 is doing. With KVM your hypervisor is running inside of the host Linux, but with Xen your host Linux is running inside of the hypervisor.
> If you enjoy videos of people compiling software... Oh boy, do I enjoy watching software compile! It's extremely soothing to just sit back and watch the compilation messages whiz by, basking in the satisfaction that your fancy, expensive, thinking rock is hard at work producing something wonderful in real time right before your very eyes.
This reminds me of my first C++ professor. He would be typing away while talking, and we had to listen and read at the same time. It was discombobulating at first, but we got used to it. Eventually, we'd be typing away while listening and reading at the same time. I used to glance at my keyboard all the time whilst typing. That class broke me of the habit. 🤣🤣🤣
12:38 The windows interface is one of my biggest motivations for not using windows. But I love that we are at a time where we have viable choices to find what works best for us.
Windows+WSL2 is so much better than running Linux alone. You can run the incredibly large number of Windows-only programs, you can run Linux programs (including GUI apps), you can develop in any language (even languages like Ruby that kinda suck on Windows). The only thing you can't do is run GPU-accelerated Linux-only applications, which scientists theorize to exist, but none have been spotted in the wild.
That's actually not at all how git works. Subversion etc al. used diffs but git doesn't - each commit is a snapshot. Basically you take the content of all files and hast them - that's called a blob. A "file" is then just the metadata of the actual file + the hash identifying the blob of its content, and that gets hashed again. A directory is, again, metadata plus the hashed identifying all the files (and subdirectories) inaide which, again, gets hashed. That way if the content of a file, or directory, do not change in between commits, the hastes also stay the same and you just reference the old data - that's git's was of doing reduplication. But if you change a single by in a file, the whole contents is a new blob which her's stored separately - that's why git doesn't do well with large files. A commit is just metadata (commit message, hash of the previous commit, etc) + the has identifying the root directory and that gets hashed one last time. I admit though, that the output git produces during initial clone is a bit misleading.
Just to make sure I understand if I made a commit with a single 10 MB file and a 1 line change followed by another commit, my git directory would be roughly 20 MB holding both snapshots?
@@quickmana No, what Markus describes are the semantics. However, storage is done efficiently using deltas, and it’s a bit more clever than just diffs. I think if you change a file, commit it, then change it back to a previous version, git scans its history and can just point to that old entry instead. Also files that have the same contents can point to the same entry. And since directories are just metadata, this is true globally.
@@IoannisNousias Yes and no. If you change 1 line, add and commit the change, you definitely do make a second, full copy of the file. You'll find the new copy of the file, named for the last 38 characters of its own hash, in a folder named for the first 2 characters thereof in the objects folder, just like the first one. Remember, git is "the stupid content tracker" (see `man git`). The hashed file it stores will likely be smaller than the original, as object files are zlib compressed, after a tiny header of type (blob, tree, commit, etc) and filesize (in bytes, IIRC), and a terminating null byte are prepended. If you change the file back and recommit it, git does not scan any history. It hashes the file, just as it would hash any file, and then attempts to writes it to a file by that hash name in the objects folder, but this time the hash will exactly match the hash from 2 commits ago, and so it won't save any new data, because that hash already exists on disk. I've tested this before, and the original version was not overwritten, i.e. the modification time didn't change, so it appears git completely skips saving the file if the hash exists on disk. To scan would be smart/clever, which git eschews. What if an exactly matching version of the file existed 1500 commits ago on a far away branch? What if you sprinkled a dozen copies of the same license file all through your project's hierarchy? Git doesn't have to think about any of that. Scanning for such things would take forever. It just dumbly hashes each file in turn, tries to write it, sees a file already exists by that hash name, and skips it, no thinking required. Everything I said here goes out the window with pack files (and their associated idx files). These are created at various times, such as when you clone a repo; instead of pulling down all the loose files, git does a bunch of heuristically clever things, taking into account file names, closeness in directory structure (IIRC), modification times, etc., with tricks like sliding windows, all to compress all of the loose objects down into a pack file. The idx file is some kind of index into that pack file, so it's quick to retrieve data from inside. This is where my knowledge breaks down. It could very well be that there are deltas used in there, but before things are packed, which only occurs during particular operations, like cloning, it's all loose, full copies of everything, everywhere. I have long-lived repos, years old, that I've never moved from my machine, which don't have pack files, and just have thousands of loose files, and tons of full file copies with minor changes.
@@gfixler Git's storage strategy is great but 99% of developers just need to push or pull a copy of the latest branch to an authoritative server. I shouldn't have to clone the whole repo just to get one file. It should pull the files as I try to open/read them. It should present the repo as a virtual file system and just be completely transparent.
@@NillKitty but that's not really compatible with git's design goals. One major goal of git is to allow you to use it while offline. That's a decision Linus made in the very beginning (probably because mobile internet wasn't really a thing back then), and so it's ingrained in its architecture.
Using WSL still doesn't solve the biggest problems for most Linux users with Windows, which is that they don't trust Microsoft, don't like the bloat and candy crush ads that come with Windows (10), don't like the way windows 10 looks or want to have more control over their machine.
Microsoft boat is right. We are switching from Google suite to Microsoft suite due to new corporate overlords. Teams uses a lot more resources than Google Meet. Even though Teams is an app and Meet runs in a browser. My MacBook Pro can't run anything else with Teams without stuttering. Rarely problems with Meet. Teams also uses more power than my power brick can supply (yes I picked up the power brick for the smaller MBP but Teams is the only work related application that causes this problem) so if I had an all day meeting I wouldn't have enough battery!
If you took half the time to configure Windows that you took complaining about it, you'd know that the ads (which aren't even in every edition) are easily disabled, a fresh install comes with zero bloat and every component is removable, the entire UI is skinnable and the shell flat-out replaceable, and you can control almost anything you could ever want to down to kernel-level parameters if you just have the right tools (which are probably not in the grandma edition you seem to have installed). I can pick a random distro and point fingers about bloat and lack of customization too. It seems like you've installed Windows home edition (e.g. what they give grandmas) and are expecting it to be Windows Enterprise or Windows Server (something that more approximates a lean linux distro). All Windows isn't the same any more than "all linux is the same". Your critique sounds like you used Windows pre-installed on a cheap computer you got from Wal-mart and couldn't find the advanced settings so you think that's all there is to Windows. Install Windows Enterprise, open the group policy editor, and call me up if you can't find something you actually want to change about the OS. Hint: You can turn off the ads, all communication with Microsoft, Cortana, Bing, as well as opt-out of all programs that have privacy considerations from the same screen that's part of the Windows first-time set up.
I'm a retired nuclear engineer who has run both Windows and Linux (not counting IBM mainframes, DECSystem 10, VAX/VMS, AIX, HP-UX, and Solaris), having dual booted Red Hat with Windows 3.1. I have some applications that I need to compile and run in Linux. If I were still earning a significant amount of money from consulting I would have separate dedicated systems, but since I can afford only one new good PC at this time, using WSL2 is going to be a real boon to me. Thanks for the good information.
I keep seeing that ending you have there and remembering my dad saying, "Well son, what do you expect me to do? Sit in a rocking chair?" when I told him that people don't usually retire and go work on their own farm. Especially when they've been doing electrical engineering most of their lives. Thanks, Dave.
5:40 you're doing it the hard way. With APT you can also type: Apt-get build-deps linux-image-generic And it will select the required packages automatically!
Fascinated by your stories about MS and the operating systems. I would be very interested in an OS fundamentals video, like how do things work under the hood sort of video.
Didn't even watch the full video yet, but I did scroll through the comments and it looks like people are missing the point. I'm in a situation where my QA (and associate manager) is on Windows, but he's tech-savvy enough to be able to use my deploy scripts for our production OS (Gentoo-based), but that deploy script uses block devices and co, not stuff you'd typically have access to on Windows. We thought WSL2 would save us (and it probably could!) but for now we're using VBox. That's very suboptimal though, so this video guide will probably help us make a better infra around this. It's not about realistically bringing Linux crowd back to Windows - rather making Windows workable for eg embedded Linux development and co, because there ARE situations where you'll want a Windows person to do Linux things.
"and Task Manager, because, well, Task Manager..." You got me lol....
Thanks, I liked that line, just felt right :-)
@@DavesGarage lol I use it way more then necessary, but I love the view into what my computer is doing.
Sometimes I wish life had a Task Manager so when something just isn't right you could get a handy list of what's eating up all the clock cycles, kill off misbehaving processes, locate memory leaks and the like... Thanks for best laugh of my day Dave.
@@DavesGarage Hey, Dave is there an easy way to migrate your windows installation from one disk to another on your PC (both being and remaining connected and used) Without complete re installation? In my case I have added a SSD to an older laptop and would like to move Windows 10 to it for the added performance(older disk was a hard drive). Cheers and thanks for all your amazing content.
Awesome video, Dave! Would definitely love an opportunity to pick your brain sometime. Did you by any chance ever meet or work with a guy named Lex when you were at Microsoft? My uncle in the music industry is somehow affiliated with him and apparently he had a big part in Windows 10 early on.
I am glad to see that even a former Windows Dev at times accidentally types "ls" instead of "dir",
its nice to know i'm not the only one who keeps confusing the two XD
Of course you could always alias dir to ls in Linux.
@@gorak9000 legacy. The command prompt hasn't changed much over the years and because of that you can run a batch file from ten years ago and mostly be guaranteed that it'll work
@@gorak9000 Linux has a veritable smorgasbord of functions and commands, whereas cmd is fairly limited. But the commands available to you on a Linux distro could differ, whereas with Windows you know without a doubt that this set of commands is going to be available
@@robbyandrews223 Hmm, but can i alias ls to dir in cmd? 'cause thats the way i tend to get it mixed up
@@gorak9000 The only times i use a shell at all is when pinging something for testing, or on those occasions where i end up compiling manually via command line, rather than via the IDE. Soo, i dont particularly care which one i use, as long as it has ping, tracert, and i know how to navigate directories
Dave, or whoever did the subtitles, thank you so much. It really helps people with hearing issues, and we appreciate the extra effort.
Thanks for letting me know! The autogenerated ones are awfully impressive, but I write it out in Word so you have the right capitalization and punctuation, etc :-)
I don't really have hearing issues, but it helps when I watch the video and there is some noise going on and I don't need to rewind or put on a headset to get what you are saying! 😊
@@DavesGarage Generally the autogenerated ones are impressively awful. I guess it's different for American accents. Some version of the Redmond effect maybe.
I don't have any hearing issues, I don't have trouble understanding speech either but I still have them enabled just because I like it. Thanks, Dave!
@@DavesGarage Just autism things. Now if you'll excuse, it's been at _least_ half an hour since I've combed my hair...
Damn, this is a good channel
Thanks!
Dave enjoys it and it shows, always happy to see the next video on the top of my youtube recommendations
Even ignoring his former MS employee creds (which are pretty damn cool), the content is always great and presented without all the BS that seems to come with so many other YT channels. Keep it up!
Before digging thought the BIOS for checking/turning on Virtualization. Just open Task Manager and in the CPU Tab in the Bottom right it will tell you if Virtualization is enabled. See 7:50
nice, thanks.
Nice, thanks a lot!
Task Manager saves the day again.
@@Alche_mist "... because Task Manager :D "
Lol he just casually brings up that he has 64 CPU cores
Hey, I was feeling insecure because I didn't have 128...
Yea 64 is so commonplace nowadays, I think you should go straight to 256 😂💪🏻
@@talesmaschio “640 cores is more than anyone will ever need”
-Gill Bates
@@TheChills00 That was about memory right? whatever I will take it as a joke, a good one :]
@@amalirfan indeed it was about memory, however it was a misquote originally
Best of both worlds: Linux command line with world class telemetry and gag order backdoors.
This comment is underrated
He could've installed XFCE with a windows-like theme at this point
@@noblesavage149 It's not just M$. Looking back at computing history reveals that it's never the companies that base their strategy on simply making better software then the competition that are succesful: Digital Research, OS/2, WordPerfect, Borland, Be, NeXT. You make more money selling cheap software that requires less programmer time and years to complete and then you capture the market and gain a stranglehold. The only requirement is that it must not look cheap. If M$ had one single super power it was the ability to package a turd beautifully.
AND you also get the preinstalled ad-/bloat-/spyware that comes with windows 10 and that reappears with some updates even when you initially uninstalled it. AND of course Cortana, which is deliberately hard to disable completely without breaking the local search functionality. Speaking of local search... let's not forget the start menu search bar: When you type the exact name of a software you've installed, it usually offers you either it's installer from your download directory or some random document that happens to have that name in it somewhere, or it searches for that word using bing - but it definitely doesn't give you the one program with that exact name. How do you even code something like that? Got to be some advanced AI driven awesomeness there! There's so much stuff you'd be missing out on if you'd just use a decent linux distro in the first place. Here's one more thing: The BS that runs in the background consuming a decent amount of CPU time (at least on my laptop) even though the user never asked for that to happen in the first place (updating search index, anti-malware stuff, windows updates, etc.). The OS updates, that sometimes take AGES and multiple reboots. I mean damn, my debian testing just updated to the next major version without me even noticing. And of course the file system support, which is limited to some legacy file systems with character limits for paths, no case-sensitivity, no support for even the simplest punctuation characters in file names, etc.. And the option to hide extensions of file names in the explorer, that is enabled by default (Face palm level >9000!!). And, and, and, and...
So much wow! Finally I can use the linux kernel and also experience all of these goodies. Amazing!
Seriously, Windows 7 was actually a half-decent operating system. From there it went downhill lightning fast. If it weren't for all these amazing linux distros out there, I would probably even consider getting a mac. And now I feel gross for even thinking that. *shiver*
@@KnutBluetooth Your comment is also underrated. "packaging a turd beautifully" is exactly the situation, and to be fair, they did a fantastic job at it! Arguably, nowadays it's a bit better in some sense (Win10 is technically a better OS than say Seven), but worse in others (pretty sure there wasn't telemetry and other crap in 9x. there were backdoors though... and often not intentional).
"Are you sitting comfortably"
My man I'm shrimping it up over here.
Is that a borrow? I used to hear that every week day on the BBC radio programme "Listen with Mother", and the response "Then I'll begin" which came however I answered the Q
Or is it a borrow from some similar US radio?
Either way it's the first time I have heard it in any accent other than BBC RP English.
You are not selling anything, but you are educating people and explaining a lot of things. This is better! Keep up the good work!
WSL is such a great thing, ten years ago I would have called you crazy if you described this working so well
Windows Subsystem for Linux is a joke.
It should have been called Linux Subsystem for Windows.
Because, you know... This is exactly what this is.
Get real linux or not,
It sucks that now you can do it on windows
@@Name_cannot_be_blank well, sadly real linux distros need some much needed work desktop site. A lot of linux development mainly benefits servers or enterprise solutions. Windows is more tailored to the desktop experience
@@poopy9172 It's a Windows subsystem that runs Linux. The name makes sense since Windows NT was designed to have multiple subsystems (which these days is just Win32, but historically also OS/2 and POSIX, just like Dave talks about).
@@Name_cannot_be_blank please give me one reason why it sucks that Linux can run natively within Windows and interact with it.
Windows is *the* most widely used desktop OS so if anything, it only makes learning Linux more easy and accessible for computer users.
Of course that’s not enough for elitists like you, your kind probably rather’d see the evil Micro$oft burn because Linux users are always right and open software is the only way.
I love it when I have to pause a video to take in the details. No filler - that's a rare thing these days and I absolutely *love* these. For the record, pretty much like Dave, I have been using MS-DOS, Windows and Linux since they were invented. I started on CP/M, Commodore BASIC, Z80 and 6502 Assembly. In 1980 I didn't yet have an assembler and wrote *one* program in 6502 machine code. Man, that was hard work. I digress. Excellent work, Dave. I've ordered a mug. And I'm going to try and set my machine up like your. So excited!
5:03 The production value for things like callout graphics is so good it's like this is a microsoft training video
I am a hardcore linux fanboi.
Your channel makes me curious and interested in how Windows works, and I am incredibly grateful for its existence. Please keep making videos, they are amazing!
Likewise, I've primarily been a Windows user for many years, but I've always been fascinated by the cool stuff you can do with Linux. I have previously used a little bit of Raspian (the OS of Raspberry Pi), which is just a variant of Debian. I'm thinking of installing either Mint or Ubuntu on an HP laptop just to further test the Linux desktop experience.
Hate the fact I cannot like a video for every time I watch it. You'd have about 5 likes for this one already. Thanks for the content... Getting rid of CygWin was a blessing. Productivity increased to about 32% to 34% after moving into native. Really appreciate it.
"[...]based on what I *think* I know about git[...]" Now that's how you know this is a smart man!
Yeah, especially since he's wrong about how Git works in this case lol. Git doesn't store diffs, it stores compressed copies of whole files
@@joshuakb2 Thanks, came to the comments to set it straight^^ Based on what I think I know about git, you can pack git objects and it involves some sort of diffs but the other way around to keep the most recent version of a file instead of needing to reconstruct it.
@@joshuakb2 between storing compressed copies of whole files and storing diffs, they are not actually that different.
Calculating diffs is basically a compression with pre-shared dictionary (the dictionary being the old file); compression of two or more very similar files is basically compressing the original file plus the diffs of the files.
"if you like watching code compile with task manager up and piano music in the background" y..yes i do
Only when Dave is at the keyboard. His code is special.
It's cool to think that Dave Cutler who was the man behind Windows NT also contributed a lot to Hyper-V, the MS hypervisor. It's even cooler how Microsoft are now leveraging it - it's not a massively new thing, as Hyper-V has been around since the Server 2008 days; most on-prem servers at a business will either be VMware ESXi or Hyper-V. Really cool to see how it has matured and is now being used even on home machines. Makes sense given the massive power (and potential RAM) that even a normal consumer can have available on an affordable desktop/workstation.
Just think: NT could have been designed a lot differently if Cutler hadn’t been a Unix hater ...
@@lawrencedoliveiro9104 For the worse, yeah.... We would have been that old 60's "everything is a file" concept thing instead of the more powerful "everything is a securable object" ; no possibility of subsystems etc.
@@hbm293 And you ended up with drive letters.
@@lawrencedoliveiro9104 These drive letters exist for the windows subsystem as a backward compatibility stuff with MS-DOS. But otherwise they are just convenience symlinks to the actual NT device paths "\Device\HarddiskVolumeX" etc. (equivalently, \\?\HarddiskVolumeX") that you could use instead, and that are the actual equivalent to these /dev/hdaX (or sdaX ...) of linux.
@@hbm293 But still so much software can only install to the C: drive.
Flexes compiling the Linux Kernal on a threadripper...
me: *sad core i7 thinkpad noises*
me: sad i3 3210m noises
me: sad core i5 8265U noises
Me: sad Celeron J1900 noises
me: sad Core2Quad Q9650 noises
my grandma's: sad Pentium 4 noises
Pentium 4 : guess I'll just die
Dude, you really make breaking down this info like it's one of my best friends talking about how you got something working, and here, let me show you. Awesome info, super inviting, a little humor... This is an amazing recipe for a mega channel!
"Look at uptime"
* immediately covers it with subscribe request
Well played
I remember when getting 2 serial ports to work at the same time was hard. Now I can develop code that runs the same on Windows and Linux using the brilliant Visual Studio, then if I need to, I can drop into the Unix command line and enjoy the same tools I used in the 80s!
Please tell me that you mean Visual Studio Code, not actually Visual Studio, that horrible 50GB pile of garbage is practically unusable compared to a basic makefile, compiler and linker setup
@@mcardellje89 Visual Studio quality has certainly gone down now that they do six releases a year versus 4 per decade but I use it every day and love it.
@@mcardellje89 You could just keep VS 2005 or 2010. They weren't 50GB at that time.
@@YoureUsingWordsIncorrectly i know, i only complained about Visual Studio, not code
I'm loving the constant up and down inflection through the entire video
WSL (first version) came out when I was in college and I was so happy to tell my professors that they no longer needed VMs or Cygwin.
This is great news!
I'm just a humble PC computer mid-wit, but I just love this guy. Just found this channel and watched a few videos. Fantastic!
For me, I run Linux with unactivated Windows 10 in a kernel virtual machine with GPU passthrough. It's my version of best of both worlds. Great video, man.
Sounds sketchy to me. Why not activate your software properly, if it's not stolen?
@@DavesGarage I got the iso from Microsoft's website. I can't change any "personalized" settings and I inconsistently get a watermark, but I mostly just use it for games or helping other Windows users with their questions. It's unactivated because I just don't care enough.
It’s good to see that even a Microsoft dev reflexively writes ls instead of dir in command prompt
Usually, programmers know more than one language!
if somebody had told me 10 years ago that such a video would exist I'd punch them in the face from the sheer shock factor
World class content! This is the most underrated channel in TH-cam!
Great video! This is the first WSL2 video I've found that hasn't just been about installing it or general usage. One small complaint, the scanline font in the terminal is a bit hard on eyes, looking kind of blurry or dim.
I love the pauses in the same take. I don't think I could narrate this without multiple cuts or takes
I'd like to hear more about your Amiga days, outside of the little that you've talked about it.
No one from the Amiga scene would end up working on windows, it goes against all their religious beliefs.
Dave,
This was/is wonderful! I’m a retired MSCSE / sysadmin / hacker / tinkerer (get the idea?). I’ve used VMware a lot (and Hyper-V a little) but I didn’t know you could really do this with deskto Windows. I’ve wanted to do this concept for years. It’s the perfect sysadmin’s warship! (Even if I don’t have 64 cores!)
Please, please consider doing an update to this article, maybe 2 videos.
You and I are fairly contemporary, as I’m 70 now. Encountered my first PDP-11 in 1979, CP/M in 1981, first PCs in 1983, …and I retired in 2021. In between? …history!
Have you ever considered making a website for written versions of tutorials like these? It wasn't hard to follow or understand, I just like reading. I also love hearing your experiences and opinions, and I'd definitely visit such a thing.
You my good man provide a constant source of challenges for this old man.
I'd rather have Windows on KVM than Linux on HyperV.
yeah, except windows drivers don't always play nice with kvm systems hw passthrou (only way to get close to native performance)
This kind of gets at the crux of the issue. I've installed Linux on HyperV, Windows on HyperV and Windows on QEMU and Linux on QEMU. Linux KVM is similar to Windows NT subsystems in that you can run any subsystem as long as you translate the calls. But thats slow. While Windows NT had the subsystem feature it was effectively useless for running other OSes until Microsoft supported the Linux subsystem. Well actually there was an exception to this which was a Linux kernel which emulated all its calls onto the Windows NT kernel and that predated Windows Subsystem for Linux.
P.S. Windows NT is nice, HyperV sucks.
I actually use a Windows Machine on KVM
Also if you do some manual XML editing you can really squeeze the overhead and make the Windows system think it isn't in a VM. Very nice for playing competitive online games
@@Furiends LOL, KVM is just a crutchy set of IOCTLs providing access to the CPU's facilities. And IO is handled in a very entangled way with it since it only allows inferior type 2 VMMs whereas Hyper-V is a type 1 HV.
@@Furiends "Well actually there was an exception to this which was a Linux kernel which emulated all its calls onto the Windows NT kernel and that predated Windows Subsystem for Linux." which linux was it?
I remember being a curious about how computers worked as a kid. Mostly when I was 8 and from then on. It all started with windows xp with the operating system being not only at school but at how where me and my dad would build custom computers even today we still do. And now I get to see one of the people behind windows xp is awsome. I thank you Rey much for inspiring me even if indirectly with wanting to know how computers work and leading to today where I’m studying at a university to code. U have been a great inspiration and I thank you for ur work to being people like me joy in using computers
Gentoo user here. Been building Gentoo from scratch for over a decade now.
Me too. WSL? No thanks ... Wine 🍷on Linux works just fine!!!
Oh, it compiles so slowly? I guess CPUs weren't that fast when you started compiling. (just joking if it wasn't obvious. Greeting from ElementaryOS (because I am lazy and love the UI))
_"Been building Gentoo from scratch for over a decade now."_
And it's not finished building yet!? 😋 (just kidding...)
@@kabochaVA I think the longest I had to wait was a few weeks. This was on a MyBook Live.
@@SimbaSeven. 😲😲😲
I'm sure some people won't see this as jolly as I do, but Microsoft really did bring the year of the Linux desktop to the masses. WSL 1 and 2 has been a wonderful tool in our development and devop arsenal and I'm still really impressed what can be done with the NT subsystems.
Oh, if that git repo has a ton of branches (and it probably does as kernel repos typically do), if you use the git option "--single-branch" you can save yourself some clone time :)
And, let's not forget that if you don't need the full history of the source, you can use --depth 2 (or 1, or whatever number of commits)
@@cocusar good point!!
I would recommend --depth 1
Or for the lazy (like me):
git clone -b .git []
Tagged on the last part if you feel like naming the clone something else.. it can be handy at times.
Cheers,
WSL is bliss, I am a Linux admin/developer and previously had to sit on macs or use Linux VM's in windows (as Linux is always great on servers, but not on desktops ) with WSL decade long holy war can be finally put to an end. one thing though - while WSL2 is fast, and gives direct I/O, because of the network stack and weird NAT implementation in WSL2, I went back to WSL v1 for my needs :)
I too had to go back to WSLv1 because I couldn't get WSL2 to talk to MySQL server running on the Windows side. Not sure if that's been worked out yet as I haven't looked into it since it initially launched. WSLv1 is still pretty awesome though, even if it's a little slower.
Ok this is cool as hell I had no idea you could do this now.
WSL2 is awesome!
Now you can write some linux scripts (in bash, awk, or whatever you fancy) and run them on Windows. Your c: drive would be mapped to /mnt/c
Docker Desktop also relies on WSL2.
This is one of the best knowledge bombs I’ve seen on WSL. I’m excited to dig into this much deeper. Loving the videos.
Ultimate Hybrid OS is Linux + FreeBSD. Anything proprietary cannot be considered as good. I was hoping that MS software engineer would have come to his senses and would have installed Gentoo Linux. But as it has been with MS, I had to get disappointed. Well, at least I haven't been disappointed in 5 years because I migrated to Linux completely.
Dave, you forgot to mention one very key detail. In order for wsl --install to work you must be part of the Windows Insiders Program. I'm on version 1909 and the wsl command didn't work so I needed to do some googling and do a manual install of WSL. I really enjoy all of your videos.
Sorry, I didn't know that, actually! Thanks for letting us know!
Very good and instructive video. Take note that you should avoid editing the .config directly. menuconfig resolves the dependencies for you. Also you should not copy the .config. You should instead make a defconfig file that will make the .config for you.
sweet,it is very nice to watch someone as knowledgeable and exiting as you
"You don't need to worry about finding a distribution with an acceptable user interface, because you can use Windows with its excellent desktop shell as the host for all of the others."
As someone who uses linux for the user interface, this hurts my head XD
Odds are your head just hurts from the Linux user interface :-)
@@DavesGarage Windows user interface = Pain. Actually my problem was Microsoft's remote access, even when it was off it was on! Result system partition remotely re-formatted three times by parties unknown to me, I now use Linux instead!
@@gorak9000 The Start Menu shows ADS? What the...? I haven't really used Windows since Windows 2000, so my surprise might be weird, but what the hell? How can people just accept that their OS shows ads?
@@jbird4478 I think it's the Windows 10/11 start menu app-reccomendation thing, but I use Open-Shell, a continuation of Classic Shell, for all my start menu things, plus I think it can be turned off as well, I wouldn't know entirely
Dave! Thank you for this video! I've been a heavy WSL/WSL2 user for a while now, and you cleared up a lot of questions I had about how WSL2 works with the Windows kernel. These videos have been a blast.
Signed,
another former Microsoft employee, albeit from the retail store side, as a service technician (RIP Microsoft Store; conversations with developers who would come into our shop will be sorely missed)
"'ls' is not recognized as an internal or external command, operable program or batch file."
Excellent content! I've been toying with the idea of installing Linux on a machine from scratch, but running Windows and Linux side-by-side makes huge sense. Thank you.
Why not just dual-boot? I have that on my laptop - Win 8.1 and Mint 18. The desktop is only Mint 20.2.
I do very much like watching people compile Linux Kernels set to piano music. So I did subscribe. Awesome concept and video.
Hey Dave, I love the Friendly Giant reference at the end. He was always my favourite.
As a Linux and FOSS fan, I tend to overlook Windows' clever features and design decisions as my focus is taken by the ideology on one side, and the not so great features and bloat on the other.
Thanks for giving the devil its due and reminding us that truelly elegant features exist in Windows.
I wonder why this level of integration is not yet done the other way
I cant speak for the devs. But my guess is that simply is not a requested feature. Linux users are more likely to be privacy aware and push for open source software. Having windows integrated into the Linux kernal would feel like a betrayal to the community and the principles behind Linux.
Recently Rasbian Os, a flavour of Linux added Microsoft repos into their package manager, which gave Microsoft a way to get root privileges. And it sparked immediate outrage. Let alone an actual Windows integration.
And yet. It's not Windows itself that has elegant features, it's the underlying NT kernel / system.
@@dr.mounir.mallek most of the developed programs are hosted on Linux servers, thats why developers need to test it on a linux environment before deploying on a production server
Good thing there's not much to overlook, haha.
This video has pushed me over the edge into actually trying Linux for the first time.
That's so cool! I'd really love to dive deeper in such stuff. Maybe I have to quit my Java development career, because this low-level OS stuff, is what really thrills me.
Dave, I am SO disappointed you didn't use CTRL+SHIFT+ESC to open your task manager @12:02! My main gripe with WSL(2) is the lack of transparency of what it's doing, and that it doesn't work properly if you use VirtualBox. I like the older Windows Hypervisor UI but WSL is just there through a few obscure commands and it wasn't obvious to me how it worked.
That was very cool! Hoping you’ll do the xwindows in a future video.
PS, you’re starting to get this Bob Ross vibe, which is a good thing 😀
I just discovered your channel a few days ago and I absolutely love your stuff. Thank you
mkdir -p option to create subdirectories:
`mkdir -p ~/source/Linux`
Thank you Dave for all your excellent videos. I and many others really appreciate all your efforts. Please keep them coming :) Thank you.
While you’re on the topic of virtualization and Hyper-V, can you explain how Windows backwards compatibility works? What special stuff did XP do behind the scenes to run Windows 9x apps that wouldn’t work on Windows 2000?
Good question.
depends on which program you mean its sometimes access violations, dll missiong or fx in wrong part of dll or missing etc...
I am not him ... But Linux lacks 1 thing that every OS supports. That is an ABI. Application Binary Interface. Reason is RMS thinks binary drivers and apps are evil for political reasons. So basically every driver and app has the pointers so the c/c++ can link and run. Since Linux lacks this it means the memory addresses change each kernel and api build so apps need to be recompiled unlike other operating systems. FreeBSD even had SCO ABIs which were mostly compatible with binaries
@@timothygibney5656 im pretty sure your are only talking about gnu+linux since linux is only kernel but also it has its own abi for posix calls
Everybody who is talking about Linux is talking about GNU/Linux. There has never been a time when one was interesting without the other. It’s just too cumbersome to state explicitly, and will never catch on. Sorry GNU. We love you, but not enough to say your name.
Hey Dave, I don't see anyone else commenting on this but actualy how git works, it makes use of very effeciënt snapshots which uses trees of file/blob references. This trick is especially efficiënt with duplicate files. It doesn't make use of diffs, all diffs are runtime generated
"if you don't at least have a giant neck beard..."....Priceless!
This is very enjoyable channel! While I personally dislike Windows so much, I do enjoy watching Dave's garage exactly because Dave seems to enjoy what he is doing, and he _does_ know his stuff, and that is what matters most! I can hate an "product" but deeply appreciate the man and his skills "making the product". After all these skills are needed for any product to exists.
So when can we see a Linux Dev building the Windows kernel? 😂
Windows kernel need's to be opensource for that
These replies belong on /r/woooosh
edit: I see some of them have been deleted/hidden.
So, not an official dev, but there's a guy in youtube named mental outlaw who compiled the leaked Windows XP code successfully and got it working.
Who wants to. With all the backdoors
@@donavonmartionson4724 to remove the backdoors?
Stumbled on your channel and now hooked :).
We can find linux tinkering, but an ex microsoft employee, talking about ins and outs of windows? Not so much. My vote is on whatever you can show, or tell in detail about how windows does it manages, since it's much more closed and inaccessible
True, but i think he has to be a bit extra careful on what he says, the ins and outs of windows are extremely confidential.
@@CounterFlow64 That's what reverse engineering is for...
@@skilz8098 The only semi successful reverse engineering of windows is react OS, but i don't think it's good enough as a daily driver. It's the only one i know of that is clean room reverse engineered at least, as that's perfectly legal.
Coming to a Windows shop after 24 years as a *nix geek, WSL saved my sanity. Really enjoy your channel, Dave.
You can tell we are dealing with a professional, when C++ compiles on the first try.
C, not C++ 😉
If my C++ compiles first time, my first thought is always “oh no, now I don’t know how I messed up”
wen you are usin right version of compiler tools with right and stable version of source it allways compile fine ;p
A successful first compile is half elation, half bewilderment, and half dread.
@@martinsauer4854 C is not a "subset of C++". MSVC only recently supported C17 and it isn't even fully C11 conformant.
Subbed and liked, as a converted (to) Linux user/tinkerer who games on Windows 10, this is so interesting, can't wait to see what is coming up next!
Amazing. I would love to have two monitors one with Windows one with Linux (I guess Kubuntu), but have only one computer. I want my mouse to float from the windows desktop on one monitor to the KDE desktop on the other. Depending on which desktop the mouse is one will determine which desktop receives the key presses from the keyboard. I thought of using virtualization and running windows and linux side by side, but did not know about WSL. Would love to see a full version of both available as boot options as well as having third WSL or some other form of virtualization to run both simultaneously.
This video is infinitely more interesting than the title, title card, or description let on
WSL: From now, you can run linux on Hypervisor.
Virtual Box: Do i look like a joke to you?
@@akamenskiy VirtualBox is an hypervisor of type 2, HyperV is an hypervisor of type 1
Meaning VirtualBox run on top of your OS, HyperV below your OS.
Virtualbox could not handle WSL2, it's not mean for it 😜
@@LordNementon It could, but that would be painful type 1 all the way... Microsoft did / are working on the ability provide hyper-v as an engine, so other virtualisation vendors could simply have their GUI / Managements tools which run on top of Hyper-V. No idea if / where that went.
@@affieuk It is finally an option to run VirtualBox with the Hyper-V native virtualization engine. It's still slower than VirtualBox's own hypervisor, but at least it doesn't BSOD anymore. VMware announced they were working in the same direction too.
@@LordNementon
Or you could, you know, install a linux based system and use its kvm hypervisor which can also pass hardware to the vm...
@@rockytom5889 Using the Xen hypervisor instead of KVM would be more similar to what WSL2 is doing. With KVM your hypervisor is running inside of the host Linux, but with Xen your host Linux is running inside of the hypervisor.
> If you enjoy videos of people compiling software...
Oh boy, do I enjoy watching software compile! It's extremely soothing to just sit back and watch the compilation messages whiz by, basking in the satisfaction that your fancy, expensive, thinking rock is hard at work producing something wonderful in real time right before your very eyes.
"I'm going to give it 64 threads because it's getting a little cold out here in the shop"
This reminds me of my first C++ professor. He would be typing away while talking, and we had to listen and read at the same time. It was discombobulating at first, but we got used to it. Eventually, we'd be typing away while listening and reading at the same time. I used to glance at my keyboard all the time whilst typing. That class broke me of the habit. 🤣🤣🤣
12:38 The windows interface is one of my biggest motivations for not using windows. But I love that we are at a time where we have viable choices to find what works best for us.
Windows+WSL2 is so much better than running Linux alone. You can run the incredibly large number of Windows-only programs, you can run Linux programs (including GUI apps), you can develop in any language (even languages like Ruby that kinda suck on Windows). The only thing you can't do is run GPU-accelerated Linux-only applications, which scientists theorize to exist, but none have been spotted in the wild.
That's actually not at all how git works. Subversion etc al. used diffs but git doesn't - each commit is a snapshot. Basically you take the content of all files and hast them - that's called a blob. A "file" is then just the metadata of the actual file + the hash identifying the blob of its content, and that gets hashed again. A directory is, again, metadata plus the hashed identifying all the files (and subdirectories) inaide which, again, gets hashed. That way if the content of a file, or directory, do not change in between commits, the hastes also stay the same and you just reference the old data - that's git's was of doing reduplication. But if you change a single by in a file, the whole contents is a new blob which her's stored separately - that's why git doesn't do well with large files. A commit is just metadata (commit message, hash of the previous commit, etc) + the has identifying the root directory and that gets hashed one last time.
I admit though, that the output git produces during initial clone is a bit misleading.
Just to make sure I understand if I made a commit with a single 10 MB file and a 1 line change followed by another commit, my git directory would be roughly 20 MB holding both snapshots?
@@quickmana No, what Markus describes are the semantics. However, storage is done efficiently using deltas, and it’s a bit more clever than just diffs. I think if you change a file, commit it, then change it back to a previous version, git scans its history and can just point to that old entry instead. Also files that have the same contents can point to the same entry. And since directories are just metadata, this is true globally.
@@IoannisNousias Yes and no. If you change 1 line, add and commit the change, you definitely do make a second, full copy of the file. You'll find the new copy of the file, named for the last 38 characters of its own hash, in a folder named for the first 2 characters thereof in the objects folder, just like the first one. Remember, git is "the stupid content tracker" (see `man git`). The hashed file it stores will likely be smaller than the original, as object files are zlib compressed, after a tiny header of type (blob, tree, commit, etc) and filesize (in bytes, IIRC), and a terminating null byte are prepended. If you change the file back and recommit it, git does not scan any history. It hashes the file, just as it would hash any file, and then attempts to writes it to a file by that hash name in the objects folder, but this time the hash will exactly match the hash from 2 commits ago, and so it won't save any new data, because that hash already exists on disk. I've tested this before, and the original version was not overwritten, i.e. the modification time didn't change, so it appears git completely skips saving the file if the hash exists on disk. To scan would be smart/clever, which git eschews. What if an exactly matching version of the file existed 1500 commits ago on a far away branch? What if you sprinkled a dozen copies of the same license file all through your project's hierarchy? Git doesn't have to think about any of that. Scanning for such things would take forever. It just dumbly hashes each file in turn, tries to write it, sees a file already exists by that hash name, and skips it, no thinking required. Everything I said here goes out the window with pack files (and their associated idx files). These are created at various times, such as when you clone a repo; instead of pulling down all the loose files, git does a bunch of heuristically clever things, taking into account file names, closeness in directory structure (IIRC), modification times, etc., with tricks like sliding windows, all to compress all of the loose objects down into a pack file. The idx file is some kind of index into that pack file, so it's quick to retrieve data from inside. This is where my knowledge breaks down. It could very well be that there are deltas used in there, but before things are packed, which only occurs during particular operations, like cloning, it's all loose, full copies of everything, everywhere. I have long-lived repos, years old, that I've never moved from my machine, which don't have pack files, and just have thousands of loose files, and tons of full file copies with minor changes.
@@gfixler Git's storage strategy is great but 99% of developers just need to push or pull a copy of the latest branch to an authoritative server. I shouldn't have to clone the whole repo just to get one file. It should pull the files as I try to open/read them. It should present the repo as a virtual file system and just be completely transparent.
@@NillKitty but that's not really compatible with git's design goals. One major goal of git is to allow you to use it while offline. That's a decision Linus made in the very beginning (probably because mobile internet wasn't really a thing back then), and so it's ingrained in its architecture.
WSL just makes me happy. I have to use Windows on this work machine, but my preference is for Linux. Now I have both
Using WSL still doesn't solve the biggest problems for most Linux users with Windows, which is that they don't trust Microsoft, don't like the bloat and candy crush ads that come with Windows (10), don't like the way windows 10 looks or want to have more control over their machine.
Don't like Windows period. Worlds biggest computer virus ever.
I actually don’t understand what this does at all. It sounds like running Linux in a VM. (Yay..?) But .. somehow more?
Microsoft boat is right. We are switching from Google suite to Microsoft suite due to new corporate overlords. Teams uses a lot more resources than Google Meet. Even though Teams is an app and Meet runs in a browser. My MacBook Pro can't run anything else with Teams without stuttering. Rarely problems with Meet. Teams also uses more power than my power brick can supply (yes I picked up the power brick for the smaller MBP but Teams is the only work related application that causes this problem) so if I had an all day meeting I wouldn't have enough battery!
If you took half the time to configure Windows that you took complaining about it, you'd know that the ads (which aren't even in every edition) are easily disabled, a fresh install comes with zero bloat and every component is removable, the entire UI is skinnable and the shell flat-out replaceable, and you can control almost anything you could ever want to down to kernel-level parameters if you just have the right tools (which are probably not in the grandma edition you seem to have installed).
I can pick a random distro and point fingers about bloat and lack of customization too. It seems like you've installed Windows home edition (e.g. what they give grandmas) and are expecting it to be Windows Enterprise or Windows Server (something that more approximates a lean linux distro).
All Windows isn't the same any more than "all linux is the same". Your critique sounds like you used Windows pre-installed on a cheap computer you got from Wal-mart and couldn't find the advanced settings so you think that's all there is to Windows. Install Windows Enterprise, open the group policy editor, and call me up if you can't find something you actually want to change about the OS.
Hint: You can turn off the ads, all communication with Microsoft, Cortana, Bing, as well as opt-out of all programs that have privacy considerations from the same screen that's part of the Windows first-time set up.
Never forget they called us cancer - now they need us for their Azure bollocks. The only flaw in the GPL is there is no way to exclude them...
Compiling videos with a deep voice and jazz in the background - new niche for videos on youtube :)
Not one thing you said makes any sense to me. Even though, I was glued to the video and was fascinated.
I'm a retired nuclear engineer who has run both Windows and Linux (not counting IBM mainframes, DECSystem 10, VAX/VMS, AIX, HP-UX, and Solaris), having dual booted Red Hat with Windows 3.1. I have some applications that I need to compile and run in Linux. If I were still earning a significant amount of money from consulting I would have separate dedicated systems, but since I can afford only one new good PC at this time, using WSL2 is going to be a real boon to me. Thanks for the good information.
I always make sure my code compiles without warnings.
I keep seeing that ending you have there and remembering my dad saying, "Well son, what do you expect me to do? Sit in a rocking chair?" when I told him that people don't usually retire and go work on their own farm. Especially when they've been doing electrical engineering most of their lives. Thanks, Dave.
Hey we use the same shell font, neat. GlassTTY 4 lyfe.
Love it!
Thank you, I was looking for that!
The outro - it grows on you, nicely done Dave.
You sir, get a like for the Slipknot reference! Lol
I'm supposed to believe there was no funny business in task manager by the guy who wrote it? Surrrrre😉 jkjk
The little infomercial at 8.30 had me subscribing.
Heh .. my very first thought that came through my head when I saw the title: Is Dave really gonna build NT kernel on YT ? ;-)
That would be entertaining
@@DMack6464 That would be highly illegal.
Maybe ReactOS kernel instead :-)
I'm really enjoying your videos Dave, thank you! Merry Christmas, and Happy New Year!
Hi Dave! I'm Dave!
5:40 you're doing it the hard way.
With APT you can also type:
Apt-get build-deps linux-image-generic
And it will select the required packages automatically!
05:42 I feel roasted...
I see we've got a hunt and pecker here
Or you can touch type at 100wpm but one key over and end up writing gibberish the whole time like I do.
To me it is Obvious: How to get to Carnegie Hall? practice, practice, practice.
Fascinated by your stories about MS and the operating systems. I would be very interested in an OS fundamentals video, like how do things work under the hood sort of video.
Call me when I can run i3 or a similar tiled window manager and have Windows and Linux applications use it natively
great video and i have to say WSL2 has changed my entire workflow, i really love it
Dave is actually a meme lord :O
Didn't even watch the full video yet, but I did scroll through the comments and it looks like people are missing the point. I'm in a situation where my QA (and associate manager) is on Windows, but he's tech-savvy enough to be able to use my deploy scripts for our production OS (Gentoo-based), but that deploy script uses block devices and co, not stuff you'd typically have access to on Windows. We thought WSL2 would save us (and it probably could!) but for now we're using VBox. That's very suboptimal though, so this video guide will probably help us make a better infra around this. It's not about realistically bringing Linux crowd back to Windows - rather making Windows workable for eg embedded Linux development and co, because there ARE situations where you'll want a Windows person to do Linux things.