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.

Xamarin videos, now on YouTube

Me, 17-minutes into an audio bit in 2017 (paraphrasing):

If you go onto YouTube search for a problem you’re having for Xcode and Swift you’ll find 15 well-produced videos to solve your problem. […] But you won’t find 15 well-produced videos with Visual Studio + C# (or Xamarin).

For the last few years I’ve thought that Microsoft needs a much larger presence on YouTube (in addition to Channel9). They also need other developers that make these sorts of videos to do them as well. I’ve long thought they should directly sponsor a series of videos from Lets Build That App’s Brian Voong.

But, perhaps this new channel will help.

Boring is good in software development

I use the term “boring” here to describe that which isn’t brand new. Sometimes we’re only excited about the new. The new car! The new house! Rather than being content with what we have, because it works or is paid off or we’re familiar with every nook and cranny, we sometimes can get wrapped up in the excitement of something new.

Chris Coyier, co-founder of CodePen, writing on CSS Tricks:

Perhaps the worst reason to choose a complex solution is that it’s new, and the newness makes it feel like choosing it makes you on top of technology and doing your job well. Old and boring may just what you need to do your job well.

Me, in 2016, discussing a topic very similar to this in a piece I then titled Use what works, play with the new:

The very same reasons Kyle uses Ruby on Rails is why I use PHP. I do like the way Ruby looks far better than PHP. (Insert GIF of DHH saying Ruby is gorgeous here) I also think that the Rails framework is well structured for web applications. I do think Go looks succinct and interesting. And Node is likely better for some of the things I’m trying to accomplish. However, I’m faster with PHP, a lot of people know it, it is very fast and stable, and has been used in large-scale projects. So I’m perfectly happy using PHP.

New (and therefore sometimes more complex to Chris’ point) may be exciting but it may not be the most reliable choice. Or the most widely tested. So you may do well to choose the old or boring choice.

This topic comes up on the blogosphere every few years. It is a good reminder.

I recommend reading the entirety of Coyier’s post as well as mine.

Testing inconsistent Web Share Target API data with a Progressive Web App

One of the latest things I’ve been working on for Unmark is turning the app into a Progressive Web App (PWA). Among other benefits, this affords Unmark the capability of being a “Web Share Target” on Android. (Sadly, only Android for now)

A Web Share Target is very similar to a feature you likely use every day and may not realize it. When you “Share to” or “Share via” an app (say, Twitter or Facebook or Micro.blog’s iOS app) it automatically picks up the URL, title, etc. from the web page you’re currently on – this is using a similar feature set. For PWA’s, this is called the Web Share Target API.

What happens is that the app you share from sends a small little packet of data to the app or PWA. According to the spec it should be sending three specific items: title, url, and notes.

The issue I’ve been working through is that each app has a different way of sending that data. Some of them exclude one or more of the items and each of them have very different ways of sending “Notes”.

I don’t know why these apps aren’t consistent. I suppose it might be in part because they are handling PWAs the same way they are handling other apps. They are just sending a “chunk” of data and they expect the target app to work through it all.

Today I was noodling how best to set up a test application to install on my Android phone so that I can inspect how these apps share their information. This way I can see exactly what information is being shared how Unmark could work with each of them. And I was going to open source it so that others working on this same issue had something they could use.

But it turns out I don’t need to, the Web Incubator Community Group already has a Web Share Target Test PWA already in place to do this. Just install this app on your Android device’s home screen and “Share To” it.

Thanks to Matt Giuca on the Google Chrome team for pointing me in the right direction. I’m glad this already existed.

Xamarin.Forms 3.1

David Ortinau on the Xamarin Blog:

Earlier this year, we surveyed Xamarin.Forms developers about the kinds of custom controls and extra platform code being written repeatedly that should be considered for support “in the box”. From these conversations, we created an initiative to deliver as many as we could in the next several releases. Just six weeks after shipping Xamarin.Forms 3.0 at Build 2018, we are excited to introduce Xamarin.Forms 3.1 with a batch of those enhancements to make your lives easier.

I shipped a Xamarin.Forms app on iOS and Android in 2017. I thoroughly enjoyed exploring and using Xamarin and in some circumstances, for some teams (especially those with deep C# experience) I’d wholeheartedly recommend Xamarin. The Xamarin team continues to keep on top of the latest OS/SDK/API releases as well as making it very easy for developers to ship cross platform applications.

Hopefully by the end of this year I’ll be able to say the same about React/React Native. I’m looking forward to exploring this deeper than I have in the past. I like to use different things so that I know what the best tool for each job is – rather than using the same tool for every project.

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.

Rebuilding Slack.com

Mina Markham:

In August, we released a major redesign of slack.com, and we want to give you a peek behind-the-scenes.

She goes on to show tons of details on their latest redesign. There are several bits I found interesting such as their attention to accessibility, how they handle fall backs for IE11, and how they made responsive illustrations.

/via Brad Frost.

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.

More on Firefox Quantum Developer Edition

Dan Callahan:

Compared to Firefox six months ago, today’s Developer Edition is twice as fast on benchmarks like Speedometer 2.0 that simulate the real-world performance of modern web applications.

See, on a tear.

Firefox Quantum Developer Edition

Julian Descottes, for Mozilla Hacks:

Firefox 57 Developer Edition was just released! It’s such an advance that we’ve given this browser a new name: Firefox Quantum.

I’ve been using Firefox as my default web browser on the Mac, iPad, and iPhone for a little over a week. I’ve also been using Developer Edition for most of my development needs. The Mozilla team is on a tear and this latest version is incredibly good.