Full Circle THE INDEPENDENT MAGAZINE FOR THE COMMUNITY

ISSUE #163 - November 2020

VIE VIE RE W RE W

R

A T I S X P K U 0 B 0 B .1 E 0 MMIICCRROOPPAADD UN 20 RRY PI 4 TU TAKE NOTE(S) full circle magazine #163 contents ^ Full Circle Magazine is neither affiliated with,1 nor endorsed by, Ltd. HowTo Full Circle THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY Python p.12 Linux News p.04

Podcast Production p.15 Command & Conquer p.10 Linux Loopback p.XX Everyday Ubuntu p.27

Micropad p.17 Ubuntu Devices p.29 The Daily Waddle p.31 My Opinion p.32

p.XX My Story p.XX Letters p.XX Review p.35

Inkscape p.21 Q&A p.42 Review p.38 Ubuntu Games p.45 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, 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 #163 2 contents ^ EEDDIITTOORRIIAALL

This magazine was created using :

WELCOME TO THE LATEST ISSUE OF FULL CIRCLE

his month, we have more Python, Podcast production, , and a great piece T on Micropad. Do you need to make notes? Might be worth your while having a read at that article.

As I'm sure you're aware: Ubuntu 20.10 is out! Well, like earlier in the year, we'll have reviews from Adam Hunt on all those tasty flavors. Last month was said Ubuntu. This month we have 20.10. More from Adam next month. And the month after no doubt. While on the subject of reviews: I've provided a review of the brand new 400 kit. The review is like me: very simple. It's basically showing you what's in the box and my first impressions of setting it up. I know little to nothing about programming Pi's so go easy on me. Find Full Circle on: facebook.com/ In other news: Ubports Touch released OTA-14. As ever, on first look, it's like nothing's changed. fullcirclemagazine But it's all under the hood stuff. It's coming along great. I do love hooking my BQ tablet to a monitor every now and then. Just for the kicks. twitter.com/#!/fullcirclemag http://issuu.com/ If you're in lockdown, bored, and need something to do: feel free to write articles. We're always fullcirclemagazine in need of things to fill pages. Without the help from the 'usual suspects' this magazine wouldn't https://mastodon.social/ exist. So, please, help us out with articles. @fullcirclemagazine That's it for this month. Stay safe and well! Weekly News: All the best, and keep in touch! http://fullcirclemagazine.org/ Ronnie feed/podcast [email protected] 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 #163 3 contents ^ NNEEWWSS Submitted by ErikTheUnready

TRINITY R14.0.9 DESKTOP the system in Trinity. There are also distributed under the MPL 2.0 - instead of tools for the correct display of the license. Assemblies are available , the user environment is ENVIRONMENT RELEASED , interface of GTK programs without for Linux, Windows, macOS, now based on i3wm. It is noted that CONTINUING THE breaking the uniform design style. FreeBSD, OpenBSD, NetBSD, there are some changes in hotkeys, DEVELOPMENT OF KDE 3.5 DragonflyBSD and Solaris and at first the -based 11/01/2020 The new version introduces platforms. environment may seem unusual, changes, mainly related to the but you can quickly get used to it, he Trinity R14.0.9 desktop elimination of errors and work to http://uvviewsoft.com/cudatext/ after which there will be no desire T environment has been improve the stability of the code download.html to return to Openbox. The released , which continues the base. browser was also returned to the development of the KDE 3.5.x and base composition, as the 3 code base. Binary packages http://www.trinitydesktop.org/ ARCHBANG LINUX functionality of the lighter will soon be prepared for Ubuntu , newsentry.php?entry=2020.11.01 browsers was recognized as DISTRIBUTION 0111 , RHEL / CentOS , Fedora , insufficient. Made minor changes openSUSE and other distributions . RELEASE to the installer. CUDATEXT CODE EDITOR 02.11.2020 Among the features of Trinity, https://archbang.org/2020/11/01/ UPDATE 1.117.0 one can note its own tools for he release of the lightweight november-release-i3-tiling-window- 02.11.2020 managing screen parameters, a T ArchBang manager-based/ udev-based layer for working with 0111 , based on the developments new release of the cross- equipment, a new interface for of and providing a user platform free code editor configuring equipment, a transition A interface based on the i3 window CudaText , written using Free MONADO 0.4 OPEN VIRTUAL to the Compton-TDE composite manager, is presented . The Pascal and Lazarus, has been REALITY PLATFORM RELEASE manager (a fork of Compton with distribution offers a continuous published. The editor supports 03.11.2020 TDE extensions), an improved update cycle to ensure that you Python extensions, and has several network configurator and user always work with the latest features borrowed from Sublime ollabora has released Monado authentication mechanisms. The from the Arch Linux Text . There are some features of 0.4 , an open source Trinity environment can be repositories. The size of the iso the IDE implemented as plugins. implementation of the OpenXR installed and used concurrently image is 958 MB. More than 200 syntactic lexers standard . The OpenXR standard with more current KDE releases, have been prepared for was prepared by the Khronos including the ability to use KDE The key change in the new programmers. The code is consortium and defines a universal applications already installed on version is the change of the full circle magazine #163 4 contents ^ NEWS API for creating virtual and written in the Dart language and reference to the username nat , RELEASE OF THE LXQT augmented reality applications, as are distributed under the Apache which overlaps with the account of GRAPHICAL ENVIRONMENT well as a set of interlayers for 2.0 license. DahliaOS assemblies Nat Friedman , the head of GitHub. interacting with equipment that are formed in two versions - for The added changes have already 0.16.0 abstracts the features of specific systems with UEFI (158 MB) and old been removed, but remained in the 04.11.2020 devices. Monado provides a fully systems / virtual machines (115 archive . OpenXR-compliant runtime that MB). The base distribution dahliaOS he LXQt 0.16 (Qt Lightweight can be used to run virtual and going based on the Linux kernel Probably the code was linked to T ) user augmented reality on and the GNU typical system the official / dmca environment has been released , smartphones, tablets, PCs and any environment. In parallel , repository using a technique that developed by the joint other device. The project code is assemblies based on the Zircon allows any third-party change to be development team of the LXDE written in C and is distributed microkernel and the environment presented as a change already and Razor-qt projects. The LXQt under the free Boost Software from the Fuchsia OS are included in another project. GitHub interface continues to follow the License 1.0, compatible with the developing, which are available for keeps all objects from the main classic desktop organization, GPL. the Raspberry Pi 4 , msm8917 and repository and forks together for bringing a modern look and feel to some other devices. optimization and elimination of enhance user experience. LXQt is https://www.collabora.com/news- duplicates, logically separating the positioned as a lightweight, and-blog/news-and-events/ https://dahliaos.io/ ownership of the commits. Such modular, fast and convenient monado-update-passing- storage allows you to view any continuation of the development conformance-android-support-and- commit from any fork in the main of the Razor-qt and LXDE desktops, incorporating the best features of more.html GITHUB AND GITHUB repository by explicitly specifying its hash in the URL. For example, a both shells. The code is hosted on ENTERPRISE SOURCE CODE user can create a fork of the GitHub and licensed under GPL 2.0+ and LGPL 2.1+. Ready builds THE DAHLIAOS PROJECT LEAKED (CONFIRMED) github / dmca repository and add 11/04/2020 any code to it, after which this code are expected for Ubuntu (LXQt is DEVELOPS A DISTRIBUTION will be available via a direct hash offered by default in ), KIT BASED ON LINUX AND he GitHub.com and GitHub link in the github / dmca repository. Arch Linux , Fedora ,openSUSE , , FreeBSD , ROSA and ALT FUCHSIA TECHNOLOGIES T Enterprise sources have been https://web.archive.org/web/ Linux. 03.11.2020 uploaded to the github / dmca repository where DMCA violations 20201104050026if_/https:// github.com/github/dmca/tree/ https://github.com/lxqt/lxqt/ he dahliaOS project aims to are posted . The sources were 565ece486c7c1652754d7b6d2b5e releases/tag/0.16.0 create a new published on November 4 at 3:51 T d9cb4097f9d5 that combines technologies from UTC (6:51 MSK) with the following GNU / Linux and Fuchsia OS . The message: "felt cute, might put gh developments of the project are source code on dmca repo now idk". The data is published with full circle magazine #163 5 contents ^ NEWS 14TH experimental port of the 8 multimedia content. desktop , which has been renamed FIRMWARE UPDATE release of project fheroes2 Lomiri. https://nxos.org/changelog/ 0.8.3 is available , trying to 11/05/2020 A changelog-nitrux-1-3-4/ recreate the game Heroes of Might https://ubports.com/ and Magic II. The project code is he UBports project , which took written in C ++ and is distributed over the development of the T under the GPLv2 license. To start Ubuntu Touch mobile platform RELEASE OF OMNIOS CE the game, you need files with game after Canonical pulled away from NITRUX 1.3.4 DISTRIBUTION R151036, ILLUMOS resources, which can be obtained, it , published an OTA-14 (over-the- WITH NX DESKTOP IS ISTRIBUTION for example, from the demo air) firmware update for all D ELEASED 11/05/2020 version of Heroes of Might and officially supported smartphones R 05.11.2020 Magic II. and tablets that were equipped he release of the OmniOS with firmware based on Ubuntu. he release of the Nitrux 1.3.4 Community Edition r151036 https://github.com/ihhub/fheroes2/ Update formed smartphone T distribution , built on the distribution is available , based on releases/tag/0.8.3 OnePlus One, Fairphone 2, Nexus 4, T Ubuntu package base, KDE the work of the Illumos project and Nexus 5, Nexus July 2013, Meizu technologies and the OpenRC init providing full support for the bhyve MX4 / PRO 5, VollaPhone, Bq system . The distribution develops and KVM hypervisors, the Aquaris E5 / E4.5 / M10, Sony A NEW VERSION OF THE its own NX Desktop , which is an Crossbow virtual network stack, Xperia X / XZ OnePlus and 3 / 3T. add-on over the user's KDE Plasma the ZFS file system and the VIDEO PROCESSING PROGRAM Compared to the previous release, environment. The self- launching tools for lightweight the formation of stable assemblies CINE ENCODER 3.0 HAS contained package system and its Linux containers. The distribution has begun for Xiaomi Redmi 4X, BEEN RELEASED own NX Software Center are being kit can be used both for building Huawei Nexus 6P and Sony Xperia 11/06/2020 promoted to install additional highly scalable web systems and Z4 Tablet devices. applications. The boot image is 2.4 for creating storage systems. fter several months of work , a GB in size. The developments of The release is based on Ubuntu new version of the Cine the project are distributed under https://omniosce.org/article/ A 16.04 (the OTA-3 build was based Encoder program was released for free licenses. release-036.html on Ubuntu 15.04, and starting with processing video with preserving OTA-4, the transition to Ubuntu HDR signals. The program is NX Desktop offers a different 16.04 was made). The next release written in C ++, uses the FFmpeg, style, its own implementation of (OTA-15) is expected to move from FREE HEROES OF MIGHT MkvToolNix and MediaInfo utilities the system tray, notification center Qt 5.9 to 5.12, which will serve as a in its work, and is distributed under and various plasmoids, such as a AND MAGIC II 0.8.3 springboard for a future upgrade the GPLv3 license. There are network configurator and a to Ubuntu 20.04 components. The RELEASE packages for the main multimedia applet for volume 11/05/2020 project is also developing an distributions: Debian, Ubuntu control and playback control of full circle magazine #163 6 contents ^ NEWS 20.04, Fedora 32, CentOS 7.8, Arch the disk and then requires a up, a new API for plug-in Linux, Linux. ransom to obtain the decryption development was proposed, key. Encryption is organized using rendering caching was In the new version, the program the open library mbedtls . Once implemented, support for selecting FULL CIRCLE WEEKLY was completely rewritten in C ++ launched, the malware generates a multiple layers (Multi-layer NEWS (previously the code was written in 256-bit key and uses it to encrypt selection) was added and editing in Python). The interface has also all available files using the AES the original color space was been completely redesigned, batch block cipher in ECB mode. A new provided ... A package is available conversion, two-pass encoding AES key is generated every second, for installation in the flatpak mode and work with presets have i.e. different files are encrypted format (org..GIMP in the been added. with different AES keys. Each AES flathub-beta repository) and builds key is encrypted using a public RSA- for Windows. https://github.com/CineEncoder/ 4096 key embedded in the malware cine-encoder/releases/tag/3.0 code and is attached to each https://www.gimp.org/news/ encrypted file. 2020/11/06/gimp-2-99-2-released/

PORT OF RANSOMEXX https://securelist.com/ransomexx- trojan-attacks-linux-systems/ RANSOMWARE FOR LINUX Join our new host Leo 99279/ Chavez as he presents you DETECTED with a short podcast 11/07/2020 (<10min) with just the news. GIMP 3.0 GRAPHICS No chit-chat. No time esearchers at Kaspersky Lab EDITOR PREVIEW AVAILABLE wasting. Just the latest R have identified a Linux version FOSS/Linux/ Ubuntu news. of the RansomEXX ransomware 08.11.2020 malware. Initially, RansomEXX was RSS: http:// distributed only on the Windows he release of the graphics editor GIMP 2.99.2 is fullcirclemagazine. platform and became famous due T org/feed/podcast to several major incidents with the presented , in which the defeat of systems of various functionality of the future new government agencies and stable branch of GIMP 3.0 is companies, including the Texas proposed for testing. In the new Department of Transportation and branch, the transition to GTK3 was Konica Minolta. made, standard support for Wayland and HiDPI was added, the RansomEXX encrypts data on codebase was significantly cleaned full circle magazine #163 7 contents ^ NEWS

full circle magazine #163 8 contents ^ The VirtualBox Networking Primer Connecting and Configuring Virtual Machines

The VirtualBox Networking Primer is a no-nonsense guide for the VirtualBox user taking their next steps into virtual networks.

While Oracle VM VirtualBox is a great free tool, the real power of virtualisation comes when you start connecting virtual machines to each other and to the wider world. Software development, sales, education and training are just some of the areas in which network access to virtual machines offers endless opportunities. But the world of computer networks is filled with complex technical jargon.

Complete with principles, practice, examples and glossary, The VirtualBox Networking Primer takes the frustration and confusion out of connecting real-world projects.

Author: Robin Catling Publisher: Proactivity Press ISBN13 : 9781916119482

Amazon US link: https://www.amazon.com/dp/1916119484? ref_=pe_3052080_397514860

Amazon UK link: https://www.amazon.co.uk/VirtualBox-Networking-Primer- Connecting-Configuring/dp/1916119484/ref=sr_1_1? dchild=1&keywords=virtualbox+networking+primer&qid=1600253 699&s=books&sr=1-1

Kobo: https://www.kobo.com/us/en/ebook/the-virtualbox-networking- primer full circle magazine #163 9 contents ^ CCOOMMMMAANNDD && CCOONNQQUUEERR Written by Erik DDeemmyyssttiiffyyiinngg NNmmaapp PPtt..22

Website: https://nmap.org/book/ layout, regardless of the situation; have a bunch of subnets to scan man-host-discovery.html nmap -oN classC.txt for you it may be different. Try and you want to check certain 192.168.1.0/24 both to see how you like it. ranges, say 1-10 and 249-254 in You may have noticed the website each subnet (usually where people Now you can open the link above change, look this one up. You may not want a .txt-file, so put servers and routers). This one is written .txt-file with your favourite *wink* XML format is offered as a choice also easy to remember, a good GUI editor and run regular too. Here we follow the -o with a mnemonic is “importing a list”. expression searches on it. Speaking elcome back to another capital “X”. Example: Example: of regex, nmap actually has a grep- educating experience, W able output version. Instead of demystifying nmap. In this issue, nmap -oX myscan.xml nmap -iL myscan.txt using the “N” switch in our 192.168.1.0/24 we will be looking at using files example, you use the “G” switch. with nmap. Last issue, I mentioned, It will do the scan as if you This will drop the file in your Other than output files, nmap in passing, that one can output typed it all in by hand. current directory, so do a pwd first. can also take input files. It may be your scan results to a file using the Let’s examine the differences (see more of a convenience than redirection operator. However, the Okay, back to the start, I may be the images below). actually taking major input, but it is ‘correct’ way to do it is using the -o old fashioned, or lazy, or both, but I there and I can teach you about it. switch. Like many other programs just find it quicker and easier to use Try grep “open“ router.txt on An example use case is when you in Linux, -o is usually “output”. This the redirection operator. Example: your machine. (Provided you saved should be as easy to remember as your file as router.txt). Though if I -p is for port. Example: am honest, I prefer the non-grep

full circle magazine #163 10 contents ^ COMMAND & CONQUER to the packet with the ack flag set. Hope you enjoyed this second nmap -p 22 192.168.1.1 > The results here can then be saved demystifying nmap article and see scan1.txt to a text file again. The output of a you next issue. ping sweep is different than that of In the Windows environment, the previous scans I have told you As always, comments, there is Angry IP scanner, and they about. You simply get a “host is up” compliments, complaints, all to: have a Linux version too, but it is message for each IP address that is [email protected] horrible in comparison to the alive. Windows version. Nmap can be used for this too. Basically Angry IP This is rather easy, no? The catch scanner scans for live hosts on the comes when we talk about network. We achieve the same scanning from outside of the functionality in nmap with -sP. This network, like pentesters do, and is called a ping sweep, and should you have a firewall in your way. also be easy to remember. This Now you need to start getting action will fire off ICMP packets creative and shape your queries. In onto the network. I asked you to the next issue, we will cover read up on the three-way Erik has been in IT for 30+ years. He customising your requests. We will handshake, to make you familiar has seen technology come and go. ramp up the difficulty a little bit From repairing washing machine with the syn-ack-syn flags. You see, more, but not so that you cannot sized hard drives with multimeters nmap also fires off TCP packets, follow along. and oscilloscopes, laying cable, to with that ack flag set. So now we scaling 3G towers, he's done it. have two ways of confirming there Let us build up a cheat sheet is a live host at a certain IP address. (below right) over the next few If the host is set to not reply to HOSTS: issues; that way, you can keep it ICMP requests, it will still respond until you don’t need it anymore. Scan a single IP: nmap 192.168.1.1 Scan a host: nmap www.myserver.net Scan a range of IPs: nmap 192.168.1.1-20 Scan a subnet: nmap 192.168.1.0/24 Scan from a text file: nmap -iL list_of_ips.txt

PORTS: Scan a single Port: nmap -p 22 192.168.1.1 Scan a range of ports: nmap -p 1-100 192.168.1.1 Scan 100 most common ports: nmap -F 192.168.1.1 Scan all (65535) ports: nmap -p- 192.168.1.1

full circle magazine #163 11 contents ^ HHOOWW--TTOO Written by Greg Walters PPyytthhoonn IInn TThhee RREEAALL WWoorrlldd PPtt..111111

ay back in January 1969, an ) Why even bother? Beyond getting timestamp. It’s actually the number 2020-10-23 10:49:11.744798 W American rock band, Chicago >>> time and date into a program, what of seconds since January 1, 1970 (then called Chicago Transit print(datetime.datetime.today good is it? UTC. According to https:// Authority), asked the musical ()) www.unixtimestamp.com/, one 2020-10-23 10:50:53.169120 question “Does anybody really It’s very easy to deal with interesting thing: on January 19, know what time it is?” While the datetime objects when doing time 2038, the Unix timestamp will Which is and easy. You can meaning of the song doesn’t seem and date math. cease working. This is due to a 32- easily assign the date and time to a to have much to do with this bit overflow. We survived Y2K, but variable and break it out into single month's article, the title question Let’s say that we have issued an can we survive this? values… of the song does lend itself to our invoice today and it is due in 30 subject this month. >>> tday = days. What date would that be? Anyway, back to the subject at datetime.datetime.today() hand. Python has a tremendous built- >>> print(tday.month) >>> tday = 10 datetime.datetime.today() in series of libraries that deal with >>> print(tday.day) >>> print(tday) ACCOUNTING date and time. Often, we, as 23 2020-10-28 03:53:45.551751 programmers, use the datetime >>> print(tday.year) >>> due = tday + 2020 datetime.timedelta(days=30) One of the wonderful things and time libraries without realizing >>> >>> print(due) about the datetime manipulation 2020-11-27 03:53:45.551751 how many features there really are. capabilities is when you need to do We will be looking at some of the You can easily print this calculations based on two (or When we deal with databases, capabilities of them in this article. information in “human” readable more) times or dates. Let’s say that we often need to put a time or formats using the strftime we have an employee who can bill date into the database as a Fire up your Python interpreter function… out at a rate of £15 per hour “timestamp” to show when in a terminal and let’s get started. (rounded up to the next hour). >>> td = tday.strftime('%m/%d/ something happened. That’s super Let’s further assume that this %Y') easy. Many times, we simply use the >>> print(td) employee works on a programming datetime or time libraries to get 10/23/2020 task from 8 am until 11.27 am. How the current time or date within our >>> td2 = tday.strftime('%H: >>> ts = time.time() %M:%S') >>> print(ts) many hours would that be and how programs: >>> print(td2) 1603875671.3662472 much do you bill your customer. 10:51:55 >>>import datetime You might be thinking, that >>> import time While that looks fairly simple we >>> But we all know that; we’ve doesn’t look like a time, date, or do have some constraints on how print(datetime.datetime.now() done it many many times before. anything like it. But it is. It is a UNIX we have to do the calculations. full circle magazine #163 12 contents ^ HOWTO - PYTHON First, we need to convert the start >>> print(type(totaltime)) totaltime.microseconds (4) * the billing rate per hour (15): >>> print(da) time and end time to values. >>> print(totaltime) 0 3:27:00 >>> print(sec) >>> billperhour = 15 >>> billamount = billperhour We take the start time and end 12420 >>> print(ms) * hour time and convert them to datetime Now, here is the stumbling 0 >>> print(billamount) objects. block. You would think that since 60 we have a value that looks like We know that totaltime is 3 >>> starttime = "30.10.2020 So we can bill the client for £60 . Hours:Minutes:Seconds, that we hours and 27 minutes, but we bill 08:00" That wasn’t as hard as expected. >>> endtime = "30.10.2020 could simply get the hours by only whole hours, rounded up, so 11:27" saying: we should bill the customer 4 >>> print(f'Start time: {starttime} - End Time: hours. How would we do that? We TIME ZONES Hours = totaltime.hours {endtime}') use the divmod method. It takes Start time: 30.10.2020 08:00 two numbers (the numerator and I’ll be brutally honest. Time - End Time: 30.10.2020 11:27 But, I’ll tell you now that doesn’t the denominator) and returns the Zones make my brain hurt. REALLY! work. If you try it, you will get: Sometimes, when I communicate At this point, the starttime and quotient and remainder. with our wonderful editor, Ronnie, I endtime variables are still strings. >>> hours = totaltime.hours >>> min, sec = divmod(sec,60) can remember that he in To convert them to a datetime Traceback (most recent call last): >>> print(min) # This is the Scotland and that he is somewhere object, we can use the parse File "", line 1, in total time (in minutes) 207 around 6 hours ahead of my time. function from dateutil.parser. AttributeError: >>> print(sec) Scotland is in the Greenwich Mean 'datetime.timedelta' object 0 Time, or GMT, timezone. This is >>> from dateutil.parser has no attribute 'hours' >>> hour, min = import parse divmod(min,60) often confused with Coordinated >>> st = parse(starttime) >>> print(hour) Universal Time (UTC), but while >>> et = parse(endtime) 3 Well, that’s no help. The they might be (incorrectly) used timedelta object type only has 3 >>> print(min) 27 interchangeably, GMT is a We can verify that it worked by attributes that can be used. They timezone, UTC is not a timezone, printing the type that Python sees are Then we simply use a simple if but a time standard. one of the variables. • days statement: • seconds My friend Halvard lives in >>> print(type(st)) • microseconds >>> if min > 0: Norway and his time is somewhere ... hour += 1 ... around 7 hours ahead of mine. My Next, we simply subtract the Let’s look at the three possible >>> print(hour) friend Bruce, lives in Colorado and end time from the start time to get values... 4 that is 1 hour behind my time. the total time. >>> da = totaltime.days Now it is a simple case of >>> sec = totaltime.seconds When I was growing up (yes, >>> totaltime = et-st >>> ms = multiplying the number of hours back in the days where rainbows full circle magazine #163 13 contents ^ HOWTO - PYTHON were in black and white, and we >>> native = datetime.now() >>> print(native) had to watch TV by candlelight Now get the native Python 2020-11-05 05:15:35.282475 because there was no electricity), I datetime object. >>> aware2 = wasn’t aware of timezones at all timezone('America/ Chicago').localize(native) outside of knowing that when I saw >>> native = datetime(2020,10,5,12,00) >>> print(aware2) an advertisement for a television >>> print(native) 2020-11-05 05:15:35.282475- show and they said that it aired at 2020-10-05 12:00:00 06:00 9pm Eastern, 8pm Central, that if I wanted to watch it, I should watch Next, we’ll get a datetime Ahhh. That makes a bit more at 8pm, since I lived in the Central object that is timezone aware: sense. So Ronnie is 6 hours ahead timezone. But that was long ago. I of me. suppose that Albert Einstein would >>> aware=timezone('UTC').localiz So, the musical question of the say that it is all relative. (That’s e(native) supposed to be a geeky joke.) >>> print(aware) month, “Does anybody really know 2020-10-05 12:00:00+00:00 what time it is?” actually does seem The Python date/time library to have a bit more relevance than it doesn’t really handle timezones So it says the datetime object is did when the article started, natively, but there is a third party based on UTC (Coordinated doesn’t it? I’ll leave you with that package that you can install via pip. Universal Time). So that’s cool, but question hanging in your mind, It’s called pytz. what time is it where I live, in the and, hopefully, I didn’t plant the U.S. Central Time zone? song into your mind so that it pip install pytz keeps running again and again. >>> aware2=timezone('America/ Chicago').localize(native) So how do we use pytz? It’s >>> print(aware2) As always, until next time; stay fairly easy. Let’s take a look. 2020-10-05 12:00:00-05:00 safe, healthy, positive and creative! Greg Walters is a retired We’ll make things a little easier Wait a second. Why would it say programmer living in Central Texas, by changing the import statement that my time is 5 hours behind USA. He has been a programmer for this set of tests… UTC? That’s because of Daylight since 1972 and in his spare time, he is an author, amateur photographer, Saving Time. (October 10, 2020 was luthier, fair musician and a pretty >>> from datetime import before the change over to Daylight darn good cook. He still is the owner datetime of RainyDaySolutions a consulting >>> from pytz import timezone Standard time). company and he spends most of his time writing articles for FCM and Now we don’t have to use So, let’s do it again, this time tutorials. His website is datetime.datetime to get any using the .now() method… www.thedesignatedgeek.xyz . information as we did earlier. full circle magazine #163 14 contents ^ HHOOWW--TTOO Written by Tony Hughes PPooddccaasstt PPrroodduuccttiioonn iinn LLiinnuuxx -- PPtt..55

ast month, we looked at saving internet content so it can be financial gain from Distrohoppers, name and the search area it says L publishing your Blog with a used by future generations, a we were looking at sustainable upload. Feed via feedburner that will push library of digital content. ways of hosting the audio in a way the audio to peoples pod catchers that would still be available, if we, Press this, and you will be on their PCs and mobile devices. As well as accessing the at some point in the future, lay the redirected to the file upload page This month, we are going to look at resources already hosted on their podcast down. Signing up for an where you can drag and drop files, hosting for your audio files – if you servers, you can create an account account is very easy, you provide an or search for them on your PC to are not signed up to a podcasting and upload your own content. For email address and password and upload. service that provides hosting and this article, I am referring to you are good to go. you are not able to set up your own content to which you have legal hosting either from a cloud based entitlement – as either the creator So, once you have created your server provider or a self hosted and copyright holder, or content account login with your email and server. that has a community licence such password, you are ready to start as the ‘Creative Commons’ licence – uploading audio to the site. If you HPR, mintCast (of which I am a so uploading the ‘Full Circle’ look at the top right of the Once you select the files you co-host), and Distrohoppers Digest archive as it is produced under a CC Archive.org screen between your wish to upload, you are shown a (which I set up with Moss – another licence, is perfectly legitimate as screen to assign a title to the mintCast co-host) use the services long as you adhere to the licence upload and tag the file with of Archive.org – which is a not-for- terms. information relating to the profit foundation set up to save content. The page title will have the history of the internet by So, as we are not making any

full circle magazine #163 15 contents ^ HOWTO - PODCAST PRODUCTION the filename in it, but this can be downsides as you are reliant on the changed; in my case I put the title Archive.org servers being up and of the show and episode number in working, but, in the time I have this box. Further down you get to been using the service, this has choose the licence for the content, never been an issue. For Creative we use Attribution- Commons content, this is a very NonCommercial-NoDerivs 4.0 good solution to how to host your International, but other choices are content. I also upload a .flac file of available. the audio so that I always have a good quality backup of the show audio if my personal backups were to fail. On the right-hand-side of this your blog, feedburner has nothing page is the list of files you have to link to on the page. On the page So far, we have looked at uploaded, and if you open the file I create, I put the links in the text everything from the hardware and you wish to share through your that says the name of the episode software needed to create your feed, and this is an audio file, there and either .mp3 or .OGG. audio, how to create a Blog to will be a player which starts to play publish the content and provide an the audio as soon as the audio Picture 008 - Link audio to RSS feed to get the audio to loads. Stop this while you copy the Blog.jpg people’s podcatchers, and how to URL from the address bar at the host your audio content using the top of your browser. So this article has covered one services of Archive.org. In the next way of hosting your podcast audio. couple of articles, I will look at the This is the URL you need to put As I said at the start, it is not the process we follow on mintCast and into your Blog post for the episode only way but it is one way that Distrohoppers to record the audio you are wishing to feed to people’s many in the podcast world have and what we do in post production podcatchers; without this link in chosen to use. It does have its editing when there are multiple After you have completed this, audio tracks. then you can proceed to upload the files you have chosen. If you wish to contact me for Depending on the size of the more information, you can get me file(s), this can take some time, but at: once completed, a page for that distrohoppersdigest@.com content is created on the server or showing all the files you have [email protected] uploaded to the page. full circle magazine #163 16 contents ^ HHOOWW--TTOO Written by Dave Rowson NNootteettaakkiinngg WWiitthh MMiiccrrooppaadd

hilst looking at note-taking AppImage, which is what I chose to or export notebooks, sections or traditional hierarchical format for W applications, I have been do. You can download an RPM for elements. taking notes. Instead, notes are pleasantly surprised by the sheer use on Fedora or openSUSE, or stored in a notebook which can number of applications available install the app via the AUR if you It’s worth taking a few moments have multiple sections and on Linux and the variety of ways in use an Arch-based system. As to browse the Help to familiarize subsections – each containing which you can collect your MicroPad is cross-platform, yourself with the GitHub-flavored multiple elements. Elements thoughts or organize your life. downloads are available for Markdown MicroPad uses and also appear as cards on the note and Windows or Mac, and you even the keyboard shortcuts available. can be moved around and resized In the past, I’ve always stuck to have the option to run MicroPad in As well as Markdown, you can as you see fit. The developer likens using the same type of application the browser with your notes stored include AsciiMath or LaTex in your this to how you would take notes but, this month, we’ll take a look at in your browser’s persistent notes. on a whiteboard. As well as textual something slightly different: storage. notes written using Markdown, you MicroPad, an open-source electron The application includes a few can add images, drawings, application which doesn’t tie you to The application starts quickly options for theming, including a embedded PDF documents, files, organizing your notes in a and has a clean, modern and theme called IanPad which is an Jupyter notebooks, or even voice hierarchical structure, but gives slightly quirky interface, which is eye-watering mix of bright greens! recordings made directly in the you an “infinite canvas” on which to designed to look like a whiteboard. application. capture your ideas. The background shows you how to USAGE start taking notes, and a short, Using the Notebooks menu at DOWNLOAD AND introductory video is displayed MicroPad doesn’t use a the top of the screen, let’s add a which you can choose to hide in the INSTALLATION future. The sidebar on the right- hand side of the page displays a MicroPad is not available in the help notebook where you can find default Ubuntu repositories, but license information for the you can download a file from application ( https://getmicropad.com/ Version 2.0) and its dependencies. #download to install the app on any Ubuntu, Debian, or derivative See image right: 1. Notebooks system; you can install the app via menu – select or create notebooks, the store or you can choose import, export and sync options; 2. to download the application as an Cog icon to move, rename, delete

full circle magazine #163 17 contents ^ HOWTO - MICROPAD new notebook, imaginatively titled searchable directly in MicroPad. “My Notes” and see how it works. Impressive!

Clicking anywhere on the page Adding a drawing allows you to gives you the option to choose the use a stylus or mouse to add type of element you wish to add handwritten notes, drawings, or (right), and choosing text opens a annotations, which are displayed small Markdown editor (far right). like any other element. As I lack any On saving, text elements are artistic ability and was “drawing” displayed as formatted text rather the three notes were successfully using a touchpad on a laptop, the than the raw Markdown. When imported into a new Notebook extent of my ability was a crudely adding an image, you can choose with three notes, but I was unable drawn arrow and asterisk! For the size at which it should be to move the notes into my “My those of you with a more artistic displayed. By default, notes are Notes” notebook – so ended up bent, or with a digitizer tablet, named with their creation date and copying and pasting the Markdown being able to annotate your notes to use the application to manage time, and stored in a section called into new elements. You can, in this way could be an important your to-do list. “Unorganised Notes”, but these however, move notes between feature which is not available in can be easily renamed by clicking sections in the same notebook. many other applications. Under the Notebooks menu, on the cog icon beside the note you have the option to import files title in the sidebar (below). You can The cog icon beside a note’s in Evernote format, Markdown name also gives you the options to format, or from a previous delete the note or to export it as a MicroPad export. I tried to import PDF. One of MicroPad’s features three notes from Vim. MicroPad which appeals to me is the ability created a new notebook for the to embed in a notebook. imports but added only one of the Some of my notes are PDFs of notes. Trying to import the three articles I’ve scanned in and kept for notes individually also didn’t work, reference. My current note-taking but as the notes were originally in a also add tags to notes by preceding application will allow me to attach different application (Zim), and a word with the # symbol, or add a these PDFs to a note, but does not were exported to Markdown, this due date in the Markdown editor display them inline. Exporting one MicroPad includes the option to was because the Markdown pane. If you add checkboxes to an of my “test” notes to PDF worked encrypt your notebooks, and you generated was incompatible with element, MicroPad displays a flawlessly, and subsequently can also synchronize notebooks that used by MicroPad. Trying again progress bar at the top, showing embedding the PDF not only between different devices, with three test notes containing how many of the checkboxes have showed the content in my note, but although this requires registering only very basic Markdown did work; been completed; useful if you want the text of the PDF was also with MicroPad and using third- full circle magazine #163 18 contents ^ HOWTO - MICROPAD party servers. Full details are files. By clicking the cog icon source file format which you can and handwritten annotations, then available at https:// beside a notebook, you can limit download from https://github.com/ MicroPad offers features which I’ve getmicropad.com/sync/ including your export to one notebook; the MicroPad/Notebook-Library, or you not seen in any other note-taking full terms and conditions and cog icon beside a note’s name only can access your data through PDF application. For example, planning privacy notices. gives you the option to export the or Markdown exports as detailed a garden redesign, combining note as a PDF file. Whilst exporting above. textual measurements, photos of VIEWING AND SEARCHING my notebooks worked well, the plants, hand-drawn sketches of the images and drawings were IN SUMMARY layout, would be an ideal use for NOTES embedded in the Markdown files in MicroPad. It may also feel more Base64 format rather than being comfortable for existing users of As previously mentioned, exported as separate files, I was really excited about trying ’s OneNote application MicroPad displays elements as meaning that, even for my very MicroPad and, yes, I do realize how than other note-taking applications cards on a board. These can easily small test notes, the files were very sad that sounds! Now that I’ve used available on Linux. be moved around and even large and crashed when the application, I can’t really see overlapped, as with my arrow, trying to open them. The how I would use it to manage my My search for the perfect note- drawing attention to a specific part embedded PDF wasn’t exported at notes on an ongoing basis as most taking application will continue… of an element. Keyboard shortcuts all; the Markdown file for it was 0 of the notes I take are hierarchical but I won’t be deleting the are available to zoom in or out of bytes long! in nature. Trying to organize these MicroPad AppImage just yet. It’s an the note so you can see the bigger types of notes in MicroPad would, interesting application which, picture if you have a lot of to me, feel messy. It would also DATA STORAGE generally, works well and is elements on one note. take me quite a while to alter my pleasant to use. If the whiteboard- existing notes so that they could style interface appeals to you, then You can search by tag; clicking The notes you create are saved easily be imported in MicroPad. give it a go! on a tag will show all notes that in a database in ${HOME}/.config/ However, that doesn’t mean that have the same tag. You can also micropad with any pictures, MicroPad is not a useful and carry out a text search, but only for drawings or embedded PDFs easily original application. If you take the names of notes; this search accessible. MicroPad uses an open- notes which combine pictures, text doesn’t include text in any elements .

EXPORTING

Through the notebooks menu, you have the option to export all your notebooks to a MicroPad zip archive or to a folder of Markdown full circle magazine #163 19 contents ^ full circle magazine #163 20 contents ^ HHOOWW--TTOO Written by Mark Crutch IInnkkssccaappee -- PPaarrtt 110033

e start this month with a my first Inkscape tutorial video, so editing geometric shapes: however, Inkscape 1.0 introduces a W small correction. Last time, I please leave a comment if you Rectangle & Squares tool, Circles & mechanism for changing it… albeit said that the recent minor revision want to see more. Ellipses tool, Stars & Polygons tool, one that isn’t exactly user friendly. of Inkscape, version 1.0.1, hadn’t http://www.youtube.com/watch? 3D Box tool, Spiral tool fixed any of the issues that I’d v=lx5nRCu7AKk Primitive tools – for creating basic REORDERING TOOLS mentioned in recent articles. In fact objects: Bézier Curve tool, it has addressed one problem that I Now, back to the usual Freehand (Pencil) tool, Calligraphy The order of the tools is now described in part 100 of this series. programming, with a look at some (Pen) tool, Text tool defined by an XML file that is read In version 1.0, it was no longer of the changes and additions to Color tools – for working with when Inkscape starts up. You can possible to reverse a sub-path by Inkscape’s drawing tools that were colors and gradients: Gradient tool, override this file by creating an selecting a single node and using introduced in version 1.0: Mesh Gradient tool, Color Picker edited copy in your user config Path > Reverse. Instead, you had to (Eye Dropper) tool, Fill tool (Bucket directory. First you’ll need to find break the path apart, reverse the REORDERED Fill) the paths for the shared folder path in question, then combine all Other tools – miscellaneous tools (where the original file lives) and the paths again. Inkscape 1.0.1 Although no new tools have not included in the other sections: your user config directory. You can reinstates the previous behaviour. been added in 1.0, the existing Tweak tool, Spray tool, Eraser tool, find the latter, and hints to the In practice, this is a rarely used tools have been reordered within Connectors tool location of the former, by opening feature that really comes into its the toolbox on the left of the Canvas tools – for manipulating the the Inkscape preferences dialog own only when dealing with fill- screen, in order to group them canvas view: Zoom tool, (Edit > Preferences) and selecting rules and self-intersecting paths, as more logically. Thin dividers are Measurement tool the System panel. I detailed in part 95, but it’s nice to used between the groups, which see it fixed nevertheless. has the effect of providing a little These are my descriptions, structure to what was previously which vary from the terms used in The remaining issues described just an undifferentiated list. In the official release notes, but in part 100 – problems with theory this should make it easier which I think are more descriptive converting text to a path, and and faster to find the icon you’re and consistent. It’s easy to argue other issues with linked offsets – looking for, and that has certainly about the placement of some still remain in 1.0.1. As the been my experience. The tools are items, but generally I think the workarounds to these can be a grouped as follows: groupings mostly make sense, and little tricky to follow, I’ve made a Edit tools – for editing existing do move the less commonly used YouTube video that covers this objects: Select tool, Node tool icons towards the bottom of the topic in a more visual way. This is Shape tools – for creating and bar. If you don’t like the order, full circle magazine #163 21 contents ^ HOWTO - INKSCAPE developers have provided a handy Open a file manager, then “Open” button right next to the navigate to the path shown in the field. “Inkscape data” field. That may well be a directory that’s shared Create a “ui” folder in your user up menu at the bottom of the box. single off-axis segment, for with multiple programs, as is the config location, if one doesn’t By moving the tools around in this example – but any parts drawn case with the /usr/share value in already exist. Copy the “toolbar- configuration file, you can ensure under the influence of this control my . Use the search tool.ui” file into it, making sure that that less useful ones end up in the could be only horizontal or vertical. facility in your file manager to find you definitely copy rather than pop-up while those you use a file named “toolbar-tool.ui”, move the file. commonly are always just one click With 1.0, the layman’s term for starting from this root directory. In away. this button would now be the practice that will probably search Quit Inkscape if it’s still running, “draw perpendicular lines” mode. through far more files than you and open the newly copied file Here’s a quick bonus tip: there’s Now the segments are constrained need to, so you can make the using a . It’s a fairly flat also a “toolbar-commands.ui” file in by the first segment you draw: the search more efficient by being XML file which should be pretty the same directory which can be second segment will be slightly more targeted in your self-explanatory. To move tools used to re-order and hide entries in perpendicular to it (i.e. at a 90° choice of starting directory. That’s between groups simply re-order the main Inkscape toolbar. angle to the first segment), the why I’ve also highlighted the the lines in the file; to hide a tool third segment will be completely, wrap it in “