Schedule One-Time Commands with the UNIX at Tool

Cron is nice and all, but don’t forget about its cousin at.

When I first started using Linux, it was like being tossed into the deep end
of the UNIX pool. You were expected to use the command line heavily along
with all the standard utilities and services that came with your
distribution. At lot has changed since then, and nowadays, you can use a
standard Linux desktop without ever having to open a terminal or use old
UNIX services. Even as a sysadmin, these days, you often are a few layers of
abstraction above some of these core services.

I say all of this to point out that for us old-timers, it’s easy to take for
granted that everyone around us innately knows about all the command-line
tools we use. Yet, even though I’ve been using Linux for 20 years, I
still learn about new (to me) command-line tools all the time. In this “Back
to Basics” article series, I plan to cover some of the command-line tools
that those new to Linux may never have used before. For those of you who are
more advanced, I’ll spread out this series, so you can expect future
articles to be more technical. In this article, I describe how to use
the at utility to schedule jobs to run at a later date.

at vs. Cron

at is one of those commands that isn’t discussed very much. When
people talk about scheduling commands, typically cron gets the most
coverage. Cron allows you to schedule commands to be run on a periodic
basis. With cron, you can run a command as frequently as every minute or as
seldom as once a day, week, month or even year. You also can define more
sophisticated rules, so commands run, for example, every five minutes, every
weekday, every other hour and many other combinations. System administrators sometimes
will use cron to schedule a local script to collect metrics every minute or
to schedule backups.

On the other hand, although the at command also allows you to schedule
commands, it serves a completely different purpose from cron. While cron
lets you schedule commands to run periodically, at lets you schedule
commands that run only once at a particular time in the future. This
means that at fills a different and usually more immediate need
from cron.

Using at

At one point, the at command came standard on most Linux
distributions, but
these days, even on servers, you may find yourself having to
install the at package explicitly. Once installed, the easiest
way to use at is to type
it on the command line followed by the time you want the command to run:

$ at 18:00

The at command also can accept a number of different time formats. For
instance, it understands AM and PM as well as words like “tomorrow”, so you
could replace the above command with the identical:

Source: Linux Journal

Weekend Reading: Qubes

Qubes desktop

Qubes OS is a security-focused operating system that, as tech editor Kyle Rankin puts it, “is fundamentally different from any other Linux desktop I’ve used”. Join us this weekend in reading Kyle’s multi-part series on all things Qubes.

Secure Desktops with Qubes: Introduction

In this first article, I provide an overview of what Qubes is, some of the approaches it takes that are completely different from what you might be used to on a Linux desktop and some of its particularly interesting security features. In future articles, I’ll give more how-to guides on installing and configuring it and how to use some of its more-advanced features.

Secure Desktops with Qubes: Installation

This is the second in a multipart series on the Qubes operating system. In my first article, I gave an overall introduction to Qubes and how it differs from most other desktop Linux distributions, namely in the way it focuses on compartmentalizing applications within different VMs to limit what attackers have access to in the event they compromise a VM. This allows you to use one VM for regular Web browsing, another for banking and a different one for storing your GPG keys and password manager. In this article, I follow up with a basic guide on how to download and install Qubes, along with a general overview of the desktop and the various default VM types.

Secure Desktops with Qubes: Compartmentalization

This is the third article in my series about Qubes. In the first two articles, I gave an overview about what Qubes is and described how to install it. One of the defining security features of Qubes is how it lets you compartmentalize your different desktop activities into separate VMs. The idea behind security by compartmentalization is that if one of your VMs is compromised, the damage is limited to just that VM.

Secure Desktops with Qubes: Extra Protection

Source: Linux Journal

New Raspbian Update, Qt Creator 4.8 Beta2 Released, Firefox Monitor Now Available in More Than 26 Languages, Chrome OS Linux Soon Will Have Access to Downloads Folder and Canonical Extends Ubuntu 18.04 Long-Term Support

News briefs for November 16, 2018.

Simon Long has
released a new Raspbian update
. This update includes a “fully hardware-accelerated version of VLC”, version
3 of the Thonny Python development environment, improved desktop configuration and more. You can
download the update from here.

Qt Creator 4.8 Beta2 is now available. In addition to many bug fixes, the LLVM for the Clang
code model is updated to version 7.0 and binary packages are updated to the Qt 5.12 prerelease.
You can get the open-source version here.

Firefox Monitor, the free services that tells you whether your email has been part of a security
breach, is now available in more than 26 languages: “Albanian, Traditional and Simplified Chinese,
Czech, Dutch, English (Canadian), French, Frisian, German, Hungarian, Indonesian, Italian,
Japanese, Malay, Portuguese (Brazil), Portuguese (Portugal), Russian, Slovak, Slovenian, Spanish
(Argentina, Mexico, and Spain), Swedish, Turkish, Ukranian and Welsh.” Along with this, Mozilla
also announced that it has added “a notification to our Firefox Quantum browser that alerts
desktop users when they visit a site that has had a recently reported data breach”. See the Mozilla
for details.

Chrome OS Linux soon will be able to access your Downloads folder and Google Drive. According
to the 9to5Google
, “Making the entire Downloads folder accessible will turn Linux apps into a first-class
citizen on Chrome OS and will dramatically help with file organization and ease of use.”

Canonical and Ubuntu founder Mark Shuttleworth announced in his keynote at OpenStack Summit in Berlin that the Ubuntu 18.04 long-term support
lifespan will be extended from five years to ten years. He also addressed IBM’s acquisition of Red Hat. ZDNet
that Shuttleworth indicated that this may lead customers to switch to Ubuntu, saying “We’re
neutral on the public cloud. We work at arm’s length with AWS, Azure, and Google. We provide a
common currency across different environment. But, we’re not the lowest common denominator. We
want to be the best operating system on Azure for Azure, AWS for AWS, and so on.”

Source: Linux Journal

FOSS Project Spotlight: BlueK8s


Deploying and managing complex stateful applications on Kubernetes.

Kubernetes (aka K8s) is now the de facto container orchestration
framework. Like other popular open-source technologies, Kubernetes has
amassed a considerable ecosystem of complementary tools to address
everything from storage to security. And although it was first created for
running stateless
, more and more organizations are
interested in using Kubernetes for stateful

However, while Kubernetes has advanced significantly in many areas during the
past couple years, there still are considerable gaps when it comes to
running complex stateful applications. It remains challenging to deploy
and manage distributed stateful applications consisting of a multitude of
co-operating services (such as for use cases with large-scale analytics and
machine learning) with Kubernetes.

I’ve been focused on this space for the past several years as a
co-founder of BlueData. During that
time, I’ve worked with many teams
at Global 2000 enterprises in several industries to deploy
distributed stateful services successfully, such as Hadoop, Spark, Kafka, Cassandra,
TensorFlow and other analytics, data science, machine learning (ML) and
deep learning (DL) tools in containerized environments.

In that time, I’ve learned what it takes to deploy complex stateful
applications like these with containers while ensuring enterprise-grade
security, reliability and performance. Together with my colleagues at
BlueData, we’ve broken new ground in using Docker containers for big
data analytics, data science and ML/DL in highly distributed
environments. We’ve developed new innovations to address
requirements in areas like storage, security, networking, performance and
lifecycle management.

Now we want to bring those innovations to the Open Source community—to ensure that these stateful services are supported in the Kubernetes
ecosystem. BlueData’s engineering team has been busy working with
Kubernetes, developing
with Kubernetes in our labs and
collaborating with multiple enterprise organizations to evaluate the
opportunities (and challenges) in using Kubernetes for complex stateful

To that end, we recently introduced
a new Kubernetes open-source
initiative: BlueK8s. The BlueK8s initiative will be composed of several
open-source projects that each will bring enterprise-level capabilities for
stateful applications to Kubernetes.

Source: Linux Journal

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

News briefs for November 15, 2018.

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

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

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

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

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

Source: Linux Journal

Getting Started with Scilab

Introducing one of the larger scientific lab packages for Linux.

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

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

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

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

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

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

Let’s start with some basic mathematics—for example,

--> 23/7
 ans  =


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

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

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

Source: Linux Journal

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

TASBot with micro500's TASLink Board Held by dwangoAC

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

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

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

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

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

Source: Linux Journal

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

News briefs for November 14, 2018.

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

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

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

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

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

Source: Linux Journal

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

News briefs for November 13, 2018.

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

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

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

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

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

Source: Linux Journal