Weekend Reading: Multimedia

multimedia

Put the fun back in computing. With this weekend's reading, we encourage you to build yourself an internet radio station, create your own Audible or even live-stream your pets on YouTube. Sky's the limit with Linux. Enjoy!

 

Building Your Own Audible

by Shawn Powers

I have audiobooks from a variety of sources, which I've purchased in a variety of ways. I have some graphic audio books in MP3 format, a bunch of Audible books in their DRM'd format and ripped CDs varying from m4b (Apple format for books) to MP3 and even some OGG. That diversity makes choosing a listening platform difficult. Here I take a quick look at some options for streaming audio books.

 

Linux Gets Loud

by Joshua Curry

Linux is ready for prime time when it comes to music production. New offerings from Linux audio developers are pushing creative and technical boundaries. And, with the maturity of the Linux desktop and growth of standards-based hardware setups, making music with Linux has never been easier.

 

Using gphoto2 to Automate Taking Pictures

by Shawn Powers

With my obsession—er, I mean hobby—regarding BirdCam, I've explored a great number of camera options. Whether that means trying to get Raspberry Pi cameras to focus for a macro shot of a feeder or adjusting depth of field to blur out the neighbor's shed, I've fiddled with just about every webcam setting there is. Unfortunately, when it comes to lens options, nothing beats a DSLR for quality. Thankfully, there's an app for that.

 

Creating an Internet Radio Station with Icecast and Liquidsoap

by Bill Dengler

Ever wanted to stream prerecorded music or a live event, such as a lecture or concert for an internet audience? With Icecast and Liquidsoap, you can set up a full-featured, flexible internet radio station using free software and open standards.

 

Live Stream Your Pets with Linux and YouTube!

by Shawn Powers

Anyone who reads Linux Journal knows about my fascination with birdwatching. I've created my own weatherproof video cameras with a Raspberry Pi. I've posted instructions on how to create your own automatically updating camera image page with JavaScript. Heck, I even learned CSS so I could make a mobile-friendly version of BirdCam that filled the screen in landscape mode.

 

Nativ Vita

by James Gray

Gentoo’s GitHub Account Hacked, New Raspbian Release, Kubernetes 1.11 Now Available, Databricks Partners with RStudio and More

News briefs for June 29, 2018.

Gentoo's GitHub account has been hacked and is temporarily locked down by GitHub support. The Gentoo team has identified the ingress point, and the repositories with malicious commits have been reset. According to Gentoo, "This does NOT affect any code hosted on the Gentoo infrastructure. Since the master Gentoo ebuild repository is hosted on our own infrastructure and since Github is only a mirror for it, you are fine as long as you are using rsync or webrsync from gentoo.org."

Raspbian 2018-06-27 has been released. This new version includes a setup wizard, a new PDF viewer, updated Chromium browser to version 65 and more. See Simon Long's release announcement for more details, download links and a video run-through on how to update an existing image.

Kubernetes 1.11 was released this week, marking the second release of the year. Key new features include IPVS-based in-cluster service load balancing is now stable; Core DNS is now available as a cluster DNS add-on option; Kubelet configuration is now in beta; and more. The Kubernetes team notes that "the features in this release make it increasingly possible to plug any infrastructure, cloud or on-premise, into the Kubernetes system." You can download it from GitHub.

Eighteen Chromebooks from Acer, Asus, Lenovo and Dell—all based on Intel Apollo Lake—to receive Linux app support. According to xda Developers, "as the change has only just landed, Canary and Developer channels will see this first in the coming days and weeks. Stable or Beta channel users will have to wait until Chrome OS version 69."

Databricks, founded by the creators of Apache Spark, announced this week its partnership with RStudios, the providers of a free and open-source integrated development environment for R, "to increase the productivity of data science teams". According to the announcement, "RStudio provides the most popular way for data science teams to analyze data with R through open source and enterprise ready tools for the R computing environment. By integrating both solutions, data scientists can easily use RStudio from within a Databricks implementation."

Clearing Out /boot

The /boot partition sometimes needs a bit of attention. If you enable automatic updates, it will fill up with old kernels that you'll probably never need. It also will stop you from running aptitude to install or remove anything. If you find yourself in this situation, you can use dpkg to get around it. dpkg is the higher-level package manager in Debian-based distributions, and it's very useful when aptitude has broken.

To see the status of your partitions run: df -h:


Filesystem      Size  Used Avail Use% Mounted on
udev            3.0G   12K  3.0G   1% /dev
tmpfs           597M  528K  597M   1% /run
/dev/dm-0        97G   14G   78G  15% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            3.0G     0  3.0G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/sda1       228M  219M     0 100% /boot

If you look in the directory /boot you will see it full of old kernels and images. it is not advisable to just delete them as you can break your system. Run the following command, this will tell you what kernel you are currently on: uname -r:


3.13.0-137-generic

Lets find out what kernels are installed and which ones can be purged from your system. To do this, run the following:


dpkg --list "linux-image*" | grep -v $(uname) | grep ii

This will use dpkg to list all linux kernel images excluding the one you are using, that is installed.

The output might still be quite big, let's refine it by piping the results in to awk. The awk command below is an instruction to print the second column from the output.


dpkg --list "linux-image*" | grep -v $(uname -r) |
 ↪grep ii | awk '{ print $2 }'

This gives us a list to work with. We can stick this in a script or run it from the command line to purge them all.

CAUTION: make sure that the kernel you are using is not in the list. We should have eliminated that when we specified grep -v $(uname -r). The -v part tell grep exclude anything that contains the output of uname -r.

If you are happy and have sudo privileges, go ahead:


sudo dpkg --purge $(dpkg --list "linux-image*" | grep -v
 ↪$(uname -r) | grep ii | awk '{ print $2 }')

To finish off run sudo update-grub2 - This will ensure grub is updated with the available kernels - otherwise you may be heading for trouble. Then fix aptitude by running: sudo apt-get -f install followed by sudo apt-get autoremove to clear the images out of aptitude.

Look at your partition you will see it has free space.

Python 3.7.0 Released, Timesys Announces New Threat Resistance Security Technology (TRST) Product Protection, Red Hat OpenStack Platform 13 Now Available and More

News briefs for June 28, 2018.

Python 3.7.0 has been released. This is a major release of the Python language, containing many new features, including new syntax features, backwards-incompatible syntax changes, new library modules, significant improvements to the standard library and much more. See the release highlights for all the updates, and go here to download.

Timesys this morning announced a new solution, Threat Resistance Security Technology (TRST) Product Protection, that enables "developers of IoT, IIoT, ICS, and other smart devices to reduce the attack surface of their products, harden devices, and maintain security at IoT scale". Quoted in the press release, Atul Bansal, CEO of Timesys, said "As IoT deployments skyrocket in number and size, the attack surface of devices grows exponentially. Our new TRST offering enables device developers to bring products to market faster without compromising security and to maintain stronger security in production deployment."

Red Hat OpenStack Platform 13 is now available. This is a "long-life release", which comes with up to three years of standard support, and optional two years of extended life-cycle support. This release has many new features, including "fast forward upgrades", and it now supports containerization of all OpenStack services. OpenStack Platform 13 also delivers several new integrations with Red Hat OpenShift Container Platform, and it has many new hardened security services. See the Red Hat blog post for more information.

The Wi-Fi Alliance this week introduced Wi-Fi Certified WPA3, which "adds new features to simplify Wi-Fi security, enable more robust authentication, and deliver increased cryptographic strength for highly sensitive data markets". According to the press release, "As the Wi-Fi industry transitions to WPA3 security, WPA2 devices will continue to interoperate and provide recognized security." In addition, "All WPA3 networks use the latest security methods, disallow outdated legacy protocols, and require use of Protected Management Frames (PMF) to maintain resiliency of mission critical networks."

SoftMaker FreeOffice 2018 for Linux and Windows has been updated to revision 934. New features include formatting now can be transferred using the format painter, and you can add comments and footnotes documents. There's also a new tool for Linux users to help with technical problems, and support for encrypted DOCX documents also has been improved. You can download FreeOffice 2018 free of charge from here.

As Cloud Computing Providers Post Record Profits, One Company Wants to Make Them Obsolete

Could the world's idle computers make the $200 billion cloud computing industry obsolete?

In the final years of the Obama administration, it seemed that the world was witnessing the emergence of an odd alliance between the largest establishment tech companies and the traditionally anti-establishment community of independent techies. The highest profile case involved Apple and other major corporations siding with civil rights organizations to advocate against weakening device encryption on behalf of law enforcement, and it it led to a hope that these companies were finally seeing the profit potential in having secure, satisfied customers. That hope has now evaporated in the face of continuous betrayals of user trust, and rather than take it lying down, tech users are looking into alternative solutions that put them in control.

The recently passed federal Clarifying Lawful Overseas Use of Data Act, or the CLOUD Act, makes it perfectly clear why this shift away from self-interested stakeholders is so necessary. The new law was motivated by a legal demand for Microsoft to hand user data to US law enforcement, even though that data was stored outside US borders and, thus, in a different legal jurisdiction. At first, it seemed that Microsoft was planning to stand up for privacy and national sovereignty by opposing the demand in court—but, predictably, the corporation rolled over just as soon as it deemed that its own interests were protected.

The goal of the CLOUD Act is for the US to be able to compel any company that does business in the country to provide information to US law enforcement, even if that information is not actually stored within the US. If it's successful, a company's willingness to fight will become essentially irrelevant. It makes all cloud computing and cloud storage companies suspect, simply by virtue of being cloud computing companies.

Groups like the Electronic Frontier Foundation and the American Civil Liberties Union believe it also could allow US law enforcement to seize information in foreign jurisdictions because those regions have more lenient privacy laws than the US itself. The reverse, in which foreign law enforcement agencies operating under more stringent rules than the US, could gain access to protected information stored in the country, is also a major concern.

Cooking with Linux (without a Net): Too Many Virtual Machines, i3 and ArcoLinux Redux

Please support Linux Journal by subscribing or becoming a patron.

On this week's "Cooking with Linux (without a Net)" show, Marcel learns, in as much as he can learn anything, that you can try to do too many things at once—especially when those things really don't all want to happen at the same time. Before I continue, let me point out that this is a recording of a live show that takes place every Tuesday at 12 noon, Eastern time. We cover lots of different ways to virtualize including VirtualBox, command-line kvm, the dangers of not getting permission, AQemu, GNOME boxes, virt-manager, Xen and lots more. We also give ArcoLinux another shot and in that process, bite off a desktop environment that Marcel knows nothing about, i3.

Cooking with Linux (without a Net): Too Many Virtual Machines, i3 and ArcoLinux Redux

Please support Linux Journal by subscribing or becoming a patron.

On this week's "Cooking with Linux (without a Net)" show, Marcel learns, in as much as he can learn anything, that you can try to do too many things at once—especially when those things really don't all want to happen at the same time. Before I continue, let me point out that this is a recording of a live show that takes place every Tuesday at 12 noon, Eastern time. We cover lots of different ways to virtualize including VirtualBox, command-line kvm, the dangers of not getting permission, AQemu, GNOME boxes, virt-manager, Xen and lots more. We also give ArcoLinux another shot and in that process, bite off a desktop environment that Marcel knows nothing about, i3.

Eclipse Photon Now Available, Mercedes-Benz Vans Using Automotive Grade Linux, Enso Open-Source Project for Machine Learning, Tails 3.8 Released and More

News briefs for June 27, 2018.

Eclipse Photon, "a quantum leap for computing", launched this morning. This release "delivers native Eclipse IDE experiences for Rust and C# through Language Server based plugins". In addition, other key highlights are "support for building, debugging, running and packaging Rust applications with full Eclipse IDE user experience"; "C# editing and debug capabilities"; "support for building Java 10 and Java EE 8 based applications out of the box"; and "dark theme improvements in text colors, background color, popup dialogs, mark occurrences, and more". See the release notes for all the "new and noteworthy" details, and go here for downloads.

Tails, the amnesic incognito live system, has released version 3.8. This new version fixes several security holes that affect Tails 3.7.1, so users are urged to update as soon as possible. New features include updated Enigmail 2.0.7 and a fix for importing OpenPGP keys from email attachments. See the release notes for more details and download links.

Sailfish for Gemini Community version is now available. Sailfish teamed up with Planet Computers to bring the Sailfish OS to the Gemini PDA device, and Jolla and Planet have both tested and verified the new community edition of Sailfish OS 2.1. The announcement notes that "as it's a community initiative, the version is still somewhat limited, but essential features are supported. With this version you won't yet get software updates or support for Android apps. Also the overall support is limited to our community's efforts."

Mercedes-Benz Vans has adopted the Automotive Grade Linux open platform, automotiveIT reports. The company plans to use the OS in its upcoming commercial vehicles, the first of which will be seen in prototype later this year. Thomas Wurdig, head of onboard system architecture and IoT, Mercedes-Benz Vans, stated "Using a standardized, open operating system like AGL enables us to rapidly develop new commercial vehicle use cases such as robotic delivery, data analytics, and prediction and automation technologies."

Indico yesterday launched the Enso open-source project for machine learning, a Python-based, open-source library package, which "simplifies the benchmarking of transfer learning methods for natural language". Enso is available from GitHub. According to the press release, Enso "provides machine learning engineers and software developers with a standard interface and useful tools for the fair comparison of varied feature representations and target task models".

Eclipse Photon Now Available, Mercedes-Benz Vans Using Automotive Grade Linux, Enso Open-Source Project for Machine Learning, Tails 3.8 Released and More

News briefs for June 27, 2018.

Eclipse Photon, "a quantum leap for computing", launched this morning. This release "delivers native Eclipse IDE experiences for Rust and C# through Language Server based plugins". In addition, other key highlights are "support for building, debugging, running and packaging Rust applications with full Eclipse IDE user experience"; "C# editing and debug capabilities"; "support for building Java 10 and Java EE 8 based applications out of the box"; and "dark theme improvements in text colors, background color, popup dialogs, mark occurrences, and more". See the release notes for all the "new and noteworthy" details, and go here for downloads.

Tails, the amnesic incognito live system, has released version 3.8. This new version fixes several security holes that affect Tails 3.7.1, so users are urged to update as soon as possible. New features include updated Enigmail 2.0.7 and a fix for importing OpenPGP keys from email attachments. See the release notes for more details and download links.

Sailfish for Gemini Community version is now available. Sailfish teamed up with Planet Computers to bring the Sailfish OS to the Gemini PDA device, and Jolla and Planet have both tested and verified the new community edition of Sailfish OS 2.1. The announcement notes that "as it's a community initiative, the version is still somewhat limited, but essential features are supported. With this version you won't yet get software updates or support for Android apps. Also the overall support is limited to our community's efforts."

Mercedes-Benz Vans has adopted the Automotive Grade Linux open platform, automotiveIT reports. The company plans to use the OS in its upcoming commercial vehicles, the first of which will be seen in prototype later this year. Thomas Wurdig, head of onboard system architecture and IoT, Mercedes-Benz Vans, stated "Using a standardized, open operating system like AGL enables us to rapidly develop new commercial vehicle use cases such as robotic delivery, data analytics, and prediction and automation technologies."

Indico yesterday launched the Enso open-source project for machine learning, a Python-based, open-source library package, which "simplifies the benchmarking of transfer learning methods for natural language". Enso is available from GitHub. According to the press release, Enso "provides machine learning engineers and software developers with a standard interface and useful tools for the fair comparison of varied feature representations and target task models".

Embracing Snaps: an Interview with Canonical and Slack

This year was a big one for companies like Canonical and Slack. It also was a big year for technologies that Canonical created to enable third-party application support—specifically, the snap package.

I'm sure most, if not all, of you have heard about this package manager. In fact, it's been around since at least 2014, but it initially was developed around Canonical's Ubuntu phone operating system. Now, although the phone operating system has since been canceled, snaps continue to dominate the operating system, in both the server and desktop space.

What Is a Snap?

A "snap" application package is a self-contained piece of software, and although it originally was designed to be hosted on Ubuntu, the package will work across a range of other Linux distributions. This isn't your traditional APT or YUM manager hosting DEB and RPM (or other) package formats.

Again, the appeal to snap packages is that they are self-contained (that is, containerized). They are designed to auto-update and are safe to run. A snap package is bundled with its dependencies, which is what allows it to run on all other major Linux distribution without any modification. It also doesn't have any dependency to any package manager or application store. But, don't misunderstand this—a package manager or application store still can host one or more snap packages; however, the snap package is not dependent to that manager.

Snapcraft is the official tool for software developers to package their software programs in a Snap format.

Sitting Down with Canonical and Slack

Earlier this year on January 18th, Canonical announced the first iteration of Slack as a snap. But, why was this announcement so important? I recently had the pleasure of sitting down with Evan Dandrea of Canonical and Felix Riesberg of Slack. They gave me the answers I was looking for.

Evan's team at Canonical builds the platform to make everyone's life easier—that is, Snapcraft. And Felix's team leverages that very same platform to bring wonderful applications, such as Slack, to your Linux desktop.

First, for those not familiar with Slack, it's an enterprise software platform that allows teams and businesses (of all sizes) to communicate effectively. It's organized, easily accessible, and more important, it allows for better and more efficient communication than email. Slack isn't limited to just professional use; it also can be adopted for more personal uses.

The Interview

Petros Koutoupis: Why snap?

Embracing Snaps: an Interview with Canonical and Slack

This year was a big one for companies like Canonical and Slack. It also was a big year for technologies that Canonical created to enable third-party application support—specifically, the snap package.

I'm sure most, if not all, of you have heard about this package manager. In fact, it's been around since at least 2014, but it initially was developed around Canonical's Ubuntu phone operating system. Now, although the phone operating system has since been canceled, snaps continue to dominate the operating system, in both the server and desktop space.

What Is a Snap?

A "snap" application package is a self-contained piece of software, and although it originally was designed to be hosted on Ubuntu, the package will work across a range of other Linux distributions. This isn't your traditional APT or YUM manager hosting DEB and RPM (or other) package formats.

Again, the appeal to snap packages is that they are self-contained (that is, containerized). They are designed to auto-update and are safe to run. A snap package is bundled with its dependencies, which is what allows it to run on all other major Linux distribution without any modification. It also doesn't have any dependency to any package manager or application store. But, don't misunderstand this—a package manager or application store still can host one or more snap packages; however, the snap package is not dependent to that manager.

Snapcraft is the official tool for software developers to package their software programs in a Snap format.

Sitting Down with Canonical and Slack

Earlier this year on January 18th, Canonical announced the first iteration of Slack as a snap. But, why was this announcement so important? I recently had the pleasure of sitting down with Evan Dandrea of Canonical and Felix Riesberg of Slack. They gave me the answers I was looking for.

Evan's team at Canonical builds the platform to make everyone's life easier—that is, Snapcraft. And Felix's team leverages that very same platform to bring wonderful applications, such as Slack, to your Linux desktop.

First, for those not familiar with Slack, it's an enterprise software platform that allows teams and businesses (of all sizes) to communicate effectively. It's organized, easily accessible, and more important, it allows for better and more efficient communication than email. Slack isn't limited to just professional use; it also can be adopted for more personal uses.

The Interview

Petros Koutoupis: Why snap?

EFF Launches STARTTLS Everywhere, GitLab Moving from Azure to Google Cloud, Firefox 61.0 Released, SUSE Linux Enterprise 15 Now Available and More

News briefs for June 26, 2018.

The EFF yesterday announced the launch of STARTTLS Everywhere, "EFF's initiative to improve the security of the email ecosystem". The goal with STARTTLS is "to do for email what we've done for web browsing: make it simple and easy for everyone to help ensure their communications aren't vulnerable to mass surveillance." You can find out how secure your current email provider is at https://www.starttls-everywhere.org, and for a more technical deep dive into STARTTLS Everywhere, go here.

GitLab announced yesterday that it is moving from Azure to Google Cloud. GitLab claims the decision to switch to Google Cloud is "because of our desire to run GitLab on Kubernetes. Google invented Kubernetes, and GKE has the most robust and mature Kubernetes support." The migration is planned for Saturday, July 28, 2018, and GitLab will utilize its Geo product for the migration.

Mozilla announced the release of Firefox version 61.0 today. New features include "faster page rendering with Quantum CSS improvements and the new retained display list feature", "faster switching between tabs on Windows and Linux", "convenient access to more search engines", improved security with "on-by-default support for the latest draft of the TLS 1.3 specification" and much more. See the release notes for all the details.

SUSE Linux Enterprise 15, "a multimodal operating system that bridges traditional data center technologies with software-defined infrastructure", was announced yesterday. Some new features include a unified intaller, installation without network using Packages media, migration from openSUSE Leap to SUSE Linux Enterprise Server. SUSE Linux Enterprise 15 also includes major updates to the software selection with Salt, Python 3 and Directory Server. See the release notes for more information.

Oracle has new patches for Spectre and the Lazy FPU issue, ZDNet reports. The fix addresses CVE-2018-3640 (Spectre variant 3a) and CVE-2018-3639 (Spectre variant 4). The fix for Spectre version 4 requires both software and microcode updates, while the fix for version 3a requires only microcode updates. In addition, "Oracle has also released updates for Red Hat Compatible Kernel (RHCK) to address CVE-2018-3665, the Lazy FPU issue that affects operating systems and VMs running on x86 microprocessors."

EFF Launches STARTTLS Everywhere, GitLab Moving from Azure to Google Cloud, Firefox 61.0 Released, SUSE Linux Enterprise 15 Now Available and More

News briefs for June 26, 2018.

The EFF yesterday announced the launch of STARTTLS Everywhere, "EFF's initiative to improve the security of the email ecosystem". The goal with STARTTLS is "to do for email what we've done for web browsing: make it simple and easy for everyone to help ensure their communications aren't vulnerable to mass surveillance." You can find out how secure your current email provider is at https://www.starttls-everywhere.org, and for a more technical deep dive into STARTTLS Everywhere, go here.

GitLab announced yesterday that it is moving from Azure to Google Cloud. GitLab claims the decision to switch to Google Cloud is "because of our desire to run GitLab on Kubernetes. Google invented Kubernetes, and GKE has the most robust and mature Kubernetes support." The migration is planned for Saturday, July 28, 2018, and GitLab will utilize its Geo product for the migration.

Mozilla announced the release of Firefox version 61.0 today. New features include "faster page rendering with Quantum CSS improvements and the new retained display list feature", "faster switching between tabs on Windows and Linux", "convenient access to more search engines", improved security with "on-by-default support for the latest draft of the TLS 1.3 specification" and much more. See the release notes for all the details.

SUSE Linux Enterprise 15, "a multimodal operating system that bridges traditional data center technologies with software-defined infrastructure", was announced yesterday. Some new features include a unified intaller, installation without network using Packages media, migration from openSUSE Leap to SUSE Linux Enterprise Server. SUSE Linux Enterprise 15 also includes major updates to the software selection with Salt, Python 3 and Directory Server. See the release notes for more information.

Oracle has new patches for Spectre and the Lazy FPU issue, ZDNet reports. The fix addresses CVE-2018-3640 (Spectre variant 3a) and CVE-2018-3639 (Spectre variant 4). The fix for Spectre version 4 requires both software and microcode updates, while the fix for version 3a requires only microcode updates. In addition, "Oracle has also released updates for Red Hat Compatible Kernel (RHCK) to address CVE-2018-3665, the Lazy FPU issue that affects operating systems and VMs running on x86 microprocessors."

Microsoft Buys GitHub: Three Weeks Later

I heard that Microsoft would be buying GitHub just a couple days before it happened when Carlie Fairchild at Linux Journal told me about it. I replied to the news with a solid, “Get! Out!” Needless to say, I had my doubts. As someone who remembers all too well the “Embrace, extend and extinguish" days of Microsoft, the news of this latest embrace did, however briefly, bring back those old memories. When I was asked what I thought, I answered that the optics were bad.A lot of years have passed since, back in 2001, Steve Ballmer declared Linux to be a cancer. These days, Microsoft loves Linux. It says so right on its website. Two years ago, Steve Ballmer also proclaimed his love for Linux. In 2018, Microsoft has its own distribution that it uses in its Azure cloud. Microsoft includes several different flavors of Linux in its app store (the Windows Subsystem for Linux), all of which can be installed on Windows 10. Microsoft develops for Linux. Heck, Microsoft even contributes to the Linux kernel.

The reason I felt the optics were bad is that Microsoft has spent the last few years going out of its way to paint itself as a friend to Linux and open source. This, I thought, can only be seen as a bad move. Well, it’s been three weeks, more or less, since the the acquisition became official, to the tune of $7.5 billion US. What happened?

For starters, Jim Zemlin, the Executive Director of the Linux Foundation, praised the Microsoft acquisition of GifHub, suggesting that it could be a good thing for everyone. Former open-source star and the new CEO of GitHub, Nat Friedman, did an AMA on Reddit to reassure developers of open-source software that they had nothing to fear from the new landlords.

Linus Torvalds, the creator of the Linux kernel and git itself, didn’t comment directly, but he has been critical of GitHub in the past, so perhaps it doesn’t change anything for him. Besides, the kernel is primarily housed on a private git server, and GitHub is just a public mirror for the code.

That didn’t stop some number of open-source developers from swearing off GitHub and looking for other places to host their projects. GitLab, a minor competitor to GitHub, seemed poised to be the natural beneficiary of this move. In a Twitter post dated June 3rd, it cited that its GitHub to GitLab conversion rate was running at ten times normal.

Microsoft Buys GitHub: Three Weeks Later

I heard that Microsoft would be buying GitHub just a couple days before it happened when Carlie Fairchild at Linux Journal told me about it. I replied to the news with a solid, “Get! Out!” Needless to say, I had my doubts. As someone who remembers all too well the “Embrace, extend and extinguish" days of Microsoft, the news of this latest embrace did, however briefly, bring back those old memories. When I was asked what I thought, I answered that the optics were bad.A lot of years have passed since, back in 2001, Steve Ballmer declared Linux to be a cancer. These days, Microsoft loves Linux. It says so right on its website. Two years ago, Steve Ballmer also proclaimed his love for Linux. In 2018, Microsoft has its own distribution that it uses in its Azure cloud. Microsoft includes several different flavors of Linux in its app store (the Windows Subsystem for Linux), all of which can be installed on Windows 10. Microsoft develops for Linux. Heck, Microsoft even contributes to the Linux kernel.

The reason I felt the optics were bad is that Microsoft has spent the last few years going out of its way to paint itself as a friend to Linux and open source. This, I thought, can only be seen as a bad move. Well, it’s been three weeks, more or less, since the the acquisition became official, to the tune of $7.5 billion US. What happened?

For starters, Jim Zemlin, the Executive Director of the Linux Foundation, praised the Microsoft acquisition of GifHub, suggesting that it could be a good thing for everyone. Former open-source star and the new CEO of GitHub, Nat Friedman, did an AMA on Reddit to reassure developers of open-source software that they had nothing to fear from the new landlords.

Linus Torvalds, the creator of the Linux kernel and git itself, didn’t comment directly, but he has been critical of GitHub in the past, so perhaps it doesn’t change anything for him. Besides, the kernel is primarily housed on a private git server, and GitHub is just a public mirror for the code.

That didn’t stop some number of open-source developers from swearing off GitHub and looking for other places to host their projects. GitLab, a minor competitor to GitHub, seemed poised to be the natural beneficiary of this move. In a Twitter post dated June 3rd, it cited that its GitHub to GitLab conversion rate was running at ten times normal.

Perl Version 5.28.0 Now Available, Linus Torvalds’ “Small Rant” on rc2 Release Statement, Ubuntu’s First User Data Report and More

News briefs for June 25, 2018.

Perl version 5.28.0 has been released. According to LWN.net, highlights of this release, which was 13 months in the making with approximately 730,000 lines of changes, include "Unicode 10.0 support, string- and number-specific bitwise operators, a change to more secure hash functions, and safer in-place editing." See the full list of changes here.

Linus Torvalds took issue with kernel developers this weekend regarding "fixes" in his rc2 release statement: "So please, people, the 'fixes' during the rc series really should be things that are _regressions_. If it used to work, and it no longer does, then fixing that is a good and proper fix. Or if something oopses or has a security implication, then the fix for that is a real fix." He went on to say, "But if it's something that has never worked, even if it 'fixes' some behavior, then it's new development, and that should come in during the merge window. Just because you think it's a 'fix' doesn't mean that it really is one, at least in the 'during the rc series' sense." Other than that, regarding the rc2 release, he said "Things look fairly sane, it's not really all that scary."

Systemdv239 was released last week. LWN reports that "A new system.conf setting NoNewPrivileges= is now available which may be used to turn off acquisition of new privileges system-wide (i.e. set Linux' PR_SET_NO_NEW_PRIVS for PID 1 itself, and thus also for all its children). Note that turning this option on means setuid binaries and file system capabilities lose their special powers. While turning on this option is a big step towards a more secure system, doing so is likely to break numerous pre-existing UNIX tools, in particular su and sudo."

Ubuntu started collecting user data with version 18.04 (users can opt out during the install), and the first report is now available. According to the report, 67% of users opt in, installation takes 18 minutes, most people are installing from scratch instead of upgrading and having a single CPU is most common. In addition, the report reveals that although the US has the highest concentration of users, Brazil, India, China and Russia also are big Ubuntu users.

Oracle has started charging for Java SE and support. According to The Register, the cost for the "Java subscription" is "$25 per processor per month, and $2.50 per user per month on the desktop, or less if you buy lots for a long time." The article notes that "If you like your current Java licences, Oracle will let you keep them." But also that "come January 2019 Java SE 8 on the desktop won't be updated any more...unless you buy a sub."

Building a Voice-Controlled Front End to IoT Devices

Apple, Google and Amazon are taking voice control to the next level. But can voice control be a DIY project? Turns out, it can. And, it isn't as hard as you might think.

Siri, Alexa and Google Home can all translate voice commands into basic activities, especially if those activities involve nothing more than sharing digital files like music and movies. Integration with home automation is also possible, though perhaps not as simply as users might desire—at least, not yet.

Still, the idea of converting voice commands into actions is intriguing to the maker world. The offerings from the big three seem like magic in a box, but we all know it's just software and hardware. No magic here. If that's the case, one might ask how anyone could build magic boxes?

It turns out that, using only one online API and a number of freely available libraries, the process is not as complex as it might seem. This article covers the Jarvis project, a Java application for capturing audio, translating to text, extracting and executing commands and vocally responding to the user. It also explores the programming issues related to integrating these components for programmed results. That means there is no machine learning or neural networks involved. The end goal is to have a selection of key words cause a specific method to be called to perform an action.

APIs and Messaging

Jarvis started life several years ago as an experiment to see if voice control was possible in a DIY project. The first step was to determine what open-source support already existed. A couple weeks of research uncovered a number of possible projects in a variety of languages. This research is documented in a text document included in the docs/notes.txt file in the source repository. The final choice of a programming language was based on the selection of both a speech-to-text API and a natural language processor library.

Since Jarvis was experimental (it has since graduated to a tool in the IronMan project), it started with a requirement that it be as easy as possible to get working. Audio acquisition in Java is very straightforward and a bit simpler to use than in C or other languages. More important, once audio is collected, an API for converting it to text would be needed. The easiest API found for this was Google's Cloud Speech REST API. Since both audio collection and REST interfaces are fairly easy to handle in Java, it seemed that would be the likely choice of programming language for the project.

Weekend Reading: FOSS Projects

FOSS Project Spotlights provide an opportunity for free and open-source project team members to show Linux Journal readers what makes their project compelling. 

 

FOSS Project Spotlight: LinuxBoot

by David Hendricks

Linux as firmware.

The more things change, the more they stay the same. That may sound cliché, but it's still as true for the firmware that boots your operating system as it was in 2001 when Linux Journal first published Eric Biederman's "About LinuxBIOS". LinuxBoot is the latest incarnation of an idea that has persisted for around two decades now: use Linux as your bootstrap.

 

FOSS Project Spotlight: CloudMapper, an AWS Visualization Tool

by Scott Piper

Duo Security has released CloudMapper, an open-source tool for visualizing Amazon Web Services (AWS) cloud environments.

When working with AWS, it's common to have a number of separate accounts run by different teams for different projects. Gaining an understanding of how those accounts are configured is best accomplished by visually displaying the resources of the account and how these resources can communicate. This complements a traditional asset inventory.

 

FOSS Project Spotlight: Ravada

by Francesc Guasch

Ravada is an open-source project that allows users to connect to a virtual desktop.

Currently, it supports KVM, but its back end has been designed and implemented in order to allow future hypervisors to be added to the framework. The client's only requirements are a web-browser and a remote viewer supporting the spice protocol.

 

FOSS Project Spotlight: WallpaperDownloader

by Eloy Garcia Almaden

Ubuntu 16.04 LTS Now Certified on Select Intel NUC Mini PCs and Boards for IoT Development, LibreOffice 6.0.5 Now Available, Git 2.8 Released and More

News briefs for June 22, 2018.

Canonical yesterday announced that Ubuntu 16.04 LTS is certified on select Intel NUC Mini PCs and boards for IoT development. According to the Ubuntu blog post, this pairing "provides benefits to device manufacturers at every stage of their development journey and accelerates time to market." You can download the certified image from here.

In other Canonical news, yesterday the company released a microcode firmware update for Ubuntu users with AMD processors to address the Spectre vulnerability, Softpedia reports. The updated amd64-microcode packages for AMD CPUs are available for Ubuntu 18.04 LTS (Bionic Beaver), Ubuntu 17.10 (Artful Aardvark), Ubuntu 16.04 LTS (Xenial Xerus), and Ubuntu 14.04 LTS (Trusty Tahr), "all AMD users are urged to update their systems."

The Document Foundation announces the release of LibreOffice 6.0.5 this morning. This release "still represents the bleeding edge in terms of features—and as such is targeted at early adopters, tech-savvy and power users—but is also ready for mainstream users and enterprise deployments." You can download LibreOffice here.

Git 2.18 was released yesterday, Phoronix reports. Besides several other improvements and bug fixes, the most significant new feature is the introduction of the wire protocol (protocol_v2), which is "designed to be much faster and is already being used at Google and elsewhere due to the significant performance benefits". See the release announcement for all the details.

Google's Measure recently received a much needed update, and the app is now available for all ARCore-compatible phones running Android 7.0 and up. According to the Engadget post, "Measure enables you to estimate the length, width and areas of items in the natural word (by dragging specially designed tools) and save images of them for future reference."

Drawing Feynman Diagrams for Fun and Profit with JaxoDraw

I've been covering chemistry software in my last few articles, so this time, I decided to move to physics and introduce a package called JaxoDraw. In physics, there's a powerful technique for visualizing particle interactions at the quantum level. This technique uses something called Feynman diagrams, invented by physicist Richard Feynman. These diagrams help visualize what happens when one or more particles have some kind of interaction. I say one or more because a single particle could spontaneously kick out other particle/anti-particle pairs and then swallow them back up again. Needless to say, quantum physics is weird.

When first developed, theoretical physics was mostly done either with pen and paper or on a chalkboard. Not much thought was given as to how you could render these drawings within a document being written on a computer. JaxoDraw is meant to help fill in that gap in document layout and provide the ability to render these drawings correctly and give output you can use in your own documents.

JaxoDraw is written in Java, so it should run under almost any operating system. Unfortunately, it isn't likely to be in the package repository for most distributions, so you'll need to download it from the project's website. But, because it's packaged as a jar file, it's relatively easy to run.

Download the binary package, unpack it on your machine, and then you'll want to open a terminal and change directory to the location where you unpacked JaxoDraw. You can start it simply by typing the following:


java -jar jaxodraw-2.1.0.jar

This opens a blank workspace where you can start your diagram. On the left-hand side of the window, you'll see a palette of all of the available drawing elements that you can use to generate your diagram.

Figure 1. When you first open JaxoDraw, you see a blank workspace where you can start diagramming your quantum particle interaction.

To see what's involved, let's draw an electron interacting with a photon. This happens when energy is absorbed or emitted by an electron. Since you're looking at an interaction, you'll want to start by selecting the vertex button from the palette and then draw one in the window. Coming into this vertex will be a fermion line for the electron and a photon line for the incoming electromagnetic energy. The interaction happens at the vertex, with a second fermion line coming out the other end. You can continue adding more elements, including loops or bezier lines, and you also have the choice of other particle types, such as scalar particles, ghost particles or gluons.