13 ms·
This is great to see, as it's very similar to the approach that we took with LX-branded zones on SmartOS[1][2]. I commented at some length on the other thread
by bcantrill 11y ago
This is great to see, as it's very similar to the approach that we took with LX-branded zones on SmartOS[1][2]. I commented at some length on the other thread on this on HN[3], but I have a bunch of questions about apps that we know to be thorny: Go, strace, tcpdump, systemd, etc. As we learned, this approach is entirely possible -- but there are many, many details to be nailed before you get to the point that you can run production applications on it. So while the journey across the uncanny valley of Linux is long and arduous, we know from our experience that it can be done. Very much hoping that Microsoft gets to the other side -- and that they open source it all so we can all learn from one another!
[1] http://www.slideshare.net/bcantrill/illumos-lx http://www.slideshare.net/bcantrill/illumos-lx
[2] http://us-east.manta.joyent.com/patrick.mooney/public/talks/surge2015-lx.pdf http://us-east.manta.joyent.com/patrick.mooney/public/talks/...
[3] https://news.ycombinator.com/item?id=11392119 https://news.ycombinator.com/item?id=11392119
- crudbug 11y agoI think M$ is targeting more developers with *NIX background on the desktop side rather than Linux apps on server. So a bash support with uniform CLI is the end-game.
- talawahdotnet 11y agoYea, I think they are going after developers who use OS X because it is UNIXy. Smart move given how en vogue Apple laptops have become for developers these days.
- NateDad 11y agoyuuup
- noelsusman 11y agoIt kinda makes me regret my MBP purchase last fall. I really wanted a Surface Pro but I couldn't deal with developing on Windows.
- skywhopper 11y agoWindows runs great on Macs!
- noelsusman 11y agoI wish. On newer models there's a kernel issue that prevents proper suspend and shutdown, which is a dealbreaker for a laptop. I have yet to find a workaround. https://bugzilla.kernel.org/show_bug.cgi?id=101681 https://bugzilla.kernel.org/show_bug.cgi?id=101681 https://bugzilla.kernel.org/show_bug.cgi?id=103211 https://bugzilla.kernel.org/show_bug.cgi?id=103211
- girvo 11y agoWhat, what? Aren't those Linux kernel bugs? I'm confused what they have to do with running Windows on Mac hardware, though perhaps I'm missing something
- noelsusman 11y agoIt originally said "Linux runs great on Macs!" Not sure why it was edited.
- bduerst 11y agoCouldn't you just boot linux on the surface?
- adrusi 11y agoLinux driver support for a lot of the surface hardware leaves much to be desired unless it's changed much since the last I looked.
- chris11 11y agoI have a surface 3 and I think it is a really well engineered pc. I'm definitely happy with it. But I think the surface/surface pro line has features most other computers don't have. Such as the pen. And I think MS did do a lot of work designing those around Windows. So I'm just assuming a surface or surface pro would be more functional and better supported running windows. If you really wanted to run linux you probably have better options available to you. But you can technically use linux.
- Delmania 11y ago>Yea, I think they are going after developers who use OS X because it is UNIXy It's a bit more than UNIXy, (the proper term is Unix-like), it literally is UNIX. It meets the UNIX 03 specifications. Also, the motivations for these move predate the rise in popularity of Apple. For years, one of the biggest complaints about Windows was the lack of a good command line interface. There was the legacy CMD.EXE, which provided support for DOS commands and batch files, and PowerShell, which people either love or hate. The reality, however, is that overwhelmingly, the combination of bash/zsh and coreutils, binutils, util-linux, etc. won out a long time ago. Most schools use a flavor of Linux (maybe Solaris) for teaching Computer Science (and related disciplines), so many people who have formal training are used to those. Those people tend to teach other people to use them, etc. Some people bemoan the fact that the CLI never evolved past its UNIX origins, but the reality is these tools work just fine. There's never been a reason to evolve them. http://www.opengroup.org/openbrand/register/brand3612.htm http://www.opengroup.org/openbrand/register/brand3612.htm
- Someone 11y ago"the reality is these tools work just fine. There's never been a reason to evolve them." On the contrary; there have been many valid reasons to evolve them, but backward compatibility was deemed more important. Example #1: it is possible to write a sh/csh/bash/?sh script that handles file names with spaces, slashes, quotes, question marks, etc, but one would hope that would be made a bit easier, almost half a century later. Example #2: the hack that is xargs for handling large numbers of arguments. To write a truly robust script that handles directories with an arbitrary number of files, one should run a pipeline using find and xargs, instructing xargs to do the actual work (and you cannot even use find and xargs with their default settings; you need -print0 and -0 flags to handle file names with spaces, etc) If programs received arguments unexpanded, and the system had a library for expanding arguments, many use cases would become a lot simpler, and scripts could become more robust. And yes, that could have been evolved. Headers of executables could easily contain a bit indicating "I'll handle wild-card expansion myself". Example #3: man pages, IMO, should be stored in a special section inside binaries. That ensures that the man page you read is the man page for the executable you have. Example #4: http://unix.stackexchange.com/questions/24182/how-to-get-the-complete-and-exact-list-of-mounted-filesystems-in-linux http://unix.stackexchange.com/questions/24182/how-to-get-the... shows that things _have_ evolved. Reading and parsing /etc/mtab isn't a reliable way to find all mount points, just as reading /etc/passwd file isn't the way to find password hashes anymore, ar has long been upgraded to support file names longer than 14 characters, and zip knows more file attributes than it used to.
- riotdash 11y agoLet's be honest here. Does this change make some developers actually even consider to change their OS X/Linux Desktops to Windows? Yeah it is really cool thing that we can finally use windows cmd like the terminal on unix systems however: - What about lack of all the Linux/OS X GUI software? - What about lack of all the UNIX OS features? - What about all those billions and billions of Windows malware, viruses, adware etc. - What about all the spying and restrictions that Microsoft has integrated into the Windows? (e.g. cannot block Microsoft spy server in the hosts-file, forced updates etc.) - What about the fact that OS X and Linux have always been at least decent from developers point of view but Windows has always had problems and then things like Vista and Win8 happen. - What about the advertisements served to you in the login screen? - What about all the future shit MS will throw at you? - Other stuff can't remember now If and IF this will actually work out well, I would say this finally makes Windows usable for software development however I don't see any reason why anyone would change from UNIX based system to Windows unless they plan to make even bigger changes in the future...( like rewriting whole Windows to be UNIX based for example. :) )
- taude 11y agoMany of us, I'd say a majority of Devs work in an environment where you don't really have a choice, other than Windows...
- bluejekyll 11y agoEvery environment I've walked into like this (unless it's Windows app development) this was only because no one tried. I joined a large web shop that was Windows Dev, but Linux deploy. Never made sense to me. It was driven by IT because of control issues. I introduced Linux (this was 10 years ago) and then slowly ever Dev switched to develop on Linux because it was a better development experience. Unix is by hackers for hackers. IT was forced to incorporate these systems, which wasn't hard. Now with this change I can see why people might switch back, definitely makes it easier to have Windows IT shop, but still be able to target Linux. Personally, Docker has already started resolving this issue for me, but I can see it helping Windows devotees. MS lost my trust back in 1996, and I honestly don't know what they could do to regain it, but this isn't enough for me.
- pron 11y agoIs that a big market segment, or do they hope that developers who work on Windows would be more likely to write Windows apps?
- andkenneth 11y agoHey they might get me off of this. I got a mac because it was the best tool for the job - mainly because native bash is just always sitting there.
- andersen1488 11y agoThis was my first thought as well. Windows 10 is starting to look like a serious option to me now.
- holografix 11y agoCompletely agree. Gotta say Satya is doing some serious SunTzu'ing on Microsoft's approach with other technologies. Applauds
- novaleaf 11y agoI dev on a windows box, and deploy to ubuntu servers running on gcloud. I am very excited by this news! right now my initial deploy+vm provisioning scripts are written in windows .cmd scripts, only because it means I don't have to have a C&C server somewhere. I'll be really happy to put all my automation scripts in bash and have it run regardless of dev env!
- vernie 11y agoWhat is M$? Is it a cool way to say Microsoft?
- schappim 11y agoOnly on Slashdot during the '90s ;-)
- tkinom 11y agoCan windows 10 apt-get install/run most/all the x/gtk base apps apt-get build from source those apps. ? If so, I will consider switch.
- NateDad 11y agoNo. No GUI applications (currently, and no announced future support... and I wouldn't bank on them doing it).
- ramy_d 11y agovim?
- 15155 11y agoPresumably, as it's not a GUI application. Not gvim though.
- paradite 11y agoIt's in the list given by author: apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch...
- stephengillie 11y agoAt least half of these already exist, either as .NET cmdlets, Command Prompt functions, or Windows EXEs. RDP, Robocopy, Find.exe, Sort-Object, Select-Object, Select-String, Invoke-WebRequest, Invoke-RESTMethod, IIS, .NET, CMD, ASP.NET, and Compare-Object will fill most of those needs. And Powershell accepts "cat" if "gc" for "Get-Content" is too long. Or "ls" if "dir" or "gci" for "Get-ChildItem" is too long. And each of these is a case-insensitive object you can pipe right into ConvertTo-Html or Send-MailMessage. Or you can create a UDP socket with .NET right from Powershell, and send your objects that way.
- icc97 11y ago
- braderhart 11y agoBryan, huge fan here! I agree and believe this is just a primer to making that happen. I'd personally like to see containers become the default for application deployment and sandboxing on all operating systems: https://www.linkedin.com/pulse/why-you-should-help-me-create-next-operating-system-using-brad-erhart https://www.linkedin.com/pulse/why-you-should-help-me-create... Any chance you're planning for a "desktop" version of SmartOS?
- bcantrill 11y agoWe're not -- but that's not to say we wouldn't encourage it! Bluntly, for us it's a driver issue: things like WiFi NICs are infamously varied and buggy, and we have our hands full (just) supporting modern server hardware. But don't let that stop you!
- jdub 11y agoI have incredibly strong doubts that this will ever be open sourced, as Microsoft does not want third parties to implement NT subsystems. If the emulation target is itself an abstraction, then maybe. Maaaaaybe. But that delivers pretty much the same result in practice.
- dschiptsov 11y agoVery clever publicity hijack but no, this news is irrelevant to SmartOS. Btw, FreeBSD runs Linux binaries for years, which is also irrelevant.