Apples releases its Swift language for Linux

As the first major release since Apple open-sourced the Swift programming language and began providing Linux support, Swift 2.2 is now available.

Swift 2.2 contains the Linux support (officially for Ubuntu 14.04 and 15.10) while aside from that are some minor language changes. Swift 2.2 is "mostly source-compatible" with Swift 2.1 and there are also a number of bug fixes, diagnostic enhancements, and performance improvements. A Swift Package Manager is also in development but not bundled with Swift 2.2.

More details on Swift 2.2 can be found via today's release announcement at Swift.org.


Redox, an OS written in Rust that is compatible to Linux

Redox is a general purpose operating system and surrounding ecosystem written in pure Rust. Our aim is to provide a fully functioning Linux replacement, without the bad parts.

We have modest compatibility with Linux syscalls, allowing Redox to run many Linux programs without virtualization.

We take inspiration from Plan9, Minix, and BSD. We are trying to generalize various concepts from other systems, to get one unified design. We will speak about this some more in the Design chapter.


Kubernetes has been transferred to Cloud Native Computing Foundation, a standards body

The Cloud Native Computing Foundation (CNCF) formed last December has fired its first shot in anger, by deciding that Kubernetes is worthy of its community-coddling and standard-creating assistance.

The CNCF formed under the auspices of the Linux Foundation and aims to cook up container-oriented and microservices-centric efforts.

Kubernetes is a fine place for the Foundation to start, because it is a container orchestration tool that makes it possible to string containers together into something that more or less looks, walks and quacks like an application even though it comprises different nuggets of independent code.


CloudFoundry? Docker? rkt & CoreOS!

This February, CoreOS announced that their rkt container runtime had graduated to version 1.0. rkt has come a long way since its initial announcement in December 2014, so now’s a good time to take a closer look and consider how it fits into the rapidly changing container ecosystem.
This article is intended for people who are new to rkt but have some experience with Linux containers, e.g., with Docker. Throughout this post, I’ll be assuming you’re using rkt with systemd on Linux.
You will learn:
  • History and context
  • How to build ACI images with acbuild for running with rkt
  • Starting and stopping containers with rkt and systemd
  • How image discovery works, in contrast to Docker’s registry
  • pods and rkt
  • cgroups and rkt


CoreOS started building rkt because they felt that Docker was no longer “the simple composable building block [they] had envisioned.”
rkt was announced alongside the appc set of specifications, which focused on composability, security, image distribution, and openness of containers. Docker’s daemon and monolithic CLI tool make composability a problem — of processes in the case of the daemon and of tools in that of the CLI. The fact that Weave and Flocker had to resort to wrapping the Docker CLI tool was evidence of the latter (before plug-ins were introduced).
The rkt announcement blog post appeared to be successful in shaking things up enough to get Docker to commit to open standards. The Open Container Project (later renamed to the Open Container Initiative), with appc and CoreOS founders Alex Polvi and Brandon Philips as founding members, was launched on June 22, 2015.
Since then, we’ve not seen the kind of progress on standards from the OCI that will enable true interoperability of container discovery, distribution, and runtime environment between Docker, rkt, and others. Docker is clearly going all-in on building a platform, whilst rkt appears to be firmly aimed at platform builders. A smart move by CoreOS, considering signs suggesting that wholesale adoption of Docker’s platform could lead to vendor lock-in.

rkt Features

rkt boasts the following features:
  • Modularity – rkt is architected in stages (image fetching, cgroup and networking setup, and execution) that can have different implementations, providing separation of privileges as well as concerns.
  • Composability – rkt is not a daemon, is not the parent process of all your containers (and therefore can be updated without affecting running containers), and is composable with other tools. Natively runs appc images built with acbuild.
  • Security – It has Intel Clear Container, SELinux and TPM support, as well as image signature validation.
  • It can run Docker images.
The new 1.0 release includes some notable fixes and improvements:
  • Bash autocompletion for rkt commands
  • rkt fly — a new rkt stage1 that allows containers to be run with reduced isolation and extra privileges. This is useful for running software such as cluster management controllers.


Microsoft joins Eclipse Foundation

Microsoft has announced that it is now joining the Eclipse Foundation as a Solutions Member. “Joining the Eclipse Foundation enables us to collaborate more closely with the Eclipse community, deliver a great set of tools and services for all development teams, and continuously improve our cloud services, SDKs and tools,” the company said.
Microsoft announced that it has joined the Eclipse Foundation, a group meant to promote not only the use, but also the growth of open-source software. The announcement came one day after Microsoft revealed that SQL Server would be coming to Linux.

Quantum computers might break entire industries by breaking encryption

Researchers from MIT and the University of Innsbruck in Austria have created the world’s first five-atom quantum computer which could decipher the security of traditional encryption schemes.

More than two decades after Peter Shor, the Morss Professor of Applied Mathematics at MIT, created a quantum algorithm which calculates the prime factors of a large number more efficiently than a classical computer, researchers from MIT and the University of Innsbruck in Austria reported that they have designed a quantum computer from five atoms in an ion trap.


Microsoft SQL Server on Linux

Today I’m excited to announce our plans to bring SQL Server to Linux as well. This will enable SQL Server to deliver a consistent data platform across Windows Server and Linux, as well as on-premises and cloud. We are bringing the core relational database capabilities to preview today, and are targeting availability in mid-2017.

SQL Server on Linux will provide customers with even more flexibility in their data solution. One with mission-critical performance, industry-leading TCO, best-in-class security, and hybrid cloud innovations – like Stretch Database which lets customers access their data on-premises and in the cloud whenever they want at low cost – all built in.


WebAssembly may go live in browsers this year

The WebAssembly project to improve the Web's performance now has experimental implementations in place for major browsers. Developers also are advancing the design of the binary format that serves as the technology's linchpin.

In fact, WebAssembly could be ready this year on several browsers.

First detailed last June, WebAssembly features a portable code format to run safely in browsers at native speeds. "It's designed to be efficient for browsers to download, decode, and compile, and it runs fast by taking advantage of common, widely available hardware capabilities," said Luke Wagner, a programmer at Mozilla. He has served as a co-chairman in the World Wide Web Consortium community group overseeing WebAssembly. Google, Mozilla, Microsoft, and Apple all have participated in the development process.

"There are experimental WebAssembly implementations for Firefox, Edge, Safari, and Chrome," said Wagner. "In the coming months, we expect to see enough progress and convergence to release demos of large, realistic applications that will run on the prerelease channels of multiple browsers."

"A user can compile a program of a high-level language to WebAssembly and run it in a browser," said B. Abhijith Chatra, a senior software engineer at Microsoft and a co-chairman of the community group. "As a first step, in the minimal viable product, the goal is to ensure that a C/C++ program can be compiled to WebAssembly and run within the browser."

While awaiting native browser support, WebAssembly developers are building tools to translate it to the asm.js subset of JavaScript, making it possible to use WebAssembly even in browsers that do not yet support it, Wagner said.

WebAssembly will feature a memory-safe, sandboxed execution environment. It would access browser functionality through the same Web APIs accessible from JavaScript.

The project's developers envision using WebAssembly for porting large applications to the Web and for implementing performance-sensitive kernels of Web frameworks or computationally intensive tasks like computer vision or media processing. They also want it to enable other programming languages to compile efficiently to the Web.

JavaScript developer and author Eric Elliott sees WebAssembly helping with development of video, audio, and games for the Web. "That kind of thing is clearly pretty hard to do with JavaScript right now mostly because of the payloads involved," he noted. A lot of source code is required -- payloads on the order of 20MB for a small game can be required, but WebAssembly has the potential to eliminate this problem, Elliott said.

Currently, JavaScript requires downloads of compressed text that have to be uncompressed inside the browser, then parsed into an abstract syntax tree (AST), which helps the computer understand the text and what it means semantically, Elliott said. "WebAssembly bypasses all that because it actually is a binary AST format by default," he said. "It gets compiled to binary AST from languages like C or C++.... It's really going to help the performance of the Web."

Developers are already compiling to JavaScript with other languages and using asm.js as the bridge, Elliott noted.

Despite those efforts, WebAssembly remains very much a work in progress. Developers need to experiment with browser implementations and provide feedback before the specification is finished, Wagner said. Also, the community group has to finish the spec and deal with a "steadily shrinking" set of questions, he said. In addition, the conformance test suite must be expanded to cover the entire specification.