13 ms·
Want to _really_ impress us, Microsoft? Give us a Windows Subsystem for Linux. I chose a maxxed out Dell XPS15 laptop with Windows 10 to replace my 3 year old
by blunte 9y ago
Want to _really_ impress us, Microsoft? Give us a Windows Subsystem for Linux.
I chose a maxxed out Dell XPS15 laptop with Windows 10 to replace my 3 year old rMBP with the (foolish) expectation that it could replace my Mac. Apple had lost sight of what mattered to developers, and I was angry. But now, 2 months later, here I continue developing and existing on my old rMBP.
Bash in Windows is incredibly slow on some actions. I didn't document all my activities, so I can't point to which thing was slow. But for a developer using Python, Elixir, Node, Nginx, PostgreSQL, MySQL, Git! SSH! and some other smaller accessories, WSL was far less performant than a Linux VM on my Mac. And it was far, far less performant than on native Mac.
I very much appreciate what Microsoft is trying to do. Perhaps in a generation or three they will finally leave behind most of their protectionist behaviors and embrace what works for them (for better or worse) - MS Office and the host of Windows apps that businesses depend on.
Apple is no saint or savior. But thankfully, some of what they did in the years past (dare I say during the reign of Jobs) is what has made them special. #1 - latency. My Macs work 99% of the time as expected. They run for weeks or months. My high end Android phone, even after factory reset, has occasional mind-boggling hangs (after which 1000 UI events register and take effect). The same applies to Windows 10! It works fine, sometimes, for a few things. Then it goes nuts. Wipe and reinstall (remove the Dell bloatware) and it's better. But it still lags so far behind macOS.
There is no utopia. There is only pain, frustration, and anger on the part of users. But please, give us developers (who practically _live_ in your environments) something.
- monkmartinez 9y agoWhy not dual boot linux and windows 10 or use a Linux VM? It takes like 10-15 seconds to reboot a machine these days. I am about to take the plunge toward a ThinkPad after many years with OSX (I haven't upgraded my 2011 17" to macOS). My plan is to try dual booting linux and/or using a Linux VM. I think the biggest hurdle will be changing my mindset. That is, looking for the OSX version of whatever it is I am looking for. Wrapping my mind around Linux... just Linux for as much as possible. I am looking forward to using just Linux as time goes on. I need to ween myself off of a few things before I can make the switch completely... I did it when I went from win to mac.
- tagurit 9y agoAs OP mentioned, he probably doesn't want to turn off his system. This is problem I have with a dual boot system, even with the ability to save state. Unless I absolutely have to, I'd rather keep running macOS's
- monkmartinez 9y agoWith the problems I see on the mac forums regarding the new MBP's, I don't think turning off the system is going to be much of an issue. That said, I understand not wanting to restart in order to get work done. However, I am looking at it with the perspective that I will be able to fully focus on the tasks at hand (ala Deep Work by Cal Newport), in a distraction free environment.
- isolli 9y agoWhat problems specifically? I'm not following closely, so a summary would be nice :)
- latencyloser 9y agoI'm in a similar predicament to OP. I prefer Linux in most cases, it's what I'm used to. But I need or would vastly prefer one or the other depending on what I'm doing. A VM is fine for just checking outlook..or using Skype for chat and things like that. But the second I need to use an IDE for Windows development, it's too slow to bear. Having better interchangeability between these two would make my life significantly better. Whether that be a stronger Linux subsystem for Windows, or a Windows subsystem for Linux. Of course, I work at Microsoft. That being said, many devs I see are open to or enjoy using Linux--myself included. I think, and hope, we'll see continued growth in support for it. Though, I have little to no influence over such things.
- discordance 9y agoHow is the attitude/atmosphere internally at Microsoft towards people using a competing OS (Mac or Linux). Does the group working on Windows OS feel alienated at all?
- throwaway613834 9y ago> The same applies to Windows 10! It works fine, sometimes, for a few things. Then it goes nuts. Wipe and reinstall (remove the Dell bloatware) and it's better The sad thing is Windows 7 and 8.1 worked just fine; they screwed up with Windows 10. I've had both 7 and 8.1 running for years without a problem. But I had a pretty clean Windows 10 installation that tried to update itself and kept rebooting and rolling back. The fact that I couldn't suppress the specific offending update meant I couldn't update the OS anymore.
- ryu2k2 9y agoI had the same problem with Windows 7. online search lead me to an official support page that described how to boot Windows in some kind of minimal mode. Following those steps did the trick for me. Still, this problem shouldn't occur at all.
- pletnes 9y agoTried docker? It seems VMs are faster than the native OS in the MS case. Should have most of your needs as prepackaged images.
- Arnavion 9y ago>Give us a Windows Subsystem for Linux. Not completely what you want, but relevant: https://blogs.technet.microsoft.com/dataplatforminsider/2016/12/16/sql-server-on-linux-how-introduction/ https://blogs.technet.microsoft.com/dataplatforminsider/2016...
- dis-sys 9y agoagain - a closed system with no public access to its full tech details. its completeness can not be reviewed by the community, its security model is unknown to the general public, its reliability is a big question marks. what is worse - it charges you an arm and leg for running that joke on modern hardware. Rather than providing people with more tech details so the so called products can be better used in real life, it has a 30+ pages Licensing Guide telling people how Microsoft is going to screw them financially in different ways. it is not "for Linux", every single aspect of the "software" described in that link against the fundamental values of Linux. SQL Server for Linux is nothing else but a joke, those working on that projects in Microsoft should feel sad for the fact that they work in such an socially isolated team/company.
- monkmartinez 9y agoWhat do you use for a laptop or desktop?
- dis-sys 9y agoubuntu
- dannysu 9y agoYeah, I'm running Windows on my laptop and have Linux on my desktop. I've tried Bash on windows multiple times and it's simply too slow. I ended up just running Linux VM as my development environment when I'm on my laptop.
- Joeri 9y agoFrom what I understand the WSL team is small, with only a few people working on the kernel parts. I'm sure they honestly intend to deliver blazing performance but they're still busy delivering basic compatibility. Maybe microsoft should allocate more resources, since it is probably the cheapest way to gain developer mindshare. I do node development on windows, but not in WSL. I would advise doing as much as you can with native built software and only using WSL to fill the gaps.
- rizalp 9y agoAgreed with that. Better use native port instead of WSL, as many tools, limited they may be, has better integration with the rest of the system Case in point : cannot use Git on WSL with IntelliJ, Sourcetree
- m_fayer 9y agoHuh, why is that? I do a wide range of web development in WSL - npm, gulp, and webpack all work just fine for me. This works great for vue dev, with browsersync and everything. I also have to do a little WP work, and the required LAMP stack in WSL works great.
- shams93 9y agoYeah you can run actual server daemons on MacBook pro wsl seems to be geared towards nodejs and rails development on windows, docker is far more useful for real work you can even run docker from wsl so while I make heavy use of docker as my employer forces the use if windows 10, wsl is useless for developing daemons and micoservices compared to docker for Windows 10 pro
- monkmartinez 9y ago> Yeah you can run actual server daemons on MacBook pro Really? Can I run those Apple specific daemons on AWS, Azure, or GCloud? How about Digital Ocean or Linode. I would love to run my Apple Automator scripts on the web too, can I?
- Moto7451 9y agoNGINX, Postgres, MySQL, Postfix, etc all work just fine as OS X services and Linux Services. The format of the init script is different but that is true between Linux and BSD or even various Linux distributions. None the less, the concept of running your services on OS X holds fast. WSL's init however, is not a full implementation. To run a Linux service/daemon you have to resort to bootstrapping something from the Windows scheduler. That's not really the same thing.
- monkmartinez 9y agoNone of it is the same thing, outside of linux, if you are being honest. You can't run a macOS script in web production. period. end of story. So with all platforms, sans linux proper, we resort to funny business to get things working locally and then do it different when it comes time to deploy. What are we doing? Just use linux... or MSFT/.net as it were. The funny thing in all of this is that Apple have nothing to share with the rest of the world, sans swift. They got the underdog sympathy and have made a mockery of all who elevated them to their current status. That is, they have given JACK SHIT back to those who made them who they are.
- 9y ago
- ulyssesgrant 9y agoYes! I primarily develop on Linux, but lately have been working on Windows porting. In many ways the WSL has been a massive savior. It makes developing on Windows at least possible for Linux users. But it's sooo slooow. The performance bottlenecks I hit seem to be disk i/o related. Things from path tab completion on the command line, to Vim's YouCompleteMe compiling code in the background, to a plain "git status", are just painfully slow right now. If Microsoft can fix these performance issues, and someone ships a better terminal replacement (currently using ConEmu, also has issues), developing on Windows would be almost painless for Linux users (after learning how to integrate projects with Visual Studio...though I've read VS 2017 has better cmake integration).
- ikurei 9y ago> The performance bottlenecks I hit seem to be disk i/o related. Would it be possible to mount the folders with the code on RAM? They aren't, usually, very heavy. May be a small-ish 500mb volume on RAM could help? Is this even possible on WSL/Windows?
- Tuna-Fish 9y agoIt's possible, but it wouldn't help. The problem is all the metadata lookups, which generally take several orders of magnitude more time on Windows than they do on Linux. The Windows implementation of NTFS just really isn't optimized to act as an unix filesystem.
- throwaway613834 9y agoDo you know what exactly the fundamental barrier to this is? I've always wondered. What's so different about Linux and Windows that Windows has to do so much more work for file creation/deletion? It seems to be half an NTFS issue and half a Windows issue, because even on Linux I'm pretty sure NTFS is noticeably slower than ext[234], but not as slow as on Windows.
- Tuna-Fish 9y ago
- Zardoz84 9y agoIt's open source, it have a long history and is called WINE.
- qquark 9y ago... Which, despite what I imagine is an incredible amount of effort on their part, struggles to run acceptably not even half the software you throw at it ... Wine is unfortunately not a reliable solution for a huge number of tasks mostly populated by windows-only software (e.g. professional CAD & PCB software - and no, open source "alternatives" in those domains are NOT able to compete, which is perfectly understandable IMO). Even when you get something running, you get locked out of updates because the next version of your software might not work anymore. When you insist on running those on a Linux system, it becomes better just running a dedicated VM, but you can then kiss goodbye to performance on 3D rendering for example... It seems obvious to me that running windows apps flawlessly on linux is something Microsoft absolutely does not want: The migration path to a Linux-only environment and native apps would become incredibly more simple, and they would probably lose market share overall... I definitely know I would eliminate it in a heartbeat if I could.
- hnlmorg 9y agoPersonally I've found my success rate with WINE to be more around 80 to 90%. In fact in the last year I've only needed to use it for for 3 different tools, all of which worked flawlessly (in fact it later turned out that one of those tools officially supports WINE for their Linux support). My convoluted point is that it really depends on what you throw at it. Anecdotally I've found stuff that ties into DirectX to be the most awkward and since you've mentioned 3D packages I'm not at all surprised you have had less success with WINE than I.
- jamespo 9y agoBut if you are happy with that presumably expensive proprietary software, why not run windows?
- m_st 9y agoI share your pain! I have a Dell XPS15 (i7 4K 9550) at work and Macs (rMBP and iMac) at home. Me too I was hoping to finally get a PC that was of similar quality, given that it is just as expensive as the rMBP. But boy was I wrong! Of course I did a clean install with just the drivers. But even like that, when it was new, I got 1 BSOD for every piece of software I installed. No joke. Even now, after almost 2 years and countless firmware and driver updates it has occasional hangs and issues. And no, you can't use the webcam as it just films your chest. And no, you can't use the microphone as it is in front of the track pad so your partner can barely hear you. I'm using it mostly for Visual Studio. And though I still consider it the best IDE, it gets slower and crashes more with every new version since maybe VS 2010. I'll stick to Macs at home. Thanks.
- pnutjam 9y agoI'm running OpenSUSE on my Dell, IMHO, it has better hardware support then Ubuntu. Visual Studio is available on linux: https://code.visualstudio.com/download https://code.visualstudio.com/download
- AlexeyBrin 9y agoVisual Studio and Visual Studio Code are two different products.
- lou1306 9y agoVisual Studio for Mac also exists, but it is another different product (basically a rebranded MonoDevelop with some additional features)
- dagaci 9y agoLol! I suspect something's wrong with your machine, if your regularly get BSOD from a new machine: replace it.
- tabletiptop 9y agoThat's literally what this article was about - a Windows subsystem for Linux. Did you read it before you retorted with like 5 paragraphs? I'm guessing not.
- alkonaut 9y agoWhat's known as the "windows subsystem for linux" is actually what I'd call a "linux subsystem for windows". I'm not the only one confused by this (So were you). What we get from microsoft now is a small linux environment inside a windows install. What he wanted was a small windows environment on a linux machine.
- tabletiptop 9y agoAre you ... wow. You're right. She really had me with the "imagine PowerPoint in Linux without a VM!".
- EvilTerran 9y agoPlease don't insinuate that someone hasn't read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that." https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- teekert 9y agoMS Office for Linux. That's all I need, that's all I would miss in my current work environment (in the browser is just not cutting it atm).
- beagle3 9y agoCrossOver Office was running Word and Excel perfectly last time I used it (admittedly, a few years ago), it likely still is.
- glax 9y agoHave you tried PLAY ON LINUX ?? MS Office works great in ubuntu. Writers in our company were not very fond of Libre Office.
- AsyncAwait 9y agoIn addition to trying CrossOver, as was suggested, I heard SoftMaker Office having great compatibility with office documents[1], but I can't personally vouch for that. 1 - http://www.softmaker.com/en/softmaker-office-linux http://www.softmaker.com/en/softmaker-office-linux
- pnutjam 9y agoI'm running opensuse so I have my office 365 in a browser, :( As an aside, opensuse is a great linux for laptops. IMHO, it has better hardware support then Ubuntu and it's a more consistent experience moving between the console and different GUI's.
- yjftsjthsd-h 9y ago> more consistent experience moving between the console and different GUI's What do you mean?
- oAlbe 9y agoAnd Skype. We need a Skype alternative that works on Linux and it's not an electron app. Hangouts/appear.in and web.skype.com simply don't work the same way and don't have the same quality.
- AsyncAwait 9y agoJust wondering, why not put Linux on the XPS directly and keep your old MBP for office and such?
- macns 9y agoI was about to say something similar, his dev enviroment is perfectly fine with linux, why not try that as well? It's not a very steep learning curve for simple shell commands in everyday tasks. Debian-based distros like ubuntu or debian desktop are rock-solid, fast and reliable, and popular enough to find quick answers when stuck. For the record, I'm working with similar technologies(sql, go, linux boxes) - mostly with a text editor (ST3) on a few different machines: Best experience is with a desktop running ubuntu on a dual 1920x1200 screen setup. My 2015 macbook air is still blazing fast (running el capitan), and a smaller 2010 thinkpad running ubuntu is also pretty fast and stable to work with. All machines have i5 cpus and SSD disks, though.
- chewyland 9y agoI dumped the MacOS partition on my MacBook and have been running 10 along with the Linux Subsystem without the slightest hiccup for ages. Visual Studio for big things, Code for my little Raspberry Pi projects and Office 365 for everything else. I've never had an issue, not even a tieeeeeny tiny one...zero.
- cube2222 9y agoTry to use docker for Windows. Hyperv is extremely performant. In my day to day work I'm using Windows, but I'm constantly using a mixture of WSL and docker. I set up things like Cassandra, MySQL, debugging sessions, nginx using docker. For small Unix tools/launching my applications I use WSL. For other small tools I use powershell. It took some time getting use to it, but now I actually do feel like in an utopia. No pain for the last 3-4 months or so. You do have to get proficient with docker though for this to work.
- drdaeman 9y agoSorry, but can you please share any recipes for mixing WSL and Docker, or you just meant that you use one or another on project-to-project basis (not together)? I know I can do basic commands (even building images with `docker -H 127.0.0.1 build -t foo .` works), but I failed to find any way to share WSL filesystem with the containers (`docker run -v $(pwd):/foo ...`).
- cube2222 9y agoWell, let's say my project's in C:\Development\Projects\MyAmazingProject I can open bash there (WSL), or start a container docker run -v C:\Development\Projects\MyAmazingProject:/mnt/project --net=host -it ubuntu bash Though i usually do this only when I need to debug something. (WSL can't spawn additional threads, which breaks for example Delve, the Go debugger) Need to connect to a cassandra db? docker run -it cassandra cqlsh mycassandraaddress Docker compose works well too. And because WSL has unified network interfaces with windows, I can easily start a process in WSL and access a DB which I've run in docker. I use docker from PowerShell, just saying.
- scotu 9y agojust as a note to whom might read the parent comment: correct me if I'm wrong but docker for windows is not available on windows home (I think you need windows pro, because home does not come with hyperv)... that's all :)
- cube2222 9y ago
- necessity 9y agoA developer blaming "hangs" on the hardware and thinking Macs are good lol... No wonder it's a web dev
- bitL 9y agoWhy don't you install macOS on XPS15? Works like charm if you have Broadcom WiFi...
- jrs95 9y agoI keep reading stuff like this about Apple losing sight of what matters to developers...but I don’t really know what the big deal is. Aside from a frustrating lack of RAM on the latest MBP, everything seems to be just as good as it was before to me. And even the RAM issue can be solved for me by just not using too much horribly inefficient (electron) software at the same time.
- pjmlp 9y agoUsually that complaint comes from those whose bubble developers == UNIX developers. We have hardly any complaint in the office from those with access to our Mac pools for iOS and OS X development, meaning Objective-C and Swift and not UNIX CLI stuff.
- abstractbeliefs 9y agoI dunno, having seen racks full of Macbooks with plastic wedges to keep the screen just-open-enough, it sounds like doing any Mac development that would require a server component is trash since they terminated Xserve in 2011. This doesn't sound so bad until it becomes apparent that any sort of build/test farms, like you'd want for CI, would be best served by dedicated hardware like this.
- adamnemecek 9y agoI want to be able to have a stupidly powerful computer. Like idk 128gb or ram and what not. Why is Timmy Cook telling me I can't.
- tw04 9y ago>Want to _really_ impress us, Microsoft? Give us a Windows Subsystem for Linux. What makes you think that's even possible? WSL works because the NT kernel was built with POSIX compliance out of the gate and they've been able to translate some of the functionality. The Linux kernel wasn't built with Windows compatibility out of the gate. Do you honestly believe that Linus would accept core kernel changes for the sole purpose of supporting Windows on Linux? It would NEVER. HAPPEN. >I didn't document all my activities, so I can't point to which thing was slow. I hate these vague "it was slow, I promise, just can't tell you what". If you can't tell us specifically what was slow, it's worse than anecdotal evidence. I do all of the things you listed there and the only thing that's ever been remotely slow is Git on extremely large repo's - which they're aware of an actively working ot fix. >It works fine, sometimes, for a few things. Then it goes nuts. Wipe and reinstall (remove the Dell bloatware) and it's better. What specifically "goes nuts"? I've got a laptop and desktop that have been running Windows 10 since launch and they work just as well as my Mac does. I've never re-installed any of them, and never had them "go nuts". That story reads like someone who last used Windows98 and thinks it still applies.
- hypervis0r 9y ago> Do you honestly believe that Linus would accept core kernel changes for the sole purpose of supporting Windows on Linux? It would NEVER. HAPPEN. Kinda off-topic, but, isn't Linus basically a Microsoft here? Does it matter if Linux's forkable and open-source, if nobody ever forks it to do what the community wants instead of what Linus wants? (e.g. stable kernel ABI, Windows support, etc) > I've got a laptop and desktop that have been running Windows 10 since launch and they work just as well as my Mac does. I've never re-installed any of them, and never had them "go nuts". That story reads like someone who last used Windows98 and thinks it still applies. I agree so much with this... last time I installed Windows, it was Windows 7 in 2013, haven't touched it since then, and it works perfectly. Of course it requires a bit of maintenance, but what doesn't after so many years.
- andrewflnr 9y ago> Kinda off-topic, but, isn't Linus basically a Microsoft here? Does it matter if Linux's forkable and open-source, if nobody ever forks it to do what the community wants instead of what Linus wants? Not really. With OSS, what matters is whether the community wants it badly enough. Forking a software project is fundamentally hard, and the payoff has to be big enough. With Microsoft, it doesn't matter how big the community's payoff is. If Microsoft doesn't benefit enough, it ain't happening. I think the threat of forking is one of those really serious threats that still matters even if no one ever really comes close to doing it. It comes up more often in geopolitics, where military capability still matters even if no one wants to get anywhere close to a war.
- anthony_barker 9y agoOr office for Linux
- Kwpolska 9y agoThey already have done that: https://www.theregister.co.uk/2017/07/19/sql_server_2017_first_release_candidate/ https://www.theregister.co.uk/2017/07/19/sql_server_2017_fir... It’s only limited to their SQL Server product though.