Hacker News new | past | comments | ask | show | jobs | submit login

WSL was very cool from a pure tech standpoint, but I've never been clear what the actual use case for it was. WSL2 seems to be more along the lines of coLinux, which I felt the same way about when it was new.



I use it all the time. I develop software for Windows but being able to use various Linux utilities and software is super convinient.

Many of them have ports to Windows but it's just easier when it's all already available. Some days ago I needed to run some penetration test software and while supposedly I should be able to download the code myself and build in Windows, just installing using apt is a lot easier.


Well, if you want to use multimedia and do web development on the same machine, what are you going to do? Linux support is somewhere between nonexistent and utterly broken for the first one and the same can be said for the second on Windows. So your choices are, 1. run Linux primary, put Windows in a VM 2. run Windows primary and put Linux in a VM 3. Give up and just run a separate Linux server.


What problems did you experience in web development on Windows? I worked with Linux, Mac and Windows, but I didn‘t have any problems on any platform with a typical modern webpack/react/angular/typescript/elm etc.. stack. Even docker support with Hyper-V is okay imho.


The Linux multimedia story improves significantly if you avoid Nvidia GPU hardware. My work desktop (AMD Radeon) and laptop (Intel HD Graphics) work fine, and perform as the hardware should.


(Unfortunately) unless you're on a laptop and use a browser. Then things like YouTube or Netflix absolutely annihilate your battery


Sound and bluetooth , like , works now? That wasn't my experience back then. Both of them were entire stacks of spaghetti.


This seems like comment from early 2000s. I don't remember last time I head problems with BT or sound, and I went through dozen of installations in last 3 years (for me and others). I had to give up on Nvidia drivers but Intel graphics serves me great.


Bluetooth broke on me:

https://bbs.archlinux.org/viewtopic.php?id=204875 2015 November

https://bbs.archlinux.org/viewtopic.php?id=206032 2015 December

https://bbs.archlinux.org/viewtopic.php?id=210685 2016 March.

And these were times when I needed community help, most of the time I could get it working by pairing again or some such nonsense. It never worked reliably, in general.

Note I switched to Windows as my daily driver in 2018 January.

It seems sound is still a gigantic mess of PulseAudio and ALSA https://wiki.archlinux.org/index.php/PulseAudio


Most of that wiki page isn't important, Pulse largely just works these days without much or any configuration


If you things to just keep on working Arch might not be the distro for you. Have you tried something like ubuntu?


Canonical broke wlan and OpenGL for many of us when they decided to replace fully working closed source drivers, with work in progress open source replacements.

So even Ubuntu isn't necessarily a guarantee of stability.


Sigh - I hear you.


Yes. Yes, I did. At least with Arch I could keep on working because only one of BT / printer / scanner broke on update, most of the production bits kept working. When I ran Ubuntu the system shattered every six months so badly I couldn't work for 2-3 days.


I have fairly linux friendly laptop (Thinkpad T480) with Fedora, and GPU driver was broken for whole 5.3 kernel tree...


I have a T480 as well and both the nvidia (closed source) and intel drivers work for me on Kubuntu.


Been running some flavour of Debian for > 10 years. Now on my dell XPS 13 9350. Upgraded to Debian 10, a kernel regression broke the brcfmac driver for my Broadcom wireless. Now I need to disable power saving on the WiFi card. Still, sometimes the WiFi card just dies. Sometimes reloading the kernel module works, sometimes only a hard reset will do.

Bluetooth has never worked.


Broadcom unfortunately has never been well supported on Linux. I've always used ThinkPads for running Linux and have never had these sorts of hardware issues (and I keep laptops for at least 8 years). You need to buy a machine with running Linux in mind (or more specifically, Debian, which has even less out-of-the-box hardware support for laptops).


You’re right. A new WiFi card is cheap, apparently. Just not available anywhere near where I am :/


I don't understand this sentiment. I have VS Code and a fantastic file manager (Explorer). What more do you need for web development?

Most decent languages work great cross platform. I'm not sure what I'm supposed to be missing.

To be frank, the only think that bothers me about web dev on Windows is that the Elixir repl doesn't support "up" for editing the previous command.


Or use macOS ;)


The devil on the shoulder has appeared


He said macOS not FreeBSD ;)


I will the moment you give me a mac with a seven row keyboard and a trackpoint.


Since you did not specify a laptop, you can plug in any arbitrary USB HID to desktop Mac. (MacBooks too - though I'm sure this isn't what you meant.)

Most people choose their laptops based on the OS, not on the pointing device.


There are about 5000 of us who did choose a laptop for its keyboard and pointer: it's the ThinkPad 25 Anniversary Edition. I have an SK-8855 already and also ordered the new TEX Shinobi so my unwavering stance on my laptop needing a proper keyboard+pointer might change but for now my choice of weapon is the TP25.


Unfortunately I missed that.

However my T420 and X220 still perform excellently even after 9 years.


I also have a T420 and a T420s , the latter hacked to full HD, yes. :)


That’s an interesting claim to make, considering how many people love the Mac’s trackpad and non-butterfly keyboard.


Web development on Windows has been like surfing for those of us doing Java and .NET web development, since like ever.

2006 was for me the turning point where Linux was only used via VMs or some remote box.

WSL2 is just fine, I don't need to mess with VMWare any longer.

And if I am not doing Linux deployments, I can do plain Windows development, like I have done since Windows 3.0.

For the Linux desktop experience I have a surviving ASUS netbook.


> Web development on Windows has been like surfing for those of us doing Java and .NET web development, since like ever.

This similitude baffles me. Do you mean "had to wear protective equipment, had to drive constantly between locations, we were knocked over every few seconds, and we risked drowning several times"...?


It means riding the top wave while enjoying the Sun, hearing the cool background music coming from the loudspeakers on the beach, and feeling like a champion.


I've never had any issues doing web development work on Windows


Main use case for WSL was to provide better user experience for developers working on Windows. Many modern tools are more geared towards Linux/MacOS.

Maybe there was also some long term goals, like making Windows better platform for Linux software in general (server use).


Development. At work we rely heavily on it to get work done because having an almost-linux-like environment is much better than having to run a WAMP stack or similar silly stuff.

It's made mine and my coworkers lives so much easier compared to before, so I'm certain use cases exist. Since WSL2 runs on HyperV, for some of my coworkers it's not an option, since they rely on VMware and similar for other essential work.


The usecase was Apple has Terminal.app, Windows has MS-DOS.

Tell me which you would rather use for node and or docker development.


Windows with git and its bash installed works surprisingly well for node development. Docker doesn't work on either MacOS nor Windows, right?


I have used docker on MacOS. I don’t know about windows but it ran fine on my mac. Is there something particular that didn’t work for you?


I use Docker on macOS daily for work. I love it, and am grateful for it, but the experience is NOTHING like using Docker on Linux. Docker for macOS runs in a virtual machine, and requires dedicating RAM to the daemon. You aren’t directly using the host OS’ kernel either, which can lead to wonky behavior, especially in regards to networking (IME).


Have you tried podman (https://podman.io/whatis.html)?


How would podman help here? It doesn't run on macOS at all.


There are a number of use cases where Docker for Mac and Windows are painful compared to Linux, and to overcome those problems (like fs performance on shared volumes) people spend a lot of time building hacky solutions.


- Bind mount performance is appalling, even with the delegated/cached modes. I understand the reasons for this, but it's still a major issue for some workloads. To use PHP development as an example, where a popular framework boot-up can read hundreds of files per request (as well as writing out to caches), it's not uncommon to see 5 second response times for a page that displays "hello world" and nothing else. Thankfully there are tools like docker-sync and Mutagen which, while it's one extra thing to set up, get you back to nearly native performance.

- com.docker.hyperkit is nuts. I can have a single container idling in the background doing nothing, hear my laptop fans spin up, and know without checking that com.docker.hyperkit is using 200% CPU for no discernible reason. Restarting the daemon brings things back down...for a while.

At the office we use Linux, but since I've been working from home on my Mac I've gone back to Vagrant for as many projects as I can. Heavier and far less easy to orchestrate yes, but I've found I actually end up with better and more predictable performance (and far less time with my laptop doing double duty as a space heater).


docker for osx uses a linux VM behind the scenes (transparently)


Windows has direct docker support and has had it for a while. Not sure how great, not into containers myself ;)


Docker Desktop 2.1.x with WSL1 works amazingly well.

I've been running this set up for over a year and the volume performance is superb.

Flask, Phoenix, Rails and Webpack driven apps are all a fantastic experience. For example Webpack takes 150ms to compile SCSS / ES6 JS diffs for large real world projects. Web server reloads on code change are effectively instant and I get microsecond response times in some Phoenix apps in development.

This is on 6 year old hardware too and the source code isn't even sitting on an SSD (but Docker Desktop is installed on an SSD).

In all cases, everything is running in Docker through Docker Deskop and I use the Docker CLI / Docker Compose in WSL as a client to connect to Docker Desktop.

It's all documented at https://nickjanetakis.com/blog/setting-up-docker-for-windows....


Just like on Mac OS it runs in a VM.


soon it won't (at least, not on its own- in the wsl2 VM) https://www.docker.com/blog/new-docker-desktop-wsl2-backend/


It can make use of Hyper-V and Windows Containers.


Git for Windows with all the Unix tools it installs works great for me. It's nice for working with Docker, writing and running bash scripts etc.

I have WSL1 installed, but very seldom feel the need to actually use it.


Docker runs just fine on macOS. eg. https://download.docker.com/mac/stable/Docker.dmg


Docker runs in a VM on macOS, with significant penalties to filesystem speed. I haven't used it for a few years, but booting the large Rails app I work on was several times slower under Docker.


Windows has Windows Terminal and PowerShell, too. Apple and Linux also have PowerShell.


Presumably the draw is UNIX, not the Terminal app itself.


POSIX is probably the best way to put it. This would cover Unix, Gnu/Linux, Darwin, BSD... the whole family tree.


One of my main pain points in Windows is that the terminal app options are so crap compared to iterm2 or even the plain terminal app. The app itself is definitely a draw too


Were you thinking of the Console Window? If so, that's not a terminal in the UNIX sense.

These days, there's the Windows Terminal, which is fine, surely, https://www.microsoft.com/en-us/p/windows-terminal-preview/9...


None, as I stay away from them as far I can avoid them, Java and .NET are perfectly fine and IDEs have docker support in case I really need to deal with it.


Oh cool, we can just abandon all other languages and toolchains so we can switch to windows native. Why didn't I think of that?


Nah, you just target Windows with toolchains that support Windows natively, like I am expected to target UNIX with toolchains that support UNIX natively.

Your statement goes into both directions.

Guess why "Year of Linux Desktop" has failed to happen, and no, ChromeOS and Android aren't really GNU/Linux, the kernel is irrelevant to userspace languages and public APIs.


Personally, as a node developer (and occasional contributor), Windows Terminal and pwsh.

Not sure why you'd use or mention 'MS-DOS' since that stopped being a thing about 20 years ago, a decade before node existed.


well, I definitely wouldn't use MS-DOS, because it doesn't support node or docker, but also because it's been obsolete since before Terminal.app existed.


There is so much confusion and technical inaccuracies in this little post it’s hard to know where to start...


I use it as Terminal on files stored in windows under /mnt/c (php dev environment in xampp), plus ssh and python for notebooks running in vscode


Same use case as Wine does on Linux. It doesn't have to be perfect to be useful.


I basically do all of my js web development on WSL now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: