Category: Linux Journal – The Original Magazine of the Linux Community

The LJ Password Generator Tool

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>J6\p4eNPH
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

via Linux Journal – The Original Magazine of the Linux Community

The EU Parliament Legal Affairs Committee Vote…

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

via Linux Journal – The Original Magazine of the Linux Community

Facebook Open-Sources BOLT, Google Introduces …

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.

via Linux Journal – The Original Magazine of the Linux Community

Cooking with Linux (without a Net): Video edit…

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.

via Linux Journal – The Original Magazine of the Linux Community

Red Hat Launches Process Automation Manager 7,…

Red Hat Launches Process Automation Manager 7, Brackets Editor Releases Version 1.13, Qt Announces New Patch Release and More:

News briefs for June 19, 2018.

Red Hat today launched
Red Hat Process Automation Manager 7
, which is “a
comprehensive, cloud-native platform for developing business automation
services and process-centric applications across hybrid cloud environments”.
This new release expands some key capabilities including cloud native
application development, dynamic case management and low-code user
experience. You can learn more and get started here.

The free, open-source Brackets editor, which focuses on web
development/design, released version 1.13 of its code editor this week. Linux
Uprising reports
that the new release features “the ability to opening remote files, drag and drop support for the
FileTreeFiew, an option to automatically update Brackets, and bug fixes”.
See also the release
notes on GitHub
for more info.

Qt announced the
release of version 5.11.1 today. This release is the first patch release for
the 5.11 series and doesn’t include any new functionality, but it does
provide more than 150 bug fixes and 700 important changes. See the Change Files page for details.

Today, June 19th, has been declared FreeBSD Day. Visit the website for
information on ways you can help them celebrate this 25th anniversary.

Happy Birthday to It’s FOSS! Visit the website for
giveaways and more details on It’s FOSS’s 6th birthday celebration.

via Linux Journal – The Original Magazine of the Linux Community

Removing All Syscall Invocations from Kernel S…

Removing All Syscall Invocations from Kernel Space:

There’s an effort under way to reduce and ultimately remove all system call
invocations from within kernel space. Dominik Brodowski was leading this
effort, and he posted some patches to remove a lot of instances from the
kernel. Among other things, he said, these patches would make it easier to
clean up and optimize the syscall entry points, and also
easier to clean up the
parts of the kernel that still needed to pretend to be in userspace, just
so they could keep using syscalls.

The rationale behind these patches, as expressed by Andy
ultimately was to prevent user code from ever gaining access to kernel memory.
Sharing syscalls between kernel space and user space made that impossible
at the moment. Andy hoped the patches would go into the kernel quickly,
without needing to wait for further cleanup.

Linus Torvalds had absolutely no criticism of these patches,
and he indicated
that this was a well desired change. He offered to do a little extra
housekeeping himself with the kernel release schedule to make Dominik’s
tasks easier. Linus also agreed with Andy that any cleanup effort could
wait—he didn’t mind accepting ugly patches to update the syscall calling
conventions first, and then accept the cleanup patches later.

Ingo Molnar predicted that with Dominik’s changes, the size of the compiled
kernel would decrease—always a good thing. But Dominik said no, and in
he ran some quick numbers for Ingo and found that with his patches, the
compiled kernel was actually a few bytes larger. Ingo was surprised but not
mortified, saying the slight size increase would not be a showstopper.

This project is similar—although maybe smaller in scope—to the effort
to get rid of the big kernel lock (BKL). In the case of the BKL, no one
could figure out for years even how to begin to replace it, until finally
folks decided to convert all BKL instances into identical local
implementations that could be replaced piecemeal with more specialized and
less heavyweight locks. After that, it was just a question of slogging
through each one until finally even the most finicky instances were
replaced with more specialized locking code.

Dominik seems to be using a similar technique now, in which areas of the
kernel that still need syscalls can masquerade as user space, while areas
of the kernel that are easier to fix get cleaned up first.

Note: if you’re mentioned above and want to post a response above the comment section, send a message with your response text to

via Linux Journal – The Original Magazine of the Linux Community

Total War: WARHAMMER II Coming to Linux, Red H…

Total War: WARHAMMER II Coming to Linux, Red Hat Announces GPL Cooperation Commitment, Linspire 8.0 Alpha 1 Released and More:

News briefs for June 18, 2018.

Feral Interactive announced this morning that Total War: WARHAMMER
is coming to Linux and macOS this year. You can view the trailer here. Pricing and
system requirements will be announced closer to the release.

Starting today, Red Hat announced
that “all new Red Hat-initiated open source projects that opt
to use GPLv2 or LGPLv2.1 will be expected to supplement the license with the
cure commitment language of GPLv3”. The announcement notes that this
development is the latest in “an ongoing initiative within the open source
community to promote predictability and stability in enforcement of
GPL-family licenses”.

Linspire announced
the release of 8.0
Alpha 1
yesterday. This release marks the beginning stages of the new
Linspire release, scheduled for around Christmas, and is not intended for
use in production environments. New features include Ubuntu 18.04 Base,
new GUI layout, kernel 4.15/0-23, Mate 1.20.1, Google Chrome 67 and more.

Yesterday marked the end of security support for for Debian GNU/Linux 8
“Jessie”, Softpedia
News reports
. If you haven’t already done so, upgrade now.

Phoronix reports
on feautres that didn’t make it for the mainline Linux kernel 4.18. Work that
isn’t being mailined includes Bcachefs, NOVA, Reiser4, WireGuard, LLVM Linux
and more.

via Linux Journal – The Original Magazine of the Linux Community

Introducing PyInstaller

Introducing PyInstaller:

Want to distribute Python programs to your Python-less clients?
PyInstaller is the answer.

If you’re used to working with a compiled language, the notion
that you would need to have a programming language around, not just for
development but also for running an application, seems a bit weird.
Just because a program was written in C doesn’t mean you need a C
compiler in order to run it, right?

But of course, interpreted and byte-compiled languages do require
the original language, or a version of it, in order to run. True, Java
programs are compiled, but they’re compiled into bytecodes then
executed by the JVM. Similarly, .NET programs cannot run unless the
CLR is present.

Even so, many of the students in my Python courses are surprised to
discover that if you want to run a Python program, you need to have
the Python language installed. If you’re running Linux, this
isn’t a problem. Python has come with every distribution I’ve used
since 1995. Sometimes the Python version isn’t as modern as I’d like,
but the notion of “this computer can’t run Python programs” isn’t
something I’ve had to deal with very often.

However, not everyone runs Linux, and not everyone’s computer has
Python on it. What can you do about that? More specifically, what
can you do when your clients don’t have Python and aren’t interested
in installing it? Or what if you just want to write and distribute an
application in Python, without bothering your users with additional
installation requirements?

In this article, I discuss PyInstaller, a cross-platform tool that
lets you take a Python program and distribute it to your users,
such that they can treat it as a standalone app. I also discuss
what it doesn’t do, because many people who think about using
PyInstaller don’t fully understand what it does and doesn’t

Running Python Code

Like Java and .NET, Python programs are compiled into bytecodes, high-level commands that don’t correspond to the instructions
of any actual computer, but that reference something known as a
“virtual machine”. There are a number of substantial differences
between Java and Python though. Python doesn’t have an explicit
compilation phase; its bytecodes are pretty high level and connected
to the Python language itself, and the compiler doesn’t do that much
in terms of optimization. The correspondence between Python source
code and the resulting bytecodes is basically one-to-one; you won’t find
the bytecode compiler doing fancy things like inlining code or
optimizing loops.

via Linux Journal – The Original Magazine of the Linux Community

Caption This!

Caption This!:

It’s another cartoon in need of a caption! You submit your caption, we choose three finalists, and readers vote for their favorite. The winning caption for this cartoon will appear in the August issue of Linux Journal.

To enter, simply type in your caption in the comments below or email us,

via Linux Journal – The Original Magazine of the Linux Community

openSUSE Leap 15 Now Offering Images for RPis,…

openSUSE Leap 15 Now Offering Images for RPis, Another Security Vulnerability for Intel, Trusted News Chrome Extension and More:

News briefs for June 14, 2018.

openSUSE Leap 15, released two weeks ago, is now offering images for Raspberry Pis, Beagle
Boards, Arndale board, CuBox-i computers, OLinuXino and more. See the openSUSE
blog post
for more information on how “makers can leverage openSUSE Leap
15 images for aarch64 and Armv7 on Internet of Things (IoT) and embedded
devices” and for download links.

Intel yesterday announced yet another security vulnerability with its Core-based
microprocessors. According to ZDNet,
Lazy FP state restore “can theoretically pull data from your programs,
including encryption software, from your computer regardless of your
operating system.” Note that Lazy State does not affect AMD processors.

Adblock Plus creators, eyeo, have introduced a beta Chrome extension
called Trusted News, which “will use blockchain to help you verify
whether a site is trustworthy”, Engadget
. It currently uses four established fact-checker sites, but “the
eventual plan is to decentralize the database with the Ethereum blockchain
and use game-like token mechanics to reward everyday users for submitting
feedback while protecting against trolls.”

Untangle yesterday released
NG Firewall 14.0
. New features include “enhanced support of SD-WAN
networking architectures in order to reduce costs for businesses with
distributed, branch and remote offices and enable fast and flexible
deployment, while ensuring a consistent security posture.”

The Linux Foundation yesterday announced the schedule of sessions and
speakers for its Open Source Summit North America, August 29–31,
in Vancouver, BC. You can see the full schedule here.

via Linux Journal – The Original Magazine of the Linux Community