Purism Introduces “It’s a Secure Life” Bundle Sale, Wave Computing Open-Sourcing MIPS, Red Hat Announces Long-Term Commercial Support for OpenJDK on Microsoft Windows, ArchLabs 2018.12 Now Available and RawTherapee 5.5 Released

News briefs for December 18, 2018.

Purism is
introducing “It’s a Secure Life” bundles
from now until January 6.
The bundles are 15%–18& off, and they can be made up of different combinations of the
Librem 5 smartphone (preorder), the Librem 15 laptop and the Librem Key.

Wave
Computing announced yesterday it plans to open-source its MIPS instruction set
architecture
to “accelerate the ability for semiconductor companies,
developers and universities to adopt and innovate using MIPS for
next-generation system-on-chip (SoC) designs”. According to the announcement,
“Under the MIPS Open program, participants will have full access to the most
recent versions of the 32-bit and 64-bit MIPS ISA free of charge—with no
licensing or royalty fees. Additionally, participants in the MIPS Open
program will be licensed under MIPS’ hundreds of existing worldwide
patents.”

Red Hat this morning announced long-term commercial support for OpenJDK on
Microsoft Windows
. In addition to supporting OpenJDK builds on RHEL, this
support will further enable “organizations to standardize the development
and deployment of Java applications throughout the enterprise with a flexible,
powerful and open alternative to proprietary Java platforms”.

The ArchLabs
2018.12 release is now available
. It’s been six months since
the last release, and this version has done away with the live
environment, so when you start the USB install, you are thrown straight into
the installer. According to the announcement, “Instructions on how to start
the installer are right there. No need for passwords with this live USB
either.” Other changes include Aurman has been replaced with a new homegrown
AUR helper called Baph, the package repo has been updated and installing
ArchLabs should be easier than ever. You can download it from here.

RawTherapee
5.5 has been released.
This new version of the open-source RAW photo
editor has several new features, including a new Shadows/Highlights tool,
improved support for Canon mRaw format variants, unbounded processing, new
color toning methods and more. You can get the new version via your package
manager or visit the download
page
.

Source: Linux Journal

Sharing Docker Containers across DevOps Environments

docker

Docker provides a powerful tool for creating lightweight images and
containerized processes, but did you know it can make your development
environment part of the DevOps pipeline too? Whether you’re managing
tens of thousands of servers in the cloud or are a software engineer looking
to incorporate Docker containers into the software development life
cycle, this article has a little something for everyone with a passion
for Linux and Docker.

In this article, I describe how Docker containers flow
through the DevOps pipeline. I also cover some advanced DevOps
concepts (borrowed from object-oriented programming) on how to use
dependency injection and encapsulation to improve the DevOps process.
And finally, I show how containerization can be useful for the
development and testing process itself, rather than just as a
place to serve up an application after it’s written.

Introduction

Containers are hot in DevOps shops, and their benefits from an
operations and service delivery point of view have been covered well
elsewhere. If you want to build a Docker container or deploy a Docker
host, container or swarm, a lot of information is available.
However, very few articles talk about how to develop inside the Docker
containers that will be reused later in the DevOps pipeline, so that’s what
I focus on here.

**12282f1.png

Figure 1.
Stages a Docker Container Moves Through in a Typical DevOps
Pipeline

Container-Based Development Workflows

Two common workflows exist for developing software for use inside Docker
containers:

  1. Injecting development tools into an existing Docker container:
    this is the best option for sharing a consistent development environment
    with the same toolchain among multiple developers, and it can be used in
    conjunction with web-based development environments, such as Red Hat’s
    codenvy.com or dockerized IDEs like Eclipse Che.
  2. Bind-mounting a host directory onto the Docker container and using your
    existing development tools on the host:
    this is the simplest option, and it offers flexibility for developers
    to work with their own set of locally installed development tools.

Both workflows have advantages, but local mounting is inherently simpler. For
that reason, I focus on the mounting solution as “the simplest
thing that could possibly work” here.

How Docker Containers Move between Environments

A core tenet of DevOps is that the source code and runtimes that will be used
in production are the same as those used in development. In other words, the
most effective pipeline is one where the identical Docker image can be reused
for each stage of the pipeline.

**12282f2.png

Figure 2. Idealized Docker-Based DevOps Pipeline

Source: Linux Journal

Linux 4.20 rc7 Is Out, the Skrooge Team Announces the 2.17.0 Release of Its Personal Finance Manager, Confluent Has a New Confluent Community License, Pixel Wheels Racing Game has a New Release and Debian Installer Buster Alpha 4 Is Now Available

News briefs for December 17, 2018.

Linux
4.20 rc7 was released
yesterday. Linus Torvalds writes “This is a *tiny*
rc7, just how I like it. Maybe it’s because everybody
is too busy prepping for the holidays, and maybe it’s because we
simply are doing well. Regardless, it’s been a quiet week, and I hope
the trend continues.” And, he says he still plans to release 4.20
right before Christmas.

The Skrooge Team announced the 2.17.0 release of its personal finance manager,
which is based on KDE Frameworks. This release fixes several bugs and includes
a few new features, such as a progress bar in the taskbar, and it supports
only Qt >= 5.7.0. You can get it from your distro’s package management system,
or download it from here.

Confluent, founded by the creators of the open-source Kafka project, has
announced a new license called the Confluent Community License, “which would
limit the ability of vendors to take its open source software and sell it, in
the same way that Amazon did with the core Kafka”. According to the Business
Insider story
, “AWS took Kafka and repackaged it as a paid cloud
service—something completely legal, as open source software is free for anyone
to use as they wish.” Business Insider also notes that the new license applies
only to specialized add-ons to Kafka that are developed in-house.

There’s a new release of
the Pixel Wheels racing game
. It now
“remembers the best lap and best total time for each track and shows
you a congratulation message when you reach the top 3 in either categories”,
countdown now has sound and has several other new features. The game is
available for Linux, Android, Windows and Mac, and you can get it from here.

Debian
Installer Buster Alpha 4
was released over the weekend. This release has
many improvements and hardware support changes, and it now supports 76
languages. Go here
to install.

Source: Linux Journal

Photography and Linux

Is it possible for a professional photographer to use a FOSS-based
workflow?

I’m a professional photographer based out
of Miami, Florida. I learned photography on my own, starting at age 12, with
a Yashica TL Electro 35mm film SLR. In college, I discovered I also
had quite an affinity for computers and programming, so I got my degrees in
that field. I landed an IT job in county government, and photography
took a back seat in my life until two things happened: I became a father,
and the digital revolution came to the world of photography.

I dove into digital photography as it made practicing my art economical
in the extreme. Having a child meant plenty of opportunities to take
photos. All of my photographer friends suddenly needed someone who could
understand both computers and photography, and I was conveniently placed
to help them.

I turned pro in 2008, when a local ballet troupe asked me to photograph
their performance of The Nutcracker. Other performances followed, and my
skills were further honed. I later was asked by the late Pedro Pablo
Peña
to photograph his International Ballet Festival, which I did for two years.

Fast-forward to 2014 when I started a photography club at my day job
and offered free photography lessons, once a month, to any fellow
employees willing to listen.

In 2017, at the behest of my club members, I was asked to assemble a
low-cost photography laptop configuration, as many of my students wanted to
expand their photographic skills in the post-processing side of digital
photography. I
completed my task, assembling a reasonable portable digital darkroom for
less than $700 USD that included all necessary photo-editing software
with no recurring monthly fees, an upgraded hard drive and a colorimeter.

The laptop turned out so well, I decided to take the plunge myself and
converted my Windows 10 workstation (custom-built by me) to a dedicated
FOSS photography workstation.

Source: Linux Journal

Epic Games’ Free Cross-Platform Service Coming in 2019, Harness Announces New 24-7 Service Guard, Vivaldi Version 2.2 Released, KDE Applications 18.2 Are Out and Valve’s Steam Link App for RPi Officially Available

News briefs for December 14, 2018.

Epic
Games recently announced it’s working on a free cross-platform
service for 2019
: “Throughout 2019, we’ll be
launching a large set of cross-platform game services originally built for
Fortnite, and battle-tested with 200,000,000 players across 7 platforms.
These services will be free for all developers, and will
be open to all engines, all platforms, and all stores. As a developer,
you’re free to choose mix-and-match solutions from Epic and others as you
wish.” Epic also noted that “all services will be operated in
a privacy-friendly, GDPR-compliant manner”.

Harness yesterday announced the release of 24×7
Service Guard
, a new “Machine Learning-based
capability that empowers and protects developers who practice Continuous
Delivery”. According to the press release, “With 24×7 Service Guard,
engineering teams now have the equivalent of a dedicated bodyguard to watch
all production services and observe the end user experience across all APM,
monitoring, and log tools. When a service is impacted, 24×7 Service Guard can
proactively roll back code changes automatically—the equivalent of a
‘safety net’ for production applications.”

Vivaldi, the ultra-customizable browser with a do-not-track policy, released a
new version yesterday. Version 2.2 “improves accessibility, navigation and
media”. The Vivaldi blog
post
notes that “the update introduces more unique ways to manage tabs,
makes Access Keys easier to use, integrates Pop Out video, and makes the
browser’s toolbars more configurable.” You can download Vivaldi from here.

KDE
Applications 18.12 are out
. This release resolves more than 140 issues and
features several improvements including practical file management with
Dolphin, Okular enhancements, full support for emojis in Konsole, usability
improvements for everyone and more. See the full list of changes here.

Valve’s Steam link app for Raspberry Pi 3B and 3B+ is now officially available.
Phoronix
reports that
“This app provides similar functionality to the low-cost Steam Link
dedicated device that’s been available the past few years for allowing in-home
streaming of games on Steam from your personal PC(s) to living room / HTPC
type setups using Steam Link.” You can get the app here.

Source: Linux Journal

FOSS Project Spotlight: Appaserver

An introduction to an application server that allows you to build MySQL user interfaces
without
programming.

Assume you are tasked to write a browser-based, MySQL user interface for the table called CITY.
CITY has two columns. The column names are city_name and state_code—each combined are the
primary key.

Your user interface must enable users to execute the four main SQL operations: select, insert,
update and delete. The main characteristics for each operation are:

  • The select operation needs an HTML prompt form to request a query. It also needs a where
    clause generator to select from CITY. After forking MySQL and retrieving the raw rows, it needs to
    translate them into an HTML table form.
  • The HTML table form needs to be editable, and user edits need to be translated into update
    statements.
  • Each resulting row following the execution of a query is a candidate for deletion.
  • The insert operation needs a blank form. It also needs to translate Apache’s common gateway
    interface (CGI) into insert statements.

So, you might create the source file called city.c and type in all the required code. Of course,
relational databases have relations. One city has many persons residing in it. Assume the PERSON
table has the column names of full_name, street_address,
city_name and state_code. full_name and
street_address combined are the primary key (Figure 1).


Figure 1. Database Schema of Many Persons Residing in One City

Are you going to create the source file called person.c too? What about customer.c, inventory.c,
order.c, …?

Alternatively, you might create the source files called select.c, insert.c, update.c and
delete.c. Then each of these modules would need as input:

  • A single table name.
  • The table’s additional attributes.
  • The table’s column names and additional attributes.
  • A recursive list of related tables.
  • Apache’s CGI dictionary output.

The principle behind Appaserver is this multi-module approach. Appaserver stores table names in a
table. Each table’s column names and relations are also stored in tables. Taking the table-driven
concept to the nth degree forms a database of a database. You can glean a detailed understanding
of how the Appaserver database is modeled from https://appahost.com/appaserver_database_schema.pdf.

Source: Linux Journal

Opera Launches Built-in Cryptocurrency Wallet for Android, ManagedKube Partners with Google Cloud to Provide a Monitoring App for Kubernetes Cluster Costs, QEMU 3.1 Released, IoT DevCon Call for Presentations and GNOME 3.31.3 Is Out

News briefs for December 13, 2018.

Opera announced today the launch of a built-in cryptocurrency wallet
for Android. According to The
Verge
, “The wallet will first support ethereum, with support for other
coins likely to come later. Ether investors using Opera would potentially be
able to more easily access their tokens using the feature.” You can get Opera
for Android here.

ManagedKube, a Kubernetes software development tool company, announced
yesterday it is collaborating with Google Cloud to “launch a monitoring
application that provides companies with visibility into their Kubernetes
cluster costs”. The press
release
notes that “ManagedKube provides an
easy-to-read dashboard that gives insights on how much is being spent on each
pod, node, and persistent volume across multiple time dimensions. This
visibility allows companies to forecast budgets, understand product margins,
and quickly identify optimization opportunities for reducing Kubernetes cloud
costs.”

QEMU 3.1 has been released. Phoronix
reports
that this update of the QEMU emulator adds “multi-threaded Tiny
Code Generator support, display improvements, adds the Cortex-A72 model and
other ARM improvements, and various other enhancements”. For more details,
see the QEMU ChangeLog.

IoT DevCon call for presentations is now open. Deadline for proposals is
February 28, 2019
. The conference is being held June 5–6 in Santa
Clara, California.

GNOME 3.31.3 is out, and this will be the last snapshot of 2018. Note that
this is development code meant for testing and hacking purposes. For a list
of changes, go here, and the
source packages are here.

Source: Linux Journal

About ncurses Colors

Why does ncurses support only eight colors?

If you’ve looked into the color palette available in curses, you may
wonder why curses supports only eight colors. The curses.h include file
defines these color macros:


COLOR_BLACK
COLOR_RED
COLOR_GREEN
COLOR_YELLOW
COLOR_BLUE
COLOR_MAGENTA
COLOR_CYAN
COLOR_WHITE

But why only eight colors, and why these particular colors? At least with the Linux
console, if you’re running on a PC, the color range’s origins are
with the PC hardware.

A Brief History of Color

Linux started as a PC operating system, so the first Linux console was a PC
running in text mode. And to understand the color palette on the PC console,
you need to go all the way back to the old CGA days. In text mode, the PC
terminal had a color palette of 16 colors, enumerated 0 (black) to 15
(white). Backgrounds were limited to the first eight colors:

  • 0. Black
  • 1. Blue
  • 2. Green
  • 3. Cyan
  • 4. Red
  • 5. Magenta
  • 6. Brown
  • 7. White (“Light Gray”)
  • 8. Bright Black (“Gray”)
  • 9. Bright Blue
  • 10. Bright Green
  • 11. Bright Cyan
  • 12. Bright Red
  • 13. Bright Magenta
  • 14. Yellow
  • 15. Bright White

These colors go back to CGA, IBM’s Color/Graphics Adapter from the
earlier PC-compatible computers. This was a step up from the plain
monochrome displays; as the name implies, monochrome could display
only black or white. CGA could display a limited range of colors.

CGA supports mixing red (R), green (G) and blue (B) colors. In its simplest
form, RGB is either “on” or “off”. In this case, you can mix the RGB colors
in 2x2x2=8 ways. Table 1 shows the
binary and decimal representations of RGB.

Table 1. Binary and Decimal Representations of RGB

000 (0) Black
001 (1) Blue
010 (2) Green
011 (3) Cyan
100 (4) Red
101 (5) Magenta
110 (6) Yellow
111 (7) White

To double the number of colors, CGA added an extra bit called the
“intensifier” bit. With the intensifier bit set, the red, green and blue
colors would be set to their maximum values. Without the intensifier bit,
each RGB value would be set to a “midrange” intensity. Let’s represent that
intensifier bit as an extra 1 or 0 in the binary color representation, as
iRGB (Table 2).

Source: Linux Journal

Firefox 64 Now Available, SoftMaker Office Announces “Load and Help” Fundraising Campaign, the Joint Development Foundation Has Joined The Linux Foundation, Google+ to End in April 2019 and Valve Releases Proton 3.16 (Beta)

News briefs for December 12, 2018.

Firefox 64
was released yesterday
. New features include multiple tab selection,
Developer Tools improvements, standardizing proprietary styling features,
updated privacy features and much more. See the full release
notes
for more details, and download Firefox here.

SoftMaker Office
announces its “Load and Help 2018” fundraiser campaign
: “From now until
Christmas, the company will donate 10 cents to charitable organizations for
each free download of FlexiPDF Basic or SoftMaker FreeOffice 2018.” Also, for
the first time ever, SoftMaker’s free FreeOffice package is now available for
macOS, in addition to Linux and Windows.

The Joint Development Foundation has joined The Linux Foundation family to
“make it easier to collaborate through both open source and standards
development”. The press
release
quotes Executive Director of The Linux Foundation Jim Zemlin:
“Leveraging the capabilities of the Joint Development Foundation will
enable us to provide open source projects with another path to
standardization, driving greater industry adoption of standards and
specifications to speed adoption.”

Google+ will be killed off in April 2019, rather than August 2019 as
initially planned, due to a bug in the Google+ API that exposed the data of
52.5 million users. See the betanews
post
for details.

Valve
announces a new beta release of Proton 3.16
. With this release, 29
additional games are now supported, and the build also contains a rework of
the audio. See the Changelog
for more information.

Source: Linux Journal