New Raspberry Pi 3 Model A+, Red Hat Enterprise Linux 8 Beta Now Available, LF Deep Learning Foundation Announces First Software Release of the Acumos AI Project, Google’s Project Fi to Offer Google-Run VPN and Deepin 15.8 Released

News briefs for November 15, 2018.

Raspberry Pi 3 Model A+ is now available: "you can now get the 1.4GHz clock speed, 5GHz wireless networking and improved thermals of Raspberry Pi 3B+ in a smaller form factor, and at the smaller price of $25." You can order one here. The blog post notes that cases for the RPi 3 Model A+ will be available early next month.

Red Hat Enterprise Linux 8 Beta makes its debut. RHEL 8 Beta features hundreds of improvements and several new features. One highlight is the introduction of "the concept of Application Streams to deliver userspace packages more simply and with greater flexibility". It also supports "more efficient Linux networking in containers through IPVLAN", has several security enhancements and more.

The LF Deep Learning Foundation (a project of the Linux Foundation) yesterday announced the first software release of the Acumos AI Project, Athena. From the press release: "Acumos AI is a platform and open source framework that makes it easy to build, share and deploy AI applications. Acumos AI standardizes the infrastructure stack and components required to run an out-of-the-box general AI environment. This frees data scientists and model trainers to focus on their core competencies and accelerate innovation." See the full release notes here.

Google's Project Fi has launched a new project allowing users to route all traffic through a Google-run VPN. According to The Verge, "your traffic will be going to Google's servers, so Google will be able to see what you're visiting." However, Google has said it isn't tying traffic to accounts or phone numbers or "any other user identifiers". The traffic also will be encrypted.

Linux Deepin 15.8 was released today. The Deepin team notes that the "new release is featured with newly designed control center, dock tray and boot theme, as well as improved deepin native applications, hoping to bring users a more beautiful and efficient experience." To download, click here.

Getting Started with Scilab

Introducing one of the larger scientific lab packages for Linux.

Scilab is meant to be an overall package for numerical science, along the lines of Maple, Matlab or Mathematica. Although a lot of built-in functionality exists for all sorts of scientific computations, Scilab also includes its own programming language, which allows you to use that functionality to its utmost. If you prefer, you instead can use this language to extend Scilab's functionality into completely new areas of research. Some of the functionality includes 2D and 3D visualization and optimization tools, as well as statistical functions. Also included in Scilab is Xcos, an editor for designing dynamical systems models.

Several options exist for installing Scilab on your system. Most package management systems should have one or more packages available for Scilab, which also will install several support packages. Or, you simply can download and install a tarball that contains everything you need to be able to run Scilab on your system.

Once it's installed, start the GUI version of Scilab with the scilab command. If you installed Scilab via tarball, this command will be located in the bin subdirectory where you unpacked the tarball.

When it first starts, you should see a full workspace created for your project.

Figure 1. When you first start Scilab, you'll see an empty workspace ready for you to start a new project.

On the left-hand side is a file browser where you can see data files and Scilab scripts. The right-hand side has several panes. The top pane is a variable browser, where you can see what currently exists within the workspace. The middle pane contains a list of commands within that workspace, and the bottom pane has a news feed of Scilab-related news. The center of the workspace is the actual Scilab console where you can interact with the execution engine.

Let's start with some basic mathematics—for example, division:


--> 23/7
 ans  =

   3.2857143

As you can see, the command prompt is -->, where you enter the next command to the execution engine. In the variable browser, you can see a new variable named ans that contains the results of the calculation.

Along with basic arithmetic, there is also a number of built-in functions. One thing to be aware of is that these function names are case-sensitive. For example, the statement sqrt(9) gives the answer of 3, whereas the statement SQRT(9) returns an error.

There also are built-in constants for numbers like e or pi. You can use them in statements, like this command to find the sine of pi/2:

Zentyal Open Source Linux Server Version 6.0 Now Available, KDevelop 5.3 Released, Scalyr Announces New Features, Mozilla Launches Version 2.0 of Its *Privacy Not Included Buyer’s Guide and Debian No Longer Allowing Vendor-Specific Patches

News briefs for November 14, 2018.

The Zentyal development team announces a new major version of its Zentyal Open Source Linux Server with native Microsoft Active Directory interoperability. Version 6.0 is based on Ubuntu 18.04 LTS with the Linux 4.15 kernel, Samba 4.7, and it includes a new RADIUS module and virtualization manager module. See the full Changelog for more details.

KDevelop 5.3 was released this morning. It's been almost a year since version 5.2, and much has changed. KDevelop 5.3 has a new analyzer plugin that's shipped out of the box, and there's a new Clazy clang analyzer plugin "specialized on Qt-using code" that also can be run from within KDevelop by default. In addition, it has improved C++, PHP and Python support. You can download it here.

Scalyr announces new troubleshooting features, introducing support for Slack, GitHub, Kubernetes and more. According to the press release, the company is moving beyond traditional log monitoring and now offers Kubernetes cluster-level logging, chart annotations, stack trace linking and AWS CloudWatch support. The new features will be available in Q4. See the Scalyr website for more information.

Mozilla has launched version 2.0 of its *Privacy Not Included Buyer's Guide just in time for holiday shopping. The guide's goal is to help you "shop smart—and safe—for products that connect to the internet". The guide also includes a "Creep-O-Meter" that allows users' to rate their feelings on a given product.

Debian is phasing out vendor-specific patches. Phoronix reports that "effective immediately these vendor-specific patches to source packages will be treated as a bug and will be unpermitted following the Debian 10 'Buster' release". See the mailing-list announcement for more information.

Meet TASBot, a Linux-Powered Robot Playing Video Games for Charity

TASBot with micro500's TASLink Board Held by dwangoAC

Can a Linux-powered robot play video games faster than you? Only if he takes a hint from piano rolls...and doesn't desync.

Let me begin with a brief history of tool-assisted speedruns. It was 2003. Less than half the developed world had internet access of any kind, and YouTube hadn't been created yet. Smartphones were rare and nascent. Pentium III processors still were commonplace, and memory was measured in megabytes. It was out of this primordial ooze that an interesting video file circulated around the web—an 18MB .wmv labeled only as a "super mario bross3 time attack video" [sic]. What followed was an absolutely insane 11-minute completion of the game by someone named Morimoto replete with close calls, no deaths and Mario destroying Bowser after apparently effortlessly obtaining 99 lives. The only other context was a link to a page written in Japanese, and the rough encoding that Windows Media Video format was known for in that era made it difficult for casual viewers to observe that it was an emulator recording rather than the output of a real Nintendo Entertainment System (NES) console.

Figure 1. Morimoto's 2003 Super Mario Bros. 3 (SMB3) Time Attack Video

The video encode had in fact been made with the Famtasia NES emulator using Tool-Assisted Speedrun (TAS) re-recording tools consisting of a "movie file" of the sequence of all buttons pressed along with the use of savestates, or CPU and memory snapshots allowing returning to a previous state. Morimoto had in essence augmented his own human skill by using tools that allowed him to return to a previous save point any time he was dissatisfied with the quality of his play. By iteratively backing up and keeping only the best results, he had created what he considered at the time to be a perfect play-through of the game. I didn't know anything about how it was made the first time I saw the run, but it blew my mind and had me asking questions to which I couldn't find answers.

The human speedrunning community members were naturally highly offended by what they saw as an unlabeled abomination akin to a doped athlete being allowed to compete in the Olympics. Their view was that anything that augmented raw human ability in any way (even as rudimentary as keyboard macros in PC games) was considered cheating, and Morimoto's run was nothing more than a fraud best left ignored. There was fascination, intrigue and division. It was, in retrospect, the perfect recipe for a new website.

Red Hat Releases Red Hat OpenStack Platform 14 and a New Virtual Office Solution, ownCloud Enterprise Integrates with SUSE Ceph/S3 Storage, Run a Linux Shell on iOS with iSH and Firefox Launches Two New Test Pilot Features

News briefs for November 13, 2018.

Red Hat this morning released Red Hat OpenStack Platform 14, delivering "enhanced Kubernetes integration, bare metal management and additional automation". According to the press release, it will be available in the coming weeks via the Red Hat Customer Portal and as a component of both Red Hat Cloud Infrastructure and Red Hat Cloud Suite.

Red Hat also announced a new virtual office solution today. This solution "provides a blueprint for modernizing telecommunications operations at the network edge via an open, software-defined infrastructure platform". Learn more about it here.

ownCloud yesterday announced SUSE Enterprise Storage Ceph/S3 API as a certified storage backend for ownCloud Enterprise Edition. The press release notes that the "SUSE Ceph/S3 Storage integration reduces dependency on proprietary hardware by replacing an organization's storage infrastructure with an open, unified and smarter software-defined storage solution". For more information on ownCloud, visit here.

There's a new project called iSH that lets you run a Linux shell on an iOS device. Bleeping Computer reports that the project is available as a TestFlight beta for iOS devices, and it is based on Alpine Linux. It allows you to "transfer files, write shell scripts, or simply to use Vi to develop code or edit files". You first need to install the TestFlight app, and then you can start testing the app by visiting this page: https://testflight.apple.com/join/97i7KM8O.

The Firefox Test Pilot Team announces two new features: Price Wise and Email Tabs. Price Wise lets you add products to your Price Watcher list, and you'll receive desktop notifications whenever the price drops. With Email Tabs, you can "select and send links to one or many open tabs all within Firefox in a few short steps, making it easier than ever to share your holiday gift list, Thanksgiving recipes or just about anything else". See the Mozilla Blog for details.

Automate Sysadmin Tasks with Python’s os.walk Function

Python logo

Using Python's os.walk function to walk through a tree of files and directories.

I'm a web guy; I put together my first site in early 1993. And so, when I started to do Python training, I assumed that most of my students also were going to be web developers or aspiring web developers. Nothing could be further from the truth. Although some of my students certainly are interested in web applications, the majority of them are software engineers, testers, data scientists and system administrators.

This last group, the system administrators, usually comes into my course with the same story. The company they work for has been writing Bash scripts for several years, but they want to move to a higher-level language with greater expressiveness and a large number of third-party add-ons. (No offense to Bash users is intended; you can do amazing things with Bash, but I hope you'll agree that the scripts can become unwieldy and hard to maintain.)

It turns out that with a few simple tools and ideas, these system administrators can use Python to do more with less code, as well as create reports and maintain servers. So in this article, I describe one particularly useful tool that's often overlooked: os.walk, a function that lets you walk through a tree of files and directories.

os.walk Basics

Linux users are used to the ls command to get a list of files in a directory. Python comes with two different functions that can return the list of files. One is os.listdir, which means the "listdir" function in the "os" package. If you want, you can pass the name of a directory to os.listdir. If you don't do that, you'll get the names of files in the current directory. So, you can say:


In [10]: import os

When I do that on my computer, in the current directory, I get the following:


In [11]: os.listdir('.')
Out[11]:
['.git',
 '.gitignore',
 '.ipynb_checkpoints',
 '.mypy_cache',
 'Archive',
 'Files']

As you can see, os.listdir returns a list of strings, with each string being a filename. Of course, in UNIX-type systems, directories are files too—so along with files, you'll also see subdirectories without any obvious indication of which is which.

I gave up on os.listdir long ago, in favor of glob.glob, which means the "glob" function in the "glob" module. Command-line users are used to using "globbing", although they often don't know its name. Globbing means using the * and ? characters, among others, for more flexible matching of filenames. Although os.listdir can return the list of files in a directory, it cannot filter them. You can though with glob.glob:

The Latest Version of the Nest Simulator Now Available in Fedora, Cloudflare’s 1.1.1.1 DNS Services Comes to Android, Ceph Now Has Its Own Open-Source Foundation, Valve Making a VR Headset and Sparky Linux 4.9 Released

News briefs for November 12, 2018.

The Fedora team announces that the latest version of the Nest simulator is now available in Fedora as part of the NeuroFedora initiative. Nest allows computational neuroscientists to "make large scale computer models of the brain that are needed to investigate among other things, how the brain processes information". Nest provides an easy to use Python interface and it can be run on both laptops and supercomputing clusters.

Cloudflare's 1.1.1.1 DNS service comes to Android and iOS. According to The Verge, "The mobile app uses features like VPN support to push your mobile traffic towards the 1.1.1.1 DNS servers and improve speeds. It will also prevent your carrier from tracking your browsing history and potentially selling it. Cloudflare is promising not to track 1.1.1.1 users or sell ads, and the company has retained KPMG to perform an annual audit and publish a public report." You can download it for Android here.

The Ceph storage project receives a dedicated open-source foundation, hosted by The Linux Foundation. TechCrunch quotes Sage Weil, Ceph's co-creator, project leader, and chief architect at Red Hat for Ceph: "Today's launch of the Ceph Foundation is a testament to the strength of a diverse open source community coming together to address the explosive growth in data storage and services."

Valve appears to be making its own VR headset. GamingOnLinux reports that a leaked imgur album shows several photos of the new hardware with a Valve logo. Valve also is apparently working on new Half-Life title for VR.

Sparky Linux 4.9 has been released, which celebrates 100 years of Poland's independence. Sparky 4.9 offers the LXDE desktop environment and minimal images of MinimalGUI (Openbox) and MinimalCLI (text mode), so you can "install the base system with a desktop of your choice with a minimal set of applications, via the Sparky Advanced Installer". In addition to added packages and updates, this new version has the code name "100", commemorating the 100 anniversary of Poland's independence, and it provides information about Polish history and also includes new Poland nature wallpapers.

System76 to Donate Portion of Profit from Laptop Sale to Open-Source Projects, 16 New Companies Join the GPL Commitment, NVIDIA 415.3 Beta for Linux Released, Samsung Announces Linux on DeX with Ubuntu and Kdenlive 18.08.3 Is Out

News briefs for November 9, 2018.

System76 announces it will donate a portion of its profits from laptop sales to open-source projects until January 3, 2019. Projects include KiCad, Electronic Frontier Foundation (EFF), Free Software Foundation (FSF) and the Open Source Hardware Association (OSHWA). In addition, System76 is holding a laptop sale—you can save $30–$100 on a laptop or $160–$370 with upgraded components.

Red Hat announces that 16 additional companies have joined GPL Commitment. The new companies are Adobe, Alibaba, Amadeus, Ant Financial, Atlassian, Atos, AT&T, Bandwidth, Etsy, GitHub, Hitachi, NVIDIA, Oath, Renesas, Tencent and Twitter. Red Hat writes that these companies "are strengthening long-standing community norms of fairness, pragmatism, and predictability in open source license compliance".

NVIDIA 415.3 yesterday released its first beta release for Linux in the 415 release stream. According to Phoronix, highlights include NVIDIA installer improvments, NVIDIA settings improvements, as well as various Vulkan, OpenGL and X.Org server bug fixes. Download the NVIDIA 415.13 Linux driver from here.

Samsung announces Linux on DeX with Ubuntu: "Linux on DeX empowers developers to build apps within a Linux development environment by connecting their Galaxy device to a larger screen for a PC-like experience." The Linux on DeX app is available as a private beta; interested developers can sign up here.

Kdenlive 18.08.3 is out. This release mainly updates the build script and has some compilation fixes, but has more major breakthroughs on the Windows side. A bug-squash day is being organized for early December. You can download it from here.

Removing Duplicate PATH Entries


The goal here is to remove duplicate entries from the PATH variable. But before I begin, let's be clear: there's no compelling reason to to do this. The shell will, in essence, ignore duplicates PATH entries; only the first occurrence of any one path is important. Two motivations drive this exercise. The first is to look at an awk one-liner that initially doesn't really appear to do much at all. The second is to feed the needs of those who are annoyed by such things as having duplicate PATH entries.

PostgreSQL Updates to Address Security Issue, openSUSE Announces New Legal Review System, Gumstix Launches Board Builder Service, Creative Commons on the EU “Link Tax” and Unreal Engine 4.21 Released

News briefs for November 8, 2018.

PostgreSQL 11.1 was released today. In addition, updates are available for all supported versions, including 10.6, 9.6.11, 9.5.15, 9.4.20 and 9.3.25. The updates address a security issue as well as several bugfixes, so update as soon as possible.

openSUSE announces a new legal review system called Cavil, "designed to help Linux/GNU distributions with the legal review process of licenses". The new project is "collectively beneficial not only for the openSUSE Project, but distributions and projects that want to use it".

Gumstix has added a free new service called Board Builder to its Geppetto Design-to-Order (D2O) custom-board design service. According to LinuxGizmos, Board Builder makes "the drag-and-drop Geppetto interface even easier to use, enabling customization of ports, layout and other features. With Board Builder, you can select items from a checklist, including computer-on-modules, memory, network, sensors, audio, USB, and other features. You can then select a custom size, and you're presented with 2D and 3D views of board diagrams that you can further manipulate." Visit the Board Builder page for more information.

Creative Commons urges the EU Parliament and Council to delete Article 11 that would "require news aggregators that wish to index or incorporate links and snippets of journalistic content to first get a license or pay a fee to the publisher for their use online". According to Creative Commons, the link tax "would undermine the intention of authors who wish to share without additional strings attached, such as creators who want to share works under open licenses. This could be especially harmful to Creative Commons licensors if it means that remuneration must be granted notwithstanding the terms of the CC license."

Unreal Engine 4.21 released yesterday. Unreal Engine's goal is the "relentless pursuit of greater efficiency, performance, and stability for every project on any platform". New features include the "Niagara effects toolset is now even more powerful and easier to use"; "you can build multiplayer experiences on a scale not previously possible using now production-ready Replication Graph functionality"; an up to "60% speed increase when cooking content"; "usability improvements to the Animation system, Blueprint Visual Scripting, Sequencer, and more."

An Immodest Proposal for the Music Industry

jukebox

How music listeners can fill the industry's "value gap".

From the 1940s to the 1960s, countless millions of people would put a dime in a jukebox to have a single piece of music played for them, one time. If they wanted to hear it again, or to play another song, they'd put in another dime.

In today's music business, companies such as Spotify, Apple and Pandora pay fractions of a penny to stream songs to listeners. While this is a big business that continues to become bigger, it fails to cover what the music industry calls a "value gap".

They have an idea for filling that gap. So do I. The difference is that mine can make them more money, with a strong hint from the old jukebox business.

For background, let's start with this graph from the IFPI's Global Music Report 2018:

Figure 1. Global Music Report 2018

You can see why IFPI no longer gives its full name: International Federation of the Phonographic Industry. That phonographic stuff is what they now call "physical". And you see where that's going (or mostly gone). You also can see that what once threatened the industry—"digital"—now accounts for most of its rebound (Figure 2).

Figure 2. Global Recorded Music Revenues by Segment (2016)

The graphic shown in Figure 2 is also a call-out from the first. Beside it is this text: "Before seeing a return to growth in 2015, the global recording industry lost nearly 40% in revenues from 1999 to 2014."

Later, the report says:

However, significant challenges need to be overcome if the industry is going to move to sustainable growth. The whole music sector has united in its effort to fix the fundamental flaw in today's music market, known as the "value gap", where fair revenues are not being returned to those who are creating and investing in music.

They want to solve this by lobbying: "The value gap is now the industry's single highest legislative priority as it seeks to create a level playing field for the digital market and secure the future of the industry." This has worked before. Revenues from streaming and performance rights owe a lot to royalty and copyright rates and regulations guided by the industry. (In the early 2000s, I covered this like a rug in Linux Journal. See here.)

Episode 6: Conferences and Community

Episode 6: Conferences and Community cover

Radxa Launching the Rock Pi SBC, Mender.io Collaborating with Google Cloud IoT Core, Parasoft’s New Initiative to Support Open-Source Projects, New Foundation Formed for GraphQL and Keeper Security Announces BreachWatch Dark Web Monitoring Product

News briefs for November 7, 2018.

Radxa is launching a Raspberry Pi clone called the Rock Pi that runs Linux or Android on a hexa-core Rockchip RK3399 SoC. LinuxGizmos writes that the Rock Pi will closely match the RPi 3 layout and "may be the most affordable RK3399 based SBC yet, starting at $39 with 1GB RAM".

Mender.io, the open-source update manager for IoT, announces its collaboration with Google Cloud IoT Core "to create a reference integration enabling rapid detection and updates of issues in IoT devices". Thomas Ryd, CEO of Northern.tech, the company behind the Mender.io project says, "Almost daily news stories circulate about bricked devices due to poor home-built update tools. We are inspired to address this common problem with an open-source project." The collaboration has "resulted in a tutorial and reference integration to easily detect issues with Cloud IoT Core and the ability to correct those issues via updates to IoT devices with Mender. Users of Cloud IoT Core now have a secure and robust way to keep their Linux devices securely updated." See the Google blog post for more details.

Parasoft announces a new initiative to support open-source projects and communities. The company plans to offer free access to its tool suite "enabling developers to leverage test automation software, deep code analysis, and security capabilities for their open-source projects". To be eligible, developers must "prove they are an active contributor and vital to an open-source project that is recognized within the global open-source community. The free user licenses will be valid for one year." Send email to opensource@parasoft.com for more information.

The Linux Foundation is forming a new foundation to support the open-source GraphQL specification. eWeek reports that "the move to create a new vendor-neutral independent foundation under the Linux Foundation will help further advance the development of GraphQL". The GraphQL started out as an internal project at Facebook for its newsfeed API and was open-sourced in 2015. Currently, the specification is used "beyond Facebook by web properties including GitHub, Shopify, Twitter and Airbnb, among others".

Keeper Security announces its new BreachWatch dark web monitoring product. BreachWatch searches the dark web for user accounts from compromised websites and notifies users when it finds their account information, alerting them to update their credentials. BreachWatch is available for iOS, Android and Linux. See the press release for more information.

Radxa Launching the Rock Pi SBC, Mender.io Collaborating with Google Cloud IoT Core, Parasoft’s New Initiative to Support Open-Source Projects, New Foundation Formed for GraphQL and Keeper Security Announces BreachWatch Dark Web Monitoring Product

News briefs for November 7, 2018.

Radxa is launching a Raspberry Pi clone called the Rock Pi that runs Linux or Android on a hexa-core Rockchip RK3399 SoC. LinuxGizmos writes that the Rock Pi will closely match the RPi 3 layout and "may be the most affordable RK3399 based SBC yet, starting at $39 with 1GB RAM".

Mender.io, the open-source update manager for IoT, announces its collaboration with Google Cloud IoT Core "to create a reference integration enabling rapid detection and updates of issues in IoT devices". Thomas Ryd, CEO of Northern.tech, the company behind the Mender.io project says, "Almost daily news stories circulate about bricked devices due to poor home-built update tools. We are inspired to address this common problem with an open-source project." The collaboration has "resulted in a tutorial and reference integration to easily detect issues with Cloud IoT Core and the ability to correct those issues via updates to IoT devices with Mender. Users of Cloud IoT Core now have a secure and robust way to keep their Linux devices securely updated." See the Google blog post for more details.

Parasoft announces a new initiative to support open-source projects and communities. The company plans to offer free access to its tool suite "enabling developers to leverage test automation software, deep code analysis, and security capabilities for their open-source projects". To be eligible, developers must "prove they are an active contributor and vital to an open-source project that is recognized within the global open-source community. The free user licenses will be valid for one year." Send email to opensource@parasoft.com for more information.

The Linux Foundation is forming a new foundation to support the open-source GraphQL specification. eWeek reports that "the move to create a new vendor-neutral independent foundation under the Linux Foundation will help further advance the development of GraphQL". The GraphQL started out as an internal project at Facebook for its newsfeed API and was open-sourced in 2015. Currently, the specification is used "beyond Facebook by web properties including GitHub, Shopify, Twitter and Airbnb, among others".

Keeper Security announces its new BreachWatch dark web monitoring product. BreachWatch searches the dark web for user accounts from compromised websites and notifies users when it finds their account information, alerting them to update their credentials. BreachWatch is available for iOS, Android and Linux. See the press release for more information.

Virtualizing the Clock

Dmitry Safonov wanted to implement a namespace for time information. The twisted and bizarre thing about virtual machines is that they get more virtual all the time. There's always some new element of the host system that can be given its own namespace and enter the realm of the virtual machine. But as that process rolls forward, virtual systems have to share aspects of themselves with other virtual systems and the host system itself—for example, the date and time.

Dmitry's idea is that users should be able to set the day and time on their virtual systems, without worrying about other systems being given the same day and time. This is actually useful, beyond the desire to live in the past or future. Being able to set the time in a container is apparently one of the crucial elements of being able to migrate containers from one physical host to another, as Dmitry pointed out in his post.

As he put it:

The kernel provides access to several clocks: CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_BOOTTIME. Last two clocks are monotonous, but the start points for them are not defined and are different for each running system. When a container is migrated from one node to another, all clocks have to be restored into consistent states; in other words, they have to continue running from the same points where they have been dumped.

Dmitry's patch wasn't feature-complete. There were various questions still to consider. For example, how should a virtual machine interpret the time changing on the host hardware? Should the virtual time change by the same offset? Or continue unchanged? Should file creation and modification times reflect the virtual machine's time or the host machine's time?

Eric W. Biederman supported this project overall and liked the code in the patch, but he did feel that the patch could do more. He thought it was a little too lightweight. He wanted users to be able to set up new time namespaces at the drop of a hat, so they could test things like leap seconds before they actually occurred and see how their own projects' code worked under those various conditions.

To do that, he felt there should be a whole "struct timekeeper" data structure for each namespace. Then pointers to those structures could be passed around, and the times of virtual machines would be just as manipulable and useful as times on the host system.

In terms of timestamps for filesystems, however, Eric felt that it might be best to limit the feature set a little bit. If users could create files with timestamps in the past, it could introduce some nasty security problems. He felt it would be sufficient simply to "do what distributed filesystems do when dealing with hosts with different clocks".

The two went back and forth on the technical implementation details. At one point, Eric remarked, in defense of his preference:

Virtualizing the Clock

Dmitry Safonov wanted to implement a namespace for time information. The twisted and bizarre thing about virtual machines is that they get more virtual all the time. There's always some new element of the host system that can be given its own namespace and enter the realm of the virtual machine. But as that process rolls forward, virtual systems have to share aspects of themselves with other virtual systems and the host system itself—for example, the date and time.

Dmitry's idea is that users should be able to set the day and time on their virtual systems, without worrying about other systems being given the same day and time. This is actually useful, beyond the desire to live in the past or future. Being able to set the time in a container is apparently one of the crucial elements of being able to migrate containers from one physical host to another, as Dmitry pointed out in his post.

As he put it:

The kernel provides access to several clocks: CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_BOOTTIME. Last two clocks are monotonous, but the start points for them are not defined and are different for each running system. When a container is migrated from one node to another, all clocks have to be restored into consistent states; in other words, they have to continue running from the same points where they have been dumped.

Dmitry's patch wasn't feature-complete. There were various questions still to consider. For example, how should a virtual machine interpret the time changing on the host hardware? Should the virtual time change by the same offset? Or continue unchanged? Should file creation and modification times reflect the virtual machine's time or the host machine's time?

Eric W. Biederman supported this project overall and liked the code in the patch, but he did feel that the patch could do more. He thought it was a little too lightweight. He wanted users to be able to set up new time namespaces at the drop of a hat, so they could test things like leap seconds before they actually occurred and see how their own projects' code worked under those various conditions.

To do that, he felt there should be a whole "struct timekeeper" data structure for each namespace. Then pointers to those structures could be passed around, and the times of virtual machines would be just as manipulable and useful as times on the host system.

In terms of timestamps for filesystems, however, Eric felt that it might be best to limit the feature set a little bit. If users could create files with timestamps in the past, it could introduce some nasty security problems. He felt it would be sufficient simply to "do what distributed filesystems do when dealing with hosts with different clocks".

The two went back and forth on the technical implementation details. At one point, Eric remarked, in defense of his preference:

VMware Acquires Heptio, Mining Bitcoin Requires More Energy Than Mining Gold, Fedora Turns 15, Microsoft’s New Linux Distros and ReactOS 0.4.10 Released

News briefs for November 6, 2018.

VMware has acquired Heptio, which was founded by Joe Beda and Craig McLuckie, two of the creators of Kubernetes. TechCrunch reports that the terms of the deal aren't being disclosed and that "this is a signal of the big bet that VMware is taking on Kubernetes, and the belief that it will become an increasing cornerstone in how enterprises run their businesses." The post also notes that this acquisition is "also another endorsement of the ongoing rise of open source and its role in cloud architectures".

The energy needed to mine one dollar's worth of bitcoin is reported to be more than double the energy required to mine the same amount of gold, copper or platinum. The Guardian reports on recent research from the Oak Ridge Institute in Cincinnati, Ohio, that "one dollar's worth of bitcoin takes about 17 megajoules of energy to mine...compared with four, five and seven megajoules for copper, gold and platinum".

Happy 15th birthday to Fedora! Fifteen years ago today, November 6, 2003, Fedora Core 1 was released. See Fedora Magazine's post for a look back at the Fedora Project's beginnings.

Microsoft announced the availability of two new Linux distros for Windows Subsystem for Linux, which will coincide with the Windows 10 1809 release. ZDNet reports that the Debian-based Linux distribution WLinux is available from the Microsoft Store for $9.99 currently (normally it's $19.99). Also, OpenSUSE 15 and SLES 15 are now available from the Microsoft Store as well.

ReactOS 0.4.10 was released today. The main new feature is "ReactOS' ability to now boot from a BTRFS formatted drive". See the official ChangeLog for more details.

VMware Acquires Heptio, Mining Bitcoin Requires More Energy Than Mining Gold, Fedora Turns 15, Microsoft’s New Linux Distros and ReactOS 0.4.10 Released

News briefs for November 6, 2018.

VMware has acquired Heptio, which was founded by Joe Beda and Craig McLuckie, two of the creators of Kubernetes. TechCrunch reports that the terms of the deal aren't being disclosed and that "this is a signal of the big bet that VMware is taking on Kubernetes, and the belief that it will become an increasing cornerstone in how enterprises run their businesses." The post also notes that this acquisition is "also another endorsement of the ongoing rise of open source and its role in cloud architectures".

The energy needed to mine one dollar's worth of bitcoin is reported to be more than double the energy required to mine the same amount of gold, copper or platinum. The Guardian reports on recent research from the Oak Ridge Institute in Cincinnati, Ohio, that "one dollar's worth of bitcoin takes about 17 megajoules of energy to mine...compared with four, five and seven megajoules for copper, gold and platinum".

Happy 15th birthday to Fedora! Fifteen years ago today, November 6, 2003, Fedora Core 1 was released. See Fedora Magazine's post for a look back at the Fedora Project's beginnings.

Microsoft announced the availability of two new Linux distros for Windows Subsystem for Linux, which will coincide with the Windows 10 1809 release. ZDNet reports that the Debian-based Linux distribution WLinux is available from the Microsoft Store for $9.99 currently (normally it's $19.99). Also, OpenSUSE 15 and SLES 15 are now available from the Microsoft Store as well.

ReactOS 0.4.10 was released today. The main new feature is "ReactOS' ability to now boot from a BTRFS formatted drive". See the official ChangeLog for more details.