Oct 18, 2019 newsletter

Visual Studio Code pulls data scientists into the Microsoft ecosystem with revamped Python extension

Can data scientists love Visual Studio Code as much as developers do? Data scientists could be VS Code's next target, and they might be part of Microsoft's master plan to win over data-driven engineering teams.

The latest release of Microsoft’s Python Extension for Visual Studio Code brings native editing of Jupyter notebooks to the world’s most popular code editor. Data scientists can easily open, edit, and run notebooks in VS Code.

Jupyter notebooks are the lifeblood of data science. They separate code into runnable snippets followed by shareable outputs—like charts, visualizations, and tables. Today, however, most data scientists edit these notebooks with tools that developers typically do not use.

Such a disconnect is costly in today’s data-drenched and app-soaked world.

Data is more critical to software development than ever before. Artificial intelligence, machine learning, and analytics are redefining entire organizations. Teams can’t afford to keep engineers and data scientists in silos.

To unify these fractured development teams, Microsoft is pulling data scientists into VS Code.

Doing so will have two major effects.

First, data science will be more tightly integrated into the development process. Developers—who control what gets built and how—will be closer to data teams. Developers can build more powerful apps when data scientists play a larger role in the development process.

Second, Microsoft pulls more of the development stack into its sphere of influence and gains valuable mindshare among data scientists. Data scientists are leading a massive shift toward data-driven development. They can become strong advocates within tech companies for Microsoft Azure, including its AI and IoT services.

The net result is a world that is far more developer-centric and Microsoft-centric.

When technology stacks cater to developers, the entire software supply chain must use developer-friendly tools. Integrating Jupyter notebooks into Visual Studio Code is a major step toward pulling data scientists into this developer-centric world—and Microsoft’s world, too.


API-first content is king in the developer world

Bill Gates once said that content is king. In the developer world, that crown belongs to API-first content.

The rapid growth of API-first content management reveals how software micronization is reinventing even the most fundamental parts of the web—text, images, and assets—to be developer-friendly.

Headless content management systems are ushering in this new era of developer-driven content management. A headless CMS is a cloud-based service that stores content. Developers make API calls to a headless CMS and pull that content into their apps.

API-based content can be integrated into any app on any device, so developers can easily access and reuse content. Marketing teams can then update content without disrupting developers’ code. It’s a win-win.

Developers are flocking to these new headless content management systems.

Strapi, an open-source Node.js headless content management system, has amassed roughly 500,000 downloads. More than 250 developers contribute to the project. Last week, the company raised $4M in venture funding.

Strapi is not alone. Contentful, an API-first CMS, raised nearly $80M. Even WordPress—a stalwart of monolithic tooling—is pivoting some of its platform into a headless CMS.

Today, developers are turning to microservices and APIs, like Strapi, to accelerate development. Last week, when I talked about Kong and its API platform, I described this trend as software micronization:

Rather than inextricably welding together all parts of an app, developers weave together modular code, services, and functionality. These tools operate according to different timelines, release schedules, and objectives.

While Kong helps developers build and manage APIs, Strapi standardizes an API-based service for a particular developer need. Both, however, point to the growing trend of micronization and the rapid rise of microservices-first architecture.


How developers can build the web with any programming language and WebAssembly

The WebAssembly ecosystem continues to push the boundaries of web development. As WebAssembly evolves, developers are able to build increasingly powerful applications in any language and port them to the browser or Node environments.

With the release of a new tool, dubbed Wasmer-JS, developers can build modules for the web in Rust, C, Java, and more. These modules can then be imported into JavaScript environments, including the browser.

These modules work by taking advantage of WebAssembly and WASI.

WebAssembly is a new technology that lets developers build next-gen web apps. Resource-intensive apps for the browser—like Google Earth and Doom—benefit from WebAssembly’s superior speed and performance.

WebAssembly System Interfaces (WASI) is an exciting new specification that allows running POSIX-like applications anywhere with WebAssembly. More simply, WASI modules let developers write more powerful WebAssembly code that can interface with an operating system.

Wasmer-JS lets developers use these WASI modules in JavaScript applications.

Anything that can be compiled into WASI can be imported into the browser. Developers can write code in any WASI-compiled language—like Rust, Go, C, Java, and C#—and integrate it into their web applications.

Developers now have a far broader scope for what can be ported to a JavaScript environment. For example, Rust developers can compile their applications to WASI and users can run it on their browsers.

While still in its infancy, WebAssembly and WASI open the door to a new wave of powerful apps built by developers in any language that are able to run in any modern browser.


Small bytes

  • npm, Inc built the world's largest package registry with the help of a strong developer community. Now its enterprise experiment is failing and it's hoping to return to its developer roots [TECHREPUBLIC]
  • Spinnaker helps developers push changes to apps that run across multiple cloud services. Originally developed by Netflix, Spinnaker seems poised to do for multi-cloud what Kubernetes did for single-cloud [BUSINESS INSIDER]
  • AWS is now a sponsor of Rust, a programming language that has repeatedly been named a community favorite [AWS]
  • GitLab reversed its decision to not let its employees talk about politics at work [THE REGISTER]
  • Algolia, a search-as-a-service tool, raised $110M. Algolia is another example of an API-first service growing fast [TECHCRUNCH]

Tools

  • roughViz is a reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser [GITHUB]
  • Muon is a lightweight alternative to Electron written in Golang in about ~300 LoC [GITHUB]
  • Woah.CSS is a collection of animations for eccentric developers [WOAH]
  • Pipedream is an integration platform built for developers [PIPEDREAM]
  • Reshuffle is a place to share, find, and run live open source code [RESHUFFLE]
Never miss the big news

Every week, our team will send you three of the most important stories for developers, including our analysis of why they matter. Software development changes fast, but src is your secret weapon to stay up to date in the developer world.

Featured articles
AI Ethics: How Diverging Global Strategies Open a Gaping Regulatory Void

Today global initiatives on AI are a series of regulatory and ethical gambles—a dangerous, potentially existential game.


Can Master Chief win the day for Microsoft Azure?

Why the Xbox will be Azure’s unlikely hero.


Churn Baby, Churn

Understanding churn rates can help developers be more productive and write quality code

Made with by Software. Read more about our mission.