You are on page 1of 53

Full Circle

THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY

ISSUE #156 - April 2020


Photo: Roger Mommaerts
(Flickr.com)

VALENTINA
CREATE YOUR OWN PATTERNS
full
agacircle
zine ismagazine liated with,1nor endorsed by, Canonical Ltd.
#156 contents ^
Full Circle M neither affi
Full Circle
HowTo

THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY


Python p.17 Linux News p.04

Valentina p.22 Command & Conquer p.14 Linux Loopback p.XX Everyday Ubuntu p.37

Rawtherapee p.24 Ubuntu Devices p.XX The Daily Waddle p.40 My Story p.41

Krita For Old Photos p.31 My Story p.XX Letters p.XX Review p.44

Inkscape p.27 Q&A p.47 XX p.XX Ubuntu Games p.50

Graphics
The articles contained in this magazine are released under the Creative Commons Attribution-Share Alike 3.0 Unported license. This means you
can adapt, copy, distribute and transmit the articles but only under the following conditions: you must attribute the work to the original author in
some way (at least a name, email or URL) and to this magazine by name ('Full Circle Magazine') and the URL www.fullcirclemagazine.org (but not
attribute the article(s) in any way that suggests that they endorse you or your use of the work). If you alter, transform, or build upon this work, you must distribute the
resulting work under the same, similar or a compatible license.
Full Circle magazine is entirely independent of Canonical, the sponsor of the Ubuntu projects, and the views and opinions in the magazine should in no way be
assumed to have Canonical endorsement. full circle magazine #156 2 contents ^
EDITORIAL
This magazine was created using :

WELCOME TO THE LATEST ISSUE OF FULL CIRCLE

A s ever, we have the usual suspects; Python, Inkscape, Krita and (from last month)
Rawtherapee. To compliment those we have a most unusual piece on... fashion. Yes, we have a
quick look at Valentina which will let you create clothing patterns. It's a riveting story of one man's
retirement becoming one woman's treasure.

Elsewhere, we have Richard struggling with PIM. If you can help him out, please do email him a
solution. There's no Loopback this month as BSD seems to be driving SJ to a nervous breakdown. I
don't think we can help him. Between that and work, I fear he might be too far gone. Just kidding.
He'll be back next month.
Find Full Circle on:
You might notice a couple of tweaks in the magazine. Don't panic, nothing big. I upgraded my
facebook.com/
Ubuntu 19.10 to the beta of 20.04. That in turn seems to have upgraded my Scribus to 1.5.5. No big
fullcirclemagazine
deal. Except that it screwed up a couple of my paragraph styles and has a slightly different layout
to what I'm used to. So I hope I've managed to recreate the paragraph styles with a couple of tiny twitter.com/#!/fullcirclemag
tweaks. http://issuu.com/
fullcirclemagazine
Wherever you are in the world, stay safe in these crazy times!
https://mastodon.social/
@fullcirclemagazine
All the best, and (please!) let us know what you like/dislike.
Ronnie
ronnie@fullcirclemagazine.org Weekly News:
http://fullcirclemagazine.org/
feed/podcast
http://www.stitcher.com/s?
fid=85347&refid=stpr
http://tunein.com/radio/Full-
FCM PATREON : https://www.patreon.com/fullcirclemagazine Circle-Weekly-News-p855064/

full circle magazine #156 3 contents ^


NEWS
Submitted by ErikTheUnready

KUBERNETES 1.18 https://www.huawei.com/en/press- 20.04 and Debian 10 "Buster", and


events/news/2020/3/openeuler-lts- is also available as patches for
RELEASED: OPENEULER 20.03 LINUX open-source-operating-system Linux kernels 5.4 and 5.5.
DISTRIBUTION RELEASED BY Distributions using the latest
03/30/2020
HUAWEI: kernels such as Arch, Gentoo, and
WIREGUARD VPN 1.0.0 Fedora 32 will be able to use
T he release of Kubernetes 1.18
container orchestration
platform has been released , which
03/30/2020
AVAILABLE:
WireGuard along with the 5.6
kernel update.
allows managing a cluster of
isolated containers as a whole and H uawei introduced OpenEuler
20.03, which is a long term
support release (LTS). Package
03/30/2020 https://lists.zx2c4.com/pipermail/
wireguard/2020-March/

W
providing mechanisms for ireGuard 1.0.0 VPN
updates for openEuler 20.03 will be 005206.html
deploying, maintaining and scaling milestone, which is now
applications running in containers. released until March 31, 2024.
included in the main Linux kernel, is
The project was originally created Repositories and installation iso-
out. The code included in the Linux
by Google, but then transferred to images are available for free
kernel underwent an additional ECLIPSE THEIA 1.0
download. The source code is
an independent platform, curated
available on the Gitee service.
security audit, performed by an RELEASED, A TRUE OPEN
by the Linux Foundation. The independent security company. The SOURCE ALTERNATIVE TO
platform is positioned as a audit did not reveal any issues.
universal solution developed by The differences between VISUAL STUDIO CODE
openEuler and CentOS are quite
the community, not tied to
significant and are not limited to
Since WireGuard is partof the EDITOR:
individual systems and capable of core Linux kernel, a wireguard-
working with any application in any rebranding. For example,
linux-compat.git repository has 03/31/2020
cloud environment. Kubernetes openEuler ships a modified Linux
been opened for distributions and
kernel 4.19, systemd 243, bash 5.0,
T
code is written in Go and is users who continue to use the old he Eclipse Foundation has
distributed under the Apache 2.0 and a GNOME 3.30-based desktop.
kernel versions . The repository published the first stable
license. Many ARM64-specific optimizations
includes the backported WireGuard release of the Eclipse Theia 1.0
have been introduced, some of
code and the compat.h layer to code editor, designed to provide a
https://kubernetes.io/blog/ which have already been
ensure compatibility with older truly open alternative to the Visual
2020/03/25/kubernetes-1-18- transferred to the main code bases
kernels. In its current form, a Studio Code project. The code is
release-announcement/ of the Linux, GCC, OpenJDK, and
separate version of WireGuard can written in TypeScript and
Docker kernels.
be used with kernels from Ubuntu distributed under the free EPLv2

full circle magazine #156 4 contents ^


NEWS
(Eclipse Public License). The project Git Forge. It will be built using the LINUX KERNEL OPENMEDIAVAULT 5 NAS
is being developed in conjunction GitLab platform. GitLab will
VULNERABILITY TO ESCALATE IS AVAILABLE:
with IBM, Red Hat, Google, ARM, become the primary platform for
Ericsson, SAP and Arduino. interacting with Git repositories PRIVILEGES VIA BPF:
03/31/2020
and for hosting projects related to
The key differences from Visual CentOS and Fedora distributions. 03/31/2020
Studio Code are: a more modular The previously used Pagure service
A fter almost two years since the
formation of the last
architecture that provides more
options for modification; initial
will continue to exist, but will be
transferred to the care of a C VE-2020-8835 in the Linux
kernel. It was used in the
Pwn2Own 2020 competition to
significant branch, the
OpenMediaVault 5 distribution kit
orientation to launch not only on community interested in continuing
hack Ubuntu. The vulnerability was launched, aimed at the rapid
the local system, but also in the development. Pagure will be pulled
allowed an unprivileged user to deployment of network storage.
cloud; development on a neutral out of Red Hat’s Community
gain root privileges. A working The OpenMediaVault project was
site. They also develop the Platform Engineering (CPE).
exploit exists, but has not yet been founded in 2009 after a split in the
VSCodium project, which includes
published. The vulnerability is camp of the developers of the
only free components, with In the meantime, GitLab
present in the eBPF subsystem, FreeNAS distribution, as a result,
removed Microsoft branding, and announced the opening of
which allows launching handlers for the developers of the fork aimed to
most importantly, telemetry implementations of 18
tracing, analysis of subsystems, and transfer the distribution to the
spyware. functionalities previously offered
traffic control, performed inside Linux kernel and the Debian
only in proprietary editions of
the kernel in a special virtual package base. OpenMediaVault
https://www.eclipse.org/org/press- GitLab. Opportunities cover various
machine with JIT. installation images are available for
release/20200331-theia.php areas of managing the full cycle of
download .
software development, including
development planning, project To block the vulnerability, the
only workaround is to roll back the https://www.openmediavault.org/
FEDORA AND CENTOS creation, verification, work with
packages, generation of releases, patch or prohibit the execution of
LAUNCH GIT FORGE. GITL AB configuration and protection. BPF applications by unprivileged
OPENS 18 PROPRIETARY users through setting sysctl VULNERABILITIES IN
https://lists.fedoraproject.org/ kernel.unprivileged_bpf_disabled NETBEANS AUTO-UPDATE
FEATURES: archives/list/ to 1.
devel@lists.fedoraproject.org/ ENGINE:
03/31/2020
thread/ https://www.openwall.com/lists/
QXJBN37CQRTVMKAYSS5PYVZXD oss-security/2020/03/30/3 03/31/2020
PZZFZYN/
C entOS and Fedora projects
announced a decision to create
a new joint development service,
D isclosure on two vulnerabilities
in the automatic update
delivery system for the Apache

full circle magazine #156 5 contents ^


NEWS
NetBeans integrated development 20.04 LTS package base, will only 20.03 , built on the basis of the the system does not allow tracking
environment, which allow replacing support 64-bit systems. Builds for TrueOS platform and offering the information about where the user
server-generated updates and nbm 32-bit x86 systems will be MATE user environment, is spends money, but provides
packages, was published. discontinued. The release is available. By default, GhostBSD tracking the receipt of funds (the
Unreleased vulnerabilities were expected in July. Supported uses the OpenRC initialization sender remains anonymous), which
fixed in release 11.3 . desktops include Cinnamon, MATE, system and the ZFS file system. In solves the problems associated
and Xfce. the new version, the default with BitCoin with tax audits. The
The first vulnerability (CVE- settings of the pkg package code is written in Python and
2019-17560) is caused by the lack The reason for the manager now refer to the distributed under the AGPLv3 and
of verification of SSL certificates discontinuation of support for the GhostBSD package repository, not LGPLv3 licenses.
and hostname when downloading i386 architecture is the inability to FreeBSD. Update Station has been
data via HTTPS, which makes it maintain packages at the level of changed to only run updates via GNU Taler does not create its
possible to quietly replace the other architectures supported in pkg. In NetworkMgr, the wg own cryptocurrency, but works
downloaded data. The second Ubuntu. For example, Specter network interface has been added with existing currencies, including
vulnerability (CVE-2019-17561) is mitigation for 32-bit systems. to the notnics list so as not to dollars, euros and bitcoins. Support
associated with a failed verification Maintaining a package base for display Wireguard among the for new currencies can be ensured
of a downloaded update by digital i386 requires large resources for network adapters. through the creation of a bank that
signature, which allows an attacker development and quality control, acts as a financial guarantor. The
to add additional code to nbm files which do not justify themselves http://www.ghostbsd.org/ GNU Taler business model is based
without violating the integrity of due to the small user base (the 20.03_release_announcement on the execution of exchange
the package. number of i386 systems is operations - money from
estimated at 1% of the total traditional payment systems such
https://www.openwall.com/lists/ number of installed systems). GNU TALER 0.7 PAYMENT as BitCoin, Mastercard, SEPA, Visa,
oss-security/2020/03/30/2 ACH and SWIFT are converted into
https://blog.linuxmint.com/? SYSTEM DEVELOPED BY anonymous electronic money in the
p=3887 GNU PROJECT: same currency. The user can
transfer electronic money to
LINUX MINT 20 WILL 04/01/2020 sellers, who can then exchange
them back at the exchange point
DISCONTINUE 32BIT:

04/01/2020
GHOSTBSD RELEASE 20.03:
T he GNU project introduced the
free electronic payment system
GNU Taler 0.7 . A feature of the
into real money represented by
traditional payment systems.
04/01/2020
system is that anonymity is https://www.mail-archive.com/info-

T he developers of the Linux Mint


distribution said that the next
major release, built on the Ubuntu T he release of the desktop-
oriented distribution GhostBSD
provided to buyers, but sellers are
not anonymous to ensure the
gnu@gnu.org/msg02726.html

transparency of tax reporting, i.e.


full circle magazine #156 6 contents ^
NEWS
NFTABLES 0.9.4 BATCH FREE TRAINING BY SLURM ON images are available for download

E nd-to-end encryption support only to registered Red Hat


FILTER RELEASE: KUBERNETES: Customer Portal users. Package
announced by Zoom's video
conferencing service has proven to sources can be downloaded from
04/01/2020 04/02/2020
be a marketing ploy. In fact, the the CentOS project 's Git
control information was repository .
T he release of the nftables 0.9.4
packet filter has been
published. A replacement for
transmitted using conventional TLS
encryption between the client and
F rom April 7 to July 21, the
Slurm Training Center will
conduct a free theoretical course
The RHEL 7.x branch is
server (as when using HTTPS), and accompanied in parallel with the
iptables, ip6table, arptables and on the free Kubernetes container
the stream transmitted via UDP RHEL 8.x branch and will be
ebtables due to the unification of orchestration platform . Lessons
with video and sound was supported until June 2024. The
packet filtering interfaces for IPv4, will provide administrators with an
encrypted using the symmetric AES first stage of support for the RHEL
IPv6, ARP and network bridges. The understanding of the basics
256 cipher, the key was transmitted 7.x branch, which includes
nftables package includes package sufficient to integrate into multi-
as part of the TLS session. functional improvements, is
filter components that work in user functional DevOps teams. The
completed. The release of RHEL 7.8
space, while at the kernel level, the course will help developers gain
End-to-end encryption involves marked the transition to the
nf_tables subsystem provides a knowledge about the capabilities
encryption and decryption on the maintenance phase, where
part of the Linux kernel since and limitations of Kubernetes that
client side, so that the server priorities shifted towards bug fixes
release 3.13. The changes affect the application architecture,
already receives encrypted data and security, with minor
necessary for the nftables 0.9.4 as well as provide an opportunity
that only the client can decrypt. In improvements related to
release to work are included in the to learn how to deploy
the case of Zoom, encryption was supporting important hardware
future Linux 5.6 kernel branch. applications, configure monitoring
used for the communication systems.
and create environments.
channel, and on the server the data
https://marc.info/?
were processed in the clear, and https://www.redhat.com/archives/
l=netfilter&m=158575148505527& https://slurm.io/evening/
Zoom employees could gain access rhelv6-list/2020-March/
w=2
to the transmitted data with ease. msg00000.html
Zoom representatives explained
that end-to-end encryption meant
encryption of traffic transmitted RED HAT ENTERPRISE LINUX NETBSD 8.2 RELEASED:
between their servers... 7.8 RELEASED:
END-TO-END ENCRYPTION IN 04/02/2020
ZOOM VIDEO CONFERENCING https://theintercept.com/ 04/02/2020

N
2020/03/31/zoom-meeting-
TURNED OUT TO BE FICTION: etBSD 8.2 is out. In accordance

R
encryption/ ed Hat has released Enterprise with the new release
04/01/2020 Linux 7.8. RHEL 7.8 installation preparation process , NetBSD 8.2 is

full circle magazine #156 7 contents ^


NEWS
categorized as bug fix and includes https://www.pine64.org/ system features: the ability to Linux distribution as an alternative
mainly fixes for issues identified 2020/04/02/pinephone-ubports- combine multiple servers into a to the regular Red Hat Enterprise
since NetBSD 8.1 was published. community-edition-pre-orders- pool (cluster), High Availability Linux kernel package. The kernel is
For those who value new now-open/ tools, support for snapshots, available only for x86_64 and
functionality, NetBSD 9.0 has sharing shared resources using ARM64 architectures. Kernel
recently been released. Downloads XenMotion technology. It supports sources, including breakdowns into
are available for 58 systems XCP-NG 8.1 RELEASED, live migration of virtual machines individual patches, are published in
architectures and 16 different CPU between cluster hosts and the public Oracle Git repository.
families. CITRIX HYPERVISOR between different clusters /
FREEWARE: individual hosts (which do not have https://blogs.oracle.com/linux/
http://blog.netbsd.org/tnf/entry/ a common storage), as well as live announcing-the-unbreakable-
netbsd_8_2_is_available 04/03/2020 migration of VM disks between enterprise-kernel-release-6-for-
storage media. The platform can oracle-linux

X CP-NG 8.1 was announced,


developing a free replacement
for the proprietary Citrix
work with a large number of
storage systems and is
characterized by the presence of a
PINEPHONE SMART PHONE Hypervisor platform (formerly simple and intuitive interface for UBUNTU BETA 20.04:
called XenServer) for deploying installation and administration.
SUPPLIED WITH UBPORTS IS and managing cloud infrastructure. 04/04/2020
AVAILABLE FOR ORDER: XCP-NG recreates the functionality https://xcp-ng.org/blog/
2020/03/31/xcp-ng-8-1/
T
that Citrix has excluded from the he beta release of Ubuntu
04/02/2020 free Citrix Hypervisor / Xen Server 20.04 "Focal Fossa" is available
since version 7.3 . It supports for download. This marked the

T he Pine64 community has


announced the launch of pre-
orders for the PinePhone smart
upgrading Citrix Hypervisor to XCP-
ng, provides full Xen Orchestra
compatibility, and the ability to
ORACLE RELEASES
UNBREAKABLE ENTERPRISE
complete freezing of the package
base and proceeded to final testing
and fixing bugs. The release, which
phone, equipped with firmware move virtual machines from Citrix KERNEL 6 CORE: is classified as long-term support
with the UBports mobile platform, Hypervisor to XCP-ng and vice release (LTS), supported over the
which continues the development versa. 04/03/2020 nest five years, is scheduled for
of the Ubuntu Touch project after April 23. Ready-made test images
Canonical abandoned it. Shipping is XCP-NG enables you to quickly are available for Ubuntu, Ubuntu
scheduled for mid-May 2020. The
cost of the smart phone is $
149.99. It’s not great, but it is a
deploy a server and workstation
virtualization system by offering
the means to centrally manage an
O racle has unveiled the first
stable release of Unbreakable
Enterprise Kernel 6 (UEK R6), an
Server, Lubuntu, Kubuntu, Ubuntu
Mate, Ubuntu Budgie, Ubuntu
Studio, Xubuntu and UbuntuKylin
start. unlimited number of servers and advanced Linux kernel build, (Chinese edition).
virtual machines. Among the positioned for use in the Oracle
full circle magazine #156 8 contents ^
NEWS
expanded, map sizes were LXC AND LXD 4.0
https://lists.ubuntu.com/archives/ increased, the network game mode
was implemented and many new
CONTAINER MANAGEMENT
ubuntu-announce/2020-April/
000255.html game elements and models were TOOLKIT RELEASED:
added. FULL CIRCLE WEEKLY
04/05/2020 NEWS
https://www.openttd.org/news/
OPENTTD 1.10 SIMULATOR:
04/04/2020
2020/04/01/openttd-1-10-0.html
C anonical has published tools for
organizing the operation of
isolated containers LXC 4.0,
container manager LXD 4.0 and the
APACHE 2.4.43 HTTP
O penTTD 1.10, a free strategy
game that simulates a
transport company in real time, is
SERVER RELEASE:
virtual FS LXCFS 4.0 for simulation
in containers / proc, / sys and
virtualized cgroupfs for
available. Initially, OpenTTD was 04/04/2020 distributions without support for
developed as a clone of the
cgroup namespaces. The 4.0 branch

A
commercial game Transport Tycoon pache 2.4.43 HTTP server is releases with long-term support.
Deluxe, but later turned into a self- release published (release Five Years.
sufficient project, significantly 2.4.42 was skipped), which has 34 Join our new host Leo
surpassing the standard version of changes and 3 vulnerabilities fixed. https://ubuntu.com/blog/lxd-4-0- Chavez as he presents you
the game in terms of capabilities.
lts-stable-release-is-now-available with a short podcast
There is now an alternative set of https://downloads.apache.org/ (<10min) with just the news.
game data, a new sound and httpd/Announcement2.4.html No chit-chat. No time
graphic design. The capabilities of
wasting. Just the latest
the game engine were significantly
FOSS/Linux/ Ubuntu news.

RSS: http://
fullcirclemagazine.
org/feed/podcast

full circle magazine #156 9 contents ^


NEWS
PKGSRC 2020Q1 PACKAGE Environment), which is the main Using IPE, you can specify which
“FlowPrint introduces a semi- shell of the Deepin distribution. executable files are allowed to run
REPOSITORY RELEASE:
supervised approach for Unlike Deepin Linux, UbuntuDDE and ensure that these files are
fingerprinting mobile apps from comes with the Ubuntu Software identical to the version provided by
04/06/2020
(encrypted) network traffic. We Center (Snap Store based on the a trusted source. Just hope they
automatically find temporal Gnome Software Center) instead of don’t add fingerprinting and
T he developers of the NetBSD
project released pkgsrc-
2020Q1, which became the 66th
correlations among destination-
related features of network traffic
the Deepin app store catalog. The
project is still an unofficial edition
telemetry to that as well... The
code is open under the MIT license.
and use these correlations to of Ubuntu, but the developers of
edition of the project. The pkgsrc
generate app fingerprints. These the distribution are negotiating https://lkml.org/lkml/2020/4/6/941
system was created 22 years ago
fingerprints can later be reused to with Canonical to include
based on FreeBSD ports and is
recognize known apps or to detect UbuntuDDE in the official
currently used by default to
previously unseen apps. The main distributions of Ubuntu. The size of TAILS 4.5 DISTRIBUTION
manage a collection of additional
contribution of this work is to the iso image is 2.6 GB.
applications on NetBSD and Minix,
create network fingerprints
RELEASE SUPPORTING UEFI
and Solaris / Illumos and macOS.
Users can also use pkgsrc as an
without prior knowledge of the https://ubuntudde.com/ SECURE BOOT:
apps running in the network.” The
additional means of distributing
code is written in Python and 04/08/2020
packages. In general, Pkgsrc
supports 23 platforms, including
distributed under the MIT license. MICROSOFT PROPOSED
AIX, FreeBSD, OpenBSD,
DragonFlyBSD, HP-UX, Haiku, IRIX,
https://github.com/Thijsvanede/
FlowPrint
LINUX KERNEL MODULE TO
VERIFY SYSTEM INTEGRITY:
T he specialized Tails 4.5
distribution (The Amnesic
Incognito Live System), based on
Linux, QNX and UnixWare.
the Debian and designed to
04/07/2020 provide anonymous access to the
http://mail-index.netbsd.org/
internet, is out. Anonymous exit is
pkgsrc-users/2020/04/06/
msg030838.html UBUNTUDDE BETA DEEPIN
DISTRIBUTION BETA:
D evelopers from Microsoft
introduced the IPE (Integrity
Policy Enforcement) mechanism,
provided by the Tor system. All
connections except traffic through
the Tor network are blocked by
implemented as a Linux Security default with a packet filter.
FLOWPRINT, A TOOLKIT FOR 04/07/2020 Module for the Linux kernel. The Encryption is used to store user
IDENTIFYING APPLICATIONS module allows you to define a data in the "save user data mode"
BASED ON ENCRYPTED A test version of the UbuntuDDE
distribution is available, based
general integrity policy for the
entire system, indicating which
between starts. An iso-image (1.1
GB) is available for download .
TRAFFIC, IS AVAILABLE: on the upcoming Ubuntu 20.04 LTS operations are valid and in what
release. The distribution comes way the authenticity of the https://tails.boum.org/news/
04/06/2020 with the DDE (Deepin Desktop components should be verified. version_4.5/index.en.html
full circle magazine #156 10 contents ^
NEWS

T he developers of the KDE


project are concerned about
the shift in the development of the
The LibreSSL project is focused on
high-quality support for SSL / TLS
protocols with the removal of
sidebar.

https://github.com/
SIMPLY LINUX 9 Qt framework towards a limited redundant functionality, the telegramdesktop/tdesktop/
DISTRIBUTION RELEASE: commercial product developed addition of additional security releases/tag/v2.0.0
without interaction with the features and the significant
04/08/2020 community. In addition to the cleaning and processing of the
earlier decision to deliver the LTS code base. The release of LibreSSL NEW DELTA CHAT 1.2
B asalt SPO announced the
release of Simply Linux 9, built
on the ninth ALT platform. The
version of Qt only under a
commercial license, Qt Company is
3.1.0 is considered experimental at
this stage. DESKTOP VERSION IS OUT:
considering the possibility of
product is distributed under a switching to the Qt distribution https://www.mail-archive.com/ 04/09/2020
license agreement that does not model, in which all releases during announce@openbsd.org/
transfer the right to distribute the
distribution, but allows individuals
the first 12 months will be
distributed only to users of
msg00300.html
A major new release of Delta
Chat Desktop has been
announced - a messenger that uses
and legal entities to use the system commercial licenses. Qt Company
without restrictions. The has notified KDE. There will email as a transport instead of its
distribution kit is supplied in builds
TELEGRAM 2.0 DESKTOP own servers (chat-over-email). The
definitely be more to this story
for: x86_64, i586, aarch64, mipsel, before the week is over. CLIENT RELEASED: application code is built in Electron
e2kv4, e2k, riscv64 and can run on and distributed under the GPLv3
systems with 512 MB of RAM. https://mail.kde.org/pipermail/kde- 04/09/2020 license. The core library is available
community/2020q2/006098.html under the MPL 2.0 (Mozilla Public
https://getalt.org/ru/simply/
T elegram Desktop 2.0 for Linux,
Windows and macOS is
available. Telegram client software
License).

The core of the messenger is


LIBRESSL 3.1.0 code is written using the Qt library developed [as] a library and can be
QT COMPANY IS CRYPTOGRAPHIC LIBRARY : and is distributed under the GPLv3 used to write new clients and bots.
license. The new version has the The current version of the base
CONSIDERING MOVING TO 04/09/2020 ability to group chats into folders library is written in Rust (the old
PUBLISHING FREE QT for easier navigation in the version was written in C). There are
RELEASES A YEAR AFTER PAID
RELEASES:
T he developers of the OpenBSD
project presented a portable
edition of the LibreSSL 3.1.0
presence of a large number of
chats. You can now create your own
folders with flexible settings and
binders for Python, Node.js, and
Java. Informal bindings for Go are
under development. There is
package, within the framework of assign an arbitrary number of chats DeltaChat for libpurple, which can
04/08/2020 the OpenSSL fork. It is aimed at to each folder. Switching between use both the new Rust core and the
providing a higher level of security. folders is done using the new old C core.

full circle magazine #156 11 contents ^


NEWS
https://delta.chat/en/2020-04-06- ++. Funds are also allocated for but openSUSE packages are project was back in January 2013,
desktop-client-release remote statistics collection, compiled separately from source and testing of 2.0 branch began in
including via SNMP or via the Web packages. The essence of the 2007. In order not to delay
API (http-server is built-in for proposal is to unify the work of development further, the next
POWERDNS AUTHORITATIVE statistics and management), building both distributions and release will be a rolling release.
instant restart and built-in engine using ready-made binary packages Major releases will be supported
SERVER 4.3 RELEASED: for connecting handlers in Lua. from SUSE Linux Enterprise in for two years - one year bug fixes
Load balancing is based on the openSUSE Leap. and another year only vulnerability
04/09/2020 client’s geographical location. fixes.
https://lists.opensuse.org/

T he release of the authoritative


DNS server PowerDNS
Authoritative Server 4.3 , designed
https://blog.powerdns.com/
2020/04/07/powerdns-
opensuse-announce/2020-04/
msg00000.html
http://www.freerdp.com/

authoritative-4-3-0/
to organize the return of DNS
zones, was announced. According TEX LIVE 2020 RELEASED:
to the project developers,
PowerDNS Authoritative Server INITIATIVE TO BRING FREERDP 2.0, A FREE 04/10/2020
serves approximately 30% of the OPENSUSE LEAP AND IMPLEMENTATION OF THE
total number of domains in Europe
(if we consider only domains with
SUSE LINUX ENTERPRISE
CLOSER TOGETHER:
RDP PROTOCOL: T he TeX Live 2020 distribution,
created in 1996 on the basis of
the teTeX project, is out. TeX Live is
DNSSEC signatures, then 90%!). 04/10/2020
The project code is distributed the easiest way to deploy
under the GPLv2 license. 04/09/2020 infrastructure for scientific

A fter seven years of


development, FreeRDP 2.0 was
documentation, regardless of the
PowerDNS Authoritative Server
provides the ability to store G erald Pfeifer, SUSE technical
director and chairman of the
openSUSE oversight committee,
announced, offering a free
implementation of the Remote
operating system used. The
download, a DVD(3.5 GB) of TeX
Live 2020 is available, with a
domain information in various Desktop Protocol, developed by
databases, including MySQL, suggested that the community complete set of installation files
consider an initiative to bring Microsoft. The project provides a for various operating systems, a
PostgreSQL, SQLite3, Oracle, and library for integrating RDP support
Microsoft SQL Server, as well as in together the development and copy of the CTAN repository
assembly processes of the into third-party applications and a (Comprehensive TeX Archive
LDAP and plain text files in BIND client that can be used to remotely
format. The response can be openSUSE Leap and SUSE Linux Network), and a selection of
Enterprise distributions. Currently, connect to the Windows desktop. documentation in different
additionally filtered (for example, Project code is distributed under
to filter out spam) or redirected by openSUSE Leap releases are based languages.
on the core set of packages for the the Apache 2.0 license.
connecting its own handlers in Lua,
Java, Perl, Python, Ruby, C and C SUSE Linux Enterprise distribution, http://tug.org/texlive/
The last stable release of the
full circle magazine #156 12 contents ^
NEWS
to enable sandboxed Windows
applications. Sandboxie allows you
AV LINUX 2020.4.10 to run an application that is not
AVAILABLE: trustworthy in a sandbox
environment isolated from the rest
04/10/2020 of the system. It is limited to a
virtual disk that does not allow

A V Linux 2020.4.10 was


announced, containing a
compilation of applications for
access to data from other
applications.

creating / processing of multimedia The project was handed over to


content. The distribution is based the community, who will
on Debian 10 "Buster" and the coordinate the further
KXStudio repository with development of Sandboxie and the
additional packages of its own maintenance of it’s infrastructure.
(Polyphone, Shuriken, Simple The code is open under the GPLv3
Screen Recorder, etc.). The desktop license.
environment is based on Xfce. The
distribution kit can function in live https://news.sophos.com/en-us/
mode too. The download size of 2020/04/09/sandboxie-is-now-an-
the iso image is 3.1 GB, though. open-source-tool/

https://www.bandshed.net/
2020/04/09/av-linux-2020-4-10-
released/

SANDBOXIE HAS BEEN OPEN


SOURCED ANDRELEASED TO
THE COMMUNITY:

04/10/2020

S ophos has announced open


sourcing Sandboxie, designed
full circle magazine #156 13 contents ^
COMMAND & CONQUER
Written by Erik
Rust Pt.1
https://doc.rust-lang.org/book/ curl command to get it installed. cargo in this way. Delivering crates, we don’t need to add things to it to
Choose option one (1) if prompted. containing what you need. Maybe make it work with Rust, and it will

O kay then, we head back to


Rust development – as
Daredevil14 and Ellin complained
Restart once done. (Easiest, as this
will add what you need to your
environment variables).
even listen to “Dr Heckyll and Mr
Jive”, now that you have looked it
up?
gladly work with toml-files without
complaint. It even sports its own
terminal! All nicely in one place.
about where Lucas’ blog went.
Rust seems to be getting more If the download is interrupted, you Type: Here is what the installation
popular as time goes by. can simply go back and run the looks like on my machine:
command again, and you will have cargo new --bin rustfun
Truth be told, I do not like a the option to continue with the
language where a simple ‘hello installation. (The other option I know of is: “-
world’ is 2Mb(!!), just because -lib” for library files).
“space doesn’t matter”. Okay, my Once it is done, run:
rant over. Regardless, we are going A new binary crate named
to look at it as the feedback rustc --version rustfun will be created (a folder
suggests that this is what our ( dash dash, no spaces) and skeleton files).
readers want.
cargo --version When you open main.rs in the
( dash dash, no spaces) src folder, you should see a simple
For everyone who wants to
learn more, I will go through ‘hello world’ already in there for
If you get a reply, all went well. you. Before you entered the src
installing Rust first, so you can
follow along if you like. This article folder, you should have seen a
** At the time of writing, rust is cargo.toml -file. You can open this
explains how to install Rust in
version 1.41.0. If yours differs, that in a text editor or in Geany if you
Ubuntu 18.04 (but 19.x should be
is OK. Just make sure it is a higher plan on using it as your IDE, or even
the same), using the 'rustup' tool.
number, not a lower one. just cat it out. We can look at all
Rustup is a terminal tool that is
used to manage the installation of these folders and files a bit later Great, now that you have it
Look up: “men at work - cargo” on; for now, I just want to highlight
rust versions and optional installed, let’s look at the basics
in your browser (an ancient a few things.
components. Rust currently has a and how rust treats each one.
Australian band). You will see an
six-week release cycle, so ‘rustup’ is
image of a plane and a crate. I will The reason I am using Geany as
a good idea. Head on over to: Variables
be using binary crates, as it is easy my IDE is it comes with Ubuntu and
https://rustup.rs/ - and run that
for n00bs like you and me. Think of
full circle magazine #156 14 contents ^
COMMAND & CONQUER
Like other programming don’t explicitly tell it that a variable
languages, a variable is just a can change, it can’t. Okay... How do
container for a value, regardless of we do that? With the ‘mut’
type. In rust, all variables have keyword, example: let mut my_num
types (more later). When we = 1;
program, we simply refer to the
variable by name. Just by simply adding that
“mut”, the error is gone and our
Variable assignments in Rust are program compiles (shown bottom
prefixed by the word “let”. For right).
example: let my_box = 1; Also, let my_shoesize: i32 = 13; automatically generated from your
when you assign a value to a Remember I said all variables in cargo.toml file. Be sure your details
variable (when you declare it), you Rust have a type? Well, Rust figures Next issue: we can move on to are correct in the cargo.toml file,
cannot change its value (it is out the type in the background for another part of Rust and discuss before building. There will also be a
immutable). The following WILL you. This does not mean Rust type- how Rust treats that, say loops / “target” folder created. Inside will
give you an error, because of the casts your variable conditionals? (Find me on Telegram be a debug folder with lots of sub-
above reason (shown below). sweaty_shopowner as ‘sleazy’, if you want something else). folders. Feel free to peruse these
rather as a string. Should Rust get at your leisure. There should also
We will cover more later, but for it wrong, or you are a masochist, Now a quick word on the files be an executable file with the same
now, just know about this in Rust. simply add a colon after the and folders. name as your project. Run it now to
The command ‘cargo run’, will variable name and the type see if your rust program works.
simply tell you that it is immutable. thereafter. Once you build or run your file, Mine does (shown top right).
Rust is supposed to be error you will see a new file named
resistant, so it assumes that if you Example: “cargo.lock”. This file is

full circle magazine #156 15 contents ^


COMMAND & CONQUER
fn main()
The code used in this {
demonstration is shown right. let num = 2;
num += 1;
println!("The value of num is: {}", num);
Let’s step through it. }

Every Rust program needs a


main function, that is: fn main() {}

Inside our curly braces we have


our variable assignment, that we
talked about.

We incremented the variable


with 1, the same as num = num +1

Then println!(“”); will print


anything we put between the
“” (quotation marks).
Erik has been in IT for 30+ years. He
What you may not know is that has seen technology come and go.
{} inside of the print function; it’s a From repairing washing machine
place holder to plug in a value. The sized hard drives with multimeters
and oscilloscopes, laying cable, to
value we plug in is outside of the “”
scaling 3G towers, he's done it.
and after a comma. In our case, the
variable, num (more on format
specifiers later).

If you have any questions or


comments, e-mail us:
misc@fullcirclemagazine.org

full circle magazine #156 16 contents ^


HOW-TO
Written by Greg Walters
Python In The REAL World Pt.104
A s I sit in self-imposed isolation,
I have once again struggled
with what to present to you this
heard of Agent 327?

https://www.youtube.com/watch?
should keep the API
documentation close at hand when
attempting to learn from a tutorial
from the terminal command:

$ ./blender
month. I'm fairly certain that I v=mN0zPOpADL4 or book on the subject. The
won't be repeating anything that I Blender 2.8.2a API reference is The first screen you should see
have presented before. This month, Blender runs on almost any located at https://docs.blender.org/ is something like that shown below.
we will explore Blender and its platform. The latest version is api/. Luckily, the API
Python scripting possibilities. 2.8.2a, and you can download it at documentation has a change log This is the default ‘new project’,
https://www.blender.org/ from the last release version (2.7.9) and contains three objects: a cube,
If you aren't aware of Blender, download/ at a camera and a light.
I'll give you a quick introduction as https://docs.blender.org/api/
to what it is, what it does, and how One other thing, before we get current/change_log.html I should tell you, right now, that
to do something simple, before we started. Blender has always gone Blender is NOT something you can
get into the programming aspects. through many changes, and the Now, on with the fun! learn in a single day or week.
I will say from the start, I am just tutorials out there don't often However, if you really want to learn
learning how to do things with catch up. In fact, many of the Download Blender and un-pack it, within a week, with the right
Blender from Python (and I'm not tutorials (and many books) are it in a convenient folder and run it tutorials (and this is NOT one of
really that good with Blender by written and published based on a those), you can become very
itself), so bear with me. preview or pre-release version that
many times is changed multiple
From their website times before the actual version
(blender.org), "Blender is the free release. A good example is when a
and open source 3D creation suite. tutorial (for Blender 2.8.x) refers to
It supports the entirety of the 3D changing things in preferences by
pipeline—modeling, rigging, accessing the File | User
animation, simulation, rendering, Preferences menu. That no longer
compositing and motion tracking, exists. It's actually located under
video editing, and 2D animation Edit | Preferences. I, at this point,
pipeline." don't have a good place to point
you to in order to find all the
I'm sure that you have heard of changes like this. Many API calls
"Big Buck Bunny", but have you were changed as well, so you

full circle magazine #156 17 contents ^


HOWTO - PYTHON
conversant and effective. You will object when we start Blender, you
ALWAYS need to have the keyboard will see something interesting…
and mouse very close, since intersection of the Green and Red screen. The Blender menu for the
Blender uses both for most any layout lines, and the origin is in the editor is laid out a bit differently
action. We'll get into the center of the cube. That means than what you would normally
programming aspect in a couple of that only the “top” half of the cube expect.
minutes. For now, let's do is above the imaginary plane which
something with our Blender scene is the grid that is shown on the Normally, we would expect File |
(bottom left). layout screen. New, File | Open, and File | Save
options, but these are located
I took a screenshot of Blender, Let’s do some coding... under ‘Text’.
opened it into Inkscape, and
labeled the camera and light for Change your screen to the LARGE DISCLAIMER: While I've
you (I think the cube is fairly Scripting window tab, which should been a user off and on of Blender
obvious), and showed the three be close to the center of the screen for many years and a Python
axes for you in order to help you See that little circle with an “X” at the top. You should see programmer for almost 15 years,
understand the ways things will and a dot in the cube? That’s the something like the image bottom until I started working on this
move. 3D cursor. This is the origin of all right. month's article, I've never tried to
the objects that we put into our do anything that mixed the two.
If we take a VERY close look at blender scene. Even though it The editor (shown top right) is You are learning what I am learning
the cube, which is our default doesn’t look like it, it is at the located near the center of the almost in real time, but without the

full circle magazine #156 18 contents ^


HOWTO - PYTHON
pain.
# Create a single cube and locate it at x=0, y=0 and z=1
We need to code it this way, bpy.ops.mesh.primitive_cube_add(location=(0,0,1))
We’ll start our first program. I since we have to delete each of the
found a few small programs for existing objects one at a time. This creates a cube at location 0, 0 and 1 unit above the imaginary
Blender at: There is no “delete all objects” “ground” plane.
https://medium.com/@behreajj/ command that I could find. The
creative-coding-in-blender-a- bpy.data.objects command will Now we’ll create a lamp and a camera for the scene…
primer-53e79ff71e. provide a “list” of all the objects,
# Add a sun lamp directly above the cube on the grid.
and we can step through that, one
However, due to changes in the at a time, to remove or delete each bpy.ops.object.light_add(type='SUN', radius=1.0,
API from when it was written and of the objects. location=(0.0, 0.0, extents * 0.667))
when I tried to run it, it refused to # Add an isometric camera above the grid.
run, so I broke it down into a Next, we’ll define two variables, # Rotate 45 degrees on the x-axis, 180 - 45 (135) degrees
simpler version. the first for the size of the object on the z-axis.
and one for the size of the “world” bpy.ops.object.camera_add(location=(extents * 1.414,
Use Text | New to make the that we will be creating. extents * 1.414, extents * 2.121), rotation=(0.785398, 0.0,
editor allow you to type in our 2.35619))
code. Here's the program itself... sz = 2 bpy.context.object.data.type = 'ORTHO'
extents = 8.0 bpy.context.object.data.ortho_scale = extents * 7.0
import bpy

Of course, we need to import Next, we’ll create a single cube create one later on if you want (see an object from code.
the Blender API library. Next, we’ll (yes, I know we just deleted one, above).
create a function (below) that will but this shows how to create a new Now we’ll start a new script to
delete everything in the default object) and set its location. Notice That’s our code. Now save the something a bit more interesting…
scene, so we can put what we want that we set the cube at Z axis of 1, code as “test1.py” and click on the
where we want it. so it’s above the “floor”, which in ‘Run Script’ button. The script will We’ll call this Test2.py.
this case, is imaginary, but you can run and you will see the result in
the upper left layout window. If We’ll go ahead and import the
# This function will remove all objects from the scene you press the {F-12} keyboard library and use the clear_scene
before the script runs, just to # be safe
button, you will see the scene function we created in test1.py
def clear_scene(): rendered. (see next page, top left).
objs = bpy.data.objects
for o in objs:
objs.remove(o, do_unlink=True) It’s pretty boring, so I won’t Now we need to define a
even show it here, but it was number of variables for our
clear_scene()
important to show how to create program. This will include the

full circle magazine #156 19 contents ^


HOWTO - PYTHON
centerz = 0.0 just like the end of test1.py, in that
import bpy centery = 0.0
centerx = 0.0 we create a lamp and camera into
def clear_scene(): the scene (next page).
objs = bpy.data.objects
for o in objs: Now we’ll create our cube of
objs.remove(o, do_unlink=True) cubes (shown below). Now, when we run the program,
it will take some time. On my
clear_scene()
The rest of our program will be machine, it took over a minute and
a half. Nothing happens on the
extents (size of our “world”), the # Loop through grid z axis.
count of cubes that we will create for i in range(0, count, 1):
(on each layer), the spacing # Convert from index to percent in range 0 .. 1,
# then convert from prc to real world coordinate.
between each cube, and the size of # Equivalent to map(val, lb0, ub0, lb1, ub1).
each cube. The comments within print('count = {0}'.format(i))
iprc = i * countf
the original code should be enough z = -extents + iprc * diff
to help you understand what is
happening. # Loop through grid y axis.
for j in range(0, count, 1):
jprc = j * countf
# Size of grid y = -extents + jprc * diff
extents = 8.0
# Number of cubes # Loop through grid x axis.
count = 10 for k in range(0, count):
# Spacing between cubes kprc = k * countf
padding = 0.005 x = -extents + kprc * diff
# Size of each cube
sz = (extents / count) - # Add grid world position to cube local position.
padding bpy.ops.mesh.primitive_cube_add(size = sz,location=(centerx + x, centery + y,
centerz + z))
# To convert abstract grid # Cache the current object being worked on.
position within loop to real- current = bpy.context.object
world coordinates.
iprc = 0.0 # Equivalent to Java's String.format. Placeholders
jprc = 0.0 # between curly braces will be replaced by value of k,j,i.
kprc = 0.0 current.name = 'Cube ({0}, {1}, {2})'.format(k, j, i)
countf = 1.0 / (count - 1) current.data.name = 'Mesh ({0}, {1}, {2})'.format(k, j, i)
diff = extents * 2
# Create a material.
# Position of each cube. mat = bpy.data.materials.new(name='Material ({0}, {1}, {2})'.format(k, j, i))
z = 0.0
y = 0.0 # Assign a diffuse color to the material. (R, G, B, Alpha)
x = 0.0 mat.diffuse_color = (kprc, jprc, iprc, 1.0)
current.data.materials.append(mat)
# Center of grid.

full circle magazine #156 20 contents ^


HOWTO - PYTHON
###########################################
# same as in test1.py
# =========================================
# Add a sun lamp directly above the cube on the grid.
bpy.ops.object.light_add(type='SUN', radius=1.0, location=(0.0, 0.0, extents * 0.667))
# Add an isometric camera above the grid.
# Rotate 45 degrees on the x-axis, 180 - 45 (135) degrees on the z-axis.

bpy.ops.object.camera_add(location=(extents * 1.414, extents * 1.414, extents * 2.121), rotation=(0.785398, 0.0, 2.35619))


bpy.context.object.data.type = 'ORTHO'
bpy.context.object.data.ortho_scale = extents * 7.0

blender screen, but if you look at


the terminal window, you will see
the output of the print statements
that shows something is actually
happening. Remember, we are
creating 1000 cubes (10 x 10 x 10)
along with the light and camera.

Shown right is what the result


of test2.py looks like when
rendered.

As always, I have uploaded


these two programs onto
pastebin… Greg Walters is a retired
programmer living in Central Texas,
Test1.py USA. He has been a programmer
since 1972 and in his spare time, he is
https://pastebin.com/enNDN0mh an author, amateur photographer,
Test2.py luthier, fair musician and a pretty
https://pastebin.com/CaVXwhDQ darn good cook. He still is the owner
of RainyDaySolutions a consulting
company and he spends most of his
Until next month; stay safe, time writing articles for FCM and
healthy, positive and creative! tutorials. His website is
www.thedesignatedgeek.xyz .

full circle magazine #156 21 contents ^


HOW-TO
Written by Alain J. Baudrez
Fashion With Valentina
F ashion is big business. Plenty of
monthly magazines are
available for the sewing
specific techniques you learned.
You need time, a large table where
you place a piece of paper, and
pattern design software. Just like
all CAD programs, it does not draw
the pattern for you, but hands you
Tape
enthusiasts, filled with pictures of using pencils, shears, tape, eraser, the digital tools to do it. The The big advantage of Valentina
models wearing skirts, blouses, you complete the pattern. But project was started in 2013 by is that it comes with an
dresses, etc. what if you want to use the same Roman Telezhinsky (Ukraine), aka accompanying package called Tape
pattern for someone else, who has Dismine, and Susan Spencer (USA). which is used to store the
Along with the magazines come different characteristics? Simple, In 2017 Susan forked the program measurements of the model. You
the patterns, so that once you you have to start anew, but, this and her version is called Seamly2D create a different measurements
know what you want to sew, you time, with different sizes. Not very (https://seamly.net/). file for each model/shape.
simply copy the correct pattern for efficient.
your size, choose the fabric, follow Valentina is multi-platform One pattern, multiple sizes
the guidelines, and sew your new That was the situation I found (Windows, MacOS, Linux), and is
garment. myself in. Being retired, I was written in C++ and QT5. For When you start a new pattern,
looking for a new hobby, and my Ubuntu, there is a PPA for the the first thing you do is link the
There is just one problem. wife suggested that I sew some stable version (https:// correct measurements file to it.
Those models are young, slim, top- nice stuff for her. It was worth a try, launchpad.net/~dismine/+archive/ During the pattern drawing you use
fit, and do not represent the and now I like sewing very much. ubuntu/valentina), and for the Beta the measurements from the linked
majority of women, and the dress After 2 years of evening school to version (https:// Tape-file.
or blouse you just sew does not fit learn the ins and outs of dress code.launchpad.net/~dismine/ If you change to another Tape-
a 50+ woman. That’s one of the pattern design, I now draw my +archive/ubuntu/valentina-dev). file, the pattern automatically
reasons that dress pattern design bespoke patterns. Note that only one can be installed adapts to reflect the new
courses are on the rise. If you draw at the time. measurements. So, drawing a
your own bespoke pattern, taking I knew someone, somewhere, pattern for your 4 year-old
into account your typical physical must have an open source program The file format for all the data is granddaughter, and next the same
attributes, like a larger than normal that would aid me with the design. XML. pattern for her 6 year-old sister,
waist, the end product will fit you takes just a few clicks. That’s a time
like a glove. Valentina I’ve been running the Beta saver.
version and it runs very well. Keep
Drawing a pattern is a technique Valentina (https:// in mind though that the Beta can
that requires some drawing read the Stable file formats, but
Pseudo layers
valentinaproject.bitbucket.io/) is an
dexterity, along with a grasp of the open source computer aided not the other way round.
A pattern consists of more than
full circle magazine #156 22 contents ^
HOWTO - FASHION WITH VALENTINA
one piece. For a blouse, you need a jigsaw of 25 or more pages that charges for a closed source Win/ • Little on-line help. The wiki is not
bodice, sleeves, collar, … Each of must be taped together, Valentina Mac only pattern design software, complete, and in English only.
those pieces lies in its own ‘layer’ does not yet allow you to add free Valentina is a very good alternative • The head developers website is in
which prevents you from standing labels, nor has it a library for the home user. Russian. Google translate is
accidentally changing something in of special icons and symbols like • Its ingenious system of linking needed.
the wrong pattern piece. the Ω sign to indicate a fold. To measurements files with the same
solve that, it is possible to export pattern, allows rapid drawing of Verdict
Detailing the pattern as a SVG-file. That file multi-size patterns.
can then be imported in a Vector • It is multilingual. When you sew and draw your
Once the pattern is drawn, you Drawing program like Inkscape, • Uses metric as well as imperial own patterns, Valentina is certainly
can draw seam allowance, labels, where you apply the finishing system. a great asset. Even if you don’t sew,
passmarks and grainline for each touches to your pattern. Once • Allows exporting to DXF but your partner does, it is
pattern piece. saved as a PDF on A0-plotter size, (AutoCad), PNG, and SVG-files. worthwhile to let him/her have a
you can take it to any plan-printing • You get rid of drawers and go with it. It is ideal for a typical
shop and have it printed on a roll- drawers of taped, cut, or otherwise (semi-professional) sewer, who
Exporting your pattern
plotter. mangled patterns. needs to draw bespoke patterns
Although you can print the • • Plenty of videos on YouTube. for different sizes. It is a very well
design directly on A4/Letter format Pro’s Search for ‘valentina pattern designed program, currently better
domestic printer, resulting in a • Compared to what the industry tutorial’. than its forked cousin (Seamly2D).
The lack of help is compensated by
Con’s the recent release of the English
• There is no measurement tool in manual (https://valentina-
the program. project.blogspot.com/2019/10/
• The lack of free-form text forces user-manual-en.html).
you to use a secondary program to
finish the pattern.

full circle magazine #156 23 contents ^


HOW-TO
Written by Erik
Rawtherapee - Pt2
Website: https://rawtherapee.com/ Now let us load the picture and as we want to continue editing and algorithm takes a lot of processing
Version 5.6 move to the detail section, short- make a wallpaper for a smartphone power and may take a second to
Price: Free! cut key alt+d. or something. They say hindsight is complete. Now that you are ‘almost
20/20 vision, so let us see if this there’, you can use the plus and

B efore I continue this short


series on Rawtherapee, know
that editing large RAW photos
The very last option on the right
side panel should be “Haze
removal”. What this does is sharpen
improves our picture?

Our 70/30 over dramatised


minus buttons to tweak your
picture. There may be a system
sound beep when processing has
requires a lot of memory. I the picture slightly by adding picture XD finished. I will bring mine up to 30
recommend 8GB or more. This saturation. Feel free to play with or 40, because, why not. We are
simple picture we have been the sliders, until it pleases your Okay, back to editing. Press learning HOW TO and we need to
playing with, is taking up 1.6GB of eyes. I believe in the “less is more” alt+c (or choose the next icon) for see what things do.
memory on my computer inside approach, but if you want to have the color profile. We want to bring
Rawtherapee. one of those dramatic HDR out the yellow a bit more like the Tip: Often press the ‘z’ key to zoom
oversampled pictures, this is where over dramatized picture, but we do in 100% once you have applied
I hope you kept the last picture you do it. You can dramatically not want it to look as garish. This is some tool. Things may look great in
we were working on as we will be decrease the white parts, and fill where ‘vibrance’ comes in. Turn on the overview, but become a dog’s
continuing where we left off. them with color. Some people like vibrance, and drag the slider to basket when zoomed in.
this sort of thing. Boost your depth more-or-less where you like it. This
March 2020 it seems to 30, and the strength to 70, and
wesaturate.com has broke: the file see. Do not forget to turn the
is now hosted on the FCM servers effect on and off via the ‘power’
here: https://bit.ly/2WNVfPf button. What this does work well
with: sunsets, and sunrise, with lots
of dirty clouds. With lots of colors,
you get a surreal landscape that
can either make your brain hurt or
fire your imagination! You can
press ctrl+s to save and export
maybe as a JPG (this is up to you).
Last time, I had you playing with
tone mapping and sort of sent you In our case, we only want 20/20.
off to try out the vignette filter. We do NOT want to save it as JPG

full circle magazine #156 24 contents ^


HOWTO - RAWTHERAPEE
So we can look at our light do not see anything happening, at 100% zoom, but no visible on crop, you will notice a dotted
source close up. It seems we have look at the bottom left and you will difference zoomed out. line around your picture. This
fallen in the ‘nice from afar and far see a progress bar with the words picture is in a landscape format,
from nice’ trap. Light sources are a “processing”. Let it finish. You will Tip: sample at least three (3) places and I need it in a portrait format
good indication of the overall see three sliders, ‘Gamma’, around your photo when doing for my phone. The line with “Lock
health of your photo. Oh no, our ‘Luminance’ and ‘Detail recovery’. detail / color editing. ratio” has two drop-down boxes.
poor photo has more speckles than The last one you do not really want Change the second one to portrait.
a dalmatian! to use, so pay attention to your Okay, I am happy with my You should see a portrait rectangle
details as we move the Luminance picture for now. It may require on your screen. To move it, use the
Your homework, this issue, is to slider. We have a conundrum, what more editing for a different mood shift key in conjunction with your
try what we are doing here on one is good for the clouds is not good modification again later, and this is mouse. When you are done, you
of your own photos! for the water. As you smooth the the great thing about editing RAW can save it as a JPG to send to your
clouds, you lose detail in the water, pictures. I can now even save my phone.
To fix this, we need to go back so be careful with this slider. Stick “steps” (if you will) and apply that
to the detail tab. Use the short-cut with the less-is-more-philosophy to another picture. This is very That’s it for this issue, join us
keys for extra credit. and your pictures will look more handy for batch editing. As I again for more post-processing fun
natural. I went with 1.25 Gamma mentioned before, I would like this in the next issue of FCM.
The obvious choice is noise and 4.0 Luminance to smooth out picture on my smartphone. I do not
reduction. As with the previous my picture. Sometimes you want a want all the open spaces as it is a
tool. Noise reduction is processing bit of grain, just keep that in mind. small screen. Press alt+t to go to
intensive, so if you turn it on and A good detail edit changes things the crop tab. As soon as you turn

full circle magazine #156 25 contents ^


full circle magazine #156 26 contents ^
HOW-TO
Written by Mark Crutch
Inkscape - Part 96
I n this instalment I’m going to
cover a common requirement
that I overlooked when introducing
• Draw your button. Use multiple
objects and text as you wish.
• Put all of the button’s content
Save the SVG file then load it
with a little CSS, but that’s yet
another chunk of code to manually
add to your SVG file (FCM #145 will
into a web browser and you should
the use of SVG files in a web into a single group. This is where find that clicking the button takes help with this).
browser: turning an object in an we’ll attach the click handler. you to the FCM website (or
Inkscape file into a clickable link • Right-click on the group, and whatever URL you used). If all you want is a link to
that loads a different URL. select “Object Properties”. another URL, however, there’s no
• Expand the “Interactivity” section, You’ll probably have noticed need to mess with JavaScript at all
There are a couple of ways of if necessary. what you don’t get for free with (though you may still need some
dealing with this: the first is to use • Add the following JS code to the this approach: there’s no change of CSS). Inkscape provides a simpler
JavaScript to respond to the ‘click’ “onclick” field: style of the button as you hover way to turn an object into a
event that fires when an object is over it, and the mouse pointer clickable link – and it’s this part of
clicked on. I covered various ways window.location.href = the UI that I overlooked in my
"https:// remains as an arrow rather than
to add JavaScript to an Inkscape fullcirclemagazine.org/"; changing to the “pointing finger” previous articles. All you need to
file across several articles. See FCM which is usually used to denote a do is to right-click on the object
#142, #143 and #146 for the Your button and dialog should clickable target. Both these and select “Create Link” to open
specifics. What I didn’t describe look something like that below. shortcomings can be addressed the generically named “Object
was how you could use JS to attributes” dialog:
change the URL loaded in the
browser.

In the most basic form, where


you just want to move to a fixed
URL when an object is clicked, you
can use the one-line “onclick” field
in the Interactivity section of the
Object Properties dialog (FCM
#142). For example, to make a
button that goes to the Full Circle That’s a lot of fields for a simple
Magazine website, you would do link. The reason for this is that
the following: Inkscape creates an SVG 1.1 version
link, which is actually implemented

full circle magazine #156 27 contents ^


HOWTO - INKSCAPE
via an XML standard called XLink. It Let’s fill out most of the
dates from the time when the W3C remaining fields in the Object
was trying to create a wide ranging Attributes dialog, to try to make
collection of XML-based standards, our link more fully featured. Having
with the idea being that a single already created the link, you will
file might use elements from find that a right-click on the object
across multiple specifications, within the Inkscape window now
allowing each spec to focus on shows the “Create Link” option as
doing one thing well. XLink, disabled. Instead, a little further up
therefore, is a standard that deals on the context menu, you’ll find
with nothing but links between that the usual “Fill and Stroke…”
documents – but in trying to menu item has been replaced with
include numerous use-cases for “Link Properties…” which will open
code would look like this:
links it has a whole load of optional Let’s take a look at the XML the same dialog (below).
attributes that most people will editor to see what this small <a id="a973"
never need. Hence all the fields. change has actually done to your xlink:href="https:// The first thing I’ll note here is
fullcirclemagazine.org/"> that you will almost certainly never
SVG file (shown above). <g id="g952">
The only essential field is the ... need to fill out this many fields.
first one, “Href” (an abbreviation of The first thing to note is that
</g> “Href” is required, and “Title” is a
</a>
“hyperlink reference”). A better the new attribute hasn’t just been good idea for accessibility
title would have been “URL”, added to the existing <g> element. purposes, and also because
“Address” or “Location”, but this Instead, Inkscape has wrapped the
dialog just uses a capitalized group in an <a> element, and the
version of the attribute name from attribute has been applied to that.
the XLink standard. So the “href” Anyone who has written some
attribute used in the XML becomes HTML will be familiar with <a> as
the awkwardly capitalized “Href”. the “anchor” element which is used
With a URL in this field, save the for links in that language. Here we
file and load it into your web have essentially the same element,
browser. You should find that but in the “svg” namespace (hence
clicking the button takes you to the it appears as <svg:a ...> in the XML
destination page. Furthermore, editor). The URL is added as an
you’ll get the right sort of pointer attribute in the XLink namespace. If
as you move your mouse over the you were to look at the XML file in
button, so that’s one less bit of CSS a text editor, the relevant bits of
to add to your page.
full circle magazine #156 28 contents ^
HOWTO - INKSCAPE
desktop browsers will use it to have noticed, the “to” and “from” however, you may as well omit it. “show” is an XLink offering. They
create a tooltip when you mouse attributes aren’t present in the affect where in the UI the browser
over the object. You might need to dialog, so you can’t actually create The “Actuate” field is intended loads the linked resource –
use the “Target” field, depending a valid arc link through this UI even to indicate when the link should be whether it replaces the SVG file in
on how you want the link to if you knew why you might want to! followed. This attribute can only the same frame or tab, or opens in
behave, but I’ll come on to that For this reason the related take very specific values but, once a completely new tab or window.
shortly. “Arcrole” field is also completely again, it’s completely ignored by The main values to be aware of are
useless (if you could create an arc the web browser regardless of as follows (note the underscores
Let’s skip to the “Type” field. link, this would hold the URL of a what you enter. The easiest option before the values for “target” (see
This describes the nature of the resource that describes it). is therefore to leave this blank. The table below).
link, from a specific list of options “onRequest” option I’ve used in my
in the XLink specification. For a Based on that description of example just means “follow this As you might guess from the
normal link to another page (or “Arcrole”, you may not be surprised link when the object is clicked”, but missing values in the “show”
within the same page), “simple” is to find that “Role” field is also that is, once again, the default column, there’s rarely much need
all you need. This also happens to intended to hold a URL that points behaviour anyway. for “_parent” or “_top”. The best
be the default behaviour if it’s to a descriptive resource. In this policy is usually to leave the
omitted, so you should just leave it case it should hold the address of a All that remains are the “Target” “target” and “show” attributes
blank. The other possible types are resource that describes the nature and “Show” fields. These attributes empty, so that the behaviour of the
all used for more complex linking or purpose of the link. Since your actually perform the same purpose, browser is purely defined by the
between and within XML files. If web browser doesn’t natively do but “target” is part of the SVG spec user’s settings. If you’re really sure
you need to use them then you anything with this attribute, for the <a> element, whereas that you want to open a new tab or
probably already know about them
– and I doubt very much that you’d
be using this dialog to edit them
anyway.

One of those more advanced


types is “arc”, which indicates that
the link is being used to connect
two other resources, identified by
the “to” and “from” attributes. A
“resource” in these terms is
anything that can be identified
with a URL, such as a website, a
specific page or file, or a named
element on that page. As you may
full circle magazine #156 29 contents ^
HOWTO - INKSCAPE
window when the element is But since version 2.0 of the SVG dialog with something more the file.
clicked, then use “_blank” in the spec there’s been no need for tailored to the task, and will
“Target” field. But that’s pretty XLink. The “href” attribute has replace the output with an SVG2 Of course you’re also free to
much the only legitimate use of been promoted to the SVG version at the same time. mix XLink-based links with those
this field for most people. standard, together with the created via JavaScript, picking the
“target” attribute. Oddly, however, The last thing to note on this best tool for the job. One thing you
As you can see, it’s possible to the “title” attribute has not been topic is that the URL you link to can do with JS which isn’t possible
enter conflicting values for promoted, though the “xlink:title” doesn’t have to be a separate file. with the simpler form, is to provide
“Target” and “Show”. Experiment version has been deprecated. The You can also link to a named anchor additional logic to determine the
indicates that, for Firefox at least, recommendation now is to use a within the current file. This is target location. You might change
“Target” takes priority. All the <title> child element instead, which particularly useful with the to different URLs based on the
more reason to leave the “Show” seems a little overkill for a simple techniques I described for creating time of day, or prompt the user for
field blank. tooltip. named views in parts 79 and 80 some additional information that is
(FCM #139, #140). For example, then encoded into the URL.
So there you have it: a dialog With this in mind, an SVG2 link given a named view of “starView”, Consider a web-based storybook,
with eight fields, of which you only might look something like this: simply creating a link with an href for example, in which XLink is used
really need one (Href), might use of “#starView” would mean that to move between the pages, but JS
two if you want to have a tooltip <a id="a973" the image would switch to that provides extra interactivity when
href="https://
(Href, Title), or stretch to three if fullcirclemagazine.org/" view when the object is clicked. A elements are clicked on, or hovered
you also want to force links to target="_blank"> similar effect can be achieved with over.
open in a new tab (Href, Title, the full viewBox syntax, using an
<title>Full Circle
Target). The remaining fields Magazine</title> href of “#svgView(viewBox(0, -250,
should always be left empty, unless 250, 500))” for example.
<g id="g952">
you really know what you’re doing ...
and are something of an XML/ </g> This can be an easy way to
XLink expert. But in that case </a> introduce interactivity to an SVG
you’re undoubtedly either editing file. Consider a slideshow in which
the XML content by hand, or via For now – and for the each slide is a separate part of the
some other XML-based workflow. foreseeable future – browsers SVG image, and a viewBox is used
In neither case is this dialog likely continue to support the SVG 1.1 to show just the first slide by
to be of much use to you. approach, so there’s no urgency for default. By adding “Previous” and
Inkscape to change what it outputs. Mark uses Inkscape to create three
“Next” buttons which have viewBox webcomics, 'The Greys', 'Monsters,
There’s one large elephant in Modern browsers will also accept links attached you can make a Inked' and 'Elvie', which can all be
the room, however: the use of the SVG2 version, though, so simple linear slideshow – or you found at http://
XLink at all. As I mentioned earlier, perhaps some future release of could add more links to let you www.peppertop.com/
this dialog creates an SVG v1.1 link. Inkscape will replace this generic jump directly to any other part of
full circle magazine #156 30 contents ^
HOW-TO
Written by Alan Ward
Krita To Rework Old Photos Pt.6
T his series is aimed at learning to
make something of the old
photos in my possession, and
guarantees — much as is the case
of most open-source software.
photographic film was available
and color dominance was not so
much of an issue in the late 1990s
diffuse source of natural light --
such as an open window on a
slightly overcast day-- may be a
others in the public domain due to In the previous part of this or early 2000s -- which is when good technical solution.
their age. You, the reader, are series, we colorized a studio chemical photography gradually
welcome to tag along, and, I hope, portrait of Paul Trapper, dating died out, at least as a popular The first alteration I would like
glean some small insight and from about 1915. In this part, we pastime. to do to this original is remove the
perhaps an idea or two from time will be working on another portrait black border, from the backing
to time. No promises are made as -- but this one will not be a This image has been digitized by paper on which it was mounted.
to quality of the content, or photographer’s work from the simply photographing the original But I would like to retain the
potential errors and omissions. I early 20th century ,but, rather, a using a modern mobile phone. This rounded corners, reminiscent of
am a computer scientist, not a true very typical effort from the late technique allows us to keep the paper copies of that time and era.
artist or a professional of image 1970s when technology had original on its backing material, So, once the photo has been
restoration. So please take all this changed and color photography without the risk of damaging it if it opened in Krita, I will not use the
as a best effort, but with no firm had become more commonplace. were to be removed and unglued. cropping tool. Instead, I will make
Modern digital cameras have more
This photo was taken by a than enough resolution to produce
member of my family, in 1979 or a nice reproduction; they compare
thereabouts, and using a typical 35 well, in any case, to the flatbed
mm reflex camera. As was often scanners that used to be available
the case at the time, color some years back. On the other
photographic film had a slightly hand, photographing an original
better response to red light than to does require some careful thought
green or blue, and this shows up in about lighting the photo: the
the final print. In addition, some camera needs to be placed just
chemical alterations may have about vertically in respect to the
taken place during the intervening original, which means that lighting
years even though care has been needs to be placed on the sides so
taken to store and preserve the not to create sharp reflections. No
print. This will be the case for most using the phone’s onboard flash for
family pictures from the time; this purpose, so! Taking the picture
some years later on, better quality on a flat table placed in front of a

full circle magazine #156 31 contents ^


HOWTO - KRITA
the black border transparent. To do selection tool and then erased. I “Autocontrast”, will increase chemicals and which is still quite
so, I selected the magic like to start by selecting and contrast at the expense of getting noticeable. Our histogram shows
wand tool to select the erasing large areas using the very sharp shadows across the that we have made global color
border, and then hit the rectangular selection tool, then subject’s face. This may be required balance better across the range
Suppress key on the keyboard. This going in with the circular eraser for to increase the contrast of a from dark to light, but there is still
tool will select contiguous regions the finer areas near the border. As technical document, but is not some excess red in the lighter part,
of the same color. It does have a usual, proceed with small, careful desirable for a portrait or typical to the right.
certain sensibility, which means touches. landscape. It is preferable, in this
that a narrow border around the case, to use the tool at “Filter”, Another of Krita’s tools is the
image itself --which is gray in color, Now, let us analyze the colors, “Adjust”, “Levels”. From here, we color balance group, from the main
rather than proper black-- will be and lighting, in this image. As usual, can select the “Autolevels” button menu “Filter”, “Adjust”, then “Color
conserved, as will some marks and a histogram will give us some to have Krita calculate an optimized Balance”. This complete tool-set
splotches. information. As in the previous adjustment, which we can then go allows us to adjust color balance
episode, newer versions of Krita in and play with to get the exact between red, green and blue
These latter came from have the histogram dock activation effect we prefer. With a bit of individually for the lower (darker)
reflections off the black mounting in menu “Tools”, “Dockers”, and practice, we can make contrast tones, middle and higher (lighter)
paper. They can then be rubbed then checkbox “Histogram”. slightly higher than in the original tone ranges.
out individually, or selected using a image, but not excessive. This
In this image, we can see that makes the subject stand out a bit
there are no really dark pixels (far from the background.
left of the histogram), nor any
really light ones (far right). Our first However, we still have an
task will be to balance lighting, imbalance towards the red (shown
using one of the tools Krita offers. next page, top middle), this slight
The one “Filter”, “Adjust”, tinge that comes from the film’s

full circle magazine #156 32 contents ^


HOWTO - KRITA

By reducing the red in the of pink. However, the sea and


lighter tones, the annoying reddish island lacked a tad of green to my
tinge goes away from the subject’s eyes, so I put back some green into
skin; the white part of the shirt the midtones. This, however, gave
now actually looks white, instead the whole photo a greenish tinge
to it, so I subtracted back some
green out of the highlights.

As a final adjustment to this


picture, we need to correct some
deformation that took place when
it was digitized with a mobile
phone; since the camera was not
dead center on the image, it has
suffered some small trapezoid
deformation, specifically in the
lower left corner. This is quite clear
in the screenshots above where the
transparent background is
represented by a gray
checkerboard: see how the lower
edge of the image leans down from
left to right.

To cure this, we can use the

full circle magazine #156 33 contents ^


HOWTO - KRITA
Transform tool in original, with a subject that is
Krita. However, clearly distinct from the
default options do not background, and is nicely squared
include trapezoid deformation, so around the edges.
we need to make the tool options
docker visible through menu If saving an image with rounded
option “Settings”, “Dockers”, and corners from Krita to a format that
check “Tool options”. We can then is accepted by most applications,
change from “Free Transform” to do remember that the JPEG format
“Perspective” inside the tool cannot handle transparency. In
options dock, and rectify the these cases, the Portable Network
bottom edge of the image without Graphics (PNG) format is probably a
touching the top. good bet.

The original photo in this


month’s part of this series was
transformed to a digital format by
simply photographing it using a
modern mobile phone. In some
cases, however, we do not have a
paper copy of the original. For
instance, in the latter days of
chemical photography, many photo
developing shops were delivering
CD copies of your photos, already
digitized. These also can have some
drawbacks, which we will review in
the next part. Until then, take care!

Alan holds a PhD. He teaches comp


sci and eng at Escola Andorrana de
Batxillerat. He has given GNU/Linux
courses at the Uni of Andorra and
taught GNU/Linux systems admin at
The final result is a photo that the OU of Catalunya.
has more vibrant colors than its
full circle magazine #156 34 contents ^
by: ErikTheUnready

full circle magazine #156 35 contents ^


LINUX LOOPBACK
Written by S. J. Webb
nomadBSD
BACK NEXT MONTH

ASSUMING BSD HASN'T DRIVEN


HIM INSANE

SJ Webb is a researcher coordinator.


When he is not working, he enjoys
time with his wife and kids. He
thanks Mike Ferarri for his
mentorship.

full circle magazine #156 36 contents ^


EVERYDAY UBUNTU
Written by Richard Adams
Personal Info Management Pt4
L ast month, we installed the
Lightning extension for
Thunderbird to add calendaring
Installing Provider for
Google Calendar
as I had to do last month for
Lightning, and found the version of
the Provider that matched
capability. This is to uphold the To install the Provider for Thunderbird 52.2.1. I then
common New Year’s resolution to Google Calendar extension to downloaded the XPI format file
become more organized in the Thunderbird, we’ll need to launch and saved it to my Download
upcoming year. This month, we’ll Thunderbird first. Go to the Dash folder.
try to add Google calendar support (first icon on the Launcher, the
to Thunderbird’s PIM (Personal strip that runs down the left side of
Information Manager) capability, the screen), and type in Thunder.
so that we can use our calendar Search for Provider for Google
That should be more than enough
across Linux PC and Android Calendar in the search box at upper
for the Dash’s search capability to
devices like tablets and right:
bring up Thunderbird. Click to
smartphones. launch it and you’ll get your
Thunderbird email client.
Google Calendar Then, I had to go to
Thunderbird’s Add-Ons under Tools
Management: Provider for Go to the Tools menu up top,
then click Add-Ons: again and select Extensions:
Google Calendar Extension
for Thunderbird

Unlike Microsoft’s Outlook on


Windows, Thunderbird does not
have calendaring built in. Last You can click Download Now to
month, we added the Lightning start the installation. Now, I have
extension to address this, and this an older version of Thunderbird as Click the Gear icon at the top
month, we’ll try to connect to our stated last month, and did not find and select ‘Install add-on from file’.
online Google calendars so our it convenient to upgrade right now, Navigate to where the XPI file was
family and friends can keep up with so I had to take an extra step. I saved and double-click it. The Add-
If you are on a current version
us (and vice versa). went to View older versions on the On Manager will now install the
of Thunderbird, click Browse all
Thunderbird Add-on web page for Provider for Google Calendar add-
add-ons. A web browser window
Provider for Google Calendar, just on. This is good to know for other
will open:
full circle magazine #156 37 contents ^
EVERYDAY UBUNTU - PIM
installations, as XPI format files are Select Google Calendar and click Thunderbird 52, I’d be most
commonly used for Add-Ons found Next again. Enter your Gmail interested in feedback on that, as
outside the official Thunderbird address and hit Next to start your well.
support pages. You will want to Google sign-in process:
click Install Now on the dialogue Next month: Feedback from
box that comes up. readers, or we’ll try to find a work-
around for our calendaring needs.
Adding a Google Calendar

After the installation of the add-


on completes, Thunderbird will
prompt you to restart the
application. Once you’ve done so,
you’ll need to go to the File menu You’ll need to enter your Gmail
at the top of screen and select address again to get signed in to
New, then Calendar: your Google Calendar, then enter
your password and select your
calendar.

Full disclosure: I could not get


this to work on my machine, but I’m
fairly certain it’s because the
versions of Lightning and Google
Provider that I am using, along with
my version of Thunderbird, are too
Select ‘On the Network’ and far out-of-date. I’d be interested in
click Next at the bottom: feedback from our Full Circle
readers if this procedure worked on
newer versions of Thunderbird and
Lightning,. I was able to get
through the whole process
successfully until the last screen of
Richard 'Flash' Adams spent about
the Google sign-in, which showed 20 years in corporate IT. He lives in
no calendars to select. If anyone rural northwest Georgia, USA, with
has suggestions that might lead to his adopted 'son', a cockatiel named
this being functional on Baby.

full circle magazine #156 38 contents ^


UBPORTS DEVICES
Written by UBports Team

COMING SOON? MAYBE??

full circle magazine #156 39 contents ^


full circle magazine #156 40 contents ^
MY STORY
Written by Erik
USB Drives & Ubuntu
I went and bought a bunch of USB
thumb drives / memory sticks
from a supplier on sale a while ago
sudo apt install iotop - The nice
thing with this is you get read and
write metrics. So not all USB thumb
https://askubuntu.com/questions/
539184/how-do-i-check-the-
integrity-of-a-storage-medium-
A light went on and I considered
hdparm, which I have not used in
(actually a few years). Copying to drives are created equally. The very hard-disk-or-flash-drive about ten years or more. I was
and from these – I noticed some first result in my search engine (which was not quite what I was introduced to hdparm by my friend
had horrible speeds. Now since yielded: after, yet...). Lloyd in the wild west days of
they are all the same brand, I
wondered if there was a way to
test them. I used Parted to format
them in different file systems and
configurations, and the speed
seemed to fluctuate a bit, but it
could be my imagination. The
question is: how does one measure
the performance of your thumb
drive / memory stick in Ubuntu?

The solution

The first thing that came to


mind was dd. When dd is done, you
get an output that lists the average
speed. So, writing the Ubuntu
image to the different drives (8, 16,
32) GB drives yielded different
results. Then writing them to the
same size drives (I bought two of
each) again yielded different
results. To get some sort of metric,
I opened another terminal and ran
iotop, This is not shipped with
Ubuntu and you can install it with:

full circle magazine #156 41 contents ^


MY STORY
Ubuntu 04.04, to speed up my on. so rather work with that if you
laptop. I did not consider it as I did want to know the ‘true’ speed of
not know if it would work for USB Before any of you say: “hey, why your USB thumb drive. So - if the
thumb drives and SSDs. You do not didn’t you just use gnome disks ‘true’ speed of your device does
need to install hdparm – like dd, it benchmarking?” I want to say that I not match your expectation, do
ships with Ubuntu. Just typing did. However, it was not installed some digging!
hdparm will bring up a list of on the system I was testing on, and
options. If you go down the list to does not give the type of insight
‘t’ - you will see lowercase and we have been looking at here. If
capital ‘t’ – both perform read you do not have it, you can add it
timings. So I had to try: sudo with: sudo apt install gnome-disk-
hdparm -Tt /dev/sdX - (where X is utility, and you will see a menu
your USB thumb drive). Frown... entry named ‘disks’. To benchmark
>:o( .... The results here were much a disk in ‘disks’ - select the thumb
faster than dd. Okay, let’s turn drive, then the hamburger menu to
write caching off and back on again the top right, then ‘benchmark
(the W flag), and re-test. Although disk’.
there is a performance impact, it
still does not match my Make sure your data is backed up
measurements from dd. before running the benchmark!

This was a mystery that needed The Conclusion


solving. One of the 8GB memory
sticks was quite a bit slower than I got different results on
the rest. Let us see what is different drives of the same size, as
happening. Running dmesg you well as different results between
should see the memory stick added the same make but different sizes.
at the end. Now run lsusb -v | grep Some drives, even though being
bcdUSB to see what it was labelled as USB 3.0, were detected
detected as: as USB 2.0, so check your drives
after buying them! (I could not Erik has been in IT for 30+ years. He
Aaaand there it is. One of the return mine as they have been lying has seen technology come and go.
USB 3.0 memory sticks only detects in a box for over a year). From repairing washing machine
sized hard drives with multimeters
as USB 2.0. If you are not sure
and oscilloscopes, laying cable, to
which is which, run lsusb -t, then Benchmarking is faster than scaling 3G towers, he's done it.
you can see which bus and port it is real-world usage, as seen with dd,
full circle magazine #156 42 contents ^
HOW-TO
Written by Ronnie Tucker
Write For Full Circle Magazine
GUIDELINES REVIEWS
• Images should be JPG, no wider

T he single rule for an article is


that it must somehow be
linked to Ubuntu or one of the
than 800 pixels, and use low
compression. GAMES/APPLICATIONS
When reviewing games/applications please state clearly:
many derivatives of Ubuntu • Do not use tables or any type of
(Kubuntu, Xubuntu, Lubuntu, etc). bold or italic formatting. • title of the game
• who makes the game
• is it free, or a paid download?
RULES • where to get it from (give download/homepage URL)
If you are writing a review,
please follow these guidelines : • is it Linux native, or did you use Wine?
• There is no word limit for articles,
• your marks out of five
but be advised that long articles
• a summary with positive and negative points
may be split across several issues.
When you are ready to submit
• For advice, please refer to the
your article please email it to: HARDWARE
articles@fullcirclemagazine.org When reviewing hardware please state clearly:
Official Full Circle Style Guide:
http://bit.ly/fcmwriting
TRANSLATIONS • make and model of the hardware
• Write your article in whichever • what category would you put this hardware into?
software you choose, I would If you would like to translate • any glitches that you may have had while using the hardware?
recommend LibreOffice, but most Full Circle into your native • easy to get the hardware working in Linux?
importantly - PLEASE SPELL AND language please send an email to • did you have to use Windows drivers?
GRAMMAR CHECK IT! ronnie@fullcirclemagazine.org and • marks out of five
we will either put you in touch with • a summary with positive and negative points
• In your article, please indicate an existing team, or give you access
where you would like a particular to the raw text to translate from.
image to be placed by indicating With a completed PDF, you will be
able to upload your file to the main
You don't need to be an expert to write an
the image name in a new
paragraph or by embedding the Full Circle site. article - write about the games, applications
image in the ODT (Open Office) and hardware that you use every day.
document.

full circle magazine #156 43 contents ^


REVIEW
Written by Erik
Stacer
Website: download, adding a PPA, or just

W
https://sourceforge.net/projects/ hen it comes to cleaning up grabbing an AppImage. Just The window is immutable, you
stacer/ your Ubuntu desktop, we remember to make the AppImage cannot resize it, so it is rather small
or usually turn to the command-line. executable or it will open with your on your 1440p monitor and rather
https://oguzhaninan.github.io/ There have been tools in the past, archive mounter. When you launch large on your 1366x768 laptop
Stacer-Web/ but they did not seem to last. Stacer for the first time, you will display. It minimizes neatly to the
Stacer is one of those tools, see a very modern looking tray though, and you can actually
Blurb: “Stacer is an open source designed for Ubuntu, but can be application. Menus are down the use it from there. It also integrates
system optimizer and application used on other distributions as well. left hand side, and the name nicely with docks like plank.
monitor that helps users to manage Though it is built on the electron displays at the top.
an entire system with different framework, it is not slow at all. You The rocket is the startup
aspects; it’s an all-in-one system can get Stacer in a variety of Stacer opens with a handy applications control. From here it is
utility.” options like direct .deb-file dashboard. as easy as flipping a toggle to turn

full circle magazine #156 44 contents ^


REVIEW
startup applications on and off. The your repositories, and again it If you have a small SSD, it is wise to
next icon down is the broom. This is makes it as easy as flipping a toggle consider adding the PPA or
probably the most used tab. By to turn these on or off. The little downloading the .deb-file as the
default, nothing is selected and, to Gnome foot is Gnome settings, and AppImage is rather large.
start cleaning, you need to select can be ignored if you do not run
one or more of the categories. Gnome. The settings tab has a few Final thought, though Stacer is
Generally, selecting “all” and settings, but not anything really already a great tool, it would be
running a clean is considered safe. important. All these are available nice if it did a bit more, like finding
The gears are the services tab; you from the drop-down menu if you large files, duplicates, or files not
can use this to turn off services like minimize Stacer to the taskbar. used in say, a year. This would really
say, bluetooth, that you do not use. help one clean out the system.
There are two toggles here, the Stacer does nothing that cannot be
first being the starting status and done on the command-line, but
the next, the running status. The brings it all together in one neat
processes tab is a nice “top”-type package.
overview, that allows you to only
end a process. Clicking on the cyan
text will sort the columns – just like
top or htop. The ‘CD in a box’ tab is
the installed packages; very handy
to find something you do not need
any more, but use it with caution!
In previous versions, Stacer did not
list base packages, so noobs do not
brick their systems, but that has
changed and it is possible to
uninstall something like ACPI.

The bars and graphs are


informative only. The nice thing
about this tab is it provides you not
only with current usage of system
resources, but history too. If you
are running Xubuntu, this is a nice
way to get gnome-system-monitor
without the install. H close box is
full circle magazine #156 45 contents ^
Join us on:
LETTERS
If you would like to submit a letter for publication, compliment
or complaint, please email it to: letters@fullcirclemagazine.org.
PLEASE NOTE: some letters may be edited for space.
goo.gl/FRTMl

facebook.com/
fullcirclemagazine

twitter.com/#!/fullcirclemag
linkedin.com/company/full-
circle-magazine
ubuntuforums.org/
forumdisplay.php?f=270

FULL CIRCLE NEEDS YOU!


Without reader input
Full Circle would be an
empty PDF file (which I don't
think many people would find
particularly interesting). We are
always looking for articles,
reviews, anything! Even small
things like letters and desktop
screens help fill the magazine.

See the article Writing for Full


Circle in this issue to read our
basic guidelines.

Have a look at the last page of


any issue to get the details of
where to send your
contributions.

full circle magazine #156 46 contents ^


Q&A
Compiled by EriktheUnready
If you have a Linux question, email it to: questions@fullcirclemagazine.org,
and Erik will answer them in a future issue. Please include as much
information as you can about your query.

W elcome back to another


edition of Questions and
Answers! In this section, we will
The PC’s were meticulously sealed
with warranty void stickers. They
also sold all their parts loose. The
stiff breeze). Sitting down one
afternoon and consolidating my
calls, I realised the problem was
code editor. I am still on Ubuntu
16.04, btw.

endeavour to answer your Ubuntu


questions. Be sure to add details of
the version of your operating
distributor agreement meant you
could only supply the box with Y
parts. The company I worked for
originating from ONE reseller. This
guy was buying cases and selling
warranties for brand X with the
A : Yes, This seems to be a
common question, but it is
understandable as Linux users like
system and your hardware. I will try was tasked with the warranty cheapest and nastiest components to customise. Now, you did not tell
to remove any personally repairs. We went for rigorous inside. We had to refuse warranty me which desktop you are using,
identifiable strings from questions, training at this OEM. The problem repair and void said warranty, but you need to change GTK 2/3 to
but it is best not to include things we started running into was that which made the customers mad. dark also. You can also try to set
like serial numbers, UUID’s or IP the contents of the box did not This led to really nasty letters to the environment before launching
addresses. If your question does match the warranty specifications. the press and ultimately the the application, by adding: env
not appear immediately, it is just We started seeing Connor drives demise of the OEM start-up. These GTK_THEME=Adwaita:dark before
because there is such a lot, and I do instead of Seagate (example), and days that market is filled 80/20 your command (or whichever
them ‘first-come-first-served’. so forth. Now customers were with sharks and I fear it will never theme you choose).
allowed to upgrade their PC’s; come right. Do we have a way to

I t sometimes irks me that I.T. in


the service industry is looked
down upon. I suppose it is because
however, these did not carry the PC
warranty.
solve this problem?

Q :14.04
So I am running on Ubuntu
as I need it for certain
there are so many sharks out there.
It is not a new thing either. Years
Needless to say, there were
endless fights about money as our Q :Code::Blocks
Hello there, I'm a new
user. I am using
applications. When I try to install
software from the terminal, I get
ago, when I was an FSE, there was a company billed them a call out Sololearn to learn to code. I an error saying it couldn't be found:
start-up OEM that had a vision to regardless if the part was theirs or followed the instructions given in “E: Couldn't find package”. The
make it in the market. They would not, as the box serial number was https://www.sololearn.com/Discuss/ software centre just gives the same
market their equipment with only used for warranty. The biggest 1390539/how-to-change-the- error.
the best internals. That meant no issue was RAM. More often than editor-theme-in-the-code-blocks-
cheap fong kong parts. All parts
would be certified and carry the
maximum warranty they allowed. It
not, the cheapest RAM (which was
faulty) was found in the PC and the
owner swears on a stack of bibles,
ide to change the Code::Blocks
theme, but that works only for the
editor window. Is it possible to set
A
: The repositories for older
releases that are not
supported get moved to an archive
was marketed as such. As a supplier he never changed it. (The second a theme for the whole server. You need to now change
OEM, they supplied distributors problem was flimsy power environment; what I mean by that your repositories to point to that
and stores with these computers. supplies, the kind that wobble in a is the window surrounding the archive server.

full circle magazine #156 47 contents ^


Q&A

Q :from
I have bought a notebook
are blocking the air intakes, as
perhaps the laptop feet do not lift
it above your chest. Purchase a
A : Have you tried the inxi-gui? that you want a de-googled
Chromium. Look here:
https://github.com/Eloston/
a friend with Windows 10
on it. I have replaced it with laptop stand, preferably – with a ungoogled-chromium
Ubuntu, but I am having trouble
loading the Nvidia driver. When I do
fan or two – and don’t unfold it;
leave it flat, and put your laptop on Q :hasThea XFCE dictionary program
speed reader built in. I am Ungoogled Chromium says that
a lshw, the nvidia display shows that. It may add an inch under your having trouble sometimes opening the tweaks require manual
“UNCLAIMED”. Why is that? laptop, but your laptop (and your a txt file, and I can’t really get to activation or enabling, so be aware
chest) will thank you for it. grips with using it; it feels of that.

A : Usually it is because the BIOS unnatural. What are my options


is set to secure boot. (This and what can I do?
does not allow the Nvidia module
Q :message:
When I open up Pitivi, I get a
Q :equalizer
Can one have a global
to load). a new version 0.999 is
available, but when I check
updates, there isn’t any?
A : This seems to be two
questions. One, if a text file
cannot open in the dictionary, it
for Ubuntu? I am not
talking about the one in your music
player, but for everything. I have a

Q :accident
I am bedridden after an may be that it contains symbols Samsung laptop with really shoddy
and work with my
laptop on my chest. I have installed A : Not all versions of some
software are available for
every OS release. To put it in
that it cannot read. Open the .txt
file in mousepad first to see if it
reads it. If it does not, you need to
speakers and I would like to make
the best of a bad situation.
TLP and tried a lot of other
software found trawling the
internet. My problem is that the
Windows terms, the newer
software is for Windows 10 only
and may not run on Windows 7.
replace those pesky non-ascii
symbols. Secondly, I cannot tell you
what you need, but I can give you
A : I am not sure if this is what
you want, but you can try pulse
effects.
laptop gets extremely hot on my
chest and I need to cool it down. I Also, not all versions may have other options. See:
recently switched from Ubuntu been checked out by the Ubuntu https://www.linuxlinks.com/best-
16.04 to 18.04, in the hope it would
be better, and now to 19.10. I just
team yet, and may get added only
later. If you want the latest version,
free-linux-speed-reading-tools/
Q :which
I am using Mint Cinnamon,
is quite a change from
can’t seem to get any satisfaction. you can, of course, build it yourself Gnome. How do I go about getting
or use an appimage/snap/flatpak.
Q :still
I have read that chromium is better themes? In particular, I want

A : There are multiple vectors connected to Google. Is my Desktop to resemble Windows


here. One, when you use a this true? I have been using 7, which I loved. I asked on the Gnu/
laptop on material, even a cotton
sheet, it will suck in fibres. This
Q : I like tools like neofetch and
all, but is there a GUI tool for
chromium since forever, and it is
riding me now that I am still
Linux telegram channel, but only
got an OK boomer.
restricts the pathway for airflow Xubuntu without, like, loading all feeding the Google beast.
through the laptop. The clearer
that pathway, the more heat is
the KDE dependencies?

A : Hahaha, Google beast. Okay,


from what I have gathered, is
A : Full Circle Magazine also has a
Telegram channel. Cinnamon is
a new-ish desktop, so there may
expelled. Another idea is that you
full circle magazine #156 48 contents ^
Q&A
not be as many themes available as Pre-fail Always - 0 something running in Wine, but it is Does this mean that all my
3 Spin_Up_Time
you would like. I will point you 0x0027 172 170 021 not quite what I was looking for. browsing history is being pawed
here: Pre-fail Always - 6400 Can you suggest something usable? over by other people? Also how do
http://www.ubuntubuzz.com/ 4 Start_Stop_Count I uninstall it?

A
0x0032 100 100 000
2020/01/linux-mint-with-windows- Old_age Always - 628 : I have no experience with any
7-theme.html 5 Reallocated_Sector_Ct
0x0033 200
Pre-fail Always
200
-
140
0
of that, but may I suggest
looking at Kxstitch, Cstitch and
Crosti, maybe even
A : Yes, I see you visited unixporn
on 26 July 2019.... Just kidding.
But yes, lots of them do it, that’s
<THE REST REMOVED FOR
Q : Why do some command line
tutorials show sudo -i and some
MAGAZINE>
embroidermodder or ink/stitch?
Maybe one of our users can write
why they always want to install
browser plug-ins. If you installed it
use sudo -s? to us with something that works via the deb-file, use gdebi,
Is this very bad?
well? otherwise go to ‘installed’ on your

A : Sudo gives you su privileges.


However, you are still you.
When you run a command as
A : Unless you see lots of
uncorrected and reallocated
Ronnie says: maybe this month's
article using Valentina will help?
software centre and uninstall from
there. Remember to remove any
browser plug-ins.
sectors, I would not worry.
another user, that user may be set
up differently, say use a different
shell, etc. At a basic level, if you do
not specify anything, both will run Q : How can I switch desktop
environments? Can I get an icon
Q :and
My issue is with Ubuntu 18.04
Firefox, where some Q :laptop
Howzit my china, I picked up a
from Cash Crusaders
an interactive shell, so you can use Youtube movies are loud and some and I want to install Ubuntu on it.
in the taskbar to make it easier?
both. are soft. Is there a way to set the Problem is there is a BIOS
highs and lows to even out? password. How do I do it now?
A : This is a very broad question,
but I suspect I get your gist.
Q : How do I find out what
filesystem is on a drive?
There is already a button in the
taskbar, the logoff button. Click
A : I am not 100% sure what you
are asking, as video volumes
are dependent on recorded
A : You can guess, most idiots
use a fool’s passkey (like 1234)
or birth date – try say 1950 – 2020
that, then choose your DE when
A : You can use the ‘disks’
application or just type sudo
blkid from the terminal.
you log in. You cannot switch on
the fly.
volumes, but, I did find this: https://
www.youtube.com/watch?
v=typM_AQUzi4
(may take a while), or go back to
Cash Crusaders and tell them you
want the guys details as there is a
password. The days of removing
the battery, or using the CMOS

Q : My hard drive is 10 years old, Q :stitch


I am looking for decent cross-
software for Ubuntu Q : Crap! https://www.cnet.com/ clear jumper, to remove the
and when I check smart, I get news/antivirus-firm-avast-is- password, are gone. See:
16.04, but something I can use to
“old age” and “pre fail” in the list: reportedly-selling-users-web- https://www.cgsecurity.org/wiki/
1 Raw_Read_Error_Rate design my own as well as make
browsing-data/ I have been using CmosPwd
0x002f 200 200 051 something from a picture. I had
Avast on Windows and on Linux.
full circle magazine #156 49 contents ^
UBUNTU GAMES
Written by Erik Exapunks
Website:
https://zachtronics.itch.io/
exapunks
W ith me reviewing Steam and
GOG games for Linux, I
thought it may be time to give
at a loss for what to do when the
game started. However, I did
realise that we were in William
transcribe receipts for 10 cents
each, or you can go on a mission
and hack something for your fix.
Itch.io a chance. Thanks to Gibson’s Neuromancer. You have a One hack, one dose. You seem to
Price: $19.90 USD @Alfredo for the copy. (Your screen with “options” on the right be part of the cyberpunk counter
handle is hidden in Telegram, of the screen, and your deck in the culture, more than Japanese signs,
Blurb: “The year is 1997. You used to BTW). centre. You can click on “play neon lighting, dark alleys, and lots
be a hacker, but now you have the cutcsene” inside your personal of rain. The trash world magazine
phage. You made a deal: one hack, I love that the electronic version organizer to get started with the you are given by Ghast is actually
one dose. There’s nothing left to of your manual, has staples! story. A peek in the game’s folder the manual to the game and you
lose… except your life.” revealed lots of .exe and .dll-files. have to read it. The Phage is a
Before you start weird one though, actually turning
Story your neurons into circuitry. All hail
Exapunks is not a pick up and our robot overlords...
play game. There are things you You are a burned out ex-hacker.
should know, and you get a nifty You have the Phage. It costs $700 a Gameplay
manual for that. I must admit, I was day for your medicine. You can
This is a puzzle game at heart
with a hacking theme. When I first
laid eyes on the game board, my
thought went to “Sokoban”, or
“SokoBAArn” from the year before
last. You program your little
“exa” (I may be wrong here, but I
think it is a wordplay on “.exe”) to
move or pick up things and the like.
Your “exa” moves on a board with
grid tiles. You can have more than
one “exa”, and they each do their
thing independently from the
others. Basically, they execute your
commands. Each isometric board
full circle magazine #156 50 contents ^
UBUNTU GAMES - ASCIICKER
represents a host. The name of BeOS (oops, I am showing my age a level sound is wakka-wakka way, due to the story and difficulty
which is written on the side. The here). The actual game boards, or straight from 70’s pron. Made me level. I am new to the Zachtronics
twist from your standard sokoban computers in the hacking phase, laugh. The voice acting is okay, but craze, but I do understand the
game is how you get where you are all in isometric view and very it would have been better if it were appeal. Is it worth your time? Yes. Is
want to be, and you also get to do well done. So well, in fact, that you 100% voice acted. That said, there it worth the money? Well, the jury
stuff on the way. You use psuedo- are immersed almost immediately. are only a few characters in the is still out on that one.
programming to get your exa’s to (Or, it may just be me, with a soft game, Nivas, Ghast, Ember, and
follow the list of commands that spot for isometric games). The Isadora, who actually talk to you. If
you need them to do. It is quite aesthetic is pleasing and the retro- you would like a taste of the
challenging, but very thoroughly futurism suits the game perfectly. awesome soundtrack, go here:
enjoyable. Somehow the game also That first register should have been https://www.youtube.com/watch?
reminds me a bit of Uplink... an ‘R’ though. RTFM... The spidery v=sxaM3F1TcJA
Though it is about hacking, there exa icon on my desktop just looks or
are some missions where you need cool, but I had to put my own short- https://zachtronics.bandcamp.com/
to achieve another outcome, like cut there. album/exapunks-ost Erik has been in IT for 30+ years. He
playing your movies longer than has seen technology come and go.
your opponent. Be prepared for From repairing washing machine
Sound Conclusion sized hard drives with multimeters
around fifty missions. and oscilloscopes, laying cable, to
The soundtrack is great! I Even though the game is scaling 3G towers, he's done it.
Graphics actually was sure I heard some of repetitive, it does not feel that
the Mr Robot soundtrack sounds in
You play from your deck, the there. The little beeps n boops
‘Sawayama 27 turbolance’. The sound like they came straight from
interface reminds me of GeOS or an 80’s arcade cabinet. The solving

full circle magazine #156 51 contents ^


PATRONS
MONTHLY PATRONS Paul Readovin
Rob Fitzgerald
The current site was created thanks to
Alex Crabtree Roy Milner Lucas Westermann (ex-Command &
Alex Popescu Scott Mack Conquer) who took on the task of
Sony Varghese completely rebuilding the site, and
Andy Garay
scripts, from scratch, in his own time.
Bill Berninghausen Tom Bell
Brian Bogdan Tony The Patreon page is to help pay the
CBinMV Vincent Jobard domain and hosting fees. The yearly
Volker Bradley target was quickly reached thanks to
Darren
those listed on this page. The money
Dennis Mack William von Hagen
also helps with the new mailing list that
Devin McPherson Taylor Conroy I set up.
Doug Bruce
Several people have asked for a PayPal
Elizabeth K. Joseph SINGLE DONATIONS (single donation) option, so I’ve added a
Eric Meddleton button to the right side of the website
George Smith 2020:
Henry D Mills A big thank you to all those who’ve
alex moro
used Patreon and the PayPal button.
Hugo Sutherland Ronald Eike It’s a HUGE help.
Jack ALEXANDRU POPESCU
Joao Cantinho Lopes Linda Prinsen
John Andrews Glenn Heaton
John Malon Jon Loveless https://www.patreon.com/
fullcirclemagazine
John Prigge Frank Dinger
Jonathan Pienaar Raymond Mccarthy
JT Daniel Rojo
Kevin O'Brien Frits van Leeuwen
Lee Allen https://paypal.me/ronnietucker
Leo Paesen
Linda P
Mark Shuttleworth
Norman Phillips
Oscar Rivera https://donorbox.org/recurring-
Paul Anderson monthly-donation
full circle magazine #156 52 contents ^
Full Circle Team

HOW TO CONTRIBUTE Editor - Ronnie Tucker


ronnie@fullcirclemagazine.org
FCM#157 Webmasters - Cees Rijken
FULL CIRCLE NEEDS YOU! Deadline:
A magazine isn't a magazine without articles and Full Circle is no and Chris Christensen
Sunday 10th May 2020.
exception. We need your opinions, desktops, stories, how-to's, reviews, admin@fullcirclemagazine.org
Release:
and anything else you want to tell your fellow *buntu users. Send your Friday 29th May 2020.
articles to: articles@fullcirclemagazine.org Editing & Proofreading
Mike Kennedy, Gord Campbell, Robert
We are always looking for new articles to include in Full Circle. For help and advice please Orsino, Josh Hertel, Bert Jerred, Jim
see the Official Full Circle Style Guide: http://bit.ly/fcmwriting Dyer and Emily Gonyer

Send your comments or Linux experiences to: letters@fullcirclemagazine.org Our thanks go to Canonical, the many
Hardware/software reviews should be sent to: reviews@fullcirclemagazine.org translation teams around the world
Questions for Q&A should go to: questions@fullcirclemagazine.org and Thorsten Wilms for the FCM logo.
Desktop screens should be emailed to: misc@fullcirclemagazine.org
... or you can visit our site via: fullcirclemagazine.org

Getting Full Circle Magazine:


For the Full Circle Weekly News:
EPUB Format - Most editions have a link to the epub file on
You can keep up to date with the Weekly News using the RSS that issue's download page. If you have any problems with
feed: http://fullcirclemagazine.org/feed/podcast the epub file, email: mobile@fullcirclemagazine.org
Or, if you're out and about, you can get the Weekly News via
Issuu - You can read Full Circle online via Issuu:
Stitcher Radio (Android/iOS/web):
http://issuu.com/fullcirclemagazine. Please share and rate
http://www.stitcher.com/s?fid=85347&refid=stpr
FCM as it helps to spread the word about FCM and Ubuntu.
and via TuneIn at: http://tunein.com/radio/Full-Circle-Weekly-
News-p855064/

FCM PATREON : https://www.patreon.com/fullcirclemagazine

full circle magazine #156 53 contents ^

You might also like