Table of Contents

From The Chief Editor's Desk

Mind Your Step: Vintage Computing on PCLinuxOS

A Very Bad Time For Android Apps? Or Just Cleaning Up The Mess?

PCLinuxOS Recipe Corner: Chicken Gloria Casserole

ms_meme's Nook: Sentimental Forum

Short Topix: Google Chrome To Start Blocking Downloads

GIMP Tutorial: Photo Editing Revisited

PCLinuxOS Family Member Spotlight: Tunnelrat

BASH Command Line Shortcuts

Racing Back To The Past: Horizon Chase Turbo On PCLinuxOS!

PCLinuxOS Bonus Recipe Corner: Bacon Pound Cake

ms_meme's Nook: When I'm Sixty-Five

PCLinuxOS Puzzled Partitions

Screenshot Showcase

From The Chief Editor's Desk

In and around 1918, the Spanish Flu pandemic hit the world. More people were killed by the Spanish Flu than were killed in World War I. In fact, many WWI scholars and researchers credit the end of WWI to the Spanish Flu pandemic, more so than the fighting and stagnant battle lines of the war.

Now, scarcely 100 years later, the world is staring down the barrel of another potential global pandemic. While the World Health Organization (WHO) has not yet (at the time of this article's writing) declared it to be a pandemic, the novel coronavirus-19 (COVID-19) is about as close to a global pandemic as you can get without an "official" pandemic being declared by health officials. You can visit the WHO's COVID-19 page here, as well as a special Q&A page they have created just for this virus.

The 20th Century ushered in an era of international travel that had been largely unavailable to the general population previously. With WWI, that made the spread of Spanish Flu easy. Troops who were fighting might return home, sometimes across a vast ocean, and unknowingly spread the illness to friends and family back home. Replacement troops would be sent to the front lines, sometimes unaware that they even had the illness, and spread it among their fellow soldiers and the general population of the towns they visited. It literally was a two way street when it came to the spread of the Spanish Flu. Today, international travel is rather routine, which makes the spread of a new virus exceptionally difficult to contain.

With COVID-19, its symptoms are rather vague. Its incubation period seems to range anywhere from one to 14 days, with five days being the most common. People can spread the virus via airborne droplets before they even start to show symptoms or even know themselves that they are sick. Symptoms include respiratory symptoms, fever, cough, shortness of breath and breathing difficulties. In more severe cases, infection can cause pneumonia, severe acute respiratory syndrome, kidney failure and even death.

I can tell you that as a healthcare professional, COVID-19 scares me like nothing else ever has during my 30-plus year career -- and I have dealt with a LOT of patients with nasty, nasty infections over that time. There's a lot of disinformation going around out there, like comparing the numbers of people who die from the seasonal flu every year to the number of people who have died (so far) from COVID-19. But there are a few telling pieces of information that are omitted from that comparison.

First, we are accustomed to dealing with the seasonal flu outbreaks each year, so we rather know what to expect and how to treat it. Second, we are very, very early in the COVID-19 outbreak, so of course the numbers are going to be lower for COVID-19 than for any sampling of the seasonal flu over the years. Third, and probably the most telling bit of information, is the mortality rate for each. The annual seasonal flu rate has a mortality rate of right around 0.1 percent. COVID-19 has a mortality rate of somewhere between one and two percent. That's 10 to 20 times higher mortality for COVID-19 than for the annual seasonal flu outbreaks. And I've seen more than my share of patients who succumb to the annual seasonal flu. I can't even imagine how much nastier COVID-19 will be.

Of course, the disinformation doesn't stop there. Coronaviruses are zoonotic, meaning they are transmitted between animals and people, and COVID-19 has never been seen in humans until now (hence the "other" name you often hear, novel coronavirus). Coronaviruses have also been identified as the source of SARS and MERS outbreaks in the past recent years. Initial reports out of China (the point of origin) points to either seafood sold in the open-air markets, or to a snake that is sold there for meat. But there has been plenty of speculation as to whether or not that report is accurate. It has been reported that China maintains a biological weapons lab in Wuhan, China, (THE "hot zone" for this outbreak) and some have speculated that COVID-19 "escaped" from that bioweapons lab. It's likely we'll never really know the true origin of COVID-19, principally because no one will know which version of which story to believe. The non-transparent nature of the Chinese government and society, coupled with the purposeful concealment of the truth by the state-run Chinese media (government) complicates the issue exponentially.

I'm not going to rehash everything you can do to prevent the spread of COVID-19, or what to do if you develop symptoms. There are better references than my monthly "welcome" column in The PCLinuxOS Magazine. What I can do, however, is provide you with some direction in your search for reliable, sound information. Knowledge is power, so you owe it to yourself, your loved ones, your friends, and those who must be around you out of necessity, to empower yourself.

Meanwhile, scientists around the world are working at a feverish rate (pardon the unintentional pun) to develop a sound treatment course, and to search for a possible vaccine. The Israelis have reported some of the best advancement in the search for the latter, having already spent years working with the coronavirus in their quest for a vaccine for an infectious form of viral bronchitis.

The impact from COVID-19 has permeated many far reaching aspects of society. People are hoarding and panic-buying disinfectant wipes and solutions, hand sanitizer, masks of all kinds, and just about anything else that they think may help them combat a possible COVID-19 infection. The major tech giants ... Twitter, Google, Facebook, and many more ... are canceling appearances at trade shows, asking workers to telecompute, and otherwise restricting travel for their employees in the wake of the outbreak.

One new website, created by TC Sottek, the executive editor of The Verge website, lists events that have been canceled due to the coronavirus outbreak. It's called, uniquely enough, isitcanceledyet.com. Some of the entries are humorous and tongue-in-cheek (and who couldn't use a little humor in this situation). To get a good feel for the significant impact that the COVID-19 outbreak is having on the tech community, check out this article on TechRepublic.

So, I've already linked to the WHO websites earlier in this article. But, to keep everything together, we'll relist them below with the other resources.

WHO Coronavirus

WHO COVID-19 Q&A

How does the new coronavirus compare with the flu? (LiveScience)

Has Covid-19 mutated into a more deadly strain? Busting the coronavirus myths (The Guardian)

Coronavirus Disease 2019 (COVID-19) (CDC)

Global Bio Defense: COVID-19 (USAMRIID)

I'm sure you can find other resources, but these should get you well on your way to finding the information you need to keep yourself safe.

Closer to home, we have PCLinuxOS members in China, including Archie, one of our forum's moderators. We wish each of them good health and safe passage through this growing world crisis.

Until next month, I bid you peace, happiness, serenity, prosperity ... and good health.

Mind Your Step: Vintage Computing on PCLinuxOS

by phorneker

Over the past few months, cybersecurity has been THE hot topic of discussion in media outlets covering technology and digital lifestyles worldwide. Frankly, I would like nothing better than to go a whole week without having to worry about cybercriminals stealing personal information and money. I am sure you will agree with me on that.

This month, I want to do something different. At the end of the last issue, I did an update on the Seeburg 1000 articles published some time ago.

YouTube has evolved into a streaming service. But then, it has always been a streaming service depending on how you use it. For example, you could stream a series of videos by simply creating and playing a playlist.

I find YouTube to be a useful tool for learning things, from the Dutch language to vintage tech.

What do TechMoan, the 8-Bit Guy, VWestlife, and LGR have in common? These are people who present forms of vintage technology on their YouTube channels.

My series on the Seeburg 1000 is one example of vintage technology brought to PCLinuxOS, and that is what I intend to do this month.

The repository contains a number of emulators that can be installed to emulate various vintage computers. The dosbox and dosemu packages alone can run applications designed for the IBM-PC/XT/AT and compatibles, which covers a wide range of computers built in the 1980s through the early 2000s.

The linapple package emulates the Apple II+, IIe, and IIc machines.

The vice package emulates the Commodore PET, 64, VIC-20, 128, Plus-4, and CBM2 (the last one having been sold mainly in the EU).

The beebem emulates the BBC Micro Model B, Model B+ and Master 128 machines built by Acorn.

If you are not familiar with Acorn Computers, this company was given the contract by the BBC to produce the BBC Micro series. This same company later on produced a line of RISC-OS machines (with the operating system distributed on ROM chipsets) as well as the microprocessors that powered them. The company today still makes microprocessors...the ones that now power the Raspberry PI kits as well as some smartphones built in the 2000s and early 2010s.

The hatari package emulates all of Atari's 16/32-bit machines from the original ST to the Falcon.

The fbzx package emulates various Sinclair ZX models.

The ep128emu package emulates the German made Enterprise 64/128 computer as well as the Sinclair ZX Spectrum 48/128 and the Amstrad CPC 464 computers.

If you really want to emulate the Amstrad machines, use the javacpc package instead. The javacpc package emulates the entire line of Amstrad machines of the 1980s, including the 464, the 664 and the 6128..

Linguistic note: The ZX in the Sinclair ZX is pronounced as "zed-ex", and not the letters "ZX".

I have discussed some of these machines this past year. Since then, new emulators have been added, some were updated, and some emulators are now accessible online rather than having to download and install emulators.

Recently, the Internet Archive made a large library of MS-DOS games available for playing on their website. These, of course, use dosbox configured as a web service. There is already an online arcade available with a similar MAME implementation, and the games available play the same way they did when they were in the arcades back in the day.

These emulators can run without having to create ROM images from the physical machines. This is important for legal reasons. The ROMS for the Sinclair and Amstrad machines have been freely and legally available for years. The same is true for the original Atari 800.
(The linapple package was developed without replicating the system ROMs.)

Unfortunately, the same cannot be said for the gaming console emulators. The ROM images for these machines are copyrighted material and in the US, you can be sued for copyright infringement if you download the ROM files (even if you actually own the machine.)

For what we have in the repository, there are enough emulators to implement vintage technology on PCLinuxOS. In addition, we also have VirtualBox and VMWare available for virtualization of x86 machines. Add that to what is available on the Internet Archive, almost anything is possible.

To some extent, I have covered the Atari ST series as well as the Amstrad machines in previous articles.

I have always been a fan of Atari computers, not so much as gaming machines, but as graphics machines. Programming graphics displays on the Atari has always been a breeze when compared to other popular home computers at that time.

Note: I am not talking about the IBM Personal Computer here. While the IBM-PC, XT, and AT were available, they were not commonly found in stores of that day, but instead in shops that specialized in business computers such as those that ran CP/M or were authorized IBM resellers.

Atari BASIC contains a boatload of commands that take advantage of the graphics capabilities of their 8-bit line of computers (including the 1200XL). Contrast that with the BASIC interpreter that came with the ever popular Commodore 64.

That machine came with Version 2.0 of Commodore BASIC, and to program graphics on that machine, you either needed to print strings with the graphics characters embedded in the strings, or you needed to program in 6502 assembly language (which also required knowledge of the memory maps of the Commodore machines to take advantage of the graphics capabilities). PETSCII is the variant of the ASCII character set that was found on Commodore machines starting with the PET Model 2001.

This limitation was circumvented by third party cartridges that supplemented the Commodore BASIC with graphics and sound commands with the extensions implemented on the cartridges.

Another way to overcome that limitation was to acquire a Commodore 128, which contains Version 7.0 of Commodore BASIC, which did take advantage of not only graphics and sound, but also facilitated some of the disk storage functions that were available to Commodore machines of that time.

Atari's 8-bit machines also had their own ASCII variant called ATASCII, which had graphics characters, which were rarely used since the Atari BASIC already took advantage of the 8-bit machine's graphics and sound capabilities.

VICE: Commodore History

The success of Commodore Business Machines was mainly due to the business decisions made by Jack Tramiel (with his last name pronounced as "tramel"). While the Apple II series, the Atari 800, the BBC Micro and Commodore PET/VIC-20/64 used variants of the 6502 chip, it was Commodore that purchased the manufacturer of the 6502 chips, namely MOS.

The reason for the purchase goes back to the days when Commodore was manufacturing calculators.

Texas Instruments manufactured the chips that went into the Commodore calculators. Wanting in on the success of the calculator market, TI raised the price of the chips to the point that almost put Commodore Business Machines out of business. By purchasing MOS (and acquiring the KIM computer that MOS had developed in the process), Commodore assured that the price of the chips needed to build the machines was well controlled.

This move allowed Commodore to manufacture the PET series, and later facilitated the popularity of the Commodore 64 by controlling the costs of manufacture to the point where the machines can sell as low as they did.

I was not a fan of Commodore machines until I watched 8-Bit Guy's videos about Commodore's line of computers and the history behind them.

The PET series was called the CBM series in Europe to avoid trademark infringement with Koninklijke Philips N.V. (translated to English as Royal Philips), which had a trademark with the name "PET" as part of one of that company's trademarks.

The Model 2001 had this for a keyboard. This layout looks and feels like a calculator, and that is because it is a remnant of Commodore's days of manufacturing calculators. (Try to make sense out of this one.)

To the immediate left of this keyboard was a built-in cassette recorder. The Tandy/Radio Shack's TRS-80 line of computers, the Apple II and II+, Timex/Sinclair machines, many MSX standard machines, the Amstrad line of 8-bit computers, the BBC Micro series (including the Acorn Electron), and even the IBM Model 5150 (PC), 5160 (XT), and PCjr had cassette ports that recorded to cassettes with analog audio signals.

8-Bit Commodore and Atari machines, however, recorded digital signals to cassettes so programs and their data could be reliable as cassettes can (and often do) wear out over time. Hence, Commodore and Atari produced their own cassette decks for their 8-bit machines.

The disk drives from these companies were built to similar standards for reliability of programs and data. These devices contained their own 6502 microprocessors that are dedicated to control of the disk heads when reading or writing to diskettes.

The same could not be said for the other lines of 8-bit computers as their disk controllers are part of the main system board.

Today, there are drive replacements for the 8-bit line of machines. These drives used the same SD/MMC cards found in today's phones, cameras, music players, etc. In fact, the Atari Flashback 9 series of retro gaming machines uses an SD card for expansion of its built-in game library (presuming that these games were properly licensed to begin with).

Later versions of the PET series contained a full keyboard that looks and feels like a real keyboard commonly found on terminals connected to mainframes of the day.

This series of computers were targeted for small business and education markets, and did rather well until their own Commodore 64 came into the market.

By that time, the education market started adopting the Macintosh platform. In the mid 1980s, the Macintosh LC (for Lower Cost) had the option of an Apple IIe on an expansion card that installed into the LC, making this a suitable option for educators who adopted the Apple II series line with a library of Apple II software.

Meanwhile the VIC-20 was introduced as a home computing option for those who are used to using the PET series of machines. A 22 column display with 23 rows of text and 3583 bytes of memory for Commodore BASIC 2.0 (the same version used in the Commodore 64) do not exactly make it comparable to the PET series (which had a 40x24 display for text on most PET models. The CBM2 had a proper 80 x 24 text display). In fact, this would create numerous (and rather obvious) issues with compatibility with PET software.

Thankfully, the Commodore 64 would solve that issue, by providing a machine that takes much of the same software as the PET while using the same disk drives, cassette decks, joysticks and printers as the VIC-20.

So, what machines does VICE emulate?

The vice package in the repository contains the emulator, a disk image utility, and a SID file player. In chronological order of Commodore releases, vice emulates:

The original PET series of machines

The VIC-20 home computer

The CBM2 sequel to the PET series

The ever popular Commodore 64

C-Plus 4 line of home computers

The Commodore 128

The C-Plus 4 line of machines had limited functionality. Think of it as a cross between a Commodore 64 and a VIC-20 with the system software being Commodore BASIC, the operating system, a word processor, a spreadsheet and a database all residing in the system ROM chips.

Of these machines, the Commodore 128 provides the most functionality in the vice package as the Commodore 128 itself was really three machines in one, namely the Commodore 128 itself, a Commodore 64, and a typical CP/M machine that also happens to read CP/M disks from Osborne and Kaypro machines of the day (when used with the 1571 floppy drive).

Installing the vice package from Synaptic places entries for each of the Commodore machines being emulated. On a real Commodore 128, typing "go 64" on the command line literally transforms the Commodore 128 into a Commodore 64, i.e. the features that are exclusive to the Commodore 128 would not be accessible when running the Commodore 128 as a Commodore 64.

It really makes no sense to use "go 64" when running VICE as a Commodore 128, when we can run VICE as a Commodore 64.

A real Commodore 128 is capable of booting CP/M from a floppy as the 1571 drive has the capability to autoboot from diskette, not unlike the floppies used on Apple II series, the Atari 8-bit and ST series, the Commodore Amiga series, the Macintosh and the x86 machines of that day. (The same could be said for the Commodore 64 as well, but on a real Commodore 64, you would need to plug in a cartridge containing a Z80 microprocessor, whereas a real Commodore 128 has a Z80 processor built in to the motherboard coexisting with a variant of the 65C02.)

Information and CP/M disk images for use with vice are available at https://www.cpm8680.com/cpmc64/.

Vintage Computing is more than just games

Much of the content on YouTube covering vintage computers emphasizes primarily on the games available for the machines. Most of you have used these machines to play a game or two at one time or another.

As for me, my primary interest for vintage computing is not so much for the games, but for the programming languages available for software development.

(After all, the games would not have come into existence if it were not for programming languages.)

If you had a computer in your home in the late 1970s through the 1980s, chances are there was a BASIC interpreter embedded in the system ROM that launched on system startup if there was no game (or application) cartridge plugged in or a disk in the (optional at the time) disk drive(s).

BASIC interpreters that came with home computers in the day were licensed by Microsoft. Incidentally, this is one of the very few products that Microsoft got right from the start.

Most home computers of that day licensed the BASIC interpreter from Microsoft. One notable exceptions was Apple's Integer BASIC which was developed entirely by Steve Wozniak. Applesoft BASIC was a dialect of Microsoft BASIC was developed specifically for the Apple II series (including the Apple II compatible machines manufactured by Franklin). A Z80 version of Applesoft BASIC was ported to the Coleco Adam. While this version was indeed Applesoft BASIC, there were a few differences.

Applesoft BASIC programs written for the Apple II series would run on the Coleco Adam if and only if no CALL, PEEK or POKE statements were used, i.e. no assembly language code had to be implemented as the Coleco Adam sported the Z80 processor instead of a 6502.

When it comes to licensing of Microsoft BASIC, Jack Tramiel purchased a BASIC license once, then used that license for all machines approach to Commodore BASIC. Here is a case of two titans butting heads with each other, in this case Jack Tramiel vs Bill Gates. You could imagine what happened there.

(The Commodore machines were an exception here. The PET and CBM2 series always started with the BASIC interpreter launched from ROM. The VIC-20, C64, C-Plus 16, and C128 launched BASIC from ROM if there was no application or game cartridge plugged into the machine. Additionally for the Commodore 128, if a disk was inserted into a 1571 floppy drive at the time the Commodore 128 was powered on, the disk will automatically load whatever software was on that disk, which is usually the first program found on the disk. This allowed CP/M to boot from the disk on the Commodore 128.)

BASIC was also an integral part of MS-DOS and PC-DOS through until version 5.0. This was known as GW-BASIC.

Today, we have Bywater BASIC available in the repository.

The BBC Micro series from Acorn Computers came with BBC Basic, which is what launches when you first launch beebem after installing from Synaptic. You can get BBC Basic as a standalone compiler. The page dedicated to this dialect of BASIC can be found at:

http://www.bbcbasic.co.uk/bbcbasic.html

There is a 64-bit Linux version of the language, and I have yet to test this product to see if it will work with PCLinuxOS. (This version uses the SDL2 library.)

However, you can install the Windows version on wine, run the DOS version in DOSBOX or a FreeDOS machine installed on VirtualBox.

FreeDOS comes with Bywater BASIC and FreeBASIC on their installation media. In addition, the operating system also comes with FreePascal, FASM, NASM, and the DJGPP development system, so this is well worth installing inside VirtualBox.

In terms of time under development, FreeDOS has been under development since 1994, or 26 years and it is still under development! Contrast that to MS-DOS, which really dates back to 1977 with the purchase of Seattle Computer System's QDOS for the Gazelle, and it has been under development until the release of Windows ME (the year 2000), or 23 years! PC-DOS existed from 1981 to 2003 when the last patches of PC-DOS 7.1 (aka PC-DOS 2000) were released. This was 22 years of which the past 8 of those years of PC-DOS were developed by IBM itself. The same could be said for OS/2, which support ended by IBM in 2005.

(Fortunately for the latter, Arca Noae brought OS/2 back in 2016 in the form of ArcaOS 5.x. It still runs DOS and Windows 3.x applications the way they always did on OS/2.)

This means that DOS has been an open source product longer than it has been a commercial product. The bottom line: If you are going to run DOS inside PCLinuxOS, the best way to do it is to use FreeDOS on VirtualBox.

(The second best way is to install FreeDOS inside DOSBOX. But that is a topic for another issue.)

What is wrong with BASIC?

Before one could purchase off the shelf applications such as Lotus 1-2-3 and WordPerfect from retail stores, computer manufacturers made the assumption that people would write their own programs.

The BASIC interpreter was a perfect product for home computers (at that time) as it provided an easy way for people to get their machines to do what they want. Computer manuals, even for the Commodore 64, included a tutorial on the BASIC language.

Contrast that with the manuals you get on today's laptop and desktop machines.

From a personal perspective, I am used to having software development tools installed on my laptops and desktops over the years. This is one reason why I like working with Linux, and PCLinuxOS in particular.

With the emulators available in the repository, I get to see what it was like to program for machines such as Atari ST series, Amstrad CPC 464, or even a Timex Sinclair 1000 (none of which I ever had access to back in the day).

For instance, on my hatari installation, I have Turbo C, HiSoft PASCAL, LISP and Pure PASCAL for programming languages.

If BASIC was a perfect product for home computers, what was wrong with BASIC?

The answer lies in how BASIC programs were written.

First, BASIC stands for Beginners All purpose Symbolic Instruction Code.

BASIC was developed in 1964 at Dartmouth College by John G Kemeny and Thomas E Kurtz (both now retired) with the initial goal of making computers accessible to all students, not just students of mathematics and various sciences.

Let us take the classic hello world example. 10 REM HELLO WORLD
20 PRINT "HELLO WORLD!"
30 END

This example when executed will always display:

HELLO WORLD

regardless of what computer it was running on back in the day, as long as it has a BASIC interpreter.

In the days when the first versions of BASIC were being developed, memory was a precious resource and conserving memory was the main concern for programmers in those days.

To contrast today's computers with those of that day, my laptop has 1,048,576 times the memory of the average mainframe built in the late 1960s and the early 1970s.

As a result, each keyword in BASIC is assigned a single byte code, and that byte is what gets stored in memory, and eventually stored to tapes (both paper and magnetic, including audio cassettes) and disks (from those large noisy platters housed in cabinets the size of a refrigerator to floppy disks which were available in 5.25 inch and 8 inch.

How many of you remember the eight inch floppy? The last time I saw a floppy drive that took an eight inch disk was on a Tandy/Radio Shack TRS-80 Model II.

These were magnetic disks housed in eight inch (square) plastic sleeves, and were commonly used on minicomputers such as the Altair 8080, the early Digital PDP series, and the IBM DisplayWriter (a dedicated word processing machine that was actually a computer that ran CP/M and the UCSD PASCAL P-Code system).

The BASIC interpreter had its own program editor, namely the command line itself. To keep track of where the program starts and where it ends, as well as to simply keep track of the logic behind BASIC programs, line numbers were required.

With today's BASIC interpreters and compilers such as FreeBASIC and GAMBAS, line numbers are optional but can be included to maintain backwards compatibility with coding styles of programmers as well as BASIC programs themselves.

I like this feature as this forces BASIC programs to be structured rather than loosely coded to ensure quality control of the programs.

Let us look at the example again:

10 REM HELLO WORLD
20 PRINT "HELLO WORLD!"
30 END

If we were to insert a line of code inside the program, we would have to use a line number that has not already been used in the program. As BASIC was developed before the existence of full screen editors such as vi and emacs (the very first version of BASIC was developed in 1964, or four years before the first UNIX operating system was developed!), the BASIC interpreter relied on line numbers to determine where to place the BASIC line in the program.

Contrast that with today's BASIC compilers, which do not require line numbers as they compile BASIC code to native code for whatever processor we are developing the BASIC application for (in the case of PCLinuxOS, that would be 64-bit x86 machine code when using Gambas).

The real problem with BASIC is what happens when we design large projects, such as a word processor (I have done this on an Apple IIe in Applesoft BASIC), or a computer game.

The idea behind structured programming (I have discussed this in my Ruby Programming Language series) is to ensure that algorithms are properly designed, that is, each algorithm (be it a function or procedure) contains one entry point and one exit point for program flow, and that all parameters passed to and returned from the algorithm are accounted for.

The Pascal language was developed primarily for the teaching of good programming practices. Variables used in Pascal programs can be global, i.e. accessible to all procedures and functions within the entire program, or local, i.e. variables that are local to a single function or procedure.

In BASIC, all variables are global, and the data types are either numeric, or are character strings, the latter being suffixed with a "$" at the end of the variable. Unless you carefully document these variables, this can cause numerous problems when diagnosing problems with the BASIC program, such as what happens when you reuse the name of a variable.

Some dialects of BASIC restrict the number of characters a variable name can have, making programming more likely to be error prone.

The other problem with BASIC is also memory related. If you attempt to create a structured program in a BASIC on a machine with low available memory (such as a Commodore VIC-20, which has only 3583 bytes of available memory), you will find that you have to take very risky shortcuts in programming code in order to get the program to work on such machines.

As a result, programs must use the CHAIN or similar command to load parts of the program when needed, and reload the main program when that part of the program is finished, or (worse) use the infamous GOTO statement, which has been known to create a type of code called spaghetti code.

When you eat spaghetti for dinner, notice how the pasta is typically laid out. All strung out requiring the spinning of a fork to get the spaghetti into a form you can cleanly consume. Spaghetti code is what you get when you trace the flow of a program that contains numerous GOTO statements, resulting in a hard to debug program when errors creep up in the program's execution.

As a result, you end up spending more time diagnosing and debugging a program laden with GOTO statements. This is not very productive, and is usually a result of a poorly designed program.

Thankfully, BASIC has been deprecated in the late 1980s by the popularity of the C language.

IMO, the only acceptable use for the GOTO statement is in assembly language, where structured programming techniques are really not possible (or even appropriate) when working directly with a microprocessor.

BBC Basic takes programming one step further by embedding assembly language into sections of BASIC code. This only applies to the BBC Micro series of machines, and is not part of the stand alone compilers available for Linux, Windows and Mac OS-X (because there is no need to embed assembly code for modern computers).

Other Languages for Vintage Computing

Besides assembly language and BASIC, typical languages available for machines of that day are FORTRAN, Pascal, LISP and FORTH, the last one still in use for embedded systems programming (and is what the bootloader in FreeBSD was written in).

Other languages such as ALGOL, PL/I, JCL, JOSS and APL were specific to minicomputers and mainframes of that day.

Of interest is PL/I, which is slowly regaining popularity as a programming language for Internet applications because of its strong variable typing and the need for security in such applications.

There is a PL/I extension for the GNU Compiler Collection in the works, but its status is unknown at this time.

Why Vintage Computing on PCLinuxOS?

So, why emulate these machines on PCLinuxOS?

The answer lies in the following factors:

Availability of vintage machines

Availability of peripherals

Availability of cabling

Overall cost of operation of vintage equipment

In short, collecting and restoring vintage computers is for you only if you have the time, patience and enough money to acquire the necessary hardware and accessories to get these machines working...and that is if you can find the necessary hardware and accessories in the first place.

Even if it were possible, there would have to be a way to connect these machines to either the Internet, or your local PCLinuxOS machine.

In the case of the Atari ST series, simply connect an external floppy drive to your PCLinuxOS machine and copy disk images to a 720KB floppy as the Atari ST series will read and write to 720KB FAT diskettes. The same could be said for vintage x86 machines equipped with floppy drives.

The availability of emulators in the PCLinuxOS repository should be sufficient to allow us to see what it was like to program for and use vintage computers, or better yet, relive the memories of having used those vintage computers.

I have looked at prices of vintage computers on e-Bay. When you add up the cost of what is available to get these machines working, it is cheaper in the long run to install the equivalent emulators from Synaptic, and you will get the experience of using these vintage computers (as well as programming for these machines as well).

Vintage Printers for your PCLinuxOS machine

The experience of owning a vintage computer is one thing. Owning a vintage printer, however, is another.

Remember the days when you heard the noise of the dot-matrix printer, printing your text line by line. There is a reason why older printers do not appear for sale very often online. With vintage printers, while they are universally supported in one way or another by PCLinuxOS, what makes vintage printers a deal maker or a deal breaker is the availability of supplies for that printer.

For example, when was the last time you saw fanfold printer paper for sale? Today's printers print by the page rather than by the line, hence the need for fanfold paper is very much nonexistent, unless you can find a reliable source online.

Epson's ActionPrinter series were dot-matrix printers that happen to be page oriented as they were designed to be low cost alternatives to laser printers.

For many vintage printers, connecting these to your PCLinuxOS machine will involve the use of a USB to Parallel Port adapter, or a USB to Serial adapter depending on which ports the printer has, unless your machine has a parallel and/or serial port, either on the machine itself, or on a docking station.

In the case of my laptop, there is a docking station available that happens to have parallel and serial ports in addition to two USB 2.0 ports.

Alternatively, if that vintage printer connects to a network, it is possible to connect the printer to PCLinuxOS through a network connection at Port 9100 (the port used by HP's JetDirect print server).

Even if you do get that vintage printer connected and working, the next thing you need to worry about is getting a source for ribbon, ink or toner. It makes no sense to purchase a vintage printer if you cannot purchase supplies for that printer.

Then there is the issue of paper. Daisy wheel printers (remember those) were designed to take either fanfold paper or sheet paper. The issue here is that not all programs printing to these printers do not necessarily know whether you are using fanfold paper or sheet fed paper.

Even if you configure one of these printers under CUPS, fanfold paper is generally assumed to be loaded into such printers. Also, the USB to Parallel and USB to Serial adapters do not inform CUPS that the printer is out of paper, because vintage printers in general do not have the capability to inform the host machine of that status.

With many of today's low cost printers being able to work under PCLinuxOS, is there really any reason to use a vintage printer with PCLinuxOS?

Nostalgia, perhaps? But only if the cost is worth it!

A Very Bad Time For Android Apps? Or Just Cleaning Up The Mess?

by Paul Arnote (parnote)

Yes, I know this is a magazine dedicated to Linux, and more specifically PCLinuxOS. As such, the state of the Google Play Store isn't of much direct concern for PCLinuxOS users when it comes to running or using their PCLinuxOS installation.

BUT ... Android does use the Linux kernel as the core component of its OS. I suspect that a lot of PCLinuxOS users use Android because of this, over the closed-source and limited ecosystem that is iOS. I suspect that PCLinuxOS users use phones and tablets running Android to fulfill their mobile computing needs. Supporting a mobile platform that uses the Linux kernel as its core component would be a natural extension of one's support for Linux.

We'll also discount, for the time being, the enormous amount of hatred for Google, especially among users of Linux and other open source software. Google is the force that drives Android, so there are bound to be a lot of people who shun Android because of its inextricable relationship with Google. It's hard to blame anyone going to such lengths to disassociate themselves with all things Google. The search engine behemoth has brought it upon themselves through their missteps, past, present and ongoing.

Since the first of the year, there have been multiple reports of Android malware and adware being removed from the Google Play Store. The real question is whether the Google Play Store has become the wild, wild west, or if Google is following through on their stated goal of cleaning out "bad actors" from the play store, or a combination of the two.

To kick things off, Google is cracking down on apps that track your location, according to an article on The Verge. Google is examining apps and disallowing location tracking if that tracking doesn't affect the core functionality of the apps. Google has even vowed to follow that edict, even when it comes to its own apps. So, it is not just cracking down on third party developers, but also following the new rules itself.

After all, do you really need your sound recorder app to have location tracking ability? Do you really need your latest waste/pass your time away game to track your location? I think not, in either case. There are a LOT of apps that have location tracking enabled that do not require it to fulfill its core functionality.

In the December 2019 issue of The PCLinuxOS Magazine, we told you about Google forming the App Defense Alliance. A few months in, though, the cybersecurity firm Check Point points out that "the improvements aren't what we hoped they would be." Through their research, Check Point has discovered two threats actively hiding in the Play Store: Joker and Haken, according to an article on Forbes.

Joker detects from what country a user is using the infected software, and then subscribes the user to premium services, without the user even knowing. The malware was reported on by Forbes back in September 2019, and at that time, it had infected over 500,000 devices. Check Point states that Joker-infested apps are still finding their way into the play store, circumventing Google's defenses.

Here's the real problem, though. Users can "uninstall" Joker-infected apps, but doing so does not remove the premium subscriptions. It is up to the end user to go in and manually remove those subscriptions that the Joker-infected app signed the user up for.

The Joker-infested apps reported by Check Point are: com.app.reyflow.phote, com.race.mely.wpaper, com.landscape.camera.plus, and com.vailsmsplus.

Meanwhile, the Haken malware is a clicker. Those types of malware mimic a user clicking on an ad to get illicit ad revenues. They also tend to keep running in the background, long after a user has closed out the app ... or thinks they have closed it out. They typically continue to serve up ads and mimicking user clicks in the background. Clicker malware also tends to serve up an excessive amount of ads, so that might be one of your clues that you have clicker malware installed on your mobile device.

The Haken-infested apps reported by Check Point are: com.faber.kids.coloring, com.haken.compass, com.haken.qrcode, com.vimotech.fruits.coloring.book, com.vimotech.soccer.coloring.book, mobi.game.fruit.jump.tower, mobi.game.ball.number.shooter, and com.vimotech.inongdan.

You can read the entire Click Point report here, where it goes into a very deep explanation of how these malware exploits work.

Google is also cracking down on what it terms "disruptive" ads according to news reported on BuzzFeed. Disruptive ads are defined in Google's ad policy as ads that originate from an app when that app is not currently in use.

In a security blog post, Google's Per Bjorke said, "This is an invasive maneuver that results in poor user experiences that often disrupt key device functions and this approach can lead to unintentional ad clicks that waste advertiser spend. For example, imagine being unexpectedly served a full-screen ad when you attempt to make a phone call, unlock your phone, or while using your favorite map app's turn-by-turn navigation."

As a result, Google has removed approximately 600 apps from the play store and banned their developers for ad fraud and violating the disruptive ad policy. Although Google declined to name specific apps, most of the apps were written by developers from China, Hong Kong, Singapore and India. The nearly 600 apps target English-speaking users, and have been installed more than 4.5 billion times.

Summary

It appears that the Google Play Store cleanup is fully underway. Google is using AI methods to search for malware signatures in apps submitted for the play store. Coupled with their App Defense Alliance, the hope is to be able to clean up the app store, and prevent malware from ever appearing in the play store in the first place by subjecting new apps to rigorous scrutiny.

All we can say is ... it's about time!

PCLinuxOS Recipe Corner: Chicken Gloria Casserole

Chicken Gloria Casserole
Low Carbohydrate 11g

INGREDIENTS:

3 skinless boneless chicken breasts, trimmed and cut in half lengthwise
1/3 cup all-purpose flour
3 tablespoons vegetable oil
2 tablespoons butter
1 container (8 oz) sliced fresh mushrooms
1/2 cup cream sherry wine
1 can (18 oz) creamy mushroom soup
6 slices Muenster cheese
3 tablespoons chopped fresh parsley
Salt and Pepper to taste

DIRECTIONS:

Heat oven to 350 degrees F.

Sprinkle both sides of the chicken with salt and pepper. Spoon flour into a shallow dish or pie plate. Coat both sides of chicken with flour; shake off excess.

In a 12-inch skillet, heat oil over medium heat. Brown chicken on both sides. (You don't need to cook the chicken completely because it will finish cooking in the oven.) Transfer chicken to a 13x9-inch (3-quart) glass baking dish.

Place butter in the same skillet; let melt over medium-high heat. Add mushrooms; sprinkle with salt and pepper. Cook and stir mushrooms until golden brown. Stir in sherry; cook and stir for an additional 1 to 2 minutes. Stir in soup; mix well. Cook until thoroughly heated.

Pour mushroom sauce over chicken; top each piece of chicken with one slice cheese. Fold cheese in half if it is too wide for a chicken piece.
,br> Cover dish with foil; bake for 30 minutes. After 30 minutes, turn the oven to broil setting. Remove foil from dish; broil 1 to 2 minutes to brown the cheese. Remove from the oven; set aside to cool slightly.

Top with parsley.

TIPS:

This dish goes well with rice or noodles because there is usually extra sauce in the baking pan.

The recipe can easily be doubled to feed a crowd.

ms_meme's Nook: Sentimental Forum

OGG                                                             MP3

Short Topix: Google Chrome To Start Blocking Downloads

by Paul Arnote (parnote)

WireGuard's Linux Kernel Support Likely To Change VPNs Forever

It's a fact: virtually all VPN servers run Linux. But coming as soon as the Linux kernel 5.6.x, Linux users should see full support for WireGuard. It's code, which is released under GPL 2.0, is a mere 4,000 lines ... versus the more than 100,000 lines of code that make up OpenVPN. From a security standpoint, one person can look over and comprehend its use and security, while a whole team of security experts would be hard pressed to make sense of the OpenVPN code base.

One of WireGuard's biggest fans happens to be Linus Torvalds. Via the Linux kernel maintainers mailing list, Linus said, "Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn't perfect, but I've skimmed it, and compared to the horrors that are OpenVPN and IPSec, it's a work of art."

WireGuard's code is already available on Android, Windows, macOS, BSD Unix, and iOS. While being even simpler and more svelte, WireGuard still incorporates state-of-the-art cryptography technologies, such as such as the Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, and HKD. An academic study has already shown WireGuard to be secure.

Created in 2015, its creator, Jason Donenfeld, is still working out a few rough edges with the code. According to the WireGuard site, "some parts of WireGuard are working toward a stable 1.0 release, while others are already there."

It's expected that WireGuard will be ready for prime time sometime this spring, quickly followed by VPN providers offering WireGuard-based VPN connections to end users soon thereafter.

Intel Clear Linux Distro Outperforms Win10, Ubuntu ... On AMD Hardware

Did you know that Intel has its own Linux distro, tailored to best perform on Intel hardware? No? Well, me neither. It's called the Intel Clear Linux Project.

Here's a real kicker: it outperforms both Windows 10 Home and Ubuntu ... on cheap, budget priced AMD hardware. In benchmark testing performed by Phoronix, Clear Linux outperformed Fedora Workstation 31, the upcoming Ubuntu 20.04, and Windows 10 Home in 78% of the benchmarks on an inexpensive Motile M141 laptop that sells for $199 (U.S.) at Walmart (currently selling for $249 on the Walmart website at the time of this article). The laptop sports an inexpensive AMD Ryzen 3 3200U processor, built-in AMD Vega 3 graphics, with 4GB of RAM.

According to an article from Forbes, Clear Linux is a rolling distro. It captured top honors in every category "from audio + video encoding to OpenGL and graphics benchmarks, to Python and workstation visualization applications." The article goes on to list some of the nice qualities of Clear Linux. "It has built-in Flatpak support, a clean installer, delta-based updates (only the updated bits of a package are downloaded as opposed to an entirely new version), useful software bundles, and rolling release model."

What's most amazing is that this performance superiority came on a cheap computer running an AMD processor! You can read the entire Phoronix article here.

Google Chrome To Start Blocking Downloads

Starting with Chrome 83, Google Chrome will block the download of certain types of files. Starting with Chrome 82, users will get warnings when attempting to download certain types of files, according to an article on Lifehacker.

Yep. Good ol' trustworthy [cough] Google Chrome is doing its level best [cough cough] to keep you safe [cough cough cough]. In October, 2019, Google announced that it was planning to address mixed content on HTTPS pages, where there is HTTP content.

So which "certain" file types will be blocked? Well, this graphic from Google should answer that question ... and probably alarm you, at the same time.

Of course, once you block all of that content, there won't be much left to view on the web. But never fear. These are the file types that will be blocked from HTTP content appearing on HTTPS web pages, or that "mixed content" that Google refers to.

The Android and iOS versions of the Chrome browser will follow one release cycle later than on the desktop.

Of course, there is no replacement/solution for the PEBKAC (Problem Exists Between Keyboard And Chair) problem. You will still have to be careful to not visit unsecure websites, and take measures to ensure that the content you download is safe and secure.

Browser Extension Blocks Websites For Firefox, Google Chrome

There's a new browser extension that will allow you to block certain/select websites from displaying on your computer, unless you enter a master password to override the restriction.

Block Site (two words, so as to not be confused with another extension with the same name but one word) is available for Firefox and Google Chrome. With it, you can enter individual website addresses (e.g., www.mywebsite.com), or load them in from a text file. If choosing the latter, you put a web address you want to block on each line, and then load them into Block Site all at once by pointing it to your text file.

Fortunately, Block Site allows the use of wildcards. Just entering "www.facebook.com" will not block any subdomains, allowing for the block to be easily circumvented. But, entering *.facebook.com will completely block access to all of Facebook. You can also use wildcards like this: *://*facebook*/* and *://*/*facebook* . The first one blocks any domain that has facebook in its name, while the second one blocks all queries with the word facebook.

Once you add a website (or websites), click on the "Save" button in the extension, and the site(s) will be blocked starting immediately.

I'm a bit unsure, though, what happens when you launch Firefox via the command line with the option to start without loading any of the extensions (firefox --safe-mode). Fortunately, this probable eventuality was thought of by the developers. Here's the answer to that question from the Block Site FAQ:

How can I prevent this extension from being removed or disabled from the Firefox browser?

Create a policies.json file with the following content. This file sits in a directory called distribution within the Firefox installation directory. You can use it to control how users have access to the browser features. For more info visit github.com/mozilla/policy-templates.

{
  "policies": {
    "Extensions": {
      "Locked":  ["{54e2eb33-18eb-46ad-a4e4-1329c29f6e17}"]
    }
  }
}

Of course, any blocked website can be accessed by entering the master password to override the block applied by Block Site.

If you have multiple computers and want to use the same block list for every computer, you can setup one computer, and then export the blocked site list to a USB flash drive, and then load that list into every other computer you want to use it on.

This is probably not the best choice for parental controls, as it is not a net filter. Rather, it merely blocks access to sites you don't want people who might be using your computer going to.

War On IPTV Heats Up

Back in the January 2020 issue of The PCLinuxOS Magazine, we ran an article about IPTV (Internet Protocol TV) being a possible low-cost alternative for cord cutters wanting to free themselves from their monthly cable TV bills.

Well ... less than two months later, news is coming out that the "war" on IPTV is heating up. According to an article on the Cord Cutters News, the Alliance for Creativity and Entertainment (ACE) have been targeting companies that make IPTV possible.

ACE members include Amazon, AMC Networks, BBC Worldwide, Bell Canada and Bell Media, Canal+ Group, CBS Corporation, Channel 5, Charter Communications, Comcast, Constantin Film, Discovery, Foxtel, Fox Corporation, Grupo Globo, HBO, Hulu, Lionsgate, Metro-Goldwyn-Mayer (MGM), Millennium Media, NBC Universal, Netflix, Paramount Pictures, SF Studios, Sky, Sony Pictures Entertainment, Star India, Studio Babelsberg, STX Entertainment, Telefe, Telemundo, Televisa, Univision Communications Inc., Viacom Inc., Village Roadshow, Walt Disney Studios Motion Pictures, and Warner Bros. Entertainment Inc. ... basically a who's who in the entertainment industry.

In the past, ACE has successfully shut down a growing number of IPTV services, and is now targeting Clipwatching and Fembed. ACE is arguing that the two companies host pirate services, making it possible for them to run. ACE has filed a motion in the U.S. courts to force Cloudflare to "hand over the personal information of the associated account holders. If ACE wins, Cloudflare will be forced to hand over the billing and contact information for the accounts linked to Clipwatching and Fembed."

Leave it to the entertainment industry to fight to preserve their old-school marketing tactics, instead of providing what end-users want in a format that fits into the end user's lifestyle, leveraging the long arm of the courts to try and get their way.

Google Asks Samsung To Stop Messing With Linux Kernel On Android Devices

Google has asked Samsung to stop messing with the Linux kernel that powers all Android devices, according to an article on ZDNet. Typically done to help improve hardware support and to provide better security, the downstream additions more often than not introduce other security bugs that were not present when the upstream maintainers released the kernel code.

Samsung, while not alone among vendors of Android devices, is probably one of the largest profile vendors guilty of tinkering with the Linux kernel code. This is exactly the issue when researchers examined the Samsung Galaxy A50 (pictured above).

In a real "stay in your lane, bro" fashion, Google is asking Android hardware vendors to stop tinkering with the Linux kernel that Android is built upon. Despite the vendors' best intentions to improve security or support hardware, most often additional security vulnerabilities are introduced with the modifications.

To help mitigate the security vulnerability nightmare, Google is suggesting that "handset makers use direct hardware access features already supported in Linux, rather than customizing Linux kernel code."

One Of The World's Smallest Nuclear Power Plants OK'd For Idaho

One of the world's smallest nuclear power plants has just received regulatory approval to start construction in Idaho, according to an article in Popular Mechanics. This nuclear power plant design is expected to help reduce nuclear waste products, since it uses that nuclear waste to generate power.

Sitting in the countryside, the 1.5 megawatt power plant occupies no more room than a typical A-frame house. It will be able to power 1,000 homes, while running for 20 years nearly autonomously.

The advantages are huge with this small-scale nuclear power plant. First, because it uses nuclear waste as a fuel, it helps decrease the amount of nuclear waste that has to be disposed of. Second, because of its small size, it can be placed in areas previously unavailable, and they can be clustered closer to the electricity consumers.

Designed by Oklo, the smaller plant is expected to be significantly cheaper to build. Being a nuclear power plant, it's emission-free and relatively clean for the environment.

If you want to read more about Oklo's new vision for small nuclear power plants, Grist did a much larger writeup about the new pint-sized electric plants.

Gmail's Best New Feature Coming Soon To Google Docs

Gmail's best new feature should soon be showing up in Google Docs over the next few weeks.

Back in May, 2018, Google introduced Smart Compose for Gmail, which is called predictive text. Smart compose analyzes the email you are writing, and based on the recipient, the subject line, and the context of your message, and presents what it thinks you're going to say as light gray text. To accept the predictive text as presented, just tap on either the tab key or the right arrow cursor key on your keyboard.

As with most new features that are introduced, they will be rolled out first to G Suite users first, before being migrated over to "non G Suite" users. Still, you should expect to see the new feature within the next few to several weeks.

Just like with autocorrect, the predictive typing feature (which I've personally used some on Gmail) isn't perfect. But then again, all you have to do if you don't like the suggestion(s) of the predictive typing feature is to keep typing what you do mean/want to say. Unless and until you tap either the Tab or right cursor arrow key, that light gray text remains just a suggestion. And, just as with the autocorrect feature, predictive typing can be turned off under Tools > Preferences in Google Docs.

Genius Device Generates Electricity Out Of Thin Air

In news that's somewhat reminiscent of Nikola Tesla's attempts to generate electricity and transmit it wirelessly around the world, a group of scientists have successfully developed a new technology that literally generates electricity out of thin air, according to an article on Science Alert.

I'll try the best I can to boil the technobabble down to something understandable. A bacterium, discovered years ago in sediment along the shores of the Potomac River, has the ability to produce magnetite in the absence of oxygen, as well as bacterial nanowires that are capable of conducting electricity. The bacterium is called Geobacter sulfurreducens.

Exploring possible uses for the bacterial nanowires, researchers have created a device that they call Air-Gen. The device can literally create clean electricity out of thin air.

From the article:

The Air-gen consists of a thin film of the protein nanowires measuring just 7 micrometres thick, positioned between two electrodes, but also exposed to the air.

Because of that exposure, the nanowire film is able to adsorb water vapour that exists in the atmosphere, enabling the device to generate a continuous electrical current conducted between the two electrodes.

The team says the charge is likely created by a moisture gradient that creates a diffusion of protons in the nanowire material.

Air-gen produces a sustained voltage of around 0.5 volts, with a current density of about 17 microamperes per square centimetre. That's not much energy, but the team says that connecting multiple devices could generate enough power to charge small devices like smartphones and other personal electronics -- all with no waste, and using nothing but ambient humidity (even in regions as dry as the Sahara Desert).

The goal is to scale the system up, and to possibly power homes with the nanowires incorporated into the paint on the walls.

GIMP Tutorial: Photo Editing Revisited

by Meemaw

I recently found another tutorial about photo editing which has some tips we know, plus some we don't, so I thought I'd share it.

We always want the photos we take to look their best, so here are more tips.

Straighten the Horizon

Sometimes we shoot a photo “askew” for artistic reasons, but most of the time we need it to be level. Unless you have the uncanny ability to shoot everything level automatically, it's going to be off. Luckily, it's easy to fix. I actually did another tip for this in an earlier article, but this method works better. This barn photo was taken on one of my trips to Colorado, USA. The horizon isn't off much, but it will look better when it's straightened.

Select the Measure Tool from the Toolbox. Click on a point on the horizon in your image, drag your mouse along the horizon line, then release the mouse button. Now, under Tool Options, set Clipping to Crop to result, then click Straighten. You will see the photo turn so the horizon is straight, plus crop a bit of the outside to compensate for the rotation.

If it looks better to you, finish the job going to Image > Crop to Content to remove any blank areas around the corners of the canvas. If not, click Edit > Undo and try again.

Cropping Photos in GIMP

We've done cropping before, but some of the tool options should probably be explored.

Select the Crop tool (Shift + C). Now click and drag inside the image to draw the outline of your new crop. You can hold the Shift key to maintain the photo's original aspect ratio, but if the tool is set to retain the aspect ratio, you're good.

Just like the Rectangle Select tool, you can hold your mouse in the corners or edges of the frame and then drag in or out to correct. You can also click in the middle of the frame and drag to reposition the cropped area. Hit Enter to apply.

You should also experiment with the composition guides in the Tool options. This enables you to overlay several grids (including the rule of thirds grid) to aid with your crop.

Improve Exposure

If your photo is too light or dark, or contains highlights where the brightest parts of the frame are rendered as pure white with no detail, you need to fix the exposure. I have a photo that's too dark.

Go to Colors > Exposure. In the dialog box that opens, drag the Black level slider to the right to darken the blacks in your image. Drag the Exposure slider right to brighten the image, and left to darken it.

Make sure Preview is checked to show the real-time effect of your changes, and select Split view to see the before and after effects in the same image. When you're satisfied, click OK to apply the change. The black level slider gave me a result I didn't like, so I moved it back to zero. However, the exposure slider, moved right, made a change I thought was good. The right side is the original, and the left side is the changed photo.

If you're working with JPEG files, you should be careful with the exposure tweaks, because you can risk introducing noise or otherwise degrading the image.

Resizing Images

The last job in editing your photos is to resize them correctly. If you know how big you want to make your photo, click on Image > Scale Image, then under Image Size enter a new width for your image, in pixels. Interpolation is usually set to Cubic (I think it's the default), which is the slowest but also the best quality.

Ideally, you should only ever make your images smaller. If you do need to make any of them bigger, you should do it in increments of 10 percent, and inspect the result carefully before doing another 10 percent.

If you want to resize your photos to print them, you can use Image > Print Size instead. This window will let you set the size you plan to print your photo.

One tower of Bishop Castle, in South Central Colorado, USA

Hopefully, you have gotten a few more tips on making your photos look their best!

PCLinuxOS Family Member Spotlight: Tunnelrat

What is your name/username?
Matthew, a.k.a. Tunnelrat.

How old are you?
52.

Are you married, single?
Married, 15 years.

How about Kids, Grandkids (names and ages)?
No kids, so obviously no grandkids.

Do you have pets, what is your favorite?
No pets, but I LOVE guinea pigs!

Are you retired, still working and if working, what do you do?
Still working for my home state's government.

Where do you call home? What is it like? IE: weather, scenery
Ohio - right now, it's purdy cold! Lived here my whole life, it's pretty good for the most part, although the four seasons are getting more disproportionate as time progresses. Seems like Spring/Fall are very short, it goes from Winter to Summer almost immediately.

Where did you go to school and what is your education level?
I went to school in the Cleveland area - I just have a HS Diploma and I'm A+ Certified. While I went to college, I didn't graduate.

What kind of things do you like doing? hobbies, travel, fishing, camping?
LOVE to read, play computer games (no consoles for me, thank you!) and walk. I like checking out the occasional movie as well.

Why and when did you start using Linux?
I started using Linux a few years ago. I have an aging PC (I'll get to that in a later question) that just isn't quite buff enough for Windows 10; knowing that 7 wouldn't be supported for eternity (and frustrated with M$ anyhow) I opted to give Linux a shot.

What specific equipment do currently use with PCLinuxOS?
I have the first quad-core processor made by Intel (Core2-Quad, Q6600). It's part of an HP system (https://support.hp.com/us-en/document/c01175536 for the OOTB specs). I've upgraded the RAM from 3GB to 8, and the video card is an NVidia GTX 960 (2GB VRAM). It's got a blu-ray burner as well as a DVD reader.

Do you feel that your use of Linux influences the reactions you receive from your computer peers or family? If so, how?
Not particularly. I provide IT support for a friend at church who runs a hair/tanning salon, but it's out of her house and pretty easy to work with. She had an old PC that I threw Linux on a few years ago, but they almost never use it from what she told me. She uses her little netbook and her cell phone exclusively. She loves the fact that I know it, but that's about as far as it goes.

What would you like to see happen within PCLinuxOS that would make it a better place. What are your feelings?
Honestly, I think things are going swimmingly as they are! One of the best communities I've seen, and I LOVE the magazine you put out. It's a great place to be, and I've learned a bit more about how Linux works just by using the distro!

PCLinuxOS Family Member Spotlight is an exclusive, monthly column by YouCanToo, featuring PCLinuxOS forum member. This column will allow "the rest of us" to get to know our forum family members better, and will give those featured an opportunity to share their PCLinuxOS story with the rest of the world.

If you would like to be featured in PCLinuxOS Family Member Spotlight, please send a private message to youcantoo, parnote or Meemaw in the PCLinuxOS forum expressing your interest.

BASH Command Line Shortcuts

by Paul Arnote (parnote)

Many users of today's Linux are happy using Linux via the various graphical user interfaces that are available, such as KDE, Mate, Xfce, LXDE/LXQt, Trinity, Openbox, Enlightenment, Gnome, Fluxbox, etc. Yet, there are many who go on to learn to use the Linux command line. Those users usually discover that the command line is not as hard as they feared, can wield a lot of power, and can often accomplish tasks a lot faster than can be done via a graphical program.

Eventually, even the most ardent GUI user will find himself or herself needing to use the command line. Knowing a bit about the command line will help in those situations. Knowing some shortcuts will make that command line excursion a bit faster.

So, let's take a look at some common command line shortcuts. We'll put them into sections, both to keep similarly functioning commands grouped together, and to help you find them later, should you ever need to reference them.

Screen Control

Crtl + L will clear the screen. You can also clear a terminal screen by simply typing clear and pressing the Enter key.

Ctrl + S will pause command output to the screen. This is especially useful when you have a command that produces verbose output, but you don't necessarily want to read all of that output.

Ctrl + Q will resume command output to the screen that was previously paused by the Ctrl + S shortcut.

Command Line Navigation & Editing

Learning the shortcuts for navigating and editing the command line are a huge time saver. There are quite a few, but it is worth learning at least the ones you use a lot. Instead of trying to learn them all at once, you might want to start with learning the navigation shortcuts, and then add in learning the editing shortcuts after you gain proficiency with the navigation shortcuts.

Ctrl + a or Home will move the cursor to the start of the line.

Ctrl + e or End will move the cursor to the end of the line.

Ctrl + b or Left Arrow will move the cursor back one character at a time.

Ctrl + f or Right Arrow will move the cursor forward one character at a time.

Ctrl + Left Arrow or Alt + b or Esc then b will move cursor back one word at a time.

Ctrl + Right Arrow or Alt + c or Esc then f will move cursor forward one word at a time.

Ctrl + k will delete from the current cursor position to the end of the command line.

Ctrl + u will delete from the current cursor position to the start of the command line.

Ctrl + w will delete from the current cursor position to the start of the next word (i.e. delete backwards one word).

Ctrl + y will paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the current cursor position.

Ctrl + x then Backspace will remove all of the text from the current cursor position to the start of the line.

Ctrl + xx will move between the start of the command line and the current cursor position (and back again).

Alt + d will delete to the end of the word, starting at the current cursor position (or the whole word if the cursor is at the beginning of word).

Alt + c will capitalize to the end of the word, starting at the current cursor position (or the whole word if the cursor is at the beginning of word).

Alt + u will make all letters uppercase from the current cursor position to the end of the word.

Alt + l will make all letters lowercase from the current cursor position to the end of the word.

Alt + t will swap the current word with the previous word.

Ctrl + d or Delete will delete the character under the current cursor position.

Ctrl + h will delete the character before the current cursor position.

Ctrl + t will swap the character under the current cursor position with the previous character (useful if you made a spelling/transposition error while typing a command).

Esc, then T, will transpose the two words immediately before (or under) the cursor.

Esc, then U, will transform the text from the cursor to the end of the word to uppercase.

Esc, then L, will transform the text from the cursor to the end of the word to lowercase.

Esc, then C, will change the letter under the cursor (or the first letter of the next word) to uppercase, leaving the rest of the word unchanged.

Controlling Processes

You can also use some bash command line shortcuts to help control the various processes running on your computer.

Ctrl + z will suspend the current foreground process. To bring the process back to the foreground, enter the fg [process_name] command. This will allow you to temporarily pause a process, use the terminal for other tasks, and then resume it later.

Ctrl + c will stop the running program in its tracks.

Ctrl + d is the same as executing the exit command, causing the bash shell to exit.

Ctrl + r will help you find the last matching command to your "search" criteria. Type Ctrl + r, followed by words used in your last command, and Linux will find that command for you. Then, just press the Enter key.

history | grep [keyword] will search the bash history and bring up the matching command. This is especially helpful if you forget the proper formatting for a command.

Typing --help after most commands will display the options for that command. In many instances, it's enough to jog your memory to get you through using a seldom used command.

Bash Bang(!) Commands

!! will execute the last command.

![command] will execute the last command specified by the [command] parameter.

![command]:p will display the command that ![command] would run, and moves it to the latest command in the command history.

!$ will execute the last "word" of the previous command. So, if you typed cat myfile.txt as your last command, it would try to run myfile.txt as the command.

!$:p will display the last "word" of the previous command that !$ would execute. This can also be achieved with Alt + . .

!* displays the last word of the previous command.

!*:p displays the last word that !* would execute.

Summary

So there you have it. There are a lot of ways to help make your interaction with the bash command line easier and faster. Even if you're not a "command line commando," you owe it to yourself to learn some of these time saving shortcuts. Eventually, you WILL find yourself facing the command line. It's not a matter of IF, but WHEN. Minimally, you might want to print out this article for that inevitable eventuality, just to provide a quick reference.

Racing Back To The Past: Horizon Chase Turbo On PCLinuxOS!

by Alessandro Ebersol (Agent Smith)

Remember that time, when two or more friends got together to play SNES, at one of their homes, and were the games International Superstar Soccer Deluxe (or Ronaldinho Soccer 96), or was it Top Gear?

Well, time does not go back, but it is possible to bring back the classics of the past, in a new guise, and updated for a new generation, pleasing old fans and conquering new ones. Horizon Chase Turbo is a game produced by Aquiris Game Studio, a Brazilian game company. From its press release:

"AQUIRIS was founded in 2007 by Amilton Diesel, Mauricio Longoni and Israel Mendes. They came together to develop virtual reality projects and advergames in a 30 square meter room. 20 games later, they gained experience and grew the company to 60 people, including three new partners: Raphael Baldi, Kely Costa and Sandro Manfredini. Today, AQUIRIS develops games for Cartoon Network, such as CN Superstar Soccer and The Great Prank War; original titles like Ballistic Overkill, a premium first person shooter for Steam; Horizon Chase World Tour, one of the Best Mobile Games of 2015 according to the App Store; Horizon Chase Turbo, the premium version of the acclaimed mobile game, released for Steam, PS4, Xbox and Switch; and Looney Tunes: World of Mayhem, a free-to-play mobile game that won over a million downloads on launch day."

The company is located in Porto Alegre, Rio Grande do Sul, Brazil.

One of the company's projects, Horizon Chase, which launched in 2016, received several awards, and placed the company on the map of indie developers at the time. With the company's natural growth, it went from being a small indie company to becoming a respected contractor and medium-sized developer.

Horizon Chase: The Game!

The game Horizon Chase came out first for cell phones, Android and iOS, and, it drew so much attention that a version for video games and PC's was inevitable. In 2018, Horizon Chase Turbo came out for PC, Nintendo Switch, PS4 and Xbox.

But, to try to explain the appeal of this game (which has a strong nostalgic appeal), we will have to look back at the games that "inspired" Horizon Chase Turbo, the Gremlin Graphics racers, Lotus Turbo Challenge and Top Gear.

Racing back to the past: Gremlin Graphics Classics.

Gremlin Graphics was a British company that produced games for personal computers, in the 80s and 90s, and started to develop for video games also, in a golden age of electronic entertainment. The war between Nintendo and Sega, which led to the lowering of prices in the market of domestic video games and the emergence of many high quality games, gave birth to timeless classics like Sonic, Donkey Kong Country, Top Gear, Lotus Turbo Challenge and many others.

Lotus Turbo Challenge 2 - Commodore Amiga

But, there was a title that stood out from the rest. That title was Top Gear, which was a disguised "port" from Gremlin's personal computer titles, such as Lotus Turbo Challenge, so much so that its music was the same as that of the computer game, but with a different arrangement.

Top Gear, the timeless SNES classic

Who didn't shiver with the opening of Top Gear? That epic song coming out of that little SNES video game?

The composer was Barry Leitch, an artist who, today, is not as well known by the new generations, but he worked a lot in the 80s and 90s. With more than 250 credits in his name, his works go from 1986 to Horizon Chase. That's right. Veteran master Barry Leitch, responsible for the soundtracks for these classics of the past, also lent his genius to the recent game from Aquiris Game Studio.

Leitch in a recent photo, with the Horizon Chase soundtrack CD

Horizon Chase Turbo: The PC Game

Well, after this introduction, I will analyze the game running on PCLinuxOS. As it is a Steam game, it works perfectly on PCLinuxOS, with Steam installed via Flatpak.

The version analyzed here will be the Windows version, running via Flatpak and Proton.

The game is based on the Unity engine, which ensures optimum compatibility with all operating systems supported by the engine (notably Android, Linux, Windows, iOS and MacOS).

The splash screen

Now, let's look at four essential aspects of the game: Graphics, Soundtrack, Gameplay and Replay Value.

Graphics

Based on the Unity engine, the graphics are simple, yet detailed and very colorful. You don't have a definition and realism, let's say, of a Need For Speed: Underground or any recent title in this series, but, surprisingly, this is not necessary: The graphics, even simple, do the job, and recreate the spirit of the old racing games on which Horizon Chase Turbo was based.

I believe that, having been launched on mobile platforms, the graphics had to be minimalist, due to the platform limitations, and this minimalism was incorporated into the current PC and video game versions.

The graphics are cartoonish, but very efficient

Soundtrack

Here the game shines. Barry Leitch's virtuosity is felt in every moment of the game, in which Horizon Chase Turbo's songs evoke the old games, but they have their own personalities. The game is so well mused, that it is nice to just listen to its music, a mix of the past with new ideas, and some epic tracks that recall the good old days of gaming at friends' houses.

Gameplay

The gameplay is 100% arcade. It is not a simulator. Far from it, but an arcade racer, in which your car spins in the air, falls on the track and keeps racing.

The game takes place in 48 cities around the world, with 109 tracks and 12 different cups to compete, in the world tour mode.

The game accepts local multiplayer, with up to four players in split screen, has 31 different cars to be used (at the beginning, only two are available), and each car can still have 12 different upgrades that are applied during the game.

A Dodge Viper? Nah, the famous cars were not licensed, so clones with other names will be available.

The mechanics of the game are extremely simple, with acceleration, brake, right and left, without any major complications. The game is so simple, that anyone who has played one of the games mentioned above will be able to play it immediately.

One flaw, however, was that the game did not recognize any joystick that I connected to the computer, having to resort to the keyboard to play it, which is a less satisfying experience. Of course, you can always use Antimicro and remap the keys to some connected joystick, but for this review, I didn't get to do that. In the future, if I keep playing, I will make sure to use Antimicro, since keyboards can't take the beating from constantly playing the game.

Replay Value

With as many cars, tracks and upgrades as possible, this is another game that you will stay in for hours, weeks and even months, until you can finish it with 100%. Multiplayer also helps in the longevity of the game, and after getting tired of playing against the computer, play against your friends and see who is the best, which refreshes the challenge.

Verdict

Is it worth buying Horizon Chase Turbo? Yes.

There is the nostalgia factor, but all that nostalgia has been updated and can be enjoyed on current machines, with the resources available today. Big screens, maybe 4K, perfect sound and images via HDMI. All of this adds up to having a perfect retro experience these days.

Factsheet
Aquiris Game Studio
Based in Porto Alegre, Brazil

Founding date:
2007

Website:
https://www.aquiris.com.br

Game: Horizon Chase Turbo.
Steam: https://store.steampowered.com/app/389140/Horizon_Chase_Turbo/
Price: R $ 37.99 / US $ 19.99
Video review: https://youtu.be/3FtXCB2xJjg

PCLinuxOS Bonus Recipe Corner: Bacon Pound Cake

Bacon Pound Cake

INGREDIENTS:

1/2 pound bacon
3 large eggs, room temperature
3 tablespoons half & half (whole milk will also work), room temperature
1.5 teaspoons vanilla extract
1.5 cups sifted cake flour (AP flour will work)
1 teaspoon baking powder
1/2 teaspoon kosher salt
3/4 cup granulated white sugar
9 tablespoons (1 stick + 1 tablespoon) unsalted butter, room temperature about 1/4 cup rendered bacon fat, room temperature

DIRECTIONS:

Leave the eggs, milk, butter, and bacon fat out on the counter overnight.

Place the bacon in the freezer so it's easier to cut. (about 10 minutes)

Preheat the oven to 350 degrees F. Position the oven rack in the center.

Grease a loaf pan with melted butter or cooking spray. Line the bottom of the pan with parchment paper and grease the paper.

Cut the butter into pieces.

Remove bacon from the freezer, use a sharp knife to cut the frozen bacon into 1/4-inch strips. Turn the strips horizontal and cut into 1/4-inch squares.

Place bacon bits in a pan and bring to medium-high heat. Fry and stir until the pieces are crisp. As the fat renders, pour it in a glass jar (the bits won't crisp if they're in a pool of fat).

Remove bacon with a slotted spoon and drain on paper towels. Reserve 1/4 cup of bacon bits for garnish.

In a medium bowl, whisk together eggs, milk, and vanilla extract, sit aside.

In the bowl of a stand mixer with the paddle attachment, add the sifted flour, baking powder, salt, and sugar. Mix on low speed until blended.

Add the butter, bacon fat, and half the wet mixture. Mix on low speed until just combined.

Scrape down the sides then mix on medium speed for 1 minute to aerate the batter.

Scrape down the sides of the bowl again and add half the remaining wet mixture. Mix on low speed, repeat with the remaining wet mixture and bacon bits.

Scrape batter into prepared loaf pan and smooth top with the back of a spoon.

Bake for 50-60 minutes or until cake is golden brown and an inserted toothpick comes out clean.

Check halfway through baking. If the cake is browning too fast, cover with a piece of aluminum foil to prevent burning. If there's a crack on the top, relax, it's normal!

Remove the cake from the oven and place on a wire rack. Cool for 10 minutes then remove the cake from the pan and cool completely on a greased wire rack.

Slice with a serrated knife and serve with preferred topping, plus reserved bacon bits.

Cover leftover cake with plastic wrap and store at room temperature for 3 days.

Store in the fridge for one week and the freezer for 2 months.

TIPS: Variations

~*~ CREAM CHEESE VARIATION ~*~
Omit the milk. In Step 6, add 4 ounces cream cheese in with the butter, bacon fat, and half wet mixture.

~*~ CHOCOLATE CHIP VARIATION ~*~
In Step 6, add 1/4 cup bitter-sweet chocolate chips in with the bacon bits.

~*~ LEFTOVERS VARIATION ~*~
Bacon French Toast: In a shallow dish, whisk together 1 large egg and 1/4 cup milk until well blended. Place 1 tablespoon butter in a skillet and melt over medium-low heat. Place a slice of pound cake in the egg mixture, turning to coat both sides. Use a spatula to carefully transfer the cake slice to the skillet. Repeat with one more slice. Cook the pound cake until browned on both sides, adding more butter as needed. Serve with fresh fruit or jam.

ms_meme's Nook: When I'm Sixty-Five

OGG                                                             MP3

PCLinuxOS Puzzled Partitions

Scrappler

Download Puzzle Solutions Here!

Sudoku

Download Puzzle Solutions Here!

Crossword

Download Puzzle Solutions Here!

WordFind

Download Puzzle Solutions Here!

Mixed Up meme Scrambler

Download Puzzle Solutions Here!

Screenshot Showcase

Screenshot Showcase
Posted by Archie, February 10, 2020, running KDE

Screenshot Showcase
Posted by luikki, February 1, 2020, running KDE

Screenshot Showcase
Posted by

Screenshot Showcase
Posted by mutse, February 7, 2020, running Trinity

Screenshot Showcase
Posted by tuxlink, February 12, 2020, running KDE

Screenshot Showcase
Posted by Yankee, February 21, 2020, running Xfce

Screenshot Showcase
Posted by OnlyHuman, February 11, 2020, running e23

Screenshot Showcase
Posted by parnote, February 24, 2020, running Xfce

Screenshot Showcase
Posted by present_arms, February 2, 2020, running openbox

Screenshot Showcase
Posted by Revoluz, February 9, 2020, running lxqt