Category Archives: Linux Journal Blogs

Linux Journal Blogs

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, 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
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

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
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
, 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.”

Read More

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
, 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
), 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
. 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.

Read More

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

Read More

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
. 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
. 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
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
, “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.”

Read More

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.
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

Read More

The EU Parliament Legal Affairs Committee Vote on Directive on Copyright, David Clark Cause and IBM's Call for Code, Equus' New WHITEBOX OPEN Server Platform and More

News briefs for June 21, 2018.

Yesterday the European Parliament Legal Affairs Committee voted in favor of
“the most harmful provisions of the proposed Directive on Copyright in the
Digital Single Market”, Creative
Commons reports
. The provisions include the Article 11 “link tax”, which requires “anyone using snippets of
journalistic content to first get a license or pay a fee to the publisher for
its use online.” The committee also voted in favor of Article 13, which
“requires online platforms to monitor their users’ uploads and try to
prevent copyright infringement through automated filtering.” There are still
several steps to get through before the Directive is completely adopted. See
for more information.

This week IBM and creator David Clark Cause announced
the Call for Code
, which “aims to unleash the collective power of the
global open source developer community against the growing threat of natural
disasters.” See also here
for more information on how to answer the Call for Code and “create
applications that improve disaster preparedness, build resilient communities,
and safeguard the health and well-being of individuals and institutions.”

Equus Compute Solutions recently announced
the release of its new WHITEBOX OPEN family of servers and storage solutions
that are “custom, cost-optimized open-hardware platforms”. The WHITEBOX OPEN
servers use OpenBMC (the open-source implementation of the Baseboard Management
Controller firmware stack), coreboot and LinuxBoot to customize the server
BIOS and OCP slots that accommodate multi-vendor network cards.

Google added a Guest app to its Fuchsia OS. According to the
, the app enables Linux apps to run within Fuchsia as a virtual
machine, using a library called Machina “that permits closer integration with
the OS than is available with typical emulators.” launched a commercial Machine Data Platform, as well as a new
version of its open-source SQL database for the Internet of Things and
machine data, Linux
Insider reports
. CrateDB 3.0 features faster performance, enhanced
security and “gives mainstream SQL developers access to machine data
applications that previously were available only with NoSQL solutions.”

Read More

The LJ Password Generator Tool

Mnemonic passwords generally stink. A random
sequence of letters, digits and punctuation is more secure—just don’t
write down your passwords, like the knucklehead antagonist does in Ready
Player One

In the password generating tool from my last
at its most simple, you specify the number of characters you want in the
password, and each is then chosen randomly from a pool of acceptable values.
With the built-in RANDOM in the Linux shell, that’s super easy to do:


while [ $length -ge 0 ]
   letter="${okay:$RANDOM % $ltrs:1}"
   length=$(( $length - 1 ))

echo "Result: $result"

In the actual script, I set okay to a single value rather than
build it in
two steps; this is just for formatting here online. Otherwise,
ltrs is set to
the length of $okay as a speedy shortcut, and the result is built up by using
the string slicing syntax of:


To extract just the fourth character of a string, for example,
${string:4:1}, this
works fine and is easy. The result speaks for itself:

$ sh
Result: Ojkr9>|}dMr

And, a few more:

Result: Mi8]TfJKVaH
Result: >MWvF2D/R?r
Result: h>J6p4eNPH
Result: KixhCFZaesr

Where this becomes a more complex challenge is when you decide you
don’t want to have things randomly selected but instead want to weight
the results so that you have more letters than digits, or no more than a few
punctuation characters, even on a 15–20 character password.

Which is, of course, exactly what I’ve been building.

I have to admit that there’s a certain lure to making something complex,
if nothing else than just to see if it can be done and work properly.

Adding Weight to Letter Choices

As a result, the simple few lines above changed to this in my last

Read More

Facebook Open-Sources BOLT, Google Introduces VR180 Creator for Linux, 2018 Open Source Job Report Now Available and More

News briefs for June 20, 2018.

Facebook yesterday announced it is open-sourcing BOLT, its “binary
optimization and layout tool that accelerates large-scale applications”.
According to the Facebook
, “BOLT optimizes placement of instructions in
memory, thereby reducing CPU execution time by 2 percent to 15 percent.
Unlike previous tools to address instruction starvation, BOLT works with
applications built by any compiler, including GCC or Clang. Today, we are
open-sourcing BOLT so that engineers everywhere can use it alongside
complementary technologies like AutoFDO to achieve performance gains for
their apps.”

Google recently introduced VR180
for Mac and Linux. This new tool makes it easy to create and edit
high-quality VR videos.
To learn more about VR180 Creator, visit here, and to download, go here.

The 2018
Open Source Job Report
is now available from The Linux Foundation and
Dice. Some key findings include: “Linux is back on top as the most in-demand
open source skill category, making it required knowledge for most entry-level
open source careers” and “Containers are rapidly growing in popularity and
importance, with 57% of hiring managers seeking that expertise, up from only
27% last year.”

openSUSE Tumbleweed has three new snapshots this week, adding a bunch of
improvements for KDE users—most notably, the update to Plasma 5.13. In
addition, the
Linux kernel updated from 4.16.12 to 4.17.1 and fixed some btrfs and KVM
issues. See the openSUSE
blog post
for a description of all the updates.

Keepsafe yesterday launched a
privacy-focused mobile browser. According to the TechCrunch
, you can lock the browser with a PIN or use Touch ID, Face ID or
Android Fingerprint. You also can block social, advertising and analytics
trackers, but still allow caching and cookies, or you can open a private tab,
which erases everything as soon as you close it. The browser is available for
free on Android or iOS.

Read More

Open Hardware: Good for Your Brand, Good for Your Bottom Line

With the rise of IoT, we’re inside a short window where “open” is a
strong differentiator for hardware products. Is your company ready to take
advantage of it?

I don’t know how to put this, but Hardware is kind of a Big Deal, and thanks
to the Internet of Things (aka IoT), it’s getting bigger every year. The
analyst firm IDC expects spending on IoT to reach nearly $800
billion USD
the end of 2018. A study by Intel shows that by 2025, the global worth of IoT
technology might be as high as more
than $6 trillion USD
; whereas Forbes reports
that the global market could be nearly
$9 trillion USD in 2020

These statistics are based on the traditional model of closed design and
development of the chips, boards and objects that will make these devices a
reality. However, what if hardware developers were to learn from and leverage
the popularity of free and open-source software (aka FOSS)? What if the
future of IoT were Open? It’s my belief that the device developers who apply
the lessons of FOSS to hardware development will be those best positioned to
become the powerhouses of that $9 trillion market. Similarly to software,
open hardware will be seen first as a differentiator (rather than an
eccentricity) and later, as the industry matures, as the default operating
mode for hardware development.

Read More

Cooking with Linux (without a Net): Video editing on Linux using Kdenlive and ArcoLinux, too!

Please support Linux Journal by subscribing or becoming a patron.

It’s another Tuesday and another excuse to sip some red while doing some live Linux and open-source experimentation. Yes, it’s time for Cooking with Linux (without a Net), and on today’s show, I’ll show you how to edit a video using the Kdenlive video editor, how to trim said video, adjust audio, fade between clips and apply all sorts of fun effects. Then, I’ll show you how to turn that masterpiece into a video format suitable for uploading to YouTube! All of it live, on camera, and without the benefit of post video editing—therefore providing a high probability of falling flat on my face. Once we’re done doing art, I’ll try out ArcoLinux, another distribution you’ve probably never heard of, and I’ll go through the installation for you. If it wasn’t already obvious, this is a pre-recorded video of a live show.

Read More