Linux Journal

GNOME 3.30.2 Released, Braiins OS Open-Source System for Cryptocurrency Embedded Devices Launched, Ubuntu 19.04 Dubbed Disco Dingo, Project OWL Wins IBM's Call for Code Challenge and Google Announces New Security Features

3 months 2 weeks ago

News briefs for November 1, 2018.

GNOME 3.30.2 was released yesterday. It includes several bug fixes, and packages should arrive in your distro of choice soon, but if you want to compile it yourself, you can get it here. The full list of changes is available here. This is the last planned point release of the 3.30 desktop environment. The 3.32 release is expected to be available in spring 2019.

Braiins Systems has announced Braiins OS, which claims to be "the first fully open source system for cryptocurrency embedded devices". FOSSBYTES reports that the initial release is based on OpenWrt. In addition, Braiins OS "keeps monitoring the working conditions and hardware to create reports of errors and performance. Braiins also claimed to reduce power consumption by 20%".

Ubuntu 19.04 will be called Disco Dingo, and the release is scheduled for April 2019. Source: OMG! Ubuntu!.

IBM announces Project OWL is the winner of its first Call for Code challenge. Project OWL is "an IoT and software solution that keeps first responders and victims connected in a natural disaster". The team will receive $200,000 USD and will be able to deploy the solution via the IBM Corporate Service Corps. The OWL stands for "stands for Organization, Whereabouts, and Logistics", and it's a hardware/software solution that "provides an offline communication infrastructure that gives first responders a simple interface for managing all aspects of a disaster".

Google yesterday announced four new security features for Google accounts. According to ZDNet, Google won't allow you to sign in if you have disabled JavaScript in your browser. It plans to pull data from Google Play Protect to list all malicious apps installed on Android phones, and it also now will notify you whenever you share any data from your Google account. Finally, it has implemented a new set of procedures to help users after an account has been attacked.

News GNOME Distributions cryptomining Ubuntu IBM Google Security
Jill Franklin

Fedora 29 Officially Released, Red Hat Enterprise Linux 7.6 Launched, New Version of Linux Lite, Google AI Tracking Humpback Whale Songs, and Resin.io Announces openBalena and a Name Change

3 months 2 weeks ago

News briefs for October 31, 2018.

The Fedora Project Manager announced the official release of Fedora 29 yesterday. This release is the first to include the Fedora Modularity feature across all variants. Other changes include "GNOME 3.30 on the desktop, ZRAM for our ARM images, and a Vagrant image for Fedora Scientific". You can download it from here.

Red Hat Enterprise Linux 7.6 launched yesterday with improved security. eWeek reports that the new release features "TPM 2.0 support for security authentication, as well as integrating the open source nftables firewall technology effort". eWeek quotes principal project manager Steve Almy: "The TPM 2.0 integration in 7.6 provides an additional level of security by tying the hands-off decryption to server hardware in addition to the network bound disk encryption (NBDE) capability, which operates across the hybrid cloud footprint from on-premise servers to public cloud deployments." Version 7.6 is the second major milestone release of 2018.

Linux Lite 4.2 Final is now available. Linux Lite creator Jerry Bezencon says the release is "a 'refinement' and not a 'major upgrade'. There are some new wallpapers thanks to @whateverthing and some minor tweaks here and there." One change with this version is the addition of Redshift, which "adjusts the color temperature according to the position of the sun".

Google and a group of cetologists have been using AI to listen to years of undersea recordings with the hope of creating "a machine learning model that can spot humpback whale calls". According to TechCrunch, the project is part of Google's AI for Social Good initiative.

Resin.io, a container-based server platform for Linux device management, has "changed its name to balena and released an open source version of its IoT fleet management platform for Linux devices called openBalena", Linux Gizmos reports. Founder and CEO of the company says the name change is due to "to trademark issues, to cannabis references, and to people mishearing it as 'raisin'". balenaOS is "an open source spinoff of the container-based device software that works with balenaCloud", and the new openBalena "is an open version of the balenaCloud server software. Customers can now choose between letting balena manage their fleet of devices or building their own openBalena based server platform that manages fleets of devices running balenaOS".

News Fedora Red Hat Linux Lite Google AI Machine Learning Containers
Jill Franklin

Episode 5: Linux is Personal

3 months 2 weeks ago
Your browser does not support the audio element. Reality2.0 - Episode 5: Linux is Personal

Doc Searls and Katherine Druckman talk to Corbin Champion about Userland, an easy way to run Linux on your Android device, and other new projects.

Doc Searls

CloudWatch Is of the Devil, but I Must Use It

3 months 2 weeks ago
by Corey Quinn

Let's talk about Amazon CloudWatch.

For those fortunate enough to not be stuck in the weeds of Amazon Web Services (AWS), CloudWatch is, and I quote from the official AWS description, "a monitoring and management service built for developers, system operators, site reliability engineers (SRE), and IT managers." This is all well and good, except for the part where there isn't a single named constituency who enjoys working with the product. Allow me to dispense some monitoring heresy.

Better, let me describe this in the context of the 14 Amazon Leadership Principles that reportedly guide every decision Amazon makes. When you take a hard look at CloudWatch's complete failure across all 14 Leadership Principles, you wonder how this product ever made it out the door in its current state.

"Frugality"

I'll start with billing. Normally left for the tail end of articles like this, the CloudWatch billing paradigm is so terrible, I'm leading with it instead. You get billed per metric, per month. You get billed per thousand metrics you request to view via the API. You get billed per dashboard per month. You get billed per alarm per month. You get charged for logs based upon data volume ingested, data volume stored and "vended logs" that get published natively by AWS services on behalf of the customer. And, you get billed per custom event. All of this can be summed up best as "nobody on the planet understands how your CloudWatch metrics and logs get billed", and it leads to scenarios where monitoring vendors can inadvertently cost you thousands of dollars by polling CloudWatch too frequently. When the AWS charges are larger than what you're paying your monitoring vendor, it's not a wonderful feeling.

"Invent and Simplify"

CloudWatch Logs, CloudWatch Events, Custom Metrics, Vended Logs and Custom Dashboards all mean different things internally to CloudWatch from what you'd expect, compared to metrics solutions that actually make some fathomable level of sense. There are, thus, multiple services that do very different things, all operating under the "CloudWatch" moniker. For example, it's not particularly intuitive to most people that scheduling a Lambda function to invoke once an hour requires a custom CloudWatch Event. It feels overly complicated, incredibly confusing, and very quickly, you find yourself in a situation where you're having to build complex relationships to monitor things that are themselves far simpler.

Go to Full Article
Corey Quinn

Kali Linux 2018.4 Released, ProtonDB Reports 2671 Games Now Work on Linux, Google Discover Rolling Out, Barcelona Investing 78.7% of IT Budget on Open Source and Manjaro New Stable Update

3 months 2 weeks ago

News briefs for October 30, 2018.

Kali Linux 2018.4 was released yesterday. This is the final release of this year, and it brings the kernel to version 4.18.10, fixes several bugs and has many updated packages, including "a very experimental 64-bit Raspberry Pi 3 image". The new version also includes Wireguard, "a powerful and easy to configure VPN solution that eliminates many of the headaches one typically encounters setting up VPNs". See the Wireguard on Kali post for more information. You can download Kali from here.

The ProtonDB reports that 2,671 games now work on Linux since Valve Software released Proton two months ago. Proton is integrated with Steam Play to make playing Windows games on Linux easy. It "comprises other popular tools like Wine and DXVK among others that a gamer would otherwise have to install and maintain themselves. This greatly eases the burden for users to switch to Linux without having to learn the underlying systems or losing access to a large part of their library of games."

Google Discover has started rolling out to google.com on mobile devices. According to 9to5Google, Google Discover is a rebrand of Google Feeds, and "is part of the company's efforts to surface information without users actively having to ask for it".

The European Commission reports that the city of Barcelona is now investing 78.7% of its IT budget on open source, and it expects nearly all of its IT budget to be linked to open-source projects by 2020. Xavier Roca, director of IT development for Barcelona, commented: "We will continue to work with proprietary software solutions, as we have systems in place that require maintenance. One day we hope everything will be open source, but today that is impossible."

Manjaro released a new stable update this week. Version 2018-10-28 updates systemd, Deepin, Bootsplash, NVIDIA drivers to 410.73, Firefox to v64b4 and more. You can find the full list of changes here.

News Kali Linux Security VPN gaming Google open source Manjaro
Jill Franklin

Normalizing Filenames and Data with Bash

3 months 2 weeks ago
by Dave Taylor

URLify: convert letter sequences into safe URLs with hex equivalents.

This is my 155th column. That means I've been writing for Linux Journal for:

$ echo "155/12" | bc 12

No, wait, that's not right. Let's try that again:

$ echo "scale=2;155/12" | bc 12.91

Yeah, that many years. Almost 13 years of writing about shell scripts and lightweight programming within the Linux environment. I've covered a lot of ground, but I want to go back to something that's fairly basic and talk about filenames and the web.

It used to be that if you had filenames that had spaces in them, bad things would happen: "my mom's cookies.html" was a recipe for disaster, not good cookies—um, and not those sorts of web cookies either!

As the web evolved, however, encoding of special characters became the norm, and every Web browser had to be able to manage it, for better or worse. So spaces became either "+" or %20 sequences, and everything else that wasn't a regular alphanumeric character was replaced by its hex ASCII equivalent.

In other words, "my mom's cookies.html" turned into "my+mom%27s+cookies.html" or "my%20mom%27s%20cookies.html". Many symbols took on a second life too, so "&" and "=" and "?" all got their own meanings, which meant that they needed to be protected if they were part of an original filename too. And what about if you had a "%" in your original filename? Ah yes, the recursive nature of encoding things....

So purely as an exercise in scripting, let's write a script that converts any string you hand it into a "web-safe" sequence. Before starting, however, pull out a piece of paper and jot down how you'd solve it.

Normalizing Filenames for the Web

My strategy is going to be easy: pull the string apart into individual characters, analyze each character to identify if it's an alphanumeric, and if it's not, convert it into its hexadecimal ASCII equivalent, prefacing it with a "%" as needed.

There are a number of ways to break a string into its individual letters, but let's use Bash string variable manipulations, recalling that ${#var} returns the number of characters in variable $var, and that ${var:x:1} will return just the letter in $var at position x. Quick now, does indexing start at zero or one?

Here's my initial loop to break $original into its component letters:

Go to Full Article
Dave Taylor

Bryan Lunduke Is New LJ Deputy Editor

3 months 2 weeks ago
by Bryan Lunduke

Portland, Oregon, October 29, 2018 — Today, Bryan Lunduke announced that he is officially joining the Linux Journal team as "Deputy Editor" of the illustrious — and long-running — Linux magazine.

"I've been a fan of Linux Journal for almost as long as I've been using Linux," beamed Lunduke. "To be joining a team that has been producing such an amazing magazine for nearly a quarter of a century? It's a real honor." In November of 2017, SUSE—the first Linux-focused company ever created—announced Lunduke's departure to re-focus on journalism. Now, furthering that goal, Lunduke has joined the first Linux-focused magazine ever created.

Lunduke's popular online show, the aptly named "Lunduke Show", will continue to operate as a completely independent entity with no planned changes to production schedules or show content.

Sources say Lunduke is "feeling pretty fabulous right about now." No confirmation, as yet, on if Lunduke is currently doing a "happy dance". At least one source suggests this is likely.

Go to Full Article
Bryan Lunduke

Fedora Appreciation Week, Qt Announces the Deprecation of Qbs, D Language Front End Merged with GCC, Security Bug in Systemd and IBM Acquires Red Hat

3 months 2 weeks ago

News briefs for October 29, 2018.

The first ever Fedora Appreciation Week will run November 5th to the 11th. This week-long event takes place during the 15th anniversary of the Fedora Project and was organized by the Fedora Community Operations team to "to celebrate efforts of Fedora Project contributors and to say 'thank you' to each other." Go here to see how to participate.

The Qt Company announced the deprecation of Qbs. The last Qbs release will come out in April 2019, and the company intends to improve support for CMake significantly and eventually switch to CMake for building Qt itself.

The D language front end has finally merged with GCC 9. According to Phoronix, "The code is merged for GDC including the libphobos library (D run-time library) and D2 test suite. Adding the D support touches more than three thousand files (most of which is test suite cases) and 859,714 lines of code....Yes, the better part of a million new lines."

A security bug was discovered in systemd last week that can crash a Linux machine or execute malicious code. The Register reports that the "maliciously crafted DHCPv6 packets can try to exploit the programming cockup and arbitrarily change parts of memory in vulnerable systems, leading to potential code execution. This code could install malware, spyware, and other nasties, if successful". The vulnerability is in the DHCPv6 client of the systemd management suite.

And finally, you've likely already heard that IBM yesterday announced its acquisition of Red Hat for $34 billion. Interesting note: Bob Young, founder of Red Hat, was Linux Journal's first editor in chief.

News Fedora qt D language GCC Security systemd Red Hat IBM
Jill Franklin

Papa's Got a Brand New NAS: the Software

3 months 2 weeks ago
by Kyle Rankin

Who needs a custom NAS OS or a web-based GUI when command-line NAS software is so easy to configure?

In a recent letter to the editor, I was contacted by a reader who enjoyed my "Papa's Got a Brand New NAS" article, but wished I had spent more time describing the software I used. When I wrote the article, I decided not to dive into the software too much, because it all was pretty standard for serving files under Linux. But on second thought, if you want to re-create what I made, I imagine it would be nice to know the software side as well, so this article describes the software I use in my home NAS.

The OS

My NAS uses the ODROID-XU4 as the main computing platform, and so far, I've found its octo-core ARM CPU and the rest of its resources to be adequate for a home NAS. When I first set it up, I visited the official wiki page for the computer, which provides a number of OS images, including Ubuntu and Android images that you can copy onto a microSD card. Those images are geared more toward desktop use, however, and I wanted a minimal server image. After some searching, I found a minimal image for what was the current Debian stable release at the time (Jessie).

Although this minimal image worked okay for me, I don't necessarily recommend just going with whatever OS some volunteer on a forum creates. Since I first set up the computer, the Armbian project has been released, and it supports a number of standardized OS images for quite a few ARM platforms including the ODROID-XU4. So if you want to follow in my footsteps, you may want to start with the minimal Armbian Debian image.

If you've ever used a Raspberry Pi before, the process of setting up an alternative ARM board shouldn't be too different. Use another computer to write an OS image to a microSD card, boot the ARM board, and at boot, the image will expand to fill the existing filesystem. Then reboot and connect to the network, so you can log in with the default credentials your particular image sets up. Like with Raspbian builds, the first step you should perform with Armbian or any other OS image is to change the default password to something else. Even better, you should consider setting up proper user accounts instead of relying on the default.

Go to Full Article
Kyle Rankin