Go 1.7 was released, Intel will be making ARM chips and announces VR gear, and Microsoft open sources Powershell for release on Linux and the Mac.
Go 1.7
Last week was the release of Go 1.7. As I’ve become one of the organizers of the Golang Melbourne meetup1 this is obviously something I’m paying more attention to these days. Aside from that though, it’s still probably my favorite language right now so any updates are interesting.
I gave a short talk about the 1.7 features at the last meetup, but as the slides aren’t really any more useful than the release notes it’s probably better to read those. Let me give you a short summary of the highlights though.
The feature I’m looking forward the most to is probably the ability to have nested tests. This means you can have more granular control over your tests, especially while doing a loop over various entries, as it means you can more easily see what parts of the loop are being run. A simple example that I put into Igor is below.
func TestNaughtyStrings(t *testing.T) {
# Removed for clarity
request := slack.Request{Text: "string"}
for _, plugin := range plugins.GetPlugins(request, config) {
t.Run("Plugin="+plugin.Name(), func(t *testing.T) {
The feature that gets the most attention however is the inclusion of the Context package. This allows you to pass deadlines, cancellation requests, and even scoped values across API boundaries. It existed as a separate package for a while, but it’s been pulled into the main library now. If you’re not familiar with it, you can get a good introduction on the golang blog.
The last ones I’ll mention are the improvements they made in both speed and size. There are improvements for both of these, in a big part because of a switched backend. The size improvements are quite substantial, and obviously mostly aimed at targets where size is more of an issue2. There is an interesting article on the Golang site on how they achieved this, and they do a far better job explaining it than I can so read that.
Intel news
A lot of news came from Intel this week, with the biggest one obviously being that they’re going to start producing ARM chips for third-parties. Despite Intel’s attempts with some mobile processors3, they’ve mostly missed out on the mobile (phone) market. Which isn’t exactly a small market to miss out on, so they’ve taken steps to get at least some money from it.
Now, in the past Intel hasn’t exactly been happy about just creating chips they didn’t design themselves and licensing IP from their biggest competitor isn’t a small thing either. Intel is the biggest and most advanced manufacturer of chips however, so letting others use their technologies to do so will certainly attract some interesting customers. LG has already signed on, and no doubt others will follow so they can use Intel’s 10 nanometer (and probably the forthcoming 7 nanometer) design.
Other than announcements about various types of chips, Intel also introduced their version of VR gear. Called project Alloy, there are two things about it that stand out. First is that it’s wireless. Due to the large amount of data that needs to be passed to the goggles every other device uses cables for this, so it will be interesting to see what the impact of this is. I suspect it’s likely to have a lower resolution than competing devices like the Oculus Rift or HTC Vive, but as it’s not out yet there isn’t much known about it. However, Intel has also said that they will release the hardware as open source in the second half of next year. Obviously still a bit away, but obviously by that point we’ll be able to get a good look at the specs.
Powershell goes open source
Microsoft is continuing its recent trend to open source their code and/or make it available on other platforms. This time around it’s Powershell, the Windows answer to *nix shells such as bash or zsh.
I’ll be honest here, having had to use it recently (unfortunately my new job at times involves Windows servers) I’m not a big fan of it. Maybe it’s because I’m not used to it, and thereby missing how incredibly useful it can be if you know how the Windows ecosystem works, but I vastly prefer a regular shell. That said, having code like this go open source and be available everywhere is of course a good thing. And who knows, there might be some things in there that can then be ported to the tools I do use.
-
The first Tuesday of every month, if you happen to be in Melbourne come and enjoy the free beer and pizza while enjoying a talk or two. ↩︎
-
When you have a 10MB application and deploy it to a server with a 350GB disk, a 20% decrease obviously won’t even be really noticeable. When you have to deploy it to an embedded system however it might be the difference between being able to run it or not. ↩︎
-
Where these mobile processors are still mostly present in larger devices such as Apple’s MacBook. ↩︎