Development

This Week in Programming: Power Moves for Microsoft PowerShell

8 Mar 2019 12:50pm, by

My, how far we’ve come in the nearly 21 years since the U.S. government sued Microsoft for violating federal antitrust law. While opinions differ in its estimation of Microsoft’s popularity at the time, many signs are again pointing to a changing tide for the software giant.

What has brought about this boon of goodwill for a company at times referred to by such derogatory nicknames as “Micro$oft” or others unfit for polite publication? One factor could be its ongoing adoption of open source principles.

When Microsoft acquired GitHub last year, there was no lack of alarm, yet at the same time, there was some hope that this was all part of a bigger effort by the company to truly adopt open source ideas.

Now, headlines regularly tell us of Microsoft open sourcing old code bases, such as the release of the MS-DOS source code last fall or the open sourcing of more than 60,000 patents. Just this week, developers are rejoicing around the open sourcing of yet another odd bit of code, that of the Windows calculator.

According to the Microsoft blog post, the code is available on GitHub under the MIT license and includes the source code, build system, unit tests, and product roadmap, giving developers the ability to “know how different parts of the Calculator app work, easily integrate Calculator logic or UI into your own applications, or contribute directly to something that ships in Windows.”

Beyond that, the company says it’s also “a great way to learn about the latest Microsoft technologies like the Universal Windows Platform, XAML, and Azure Pipelines,” as well as “learn from Microsoft’s full development lifecycle.”

At the same time, Application Development Trends magazine brings us the story of how PowerShell usage has increased in Microsoft’s era of openness. Microsoft’s PowerShell is a (formerly Windows-only) command-line shell and associated scripting language for task automation and configuration management framework.

“One byproduct of Microsoft’s embrace of openness and interoperability may be a boost in popularity for PowerShell, the company’s venerable scripting language,” they write. “That’s the conclusion of the TIOBE index, which found little of consequence to note in its monthly gauge of programming language popularity beyond the fact that PowerShell reappeared among the top 50 in the new March report.”

The article goes on to quote the TIOBE report, which cites Microsoft’s continual move to open source as the most likely reason behind this.

“The PowerShell scripting language is more than 12 years old and it has been in the top 50 before,” the report said. “PowerShell is typically used for basic scripting. Until recently it was only available for Windows but Microsoft used its .NET Core platform to create PowerShell Core. This version is open source and runs on all major platforms. This might be the reason why PowerShell is getting more popular again.”

You can’t please everyone all the time, though, huh?

This Week in Programming

  • Portable APIs Arrive to Go Cloud Development Kit: The Go Cloud Development Kit (CDK) was first introduced last July and now the Go team is here with an update on what’s new with the project previously referred to as “Go Cloud” that offers “libraries and tools to improve the experience of developing for the cloud with Go.” The featured updates include “a set of portable APIs for common cloud services,” that allow developers to write applications to be deployed “on any combination of providers, including AWS, GCP, Azure, on-premise, or on a single developer machine for testing.” The CDK offers a write-once, run-anywhere experience and launches with a set of APIs that include blob, for persistence of blob data, pubsub for publishing/subscribing of messages to a topic, runtimevar, for watching external configuration variables, secrets, for encryption/decryption, helpers for connecting to cloud SQL providers and soon a document storage API. For further details, check out the godoc and tutorial.
  • A Wild TensorFlow 2.0 Alpha Appears: We heard a while back that TensorFlow 2.0 was on the way, and now ProgrammableWeb reports that TensorFlow 2.0 is now available in Alpha preview. The preview was made public this week at the TensorFlow Dev Summit 2019 and the TensorFlow team says that “TensorFlow 2.0 focuses on simplicity and ease of use, with updates like eager execution, intuitive higher-level APIs, and flexible model building on any platform.” Lest you doubt the platform’s popularity, ProgrammableWeb reports that “the team revealed the platform has been downloaded more than 41 million times and has over 1,800 contributors globally since its launch.” According to SDTimes, the new version will expand AI capabilities into mobile, IoT, and JavaScript, with the alpha preview focusing “more on making the library and its APIs easier to use whether you are an expert or a beginner creating machine learning models.” They write that “the biggest changes to TensorFlow are its eager execution and @tf.function. Other features include Python control flows, optimization of legacy code and improved error messaging.”

  • Google’s Local AI Platform Coral: Moving along, we have several bits of news from Google this week, starting with their introduction of Coral, its “platform for building intelligent devices with local AI.” According to the company’s announcement, Coral is being moved into public beta to offer a “local AI toolkit that makes it easy to grow your ideas from prototype to production” that includes “hardware components, software tools, and content that help you create, train and run neural networks (NNs) locally, on your device.” The tools can be used with Google Cloud IoT and Google provides product documentation, datasheets and sample code.
  • Google Open Sources GPipe: Google has also open-sourced its GPipe, a library for efficiently training large deep neural networks. According to the VentureBeat article, the library offers the ability to train deep neural networks “under Lingvo, a TensorFlow framework for sequence modeling” and it’s “applicable to any network consisting of multiple sequential layers.”
  • Android Jetpack WorkManager Goes Stable: Last up for Google developer news this week, the company released the Android Jetpack WorkManager 1.0 Stable, which addresses one of the biggest problems face by Android developers — “doing background processing reliably and in a battery-friendly manner.” Google says that its answer to these problems came with WorkManager, which debuted at Google I/O 2018 with the goal of making background operations easier to handle. “WorkManager takes into account constraints like battery-optimization, storage, or network availability, and it only runs its tasks when the appropriate conditions are met. It also knows when to retry or reschedule your work — even if your device or app restarts,” they write. As always, check out the post for full details.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.