Developing for Linux on Windows - Scott Hanselman - NDC Porto 2022

Поділитися
Вставка
  • Опубліковано 8 вер 2024
  • Can you really use Windows to develop Linux apps? Should you? How real is WSL (Windows Subsystem for Linux) and how close is it to reality?
    Join Scott Hanselman as he walks you through the state of the art of Linux on Windows. What's possible, what's not, what about the Windows Terminal and Docker? Tons of lives demos in this highly technical session.
    Check out more of our featured speakers and talks at
    www.ndcconfere...
    ndcporto.com

КОМЕНТАРІ • 96

  • @stefun666
    @stefun666 2 роки тому +33

    as a hardcore GNU/linux user, but not windows hater, I have to say that this talk is a great resource to show win users an easy way to embark on the power of GNU/Linux. WSL is a great way to get a Linux Environment without setting up a dual boot and messing with partition tables. Thanks for sharing!

  • @Emulleator
    @Emulleator 2 роки тому +32

    this has nothing to do with my daily life, I thoroughly enjoyed this hour

    • @codearabawy
      @codearabawy 2 роки тому +2

      This what happens when a genius gives a presentation, I respect Scott a lot and he's one of my inspirations in tech.

  • @paulprice
    @paulprice 2 роки тому +11

    As someone who just started using wsl recently, this video blew my mind. I didn't realize you could do so much with wsl. Particularly the explorer trick. Amazing talk!

  • @DocSineBell
    @DocSineBell Рік тому +2

    This talk a a bit all over the place and I love it

  • @Xylarr
    @Xylarr 2 роки тому +23

    Amazing talk. I had no idea WSL had advanced that far. And just for fun, I installed gimp and ran it from ubuntu on WSL, and it just worked. Wow.

  • @ragequilt_
    @ragequilt_ Рік тому +3

    Scott Hanselman is a global treasure. The amount I've learnt hearing him speak is priceless!

  • @chaouanabil3087
    @chaouanabil3087 2 роки тому +28

    Sooooo informative session. As always Scott's talks are amazing.

  • @justinkingdev
    @justinkingdev 2 роки тому +10

    One of his best sessions. The nostalgia that popped up was cool.

  • @AllisterSanchez
    @AllisterSanchez 2 роки тому +5

    Great presentation. Very informative. Brought back a lot of good nostalgia as well. :) Well done, Microsoft, on WSL.

  • @johnnypeck
    @johnnypeck Рік тому +1

    This is the best talk about modern development I've seen in decades concerning Windows. I'm back to Win from Ubuntu as my primary OS after 12 years. Infeasible a few years back but I'm happy! It's always a pleasure to hear an OG get into the "why" things are that way simply and it makes sense. That context is important. It's not magic. Gives the broad overview of how things fit that is usually missing from the "How to build X with X" crowd that just glosses over the reason things work. The TCPView and Terminal stuff is wonderful. Thanks so much!

  • @foji-video
    @foji-video 2 роки тому +5

    the best part is actually the dev container for vs code, that solves an issue I always had (too many extensions for different projects)

  • @IsmaelLuceno
    @IsmaelLuceno 2 роки тому +9

    TTYs use CR+LF too behind scenes (and emulation does that too); in fact, real TTYs often require extra time to reposition the head in addition to the sequence (often handled by sending NULs); this is one of the reasons that prompted Multics to have a streamlined I/O translation framework (idea inherited by Unix, called "line discipline"), which also made adding extra features easy; using just LF represents a saving of 2.5%-3% depending on the nature of the file (based on modern UNIX code and documentation files), and storage was extremely expensive back then, plus these were research products (innovation + little baggage). LF was chosen over CR because in practice CR was also used to fake a boldface in real TTYs (also works in matrix printers). Windows inherited CR+LF usage from DEC, indirectly, through DOS, for compatibility with CP/M. DEC systems were dumb, and CP/M was heavily influenced by DEC's TOPS-10 in all aspects because Gary Kildall used it for development and thus wanted compatibility.

    • @OlivierDALET
      @OlivierDALET 2 роки тому

      Do you have an explanation why macs pre-osx used cr alone?

    • @IsmaelLuceno
      @IsmaelLuceno 2 роки тому +1

      @@OlivierDALET I can only guess they didn't take into account other uses of CR and they didn't have TTYs, the TRS-80 also used CR. Interestingly LF was standardized long before these microcomputers: in 1963, ISO drafts of the 646 standard already included the use of either CR+LF or LF; pre-dating Multics by about a year. ASCII was ammended in 1968 to the same effect.

    • @OlivierDALET
      @OlivierDALET 2 роки тому +1

      @@IsmaelLuceno That's some precise knowledge!

  • @alanjrobertson
    @alanjrobertson 2 роки тому +3

    Fantastic talk, Scott - really enjoyed hearing more about WSL (or should that be LSW 😂), also great hearing the history of consoles 👌🤓

  • @laszloszoke18
    @laszloszoke18 2 роки тому +1

    Thanks Scott, I enjoyed it; very. 😍

  • @minastaros
    @minastaros Рік тому

    I started using WSL just a few months ago, and installed Windows Terminal just recently. Yep, absolutely great stuff, both are amazing. If I had only seen this talk before, it would have saved me a lot of trouble I learned the hard way... And now I see the background behind that old CMD program, that I have been hating with a passion, since I usually work on Linux command line terminals (real and git-bash-mingw ones), that have always been much much better.

  • @samucancld
    @samucancld Рік тому

    Amazing talk

  • @clamentjohn
    @clamentjohn 2 роки тому +2

    Love the work that has gone behind WSL. But I just hate that I have to use a mouse every now and then on a windows machine. TIL every windows process has an interactive window attached

  • @IanKjos
    @IanKjos Рік тому

    @56:23 "Googling with Bing" is the best quote!

  • @DF-ss5ep
    @DF-ss5ep 2 роки тому +4

    This is pretty good. I tried WSL some time ago (1 or 2 years) and it was using lots of ram. Maybe it's because I tried to go full Hyper-V? From the video, user experience seems pretty good now

    • @DF-ss5ep
      @DF-ss5ep 2 роки тому +4

      For anyone reading this comment, I found out in the mean time that you can set a memory limit for WSL. Search for the .wslconfig and wsl.conf files. Memory used by WSL is shown in the task manager under the Vmmem process.

    • @fajara.r1379
      @fajara.r1379 2 роки тому

      @@DF-ss5ep when i used it 2 years ago, it still consume memory even though i'm not run anything on WSL. And by default it will consume a half of your memory. Is that still a thing now ?

    • @DF-ss5ep
      @DF-ss5ep 2 роки тому

      @@fajara.r1379 I haven't tested this, but I saw someone's blog claiming to have it running with a 3GB limit - you set this in the ~/.wslconfig file (in windows) with memory=3GB. Should be enough to run at least some simple apps in docker.
      I have it running at the moment, with docker and a ubuntu distro and it's using 1.5GB.

  • @DiegoAguilera
    @DiegoAguilera 2 роки тому +2

    I’ve been using Wsl2 for a couple months, Microsoft did a fantastic job, switched from jetbrains ides to vscode

  • @albertopatinno6499
    @albertopatinno6499 2 роки тому +2

    Many years ago this experience was unthinkable, ask Steve Ballmer and his "Cancer view from Linux". It was resistance to change and fear to the opposite way to do things in Microsoft. I love linux and I'm very happy with this effort from Microsoft. A good example that fear to opposite ideas or antagonistic situations is not well funded and maybe it is better to ask ourselves what if... Linux and Windows work together! Still, work to be done but this is a good signal. Talk was asome!

  • @umer.on.youtube
    @umer.on.youtube 2 роки тому +2

    1:14 "Where the Sound Card works!" HAHA LOVE THIS! SO APT AND STILL FUNNY. 👍👍💛💛🤣🤣

  • @shrestha0144
    @shrestha0144 2 роки тому +2

    I do all my work on wsl and it's freakin awesome

  • @abijeetrs6522
    @abijeetrs6522 2 роки тому +2

    Now there is audio!

  • @matthewsheeran
    @matthewsheeran 2 роки тому

    It was XTree for me and I am still using Win32 ZTree to this day! For tagging and searching source code files nothing beats it!

  • @paulprice
    @paulprice 2 роки тому +1

    Praise the cameraman. Dude was working overtime to keep Scott in frame the whole time lol.

  • @martinostlund1879
    @martinostlund1879 Рік тому

    Total Commander for the win!

  • @BryonLape
    @BryonLape Рік тому

    I code on Mint and run on Windows and Mac. Rider is great.

  • @renaulth2009
    @renaulth2009 2 роки тому +3

    We want native USB :)

  • @MilMike
    @MilMike 2 роки тому

    very interesting presentation!
    In the last few years I used to work with linux only for web development. Now I started to use wsl2. It was terrible in the beginning (few years ago) but now I gave it another try and it seems to be a nice experience.
    One thing is that I needed to deactivate the wslg (which is used for graphical stuff in wsl). My problem was that if I pressed printscreen key, everything started to flicker every second. if I pressed printscreen multiple of times, everything flickered even more. After hours of debugging everything, I found the culprit. wslg. Don't know if thats a wsl2 bug or a problem with my graphic card drivers.
    And wslg was also starting strange remote desktop processes. The first time I saw multiple remote desktop processes, I quickly disconnected my internet... I thought I was being hacked and someone was watching my screen xD

  • @HasanSIM14
    @HasanSIM14 2 роки тому +4

    I use WSL at work every day because for some reason git is really really slow on Windows. It's absolutely fantastic.

    • @blenderpanzi
      @blenderpanzi 2 роки тому

      AFAIK the reason is that git uses lots of tiny files, which is fast on Linux, but for various reasons slow on Windows. (Some of the reasons: virus scanners or any kind of file system hooks; and the way Windows file systems are implemented there is no general OS level file lookup cache but one in each file system and stuff like that wich makes it all more complicated than on Linux. Somewhere there was a talk about these issues and how Microsoft is working on fixing them, can't remember the name of the talk or anything.)

  • @satishbabu9123
    @satishbabu9123 2 роки тому

    Excellent talk. Took me down the memory lane. Microsoft is doing wonderful things.

  • @hendrykhoza4782
    @hendrykhoza4782 2 роки тому

    correction. Gimp is Photoshop for everyone not just for linux

  • @kenderpl
    @kenderpl 2 роки тому +1

    Audio is fine. Great talk!

  • @sonsm4881
    @sonsm4881 2 роки тому

    Good explains

  • @zhh174
    @zhh174 2 роки тому +2

    The biggest benefit of wsl is it just works out of the box. It does exactly what you expect.

  • @jamesl5149
    @jamesl5149 2 роки тому +2

    Finally the year of the Linux Desktop... and it's on Windows

  • @OlivierDALET
    @OlivierDALET 2 роки тому

    Seeing that will can be updated out of band with respect to windows update, can I hope to see wslg on win10?

  • @cokeforever
    @cokeforever 2 роки тому

    Using WSL2; Great Job, guys!

  • @paulraphelbeliveau-girouar1862
    @paulraphelbeliveau-girouar1862 2 роки тому

    AMAZING talk! My kids were yelling and I just couldn't stop listening! Haha!

  • @jpedrob
    @jpedrob 2 роки тому

    Fantastic talk. And impressive work from MS. As a Mac user I'm jealous.
    Although it feels like Windows will switch to Linux as the default OS. As soon as it's not unprofitable enough.

    • @wolvAUS
      @wolvAUS 2 роки тому

      That'd be great!

  • @PouriyaJamshidi
    @PouriyaJamshidi 2 роки тому

    Fantastic talk Scott!

  • @shoobidyboop8634
    @shoobidyboop8634 2 роки тому

    Impressive, nice presentation.

  • @spikarooni6391
    @spikarooni6391 2 роки тому +1

    There is audio

  • @EnavSounds
    @EnavSounds 10 місяців тому

    Damn I love programming I love hardcore nerd vids like this

  • @osindep
    @osindep Рік тому

    53:57 when the customer falls, they fall into the pit of success.

  • @lexihaley2887
    @lexihaley2887 2 роки тому

    I'm about half way through; enjoying the talk. But really really wishing he'd picked a better mirror for cygwin because chances are good it would have installed quite a lot more quickly with a better site selection... Oh well.

    • @alanjrobertson
      @alanjrobertson 2 роки тому

      I think it may have just been the really crappy WiFi in the conference centre!

  • @Barnaclebeard
    @Barnaclebeard 2 роки тому +3

    Bah, I was hoping this was for developing Windows software on Linux.

    • @superscatboy
      @superscatboy Рік тому

      I'm not sure how your reached that conclusion from the title "Developing for Linux on Windows"

  • @PublyoRaymundo
    @PublyoRaymundo 2 роки тому +3

    Microsoft only needed 22-ish years to join the 21 century. And they are still not there...
    That a side, Amazing talk! :)

  • @RealDieselMeister
    @RealDieselMeister 2 роки тому +2

    did any one get the "ghostbusters" reference in there? "cat'S and dogs live together.... mass histeria" :D nice touch!

  • @alancourtney476
    @alancourtney476 2 роки тому

    What's up with cameraman?

  • @daves.software
    @daves.software 2 роки тому +1

    At work we're stuck on WSL1 because WSL2 bypasses the windows firewall. Is there any effort to fix this issue?

  • @DuRoehre90210
    @DuRoehre90210 2 роки тому

    50:28 No, not surprising. People were calling .NET exes "natively" for almost two decades. You only need a binfmt kernel module which detects the filetype and handles this with some interpreter. Adding a bridge through this technique suggests itself.

  • @robbietorkelsonn8509
    @robbietorkelsonn8509 2 роки тому

    weasel is much easier to understand
    int 21h calls were called system calls, but granted some people referred to them as doing soft interrupts
    with steamos being what it is:
    the moment you realize that you are still running windows for no other reason then pure force of habbit
    hmm ... the linux kernel can run anything ... as long as there is an interpreter for it

  • @vimalneha
    @vimalneha 2 роки тому

    Impressive efforts. One thing I could not know where is the shared folder?

  • @frankhaugen
    @frankhaugen 2 роки тому

    WSM (Windows Subsystem for Mac) would be great! I'm having to buy a new "devbox" MacMini for no reason other than that Apple ain't maintaining it anymore... Microsoft has its flaws but at least my VB6 games from middle school still runs

  • @SchioAlves
    @SchioAlves 2 роки тому +1

    Amazing how it just works for him, I've tried different distributions and none of them was able to run apt properly…

    • @shanselman
      @shanselman 2 роки тому +7

      It just works for millions of folks. If you can explain what went wrong for you we can try to debug it?

    • @aravindpallippara1577
      @aravindpallippara1577 2 роки тому

      it has significant ram overhead for some reason, but it's surprisingly robust
      running gui apps out of it with the hacky x server in windows 10 is actually viable
      granted most of my exploration into wsl was due to being limited to a windows system at work (once they let me pick what I wanted - went back to comfort of arch, I need that kde and btrfs)
      of course it has overhead, significant performance issues when you run a 20 docker container emulating a kubernetes deployment - 16GB laptop simply went unresponsive after it went into swap (pretty much the cause of why they let me pick my choice) - linux on the same machine works with 6 GBs of ram to spare (I keep my swappiness low)

  • @BryonLape
    @BryonLape Рік тому

    Linux is IN Windows

  • @BohdanTrotsenko
    @BohdanTrotsenko 2 роки тому

    Windows has pinned apps, a start menu and pinned apps in the start menu, but people keep using shortcut on desktop, just like windows 3.11 taught them to.

  • @bnightm
    @bnightm 2 роки тому +5

    17:47 "Microsoft does not get credit for backward compatibility". Wish Microsoft allowed my i7-6700K to run Windows 11.

  • @btschaegg
    @btschaegg 2 роки тому

    18:00 ehm, what? Where have I heard that? 🤔
    Ah, yes: "Surprise!!! Your perfectly fine laptop is not going to the next version of Windows because it doesn't contain a TPM.
    And neither will your Windows VM, *although it doesn't even run directly on hardware*, unless you do the magical simulate-the-TPM voodoo dance."

  • @joshuajenkins1937
    @joshuajenkins1937 2 роки тому

    I abandoned windows 1.5 years ago and I cannot overstate how much happier I have been since. Native linux runs circles around Windows and it isn't spying on me

  • @abijeetrs6522
    @abijeetrs6522 2 роки тому +1

    Audio ?

  • @endaksi_channel
    @endaksi_channel 2 роки тому +2

    Why would anyone in his sane mind develop for Linux on Windows? The only reason to keep Windows on a PC is games. BTW I did not watch it, maybe there is a proof in a video.

  • @Aditya-ne4lk
    @Aditya-ne4lk 2 роки тому +2

    good job on using bing lol

  • @roubju
    @roubju 2 роки тому +1

    Funny video :), just install a double boot. Keep windows for gaming and video. Use Linux for development ! That it. Sooner or later windows will do the same as MacOs, using a linux core.

  • @ronhowex
    @ronhowex 2 роки тому

    Yeah. No audio. :(

  • @Barnaclebeard
    @Barnaclebeard 2 роки тому +4

    A microsoft audience doesn't even know what GNU stands for. Wow.

  • @DarrylHebbes
    @DarrylHebbes Рік тому

    WSL is awful on Windows, your files are created with execute permissions by default, ssh

  • @user-zq8bt6hv9k
    @user-zq8bt6hv9k 2 роки тому +5

    Embrace extend extinguish. Microsoft is so 1990's

    • @wolvAUS
      @wolvAUS 2 роки тому +1

      How exactly do you extinguish Linux? Microsoft is also a contributor to the Linux kernel.

    • @user-zq8bt6hv9k
      @user-zq8bt6hv9k 2 роки тому +1

      @@wolvAUS in 3 easy steps. you first embrace, then you extend, and finally you extinguish.

    • @wolvAUS
      @wolvAUS 2 роки тому +1

      @@user-zq8bt6hv9k you can't extinguish linux even if you tried.
      Also Microsoft is invested heavily in Linux. Pretty sure Azure runs on it.

    • @iamsantanubanerjee
      @iamsantanubanerjee 2 роки тому +1

      @@wolvAUS People continuously fail to understand that a blade, knife and axe has different uses altogether, inspite of the fact that all of them cut things.

    • @wolvAUS
      @wolvAUS 2 роки тому

      @@iamsantanubanerjee aight.

  • @Kantares71830
    @Kantares71830 Рік тому

    Microsoft forked Linux kernel… if it will go MS way you will get candy crush saga directly through kernel…

  • @sjatkins
    @sjatkins 2 роки тому +5

    What on earth for? We should be moving away from Windows not continuing to support this bloated spyware OS.

    • @cokeforever
      @cokeforever 2 роки тому

      because people love Windows; it has all the cross-platform dev tools and you actually use it to develop software conveniently for dozens of platforms, one of which is Linux; also because "year of linux as desktop" will never come and all those f*kheads like Stalman are just eating off your ignorance

  • @sergevanmeerbeeck9988
    @sergevanmeerbeeck9988 2 роки тому

    Great talk Scott!