Menu

Colin Devroe

Reverse Engineer. Blogger.

Like? Subscribe.

Microsoft releases WSL 2

Lots of Microsoft developer related announcements over the last few days. Since I use WSL every single day I am really looking forward to this WSL 2 release.

Initial tests that we’ve run have WSL 2 running up to 20x faster compared to WSL 1 when unpacking a zipped tarball, and around 2-5x faster when using git clone, npm install and cmake on various projects.

Significant speed improvements. But this bit really takes the cake:

WSL 2 uses an entirely new architecture that uses a real Linux kernel.

WSL 1 used an entirely different approach. They described it like this:

It is the space between the user mode Linux binaries and the Windows kernel components where the magic happens. By placing unmodified Linux binaries in Pico processes we enable Linux system calls to be directed into the Windows kernel. The lxss.sys and lxcore.sys drivers translate the Linux system calls into NT APIs and emulate the Linux kernel.

WSL 1 is a light-weight emulated Linux experience that allows us to use things like Bash commands within Windows without a full VM. WSL 2 is full Linux kernel properly piped to use the Windows stack.

I’m no expert in these sorts of things but this work seems pretty amazing on the surface and using it every day has been great and it has gotten better very rapidly.

The Mac is turning less Pro

skywhopper, on Hacker News, commenting on a thread relating to Mark Gurman’s scoop on Apple’s (supposed) plan to have apps running on iOS and macOS using the same (or, similar) code bases by 2020:

And then the Mac is losing what should be its primary audience through unwanted innovations and otherwise stagnant hardware, and a failure to recognize the importance of catering to the power users who might want an actual escape key, multiple types of ports, and a keyboard that doesn’t feel like it came off a rejected tablet accessory.

I can see an argument for fragmenting the laptop world into Pro/developer hardware and consumer hardware. But Apple seems to have got the needs of those groups mixed up. Do Apple’s own software engineers love the newest Macs I wonder?

I left the Mac (but may come back some day) for two primary reasons:

  1. Apple doesn’t cater to me (a professional computer user, programmer, video and photo editor, that owns a bunch of peripherals) any more. They used to. In fact the Mac was originally for exactly the type of person I am. The hardware choices they’ve made make it clear they care far more about consumers than professionals.
  2. The price gap between a Windows computer and a Mac computer is no longer commensurate with the build quality gap. It used to be that Macs were so much nicer than Windows computers. It was inarguable. These days it is arguable, if not nearly indistinguishable. Microsoft’s Surface line, Lenovo’s ThinkPads, and (dare I even mention) Huawei’s laptops are nearly on par with the latest Mac laptops. And the price difference is significant. My DELL XPS 9370 was about $1,400 less than if I had purchased a somewhat comparable Macbook.

You might ask: But what about the Operating System? macOS is still nicer than Windows in a variety of ways. It used to be far nicer and far more capable. But the niceness gap and the capability gap have also shrunk.

Windows 10’s WSL has been a boon for me personally to allow me to do the types of things I need to do on a computer. Combine that with Docker and I’m able to do every single thing I used to do on a Mac.

The biggest gripe I have with Windows 10 is its inability to strip away the legacy stuff you find in the corners of the OS. They are being eliminated one by one – like the plates in the shooting gallery at the county fair – with each release I download. But even this gripe isn’t much different from what I’m seeing on macOS. The Marizipan apps have been universally panned, the updates to macOS haven’t really been all that compelling (Dark Mode is your biggest selling feature?), and when will Mail.app ever get the update it so desperately needs?

To sum up: Mac hardware and software is still (albeit arguably) better than most Windows 10 hardware and software. But the gap is all but closed – leaving the consumer the ability to choose based on budget for hardware. And with PWAs, web apps, Electron apps, etc. taking over both platforms a huge portion of the software we use every day is nearly identical.

Apple is going less Pro. I don’t blame them. There are more buyers. Apple will continue to string along developers into believing they care deeply about the Mac because they need developers (and the Mac) to build apps for their consumers – especially on iOS. You need a Mac to build an iOS app (at least today). But I think it might be time to stop believing them and start opening up ourselves to the fact that there are other options for some of us that don’t only build Mac or iOS apps.

One less comment from me: I’m not anti-Apple at all. I still really like the company and what they stand for. I miss my Mac nearly every day. Windows 10 still has a ways to go. And the grass always seems greener elsewhere. But, I prefer to continue to have an open mind. To not be dogmatic and to choose the hardware and software I use based on principles I care about as well as on the reasonableness of their cost.

/HN comment thread via Michael Tsai.

Paul Stamatiou switches to Windows 10

Paul Stamatiou, long, long-time online friend, designer at Twitter, and a hobbyist photographer:

I decided it was time to upgrade to something a bit more powerful. This time I decided to build a PC and switch to Windows 10 for my heavy computing tasks. Yes, I switched to Windows.

The shift of professionals needing to switch to Windows started 20 months ago or so. It is slow, gradual. And even with the iMac Pro shipping, I think Apple’s eye (perhaps purposefully) is off of the professional market and focused mainly on the consumer market. There are far more consumers to sell to than professionals to sell to. I think now this shift has extended beyond just the full-time professional to the hobbyist.

Here are his thoughts on Windows + Linux with WSL:

It is now possible to run a full Linux environment right inside Windows. This means you can install Ubuntu or another distro and get access to the same bash prompt you’d expect inside Ubuntu. It was this new Linux functionality (that I read about on Owen’s blog several times) that was partially responsible for my initial curiosity in Windows 10 and building a new PC. It meant I could also easily carry out my basic web developement tasks to maintain and publish to this site. For me that means a simple Ruby and Node development environment.

Most blog posts, other than those by MSFT, gloss over how WSL works. WSL isn’t a virtual machine or some odd clunky way of running Linux on a PC that also has Windows installed. WSL is Linux running with Windows. I think WSL alone will pull a huge portion of the web development industry towards Windows 10 over the next 3 to 5 years. PC design has also caught up to Apple in many price points and that alone may turn a developer in need of an upgrade to at least try a Windows PC at their local store. Especially if Apple keeps stumbling on OS upgrades or the PR surrounding their bugs.

Stammy adds:

I really can’t understate the magnitude of this.

If you’ve read my blog for a little while you know I’ve been beating this drum for a while. Just over a year, in fact. Apple is less focused on the professional market than they have been in over a decade, Microsoft is more focused on it than ever, and because of that it is picking up tons of programmers and designers. I don’t think Apple is blind to this, they may not even care at the moment, but I think they should. Because where the nerds go the masses follow.

What will your next development computer be? Will you even entertain the idea of moving to Windows 10? Why not?

Developers, Let me tell you about Microsoft (audio)

I’ve been writing about Microsoft’s moves for the last three years. This week everything has come together and I’ve been writing my first multi-platform application using C# and Visual Studio. In this long rant I go on and on about how Microsoft needs to spread the word about what they are up to.

Links for this bit:

Download.

What’s new in WSL in Windows 10

Tara Raj for Microsoft:

We’ve been documenting many of these new features and improvements on this blog over the last few months, but we’ve often been asked for a single document listing all the new improvements, and with FCU (version 1709, build 16299.15) shipping on October 17th 2017, we thought it was time to publish a list these improvements!

We’re coming up on our first year of using Windows Subsystem for Linux (WSL) at Condron Media. I mentioned in January of this year that we’ve been using it pretty extensively. Since then Tucker Hottes has been getting the insider updates (or, beta updates) of Windows 10 and has enjoyed the incredibly fast pace that Microsoft’s teams are on. If you look at the linked blog post you’ll see the improvements are myriad.

A request: If you’re a developer using Windows 10 and know about WSL do Microsoft a favor and let other Windows-using developers know. Tucker and I are always amazed at the number of developers that have no idea about WSL still. In fact, just yesterday we met one and made sure to tell them about it.

To put this in perspective; Tucker is on Windows 10 and I’m on macOS. Yet, we use nearly the same development environment, configuration, tools, etc. This allows us to collaborate in a way that was previously much more difficult. Microsoft is doing great work on WSL and more developers need to know.

How we got Linux on Windows

Brian Jepson writing about the Windows Subsystem for Linux:

But there’s a lot more going on. First, WSL is really a new infrastructure for Windows that implements a Linux kernel-compatible ABI (Application Binary Interface). It allows Windows to run unmodified ELF-64 binaries, and is distribution-agnostic. When you configure it, WSL downloads and runs an (unmodified!) Ubuntu cloud image, but WSL is designed to support other Linux distributions as well. There are a few system calls not yet implemented, but that list gets smaller and smaller with each Insider Preview Release of Windows.

Much of what Jepson discusses here is above my pay grade, however, in the most simple terms, this is what the WSL is. WSL, allows any Unix distro to “talk” to Windows in such a way that makes the Unix kernel indistinguishable for an actual Linux kernel. So a Linux app doesn’t need to be modified at all to run on Windows 10 with WSL enabled. And while there are some things that still don’t work on WSL that list is shrinking fast.

We’ve been using WSL at Condron Media for weeks and have had great success. We’ve run into a few snags but Tucker Hottes has reported those via Twitter and oftentimes sees an update to Windows within a week or so. Microsoft is really killing it with this.