This Week in Programming: Power Moves for Microsoft PowerShell
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.
Microsoft open sourced their Frontend Bootcamp training materials. The developer perception of Microsoft is certainly heading in a positive direction. https://t.co/bIV1TsuFZE
Would love to see more companies do this!
— Abdellatif (@Abdella6if) March 4, 2019
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.
Microsoft just opened source Microsoft CALCULATOR. What is life?! https://t.co/HeDmZP3Wst
— Scott Hanselman (@shanselman) March 6, 2019
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.”
I'll believe Microsoft's commitment to open-source when they put the source code for Clippy on GitHub.
— Bruce Lawson (@brucel) March 7, 2019
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.
Saying you need a CS degree to be a software engineer is like saying you need a Fine Arts degree to be a makeup artist, mute thread
— bletchley punk (@alicegoldfuss) March 5, 2019
- 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.
Can't install this thing because Python is out of date
Can't install new version of Python because OpenSSL build failed
Dependency for OpenSSL building isn't there
That dependency isn't shipped in this version of Debian.
Never a time like the current to upgrade the OS.
— Aaron Corso (@corsoa) March 4, 2019
- 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.”
“This technical debt can wait. I have a feature to deliver!” pic.twitter.com/OrUZgGUbwV
— Changelog (@changelog) March 7, 2019
- 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.