Amazon thinks you can code better
Amazon announced CodeGuru, a new tool to automate code reviews. It promises to find your most expensive lines of code and suggest how you can improve them.
How? CodeGuru’s machine learning models are built with data combined from Amazon’s internal codebase and more than 10,000 open source GitHub projects. CodeGuru mines Amazon’s internal codebase for pull requests that include AWS API calls and matches them to relevant documentation to provide you with code suggestions.
CodeGuru looks for resource leaks, potential concurrency race conditions, and wasted CPU cycles. Through its automated reviews, CodeGuru promises to reduce CPU utilization, cut compute costs, and improve application performance.
Why it’s a big deal: We’ve seen a lot of activity in the world of automated code review technology. Most notably, GitHub recently acquired Pull Panda and Dependabot to strengthen its pull request automation features.
While GitHub has the advantage of being home to most of the world’s open source code, Amazon dominates everything related to infrastructure.
Using its infrastructure experitse, CodeGuru differentiates itself from the growing field of automated code review tools by making unique application performance recommendations. As the largest cloud service provider, AWS can leverage its huge developer community and internal best practices to make a clear and measurable impact on developers’ code.
But... notice how Amazon is still dependent on code hosted on GitHub to train its models. Microsoft’s Azure can piggyback off GitHub’s spot at the center of the developer world to drive growth, but AWS will need to be more creative in capturing developer mindshare.
CodeGuru only supports Java applications today. That will likely expand rapidly as Amazon looks to defend its top spot in cloud-based development.
Legacy problems require modern solutions
Microsoft revealed a secret project to create a new Rust-like language as the company looks to modernize its legacy codebase. Dubbed Project Verona, Microsoft’s new tool is a systems programming language designed to integrate new code with old, unsafe legacy code.
The great Rust experiment. Earlier this year, Microsoft embarked on a set of tests to better understand how it could use Rust to replace C and C++ throughout its codebase.
Rust is one of the most widely-loved programming languages—winning most-loved programming language every year for the last fours years in the Stack Overflow survey—and one of the fastest growing programming languages—growing 235% over the last year according to GitHub’s State of the Octoverse.
Rust offers a host of security improvements over C and C++. Most bug fixes issued for Windows—roughly 70% of yearly patches—are related to memory safety, problems which Rust can help avoid. Rust’s design could save Microsoft time, resources, and developer headaches.
How does Project Verona fit in? Microsoft is considering rewriting targeted parts of its codebase with Rust, but that still leaves its engineering teams to juggle millions of lines of existing legacy code.
Project Verona will use its new Rust-like language to carve up these legacy bits of code and compartmentalize them so attackers’ code can’t escape. That way Microsoft can maintain its legacy baggage safely and securely, without necessarily rewriting everything.
C and C++ have long reigned supreme, but with Microsoft’s placing, the future could look a lot more Rust-y.
Amazon jumps into quantum computing
Amazon announced the launch of Braket, a new fully managed service that allows researchers and developers to begin experimenting with computers from multiple quantum hardware providers in a single place.
Braket gives developers access to cutting-edge quantum computers from D-Wave, IonQ, and Rigetti—a few of the most widely-known quantum hardware manufacturers.
Does quantum matter? Quantum computing is a young field still looking to prove its worth. Researchers—and big technology companies—hope that one day quantum computers will be able to solve certain complex computations more quickly. That would be particularly useful for resource-intensive work like drug discovery, financial modeling, and artificial intelligence.
Amazon vs. Microsoft vs. Google. Google has a strong research culture that will likely push quantum computing forward. Just a few months ago, Google and IBM quibbled over Google’s declaration that it had achieved quantum supremacy.
Even so, AWS and Microsoft are taking an early lead in making quantum computers cloud-based.
Like AWS, Azure recently announced a quantum computing solution for Azure. With the launch of Braket, Amazon is now firmly pitted against Microsoft.
Amazon isn’t shying away from Google, either. Buried in its Braket announcement, Amazon noted that its opening up the AWS Center for Quantum Computing near Caltech to push forward quantum hardware development.
Ok, but should developers care? Not yet. It’s still unclear how widely accessible Braket will be, as it seems more targeted towards enterprise developers at large companies.
Moreover, quantum computing is unlikely to disrupt software development in the near-term. Traditional computers work well for most problems developers face today.
Still, the next wave of innovation could be at our doorstep, and developers working on cutting-edge computers today will help shape software development tomorrow.
Netflix's latest release is an open source data science library
Netflix and AWS are teaming up to release Metaflow, a "human-friendly Python library that helps scientists and engineers build and manage real-life data science projects."
Developed at Netflix, Metaflow helps data scientists by providing a unified API to the infrastructure stack that is needed to complete data science projects, from prototype to production.
The impact? Less engineering and more data science. Data scientists currently juggle many different parts of the development stack in any data science project—including versioning, architecture, data warehouses, and more. Keeping track of data and models is time-consuming and complicated.
Metaflow abstracts away some of the engineering complexity of these data science workflows.
Metaflow also pulls data science farther into the AWS sphere of influence. Metaflow works with both local and remote environments, but when data scientists need more data or computing power, they can easily move from local to remote modes of code execution. Netflix has optimized Metaflow to work directly with AWS.
What about the developers? Where data goes, developers will follow.
As more engineering teams become data-driven, AWS will need to convince teams of data scientists and developers to keep their data on the AWS cloud.
With more automation that saves data scientists and developers from tedious setup and maintenance, AWS plans to make serious inroads in hooking data-focused teams.
- Qt, a framework for building cross-platform applications, launched the Qt Marketplace to help developers extend the functionality of the Qt platform. With the advent of new cross-platform libraries and highly portable code, Qt is working to maintain its standing in the developer community [QT]
- Amazon announced SageMaker Autopilot, a tool that will make it easier to automatically create the best classification and regression machine learning models. Autopilot inspects your data, picks the best model, and fine tunes hyperparameters automatically [AWS]
- A developer discovered a bug in the most copied code snippet on Stack Overflow. Developers frequently copy and paste from Stack Overflow, trusting the community to filter out flawed answers, but occasionally an unoptimized solution can slip through the cracks [PG]
- Two malicious Python libraries were found trying to steal SSH and GPG keys. The packages used a technique called typosquatting, which involves swapping out characters that look similar in the name of a package. This is only the third time the PyPI has had to intervene to remove Python libaries using typosquatting, but represents another case in a worrying trend [ZDNET]
- AWS launched DeepComposer, a machine learning tool to generate new music. Amazon has a history of working to make AI technologies more accessible to developers and fun for users [AWS]
- nnn is a full-featured terminal file manager [GITHUB]
- Zoya is a highly composable logging library used for both client and server applications [NPM]
- React View is an interactive playground, documentation and code generator for your components [UBER]
- Looop.dev is a web based creative coding tool designed to allow quick prototyping of canvas and WebGL animations with a looping timeline [LOOOP]
- Taloflow reads your AWS cost reports, analyzes infrastructure metrics and events, and forecasts spend in real time [TALOFLOW]
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.
Why the Xbox will be Azure’s unlikely hero.
Today global initiatives on AI are a series of regulatory and ethical gambles—a dangerous, potentially existential game.
Understanding churn rates can help developers be more productive and write quality code