Full Circle THE INDEPENDENT MAGAZINE FOR THE COMMUNITY

ISSUE #156 - April 2020 ) s t m r o e a . r m k c i m l o F ( M r e g o R

: o t o h P

VVAALLEENNTTIINNAA CREATE YOUR OWN PATTERNS full circle magazine #156 contents ^ Full Circle Magazine is neither affiliated with,1 nor endorsed by, Canonical Ltd. HowTo Full Circle 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 ^ EEDDIITTOORRIIAALL

This magazine was created using :

WELCOME TO THE LATEST ISSUE OF FULL CIRCLE

s ever, we have the usual suspects; Python, , Krita and (from last month) A 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 [email protected] 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 ^ NNEEWWSS Submitted by ErikTheUnready

KUBERNETES 1.18 https://www.huawei.com/en/press- 20.04 and 10 "Buster", and events/news/2020/3/openeuler-lts- is also available as patches for ELEASED OPENEULER 20.03 LINUX R : 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 Fedora 32 will be able to use he release of Kubernetes 1.18 WIREGUARD VPN 1.0.0 WireGuard along with the 5.6 container orchestration 03/30/2020 T AVAILABLE: kernel update. platform has been released , which allows managing a cluster of uawei introduced OpenEuler 03/30/2020 https://lists.zx2c4.com/pipermail/ isolated containers as a whole and H 20.03, which is a long term support release (LTS). Package wireguard/2020-March/ 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 released until March 31, 2024. W applications running in containers. included in the main Linux kernel, is Repositories and installation iso- The project was originally created out. The code included in the Linux images are available for free by Google, but then transferred to kernel underwent an additional ECLIPSE THEIA 1.0 download. The is an independent platform, curated security audit, performed by an RELEASED, A TRUE OPEN by the Linux Foundation. The available on the Gitee service. 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 Since WireGuard is partof the significant and are not limited to EDITOR: individual systems and capable of core Linux kernel, a wireguard- rebranding. For example, working with any application in any linux-compat.git repository has 03/31/2020 openEuler ships a modified Linux cloud environment. Kubernetes been opened for distributions and kernel 4.19, systemd 243, bash 5.0, code is written in Go and is users who continue to use the old he Eclipse Foundation has and a GNOME 3.30-based desktop. distributed under the Apache 2.0 kernel versions . The repository published the first stable Many ARM64-specific optimizations T license. 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 which have already been https://kubernetes.io/blog/ ensure compatibility with older truly open alternative to the Visual transferred to the main code bases 2020/03/25/kubernetes-1-18- kernels. In its current form, a Studio Code project. The code is of the Linux, GCC, OpenJDK, and release-announcement/ 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 fter almost two years since the Studio Code are: a more modular The previously used Pagure service formation of the last architecture that provides more will continue to exist, but will be VE-2020-8835 in the Linux A significant branch, the options for modification; initial transferred to the care of a C kernel. It was used in the OpenMediaVault 5 distribution kit orientation to launch not only on community interested in continuing Pwn2Own 2020 competition to was launched, aimed at the rapid the local system, but also in the development. Pagure will be pulled hack Ubuntu. The vulnerability deployment of network storage. cloud; development on a neutral out of Red Hat’s Community allowed an unprivileged user to The OpenMediaVault project was site. They also develop the Platform Engineering (CPE). gain root privileges. A working founded in 2009 after a split in the VSCodium project, which includes exploit exists, but has not yet been camp of the developers of the only free components, with In the meantime, GitLab published. The vulnerability is FreeNAS distribution, as a result, removed Microsoft branding, and announced the opening of present in the eBPF subsystem, the developers of the fork aimed to most importantly, telemetry implementations of 18 which allows launching handlers for transfer the distribution to the spyware. functionalities previously offered tracing, analysis of subsystems, and Linux kernel and the Debian only in proprietary editions of traffic control, performed inside package base. OpenMediaVault https://www.eclipse.org/org/press- GitLab. Opportunities cover various the kernel in a special virtual installation images are available for release/20200331-theia. areas of managing the full cycle of machine with JIT. 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. GITLAB configuration and protection. BPF applications by unprivileged OPENS 18 PROPRIETARY users through setting VULNERABILITIES IN https://lists.fedoraproject.org/ kernel.unprivileged_bpf_disabled FEATURES: NETBEANS AUTO-UPDATE archives/list/ to 1. [email protected]/ ENGINE: 03/31/2020 thread/ https://www.openwall.com/lists/ QXJBN37CQRTVMKAYSS5PYVZXD oss-security/2020/03/30/3 03/31/2020 PZZFZYN/ entOS and Fedora projects isclosure on two vulnerabilities C announced a decision to create D in the automatic update a new joint development service, 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 -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 . 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 20 WILL 04/01/2020 sellers, who can then exchange them back at the exchange point DISCONTINUE 32BIT: GHOSTBSD RELEASE 20.03: he GNU project introduced the into real money represented by free electronic payment system traditional payment systems. 04/01/2020 T 04/01/2020 GNU Taler 0.7 . A feature of the system is that anonymity is https://www.mail-archive.com/info- he developers of the Linux Mint provided to buyers, but sellers are [email protected]/msg02726.html T distribution said that the next he release of the desktop- T oriented distribution GhostBSD not anonymous to ensure the major release, built on the Ubuntu 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 only to registered Red Hat FILTER RELEASE: nd-to-end encryption support KUBERNETES: E announced by Zoom's video Customer Portal users. Package 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 . he release of the nftables 0.9.4 rom April 7 to July 21, the transmitted using conventional TLS packet filter has been Slurm Training Center will T encryption between the client and F The RHEL 7.x branch is published. A replacement for conduct a free theoretical course 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 NETBSD 8.2 RELEASED: between their servers... 7.8 RELEASED: ND TO END ENCRYPTION IN E - - 04/02/2020 ZOOM VIDEO CONFERENCING https://theintercept.com/ 04/02/2020 2020/03/31/zoom-meeting- TURNED OUT TO BE FICTION: etBSD 8.2 is out. In accordance encryption/ ed Hat has released Enterprise N with the new release 04/01/2020 R 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 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 CP-NG 8.1 was announced, work with a large number of X developing a free replacement storage systems and is for the proprietary Citrix 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/ that Citrix has excluded from the 2020/03/31/xcp-ng-8-1/ he beta release of Ubuntu 04/02/2020 free Citrix Hypervisor / Xen Server T 20.04 "Focal Fossa" is available since version 7.3 . It supports for download. This marked the he Pine64 community has upgrading Citrix Hypervisor to XCP- ORACLE RELEASES complete freezing of the package announced the launch of pre- ng, provides full Xen Orchestra T UNBREAKABLE ENTERPRISE base and proceeded to final testing orders for the PinePhone smart compatibility, and the ability to 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 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 deploy a server and racle has unveiled the first Server, , , Ubuntu cost of the smart phone is $ virtualization system by offering O stable release of Unbreakable Mate, , Ubuntu 149.99. It’s not great, but it is a the means to centrally manage an Enterprise Kernel 6 (UEK R6), an Studio, 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 increased, the network game mode https://lists.ubuntu.com/archives/ CONTAINER MANAGEMENT ubuntu-announce/2020-April/ was implemented and many new 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: 2020/04/01/openttd-1-10-0.html anonical has published tools for organizing the operation of 04/04/2020 C isolated containers LXC 4.0, container manager LXD 4.0 and the penTTD 1.10, a free strategy APACHE 2.4.43 HTTP virtual FS LXCFS 4.0 for simulation game that simulates a O SERVER RELEASE: in containers / proc, / sys and transport company in real time, is 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 commercial game pache 2.4.43 HTTP server is releases with long-term support. Deluxe, but later turned into a self- A 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 2020Q1 PACKAGE Environment), which is the main Using IPE, you can specify which shell of the distribution. executable files are allowed to run REPOSITORY RELEASE: “FlowPrint introduces a semi- 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 ( Store based on the a trusted source. Just hope they automatically find temporal Gnome Software Center) instead of don’t add fingerprinting and he developers of the NetBSD correlations among destination- the Deepin catalog. The telemetry to that as well... The project released pkgsrc- T related features of network traffic project is still an unofficial edition code is open under the MIT license. 2020Q1, which became the 66th 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 manage a collection of additional 4.5 DISTRIBUTION contribution of this work is to the iso image is 2.6 GB. applications on NetBSD and , create network fingerprints RELEASE SUPPORTING UEFI and Solaris / and macOS. without prior knowledge of the https://ubuntudde.com/ ECURE OOT Users can also use pkgsrc as an S B : apps running in the network.” The additional means of distributing code is written in Python and 04/08/2020 packages. In general, Pkgsrc distributed under the MIT license. supports 23 platforms, including MICROSOFT PROPOSED he specialized Tails 4.5 AIX, FreeBSD, OpenBSD, https://github.com/Thijsvanede/ LINUX KERNEL MODULE TO distribution (The Amnesic DragonFlyBSD, HP-UX, , IRIX, T FlowPrint VERIFY SYSTEM INTEGRITY 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/ evelopers from Microsoft provided by the Tor system. All msg030838.html UBUNTUDDE BETA DEEPIN D introduced the IPE (Integrity connections except traffic through DISTRIBUTION BETA: Policy Enforcement) mechanism, 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" test version of the UbuntuDDE general integrity policy for the between starts. An iso-image (1.1 BASED ON ENCRYPTED A distribution is available, based entire system, indicating which 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 he developers of the KDE The LibreSSL project is focused on sidebar. T project are concerned about high-quality support for SSL / TLS the shift in the development of the protocols with the removal of https://github.com/ SIMPLY LINUX 9 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 asalt SPO announced the version of Qt only under a 3.1.0 is considered experimental at B release of Simply Linux 9, built commercial license, Qt Company is this stage. DESKTOP VERSION IS OUT: on the ninth ALT platform. The 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@.org/ transfer the right to distribute the the first 12 months will be msg00300.html major new release of Delta distribution, but allows individuals distributed only to users of A Chat Desktop has been and legal entities to use the system commercial licenses. Qt Company announced - a messenger that uses without restrictions. The email as a transport instead of its has notified KDE. There will TELEGRAM 2.0 DESKTOP distribution kit is supplied in builds definitely be more to this story own servers (chat-over-email). The 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/ elegram Desktop 2.0 for Linux, License). T Windows and macOS is available. Telegram client software The core of the messenger is LIBRESSL 3.1.0 code is written using the Qt library developed [as] a library and can be CRYPTOGRAPHIC LIBRARY : and is distributed under the GPLv3 used to write new clients and bots. QT COMPANY IS 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 he developers of the OpenBSD presence of a large number of binders for Python, Node.js, and RELEASES A YEAR AFTER PAID T project presented a portable chats. You can now create your own Java. Informal bindings for Go are RELEASES: edition of the LibreSSL 3.1.0 folders with flexible settings and 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/ he release of the authoritative https://blog.powerdns.com/ -announce/2020-04/ http://www.freerdp.com/ T DNS server PowerDNS 2020/04/07/powerdns- msg00000.html Authoritative Server 4.3 , designed 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 he TeX Live 2020 distribution, total number of domains in Europe SUSE LINUX ENTERPRISE RDP PROTOCOL: (if we consider only domains with T created in 1996 on the basis of CLOSER TOGETHER: 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 fter seven years of documentation, regardless of the development, FreeRDP 2.0 was PowerDNS Authoritative Server erald Pfeifer, SUSE technical A used. The G director and chairman of the announced, offering a free download, a DVD(3.5 GB) of TeX provides the ability to store implementation of the Remote domain information in various openSUSE oversight committee, Live 2020 is available, with a suggested that the community Desktop Protocol, developed by complete set of installation files databases, including MySQL, Microsoft. The project provides a PostgreSQL, SQLite3, Oracle, and consider an initiative to bring for various operating systems, a together the development and library for integrating RDP support copy of the CTAN repository Microsoft SQL Server, as well as in into third-party applications and a LDAP and plain text files in BIND assembly processes of the (Comprehensive TeX Archive openSUSE Leap and SUSE Linux client that can be used to remotely Network), and a selection of format. The response can be connect to the Windows desktop. additionally filtered (for example, Enterprise distributions. Currently, documentation in different openSUSE Leap releases are based Project code is distributed under languages. to filter out spam) or redirected by the Apache 2.0 license. connecting its own handlers in Lua, on the core set of packages for the SUSE Linux Enterprise distribution, http://tug.org/texlive/ Java, , Python, Ruby, C and C 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 V Linux 2020.4.10 was access to data from other A announced, containing a applications. compilation of applications for 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

ophos has announced open S sourcing Sandboxie, designed full circle magazine #156 13 contents ^ CCOOMMMMAANNDD && CCOONNQQUUEERR Rust Pt.1 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 it work with Rust, and it will kay then, we head back to Restart once done. (Easiest, as this even listen to “Dr Heckyll and Mr gladly work with toml-files without O Rust development – as will add what you need to your Jive”, now that you have looked it complaint. It even sports its own Daredevil14 and Ellin complained environment variables). up? 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) For everyone who wants to src folder, you should see a simple learn more, I will go through ‘hello world’ already in there for If you get a reply, all went well. installing Rust first, so you can you. Before you entered the src follow along if you like. This article folder, you should have seen a ** At the time of writing, rust is explains how to install Rust in cargo.toml -file. You can open this version 1.41.0. If yours differs, that Ubuntu 18.04 (but 19.x should be in a text editor or in Geany if you is OK. Just make sure it is a higher the same), using the 'rustup' tool. plan on using it as your IDE, or even number, not a lower one. Rustup is a terminal tool that is just cat it out. We can look at all 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” rust versions and optional on; for now, I just want to highlight installed, let’s look at the basics in your browser (an ancient components. Rust currently has a a few things. 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 a good idea. Head on over to: The reason I am using Geany as be using binary crates, as it is easy Variables https://rustup.rs/ - and run that my IDE is it comes with Ubuntu and 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 value we plug in is outside of the “” and oscilloscopes, laying cable, to 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: [email protected]

full circle magazine #156 16 contents ^ HHOOWW--TTOO Written by Greg Walters PPyytthhoonn IInn TThhee RREEAALL WWoorrlldd PPtt..110044

s I sit in self-imposed isolation, heard of Agent 327? should keep the API from the terminal command: A I have once again struggled documentation close at hand when with what to present to you this https://www.youtube.com/watch? attempting to learn from a tutorial $ ./ 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 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 import bpy bpy.context.object.data.ortho_scale = extents * 7.0

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 ^ HHOOWW--TTOO Written by Alain J. Baudrez FFaasshhiioonn WWiitthh VVaalleennttiinnaa

ashion is big business. Plenty of specific techniques you learned. pattern design software. Just like F monthly magazines are You need time, a large table where all CAD programs, it does not draw Tape available for the sewing you place a piece of paper, and the pattern for you, but hands you 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 Pseudo layers that requires some drawing valentinaproject.bitbucket.io/) is an read the Stable file formats, but dexterity, along with a grasp of the not the other way round. open source computer aided 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 Exporting your pattern shop and have it printed on a roll- drawers of taped, cut, or otherwise (semi-professional) sewer, who 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 ^ HHOOWW--TTOO Written by Erik RRaawwtthheerraappeeee -- PPtt22

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 efore I continue this short The very last option on the right improves our picture? minus buttons to tweak your B series on Rawtherapee, know side panel should be “Haze picture. There may be a system that editing large RAW photos removal”. What this does is sharpen Our 70/30 over dramatised 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 ^ HHOOWW--TTOO Written by Mark Crutch IInnkkssccaappee -- PPaarrtt 9966

n this instalment I’m going to • Draw your button. Use multiple with a little CSS, but that’s yet I cover a common requirement objects and text as you wish. Save the SVG file then load it another chunk of code to manually that I overlooked when introducing • Put all of the button’s content into a and you should add to your SVG file (FCM #145 will 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 that you will almost certainly never SVG file (shown above). 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 “Href” is required, and “Title” is a “hyperlink reference”). A better good idea for accessibility the new attribute hasn’t just been title would have been “URL”, added to the existing element. purposes, and also because “Address” or “Location”, but this Instead, Inkscape has wrapped the dialog just uses a capitalized group in an 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 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 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 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 at least, recommendation now is to use a within the current file. This is target location. You might change “Target” takes priority. All the 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 href of “#svgView(viewBox(0, -250, should always be left empty, unless 250, 500))” for example. you really know what you’re doing ... and are something of an XML/ This can be an easy way to XLink expert. But in that case 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 ^ HHOOWW--TTOO Written by Alan Ward KKrriittaa TToo RReewwoorrkk OOlldd PPhhoottooss PPtt..66

his series is aimed at learning to guarantees — much as is the case photographic film was available diffuse source of natural light -- T make something of the old of most open-source software. and color dominance was not so such as an open window on a photos in my possession, and much of an issue in the late 1990s 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 ^ LLIINNUUXX LLOOOOPPBBAACCKK Written by S. J. Webb nnoommaaddBBSSDD

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 ^ EEVVEERRYYDDAAYY UUBBUUNNTTUU Written by Richard Adams PPeerrssoonnaall IInnffoo MMaannaaggeemmeenntt PPtt44

ast month, we installed the Installing Provider for as I had to do last month for L Lightning extension for Google Calendar Lightning, and found the version of Thunderbird to add calendaring 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. Search for Provider for Google so that we can use our calendar That should be more than enough Calendar in the search box at upper across Linux PC and Android for the Dash’s search capability to right: devices like tablets and bring up Thunderbird. Click to smartphones. launch it and you’ll get your Thunderbird email client. Google Calendar Then, I had to go to Management: Provider for Go to the Tools menu up top, Thunderbird’s Add-Ons under Tools again and select Extensions: Google Calendar Extension then click Add-Ons: 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 If you are on a current version saved and double-click it. The Add- us (and vice versa). went to View older versions on the of Thunderbird, click Browse all On Manager will now install the Thunderbird Add-on web page for add-ons. A web browser window Provider for Google Calendar add- Provider for Google Calendar, just will open: on. This is good to know for other 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 ^ UUBBPPOORRTTSS DDEEVVIICCEESS Written by UBports Team

COMING SOON? MAYBE??

full circle magazine #156 39 contents ^ full circle magazine #156 40 contents ^ MMYY SSTTOORRYY Written by Erik UUSSBB DDrriivveess && UUbbuunnttuu

went and bought a bunch of USB sudo install iotop - The nice https://askubuntu.com/questions/ I thumb drives / memory sticks thing with this is you get read and 539184/how-do-i-check-the- A light went on and I considered from a supplier on sale a while ago write metrics. So not all USB thumb integrity-of-a-storage-medium- 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 . 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 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 as USB 2.0. If you are not sure sized hard drives with multimeters 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 ^ HHOOWW--TTOO Written by Ronnie Tucker WWrriittee FFoorr FFuullll CCiirrccllee MMaaggaazziinnee

GUIDELINES REVIEWS • Images should be JPG, no wider he single rule for an article is than 800 pixels, and use low T that it must somehow be compression. GAMES/APPLICATIONS linked to Ubuntu or one of the 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 If you are writing a review, • where to get it from (give download/homepage URL) please follow these guidelines : • is it Linux native, or did you use ? • 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 your article please email it to: • For advice, please refer to the HARDWARE [email protected] Official Full Circle Style Guide: When reviewing hardware please state clearly: 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! [email protected] 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 You don't need to be an expert to write an the image name in a new able to upload your file to the main 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 ^ RREEVVIIEEWW Written by Erik SSttaacceerr

Website: download, adding a PPA, or just https://sourceforge.net/projects/ hen it comes to cleaning up grabbing an AppImage. Just The window is immutable, you stacer/ W 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 .-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 ^ If you would like to submit a letter for publication, compliment Join us on: or complaint, please email it to: [email protected]. LLEETTTTEERRSS 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 ^ If you have a Linux question, email it to: [email protected], QQ&&AA and Erik will answer them in a future issue. Please include as much Compiled by EriktheUnready information as you can about your query.

elcome back to another The PC’s were meticulously sealed stiff breeze). Sitting down one code editor. I am still on Ubuntu W edition of Questions and with warranty void stickers. They afternoon and consolidating my 16.04, btw. Answers! In this section, we will also sold all their parts loose. The calls, I realised the problem was endeavour to answer your Ubuntu distributor agreement meant you originating from ONE reseller. This : Yes, This seems to be a questions. Be sure to add details of could only supply the box with Y guy was buying cases and selling A common question, but it is the version of your operating parts. The company I worked for warranties for brand X with the 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 t sometimes irks me that I.T. in however, these did not carry the PC solve this problem? I the service industry is looked warranty. : So I am running on Ubuntu down upon. I suppose it is because Q 14.04 as I need it for certain there are so many sharks out there. Needless to say, there were : Hello there, I'm a new applications. When I try to install It is not a new thing either. Years endless fights about money as our Q Code::Blocks user. I am using 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 not, the cheapest RAM (which was ide to change the Code::Blocks : The repositories for older would be certified and carry the faulty) was found in the PC and the theme, but that works only for the A releases that are not maximum warranty they allowed. It owner swears on a stack of bibles, editor window. Is it possible to set 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 are blocking the air intakes, as : Have you tried the inxi-gui? that you want a de-googled : I have bought a notebook perhaps the laptop feet do not lift A Chromium. Look here: Q from a friend with Windows 10 it above your chest. Purchase a https://github.com/Eloston/ on it. I have replaced it with laptop stand, preferably – with a ungoogled-chromium Ubuntu, but I am having trouble fan or two – and don’t unfold it; : The XFCE dictionary program loading the driver. When I do leave it flat, and put your laptop on Q has a 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. : Usually it is because the BIOS unnatural. What are my options A is set to secure boot. (This and what can I do? does not allow the Nvidia module : When I open up Pitivi, I get a : Can one have a global to load). Q message: a new version 0.999 is : This seems to be two Q equalizer for Ubuntu? I am not available, but when I check A questions. One, if a text file talking about the one in your music updates, there isn’t any? cannot open in the dictionary, it player, but for everything. I have a : I am bedridden after an may be that it contains symbols Samsung laptop with really shoddy Q accident and work with my : Not all versions of some that it cannot read. Open the .txt speakers and I would like to make laptop on my chest. I have installed A software are available for file in mousepad first to see if it the best of a bad situation. TLP and tried a lot of other every OS release. To put it in reads it. If it does not, you need to software found trawling the Windows terms, the newer replace those pesky non-ascii : I am not sure if this is what internet. My problem is that the software is for Windows 10 only symbols. Secondly, I cannot tell you A you want, but you can try pulse laptop gets extremely hot on my and may not run on Windows 7. what you need, but I can give you effects. 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 team yet, and may get added only free-linux-speed-reading-tools/ : I am using Mint Cinnamon, be better, and now to 19.10. I just later. If you want the latest version, Q which 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 /snap/flatpak. : I have read that chromium is better themes? In particular, I want : There are multiple vectors Q still connected to Google. Is my Desktop to resemble Windows A 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 : I like tools like neofetch and chromium since forever, and it is Linux telegram channel, but only sheet, it will suck in fibres. This Q all, but is there a GUI tool for riding me now that I am still got an OK boomer. restricts the pathway for airflow Xubuntu without, like, loading all feeding the Google beast. through the laptop. The clearer the KDE dependencies? : Full Circle Magazine also has a that pathway, the more heat is : Hahaha, Google beast. Okay, A Telegram channel. Cinnamon is expelled. Another idea is that you A from what I have gathered, is a new-ish desktop, so there may 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? 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 A of that, but may I suggest : Yes, I see you visited unixporn 0x0033 200 200 140 looking at Kxstitch, Cstitch and on 26 July 2019.... Just kidding. Pre-fail Always - 0 A Crosti, maybe even But yes, lots of them do it, that’s Q tutorials show sudo -i and some Maybe one of our users can write 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 : Sudo gives you su privileges. software centre and uninstall from : Unless you see lots of However, you are still you. Ronnie says: maybe this month's there. Remember to remove any A uncorrected and reallocated When you run a command as A article using Valentina will help? 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 : My issue is with Ubuntu 18.04 : Howzit my china, I picked up a : How can I switch desktop not specify anything, both will run Q and Firefox, where some Q laptop from Cash Crusaders Q environments? Can I get an icon 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? : This is a very broad question, but I suspect I get your gist. : How do I find out what A : I am not 100% sure what you : You can guess, most idiots There is already a button in the Q filesystem is on a drive? are asking, as video volumes use a fool’s passkey (like 1234) taskbar, the logoff button. Click A A are dependent on recorded or birth date – try say 1950 – 2020 that, then choose your DE when : You can use the ‘disks’ volumes, but, I did find this: https:// (may take a while), or go back to you log in. You cannot switch on application or just type sudo www.youtube.com/watch? Cash Crusaders and tell them you A the fly. blkid from the terminal. v=typM_AQUzi4 want the guys details as there is a password. The days of removing the battery, or using the CMOS : I am looking for decent cross- : My hard drive is 10 years old, : Crap! https://www.cnet.com/ clear jumper, to remove the Q stitch software for Ubuntu Q and when I check smart, I get Q 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/ design my own as well as make 1 Raw_Read_Error_Rate 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 ^ UUBBUUNNTTUU GGAAMMEESS Written by Erik EExxaappuunnkkss

Website: ith me reviewing and at a loss for what to do when the transcribe receipts for 10 cents https://zachtronics.itch.io/ W GOG games for Linux, I game started. However, I did each, or you can go on a mission exapunks thought it may be time to give realise that we were in William 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 ^ PPAATTRROONNSS

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 Andy Garay Sony Varghese completely rebuilding the site, and 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 Darren Volker Bradley target was quickly reached thanks to William von Hagen those listed on this page. The money Dennis Mack also helps with the new mailing list that Devin McPherson Taylor Conroy I set up. Doug Bruce Elizabeth K. Joseph Several people have asked for a PayPal SINGLE DONATIONS (single donation) option, so I’ve added a Meddleton button to the right side of the website George Smith 2020: Henry D Mills alex moro A big thank you to all those who’ve Hugo Sutherland used Patreon and the PayPal button. 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

HHOOWW TTOO CCOONNTTRRIIBBUUTTEE Editor - Ronnie Tucker [email protected] FCM#157 Webmasters - Cees Rijken FULL CIRCLE NEEDS YOU! Deadline: and Chris Christensen A magazine isn't a magazine without articles and Full Circle is no Sunday 10th May 2020. [email protected] exception. We need your opinions, desktops, stories, how-to's, reviews, Release: and anything else you want to tell your fellow *buntu users. Send your Friday 29th May 2020. articles to: [email protected] 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: [email protected] Our thanks go to Canonical, the many Hardware/software reviews should be sent to: [email protected] translation teams around the world Questions for Q&A should go to: [email protected] and Thorsten Wilms for the FCM logo. Desktop screens should be emailed to: [email protected] ... 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: [email protected] 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 ^