This Week in Programming: AWS re:Invent for Developers

7 Dec 2019 6:00am, by

Another week, another massive conference with dozens of announcements piled one on top of another. This week, Amazon took over Las Vegas with its AWS re:Invent conference and there was no lack of news. Of course, not all of it is necessarily applicable to you, the developer, so we figured we’d make an attempt, at the very least, of gathering together the news you might care to read. So, that’s where we’ll start this week, with several articles written right here at The New Stack, before we take a look at some other news in the world of programming that may have gone unnoticed with all the hubbub!

This Week in AWS re:Invent

  • Quantum Computing-as-a-Service: AWS its joining Microsoft in offering a fully-managed quantum computing-as-a-service, which goes by the name of Braket and will act as a marketplace for three different quantum computing hardware vendors. Each hardware provider offers a different architecture, and all three are supported in a single developer environment, which employ Jupyter notebooks and output into Amazon S3.
  • Machine Learning Comes to Code Review: I’ve said it before and I’ll say it again – if you want to see code doing interesting stuff, just look for developers trying to make their own lives easier. Such may be the case with Amazon’s new CodeGuru machine learning service for automated code reviews and application performance recommendations, which we write “is one of the first ML-based code reviewing and profiling tools.” The tool arose from Amazon’s own internal code review process and brings data from more than 10,000 open source projects on GitHub, making it able to “pinpoint resource leaks, atomicity violations, potential concurrency race conditions, unsanitized inputs, and wasted CPU cycles and the difficult-to-pinpoint on thread-safe classes, among other gotchas.”
  • An IDE Specifically for Machine Learning: Amazon has followed up on its Sagemaker platform, announced two years ago, with the launch of Sagemaker Studio, an IDE to manage the full machine learning lifecycle that we write “includes a number of additional capabilities, including debugging, monitoring and even the automatic creation of ML models.” Sagemaker Studio offers that “single pane of glass” experience where developers can build, train, tune, and deploy their ML models. AWS went way beyond just launching an IDE, also releasing several more tools, including SageMaker Experiments, SageMaker Processing, a new debugger, the SageMaker Model Monitor, and  SageMaker Autopilot — so make sure to check out our full story for all the ML-goodness details.
  • Deep Learning For Java: While we’re talking about learning, AWS also introduced an open source library to develop, train and run deep learning models in Java using high-level APIs called the Deep Java Library (DJL). The DJL, they write, “will simplify the way you train and run predictions” and they offer a walk-through on “how to run a prediction with a pre-trained Deep learning model in minutes.” As for why they made the DJL, they say that there is a dearth of resources for Python, but little for Java… hence, the DJL.
  • Machine Learning for Music Composition: Following up on previous ML-learning tools, such as AWS DeepLens and AWS DeepRacer, this time around Amazon unveiled AWS DeepComposer, which lets you compose music with generative machine learning models. AWS DeepComposer is “a 32-key, 2-octave keyboard designed for developers to get hands on with Generative AI, with either pretrained models or your own,” which they say is the “world’s first machine learning-enabled musical keyboard.”
  • Java and .NET Support in The AWS CDK: Amazon’s AWS Cloud Development Kit (CDK) now offers support for Java and .NET. Previously, the AWS CDK supported TypeScript and Python to model and provision your cloud application resources through AWS CloudFormation.
  • AWS Frameworks for Mobile Devs: Finally, Amazon launched both Amplify iOS and Amplify Android, which are open source libraries to help developers “build scalable and secure mobile applications” and “easily add analytics, AI/ML, API (GraphQL and REST), datastore, and storage functionality to your mobile and web applications.”

This Week in Programming

  • A Tale of Two Rust IDE Supports: IDEs currently have two choices when it comes to supporting Rust — the Rust Language Server (RLS) and rust-analyzer. While they differ primarily in performance, the Rust IDE team sees their silo’ed development as a bit of an unfortunate situation, writing that “we’d like to change that and to find out how we can unify these efforts.” In analyzing the current status, they say that the rust-analyzer offers greater performance with a “somewhat richer feature-set” while RLS offers “precision”. The Inside Rust blog post dives in a bit deeper, of course, but long story short is that they pose that “it is possible to integrate both approaches without doubling the engineering effort” and that “if this approach works, we will consider freezing RLS and focusing fully on rust-analyzer.”
  • Be Heard About Rust: If this sort of sausage making is of interest to you, or even if not and you just have opinions about the future of Rust, then head on over to the 2019 State of Rust Survey and let them know what you think. The Rust team wants to “understand its strengths and weaknesses and establish development priorities for the future” and this is your chance to partake. The survey should take about 10-15 minutes, is optionally anonymous, and open until Dec. 16. Keep an eye out for the results in a month.
  • Microsoft’s “Rust-like” Programming Language: While we’re on the topic of Rust, have you heard about Microsoft’s new language, which currently goes by the name “Project Verona”? According to an article in ZDNet, Project Verona is a new Rust-based programming language for secure coding that comes out of the company’s desire to “make older low-level components in Windows 10 more secure by integrating Mozilla-developed Rust.” Not too long ago, a Microsoft employee made some news by disclosing that “the vast majority of bugs being discovered these days are memory safety flaws.” Well, now the company is looking to fix that with Rust, which employs “memory safety” and Microsoft researcher Matthew Parkinson gave a talk on the company’s recent approach. Project Verona is Microsoft’s attempt at rewriting some specific Rust components to better handle these memory safety issues while preserving performance, and Parkinson has said it will be made open source “soon” so keep an eye out.
  • JetBrains Launches Into Space: While AWS re:Invent was going on in Las Vegas, Kotlin was also having its own conference where JetBrains introduced new developer collaboration tool called Space that provides git-based version control, code review, automation (CI/CD) based on Kotlin Scripting, package repositories, planning tools, an issue tracker and more. Space is currently available in early access and will be available as a service or self-hosted.

Feature image: AWS CEO Andy Jassy

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