Coding User - Issue One March 2022
Coding User - Issue One March 2022
%&%/#/&/"#&
&#"//%%&""&"
# ./+*+(./'/%-$.
""
See inside
details
for
!
#%$
!!
়লসতষষলযনতষলদলধন॰ষফবশবশষফনসথযবদতষবলল়লসॲছবষফনহন়
বশশসনলসষনতরলননষশথবপশ়লসষফনথনশষষবশ॰ষবদমশতধষসষলবতযশ
লদনতষবপদলধন॰নপতধযনশশল়লসযনহনযলননবনদনॲ
ষফবশবশষবশশসননষতমনতযললমতষষফনহতবলসশযতপসতপনশ়লসদতসশন
ষলদলধনॲছফবদফলনবশবপফষল়লসঃওসনতশ়ॱষলॱলযযলষসষলবতযশশফল
ফলষলদলধনলহতবলসশযতষলরশষলল॰শসদফতশঐবস॰ছবধলশতধ
খতশথন়ঔবॲবষশতশতধপনত়লসনযললমবপল॰লসবॱধনষফ
নহবনশফনয়লসবধষফনহন়থনশষ়লসরলন়দতথস়ॲছনদলহনতযয
ষফনহন়থনশষলষনদফতদলশশতযযরতভলযতষলরশ॰শল়লসনথলসধষল
বধশলরনষফবপ়লসযবমনॲষশতযযবষফবশহন়বশষবশশসনলইলধবপঙশনॲ
ইলষনষশ
ইলষনষশ
4 | www.bdmpublications.com
ইলষনষশ
www.bdmpublications.com | 5
Welcome, Future Coder
Being a Programmer
A Brief History of Coding
Choosing a Programming Language
Creating a Coding Platform
6 www.bdmpublications.com
Index
Coding - Which
Language is
Right For You?
www.bdmpublications.com 7
Welcome, Future Coder
Being a Programmer
Programmer, developer, coder, they’re all titles for the same occupation, someone who
creates code. What they’re creating the code for can be anything from a video game
to a critical element on board the International Space Station. How do you become a
programmer though?
8 www.bdmpublications.com
Being a Programmer
“It’s up to you
creating something from a few lines of BASIC code was achievable and so
WKHƬUVWJHQHUDWLRQRIKRPHEUHGSURJUDPPHUZDVERUQ
your coding
JDPH7KLVRIFRXUVHOHGWRWKHSURJUDPPHUEHFRPLQJPRUHWKDQVLPSO\
someone who could fashion a sprite on the screen and make it move at the
press of a key.
adventure!” Naturally, time has moved on and with it the technology that we use.
However, the fundamentals of programming remain the same; but what
exactly does it take to be a programmer?
7KHVLQJOHPRVWFRPPRQWUDLWRIDQ\SURJUDPPHUUHJDUGOHVVRIZKDW
they’re doing, is the ability to see a logical pattern. By this we mean
VRPHRQHZKRFDQORJLFDOO\IROORZVRPHWKLQJIURPVWDUWWRƬQLVKDQG
envisage the intended outcome. While you may not feel you’re such a
person, it is possible to train your brain into this way of thinking. Yes, it
takes time but once you start to think in this particular way you will be able
to construct and follow code.
%HLQJDEOHWRVHHWKHELJSLFWXUHLVFHUWDLQO\EHQHƬFLDOIRUWKHPRGHUQ
programmer. Undoubtedly, as a programmer, you will be part of a team
of other programmers, and more than likely part of an even bigger team
RIGHVLJQHUVDOORIZKRPDUHFUHDWLQJDƬQDOSURGXFW:KLOH\RXPD\RQO\
EHH[SHFWHGWRFUHDWHDVPDOOHOHPHQWRIWKDWƬQDOSURGXFWEHLQJDEOHWR
understand what everyone else is doing will help you create something
that’s ultimately better than simply being locked in your own coding cubicle.
7KHUHLVRIFRXUVHDORWPRUHLQYROYHGLQEHLQJDSURJUDPPHULQFOXGLQJ
learning the actual code itself. However, with time, patience and the
determination to learn, anyone can become a programmer. Whether
Being able to follow a logical pattern and you want to be part of a triple-A video game team or simply create an
see an end result is one of the most valued automated routine to make your computing life easier, it’s up to you how
skills of a programmer. far to take your coding adventure!
www.bdmpublications.com 9
Welcome, Future Coder
,WoVGLƯFXOWWRSLQSRLQWDQH[DFW
start of when humans began to
‘program’ a device. However,
it’s widely accepted that the
Antikythera Mechanism is possibly
Joseph Marie Jacquard invents a
WKHƬUVWnFRGHGoDUWHIDFW,WoV
programmable loom, which used cards with
dated to about 87 BC and is an
punched holes to create the textile design.
ancient Greek analogue computer
However, it is thought that he based his
and orrery used to predict
design on a previous automated weaving
astronomical positions.
process from 1725, by Basile Bouchon.
10 www.bdmpublications.com
A Brief History of Coding
During the Second World War, From the 1970s, the development of the likes of C, SQL, C with
WKHUHVLJQLƬFDQWDGYDQFHV &ODVVHV&0$7/$%&RPPRQ/LVSDQGPRUHFDPHWRWKH
were made in programmable IRUH7KHnVZDVXQGRXEWHGO\WKHJROGHQDJHRIWKHKRPH
machines. Most notably, the computer, a time when silicon processors were cheap enough
cryptographic machines used IRURUGLQDU\IRONWREX\7KLVOHGWRDERRPLQKRPHEHGURRP
to decipher military codes coders with the rise of 8-bit machines.
XVHGE\WKH1D]LV7KH(QLJPD
was invented by the German
engineer Arthur Scherbius
but was made famous by Alan
7XULQJDW%OHWFKOH\3DUNoV
codebreaking centre.
7KH,QWHUQHWDJHEURXJKWDZHDOWK
of new programming languages and
allowed people access to the tools and
knowledge needed to learn coding in a
better way. Not only could a user learn
how to code but they could freely share
their code and source other code to
improve their own.
7KHƬUVWWUXHFRPSXWHUFRGHZDV
Assembly Language (ASM) or
Regional Assembly Language. Admiral Grace Hopper was part of
$60ZDVVSHFLƬFWRWKH the team that developed the UNIVAC
architecture of the machine I computer and she eventually
it was being used on. In 1951 developed a compiler for it. In time,
programming languages fell under the compiler she developed became
the generic term Autocode. Soon COBOL (Common Business-oriented
ODQJXDJHVVXFKDV,3/)2575$1 Language), a computer language that’s
and ALGOL 58 were developed. still in use today.
www.bdmpublications.com 11
Welcome, Future Coder
Choosing a
Programming
Language
It would be impossible to properly
explain every programming language in
a single book of this size. New languages
and ways in which to ‘talk’ to a computer
or device and set it instructions are being
invented almost daily; and with the
onset of quantum computing, even more
complex methods are being born. Here
is a list of the more common languages
along with their key features.
12 www.bdmpublications.com
Choosing a Programming Language
SQL SQL stands for Structured Query Language. SQL is a standard language
for accessing and manipulating databases. Although SQL is an ANSI
$PHULFDQ1DWLRQDO6WDQGDUGV,QVWLWXWHVWDQGDUGWKHUHDUHGLƪHUHQWYHUVLRQVRI
the SQL language. However, to be compliant, they all support at least the major
commands such as Select, Update and Delete in a similar manner.
www.bdmpublications.com
Welcome, Future Coder
Creating a Coding
Platform
7KHWHUPn&RGLQJ3ODWIRUPoFDQVLJQLI\DW\SHRIKDUGZDUHRQZKLFK\RXFDQFRGH
a particular operating system, or even a custom environment that’s pre-built and
designed for easy game creation. In truth it’s quite a loose term, as a Coding Platform
can be a mixture of all of these ingredients, it’s simply down to which programming
language you intend to code in and what your end goals are.
7KHWULFNLVWRVORZGRZQDQGWREHJLQZLWKQRWORRNWRRGHHSO\
into coding. Like all good projects, you need a solid foundation
on which to build your skillset and to have all the necessary tools
DYDLODEOHWRHQDEOH\RXWRFRPSOHWHWKHEDVLFVWHSV7KLVLVZKHUH
creating a coding platform comes in, as it will be your learning
IRXQGDWLRQZKLOH\RXEHJLQWRWDNH\RXUƬUVWWHQWDWLYHVWHSVLQWR
the wider world of coding.
HARDWARE SOFTWARE
Thankfully, coding at the In terms of software,
foundation level doesn’t most of the development
require specialist equipment, environments have the
or a top of the range, liquid tools that allow you to
hydrogen-cooled PC. If code, compile the code
you own a computer, no matter how basic, you can begin to and execute it, freely
learn how to code. Naturally, if the computer in question is a available to download and install. There are some specialist
&RPPRGRUHWKHQ\RXPD\KDYHVRPHGLƯFXOW\IROORZLQJD tools available that will cost, but at this level they’re not
modern language tutorial, but some of the best programmers necessary, so don’t be fooled into thinking you need to purchase
around today started on an 8-bit machine, so there’s hope yet. any extra software in order to start learning how to code.
You will need access to the Internet to download, install and 2YHUWLPH\RXPD\ƬQG\RXUVHOISURJUHVVLQJIURPWKH
update the coding development environment, alongside a mainstream development environment and using a collection
computer with Windows 10, macOS, or Linux, installed. You of your own, discovered, tools to write your code. It’s all
can use other operating systems, but these are the ‘big three’ personal preference in the end and as you become more
DQG\RXZLOOƬQGWKDWPRVWFRGHUHVRXUFHVDUHZULWWHQZLWK H[SHULHQFHG\RXZLOOVWDUWWRXVHGLƪHUHQWWRROVWRJHWWKH
one, or all, of these in mind. job done.
14 www.bdmpublications.com
Creating a Coding Platform
THE RASPBERRY PI
If you haven’t already heard of the Raspberry Pi, then we
YOUR OWN CODING PLATFORM
suggest you head over to www.raspberrypi.org and check Whichever method you choose, remember that your coding
it out. In short, the Raspberry Pi is a small, fully functional platform will probably change, as you gain experience
computer. It comes with its own customised, Linux- and favour one language over another. Don’t be
based operating system that’s pre-installed with afraid to experiment along the way, as
everything you need to start learning how to you will eventually create your
code in Python, C++, Scratch and more. own unique platform that
can handle all the code
Costing around £35, it’s incredibly you enter into it.
cheap and allows you to utilise
GLƪHUHQWKDUGZDUHLQ
the form of robotics and
electronics projects, as well
DVRƪHULQJDFRPSOHWHGHVNWRS
experience. Although not the most
powerful computing device in the world, the
Raspberry Pi has a lot going for it, especially in terms
of being one of the best coding platforms available.
www.bdmpublications.com
Introducing C++
&LVDQHƯFLHQWDQGSRZHUIXO
language that’s used to develop
operating systems, applications,
games and much more. It’s used
in science, engineering, banking,
education, the space industry, and
much more.
Why C++?
C++ Facts & Figures
Equipment You Will Need
Structure of C++ Code
Did You Know?
16 www.bdmpublications.com
Index
Introducing
C++
www.bdmpublications.com 17
Introducing C++
Why C++?
C++ is one of the most popular programming languages available today. Originally
called C with Classes, the language was renamed to C++ in 1983. It’s an extension of
the original C language, and is a general purpose object-oriented (OOP) environment.
C EVERYTHING
Due to both the complexity of the language and its power and performance, C++ is often used to develop games, programs,
device drivers, and even entire operating systems.
Dating back to 1979, the start of the golden era of home using C++. For example, all of Adobe’s major applications, such as
computing, C++, or rather C with Classes, was the brainchild of 3KRWRVKRS,Q'HVLJQDQGVRRQDUHGHYHORSHGLQ&<RXZLOOƬQG
Danish computer scientist Bjarne Stroustrup, while working on that the browser you use to surf the Internet is written in C++, as
his Ph.D. thesis. Stroustrup’s plan was to further the original C ZHOODV:LQGRZV0LFURVRIW2ƯFHDQGWKHEDFNERQHWR*RRJOHoV
language, which had been widely used since the early seventies. search engine. Apple’s macOS is written largely in C++ (with some
RWKHUODQJXDJHVPL[HGLQGHSHQGLQJRQWKHIXQFWLRQDQGWKHOLNHV
C++ proved to be popular among the developers of the 80s, since of NASA, SpaceX, and even CERN use C++ for various applications,
it was a much easier environment with which to get to grips, programs, controls, and umpteen other computing tasks.
and, more importantly, it was 99% compatible with the original C
language. This meant that, beyond the mainstream computing labs, As well as being an easier addition to the core C language, C++ is
regular people who didn’t have access to the mainframes and large DOVRH[WUHPHO\HƯFLHQWDQGSHUIRUPVZHOODFURVVWKHERDUG7KLV
computing data centres could use it. higher level of performance over other languages, such as Python,
BASIC and such, makes it an ideal development environment for
C++’s impact in the digital world is immense. Many of the programs, modern computing; hence the aforementioned companies using it
applications, games, and even operating systems are coded so widely.
18 www.bdmpublications.com
Why C++?
C++ puts the developer in a much wider world of coding. By improvements to the engine, or when creating a new game, if
PDVWHULQJ&\RXZLOOƬQG\RXUVHOIEHLQJDEOHWRGHYHORSFRGHIRU the developers want to add something that the engine can’t do,
WKHOLNHVRI0LFURVRIW$SSOHDQGVRRQ*HQHUDOO\&GHYHORSHUV they will use C++ to create the new content or link between two
enjoy a higher salary than programmers of some other languages, GLƪHUHQWHQJLQHV7KHHQGUHVXOWRIFRXUVHLVDJDPHWKDWFRQWDLQV
and, due to its versatility, the C++ programmer can move between the latest graphical technology, while being seamlessly bound
MREVDQGFRPSDQLHVZLWKRXWWKHQHHGWRUHOHDUQDQ\WKLQJVSHFLƬF together with some pretty clever C++ coding.
You will discover, as you become a more advanced coder, that many *HWWLQJWRXVH&LVTXLWHHDV\DOO\RXQHHGLVWKHULJKWVHWRIWRROV
of the developers in various coding jobs around the world tend to in which to communicate with the computer in C++, and you can
use pre-designed development engines. For example, when creating start your journey. A C++ IDE is free of charge, even the immensely
games, the likes of Bethesda, the team behind Oblivion and Skyrim, powerful Visual Studio from Microsoft is freely available to
utilise a 3D game engine called The Creation Engine. This enables download and use. You can get into C++ from any operating system,
the team to quickly create animations, characters, items, terrains, be it macOS, Linux, Windows, or even mobile platforms.
rooms, and just about everything else you’d see in the game. The
HQJLQHLWVHOIKDVEHHQPRGLƬHGWRPDNHWKHPRVWRIWKHFXUUHQW So, to answer the question of Why C++, the answer is because it’s fast,
graphics card hardware, and computer or console processing HƯFLHQWDQGGHYHORSHGE\PRVWRIWKHDSSOLFDWLRQV\RXUHJXODUO\
power. These engines are mostly written in C++, and when making use. It’s cutting edge, and a fantastic language to have mastered.
www.bdmpublications.com 19
Introducing C++
C++ Facts & Figures
C++ is one of the top
programming languages
in the industry. It’s quick,
powerful, and used by
nearly every major tech
and gaming company in
the world. Here’s some
interesting facts about
the rather wonderful C++.
C++ is
one of the
predominant
programming
languages for the
development of all
kinds of technical
NASA, CERN, and commercial
MICROSOFT, software.
ORACLE, PAYPAL,
LINKEDIN, AMAZON AND
THE MILITARY USE C++.
A lot of the
Linux operating
system is coded
using C++, therefore
you could say that most
of the world’s Internet
hosting servers are
available thanks to C++.
20 www.bdmpublications.com
Sources: ITJobsWatch,
Google, Quora, Stack C++ Facts & Figures
Exchange, eduCBA,
6WDFN2YHUƮRZ
stackShare, The Xbox
AppDynamics operating system
uses C++ as its
backbone.
90
THE
C++ is
used in computer
networking as the
main code behind the
th
Programmable Logic Most of Adobe’s
PERCENTILE SALARY stable of products
Controller, connecting )25$8.Ǖ%$6('& are developed
servers, processors, other DEVELOPER IS using C++.
£120,000
hardware, and
even robotics.
MRI scanning
machines and
:LQGRZV Computer Aided Design The Unreal 4 Engine,
XP, 7, 8.1 and 10, as well as all use C++ to help with which is coded in C++,
0LFURVRIW2ƯFHXVH& the enhanced imagery is used for hundreds
as the backbone programming produced by these of games, including
language of choice.
systems. Fortnite.
RADAR
PROCESSING
TECHNOLOGIES
USE C++, AS
WELL AS
ADVANCED
MISSILE
DETECTION
SYSTEMS.
FLIGHT CONTROL SYSTEMS IN
MODERN AIRCRAFT, INCLUDING
MILITARY AIRCRAFT, USE C++.
www.bdmpublications.com 21
Introducing C++
Equipment You
Will Need
You don’t need to invest a huge amount of money in order to learn C++, and you
don’t need an entire computing lab at your disposal either. Providing you have a fairly
modern computer, everything else is freely available.
C++ SETUPS
As most, if not all, operating systems have C++ at their code, it stands to reason that you can learn to program in C++ no
matter what OS you’re currently using.
COMPUTER
Unless you fancy writing out your C++ code by hand on a sheet of paper (which is
VRPHWKLQJPDQ\ROGHUFRGHUVXVHGWRGRWKHQDFRPSXWHULVDQDEVROXWHPXVWKDYH
component. PC users can have any recent Linux distro or Windows OS, Mac users the
latest macOS.
AN IDE
An IDE is used to enter and execute your C++ code. Many IDEs come with extensions
and plugins that help make it work better, or add an extra level of functionality.
Often, an IDE will provide enhancements depending on the core OS being used,
such as enhancements for Windows 10.
COMPILER
A compiler is a program that converts the C++ language into binary that the
computer can understand. While some IDEs come with a compiler built in, others
don’t. Code::Blocks is our favourite IDE that comes with a C++ compiler as part of the
package. More on this later.
TEXT EDITOR
Some programmers much prefer to use a text editor to assemble their C++ code
before running it through a compiler. Essentially, you can use any text editor to write
code, just save it with a .cpp extension. However, Notepad++ is one of the best code
text editors available.
INTERNET ACCESS
While it’s entirely possible to learn how to code on a computer that’s not attached
WRWKH,QWHUQHWLWoVH[WUDRUGLQDULO\GLƯFXOW<RXZLOOQHHGWRLQVWDOOWKHUHOHYDQW
software, keep it up to date, install any extras or extensions, and look for help when
coding. All of which require access to the Internet.
22 www.bdmpublications.com
Equipment You Will Need
OS SPECIFIC NEEDS
C++ will work in any operating system; however, getting all the necessary pieces together can be confusing to a newcomer. Here’s
VRPH26VSHFLƬFVIRU&
LINUX WINDOWS
Linux users are lucky in that they already have a compiler and As we’ve mentioned previously, one good IDE is Microsoft’s
text editor built into their operating system. Any text editor Visual Studio. However, a better IDE and compiler is
will allow you to type out your C++ code, when it’s saved with Code::Blocks, which is kept regularly up to date with a new
a .cpp extension, use g++ to compile it. release twice yearly, or so. Otherwise, Windows users can
HQWHUWKHLUFRGHLQ1RWHSDGWKHQFRPSLOHLWZLWK0LQ*:s
which Code::Blocks uses.
RASPBERRY PI MAC
The Raspberry Pi’s operating Mac owners will need to
system is Raspbian, which is download and install Xcode,
Linux based. Therefore, you’re in order to compile their
able to write your code out C++ code natively. Other
using a text editor and then options for the macOS
compile it with g++, as you include Netbeans, Eclipse or
would in any other Linux distro. Code::Blocks. Note: the
latest Code::Blocks isn’t
available for Mac, due to a
lack of Mac developers.
www.bdmpublications.com
Introducing C++
C++ #INCLUDE
The structure of a C++ program
Danish student Bjarne can look complex, but once you
Stroustrup invented C++ in get familiar with it you’ll begin to
1979, as a part of his Ph.D. VHHKRZLWƮRZV(YHU\&FRGH
thesis. Initially C++ was called begins with a directive, #include
C with Classes, which added <>. The directive instructs the
features to the already popular pre-processor to include a
C programming language section of the standard C++
while making it a more code. For example: #include
user-friendly environment. <iostream> includes the
iostream header to support
Bjarne Stroustrup, inventor input/output operations.
of C++.
,170$,1Ǔǔ
LQWPDLQLQLWLDWHVWKH
declaration of a function, which
is a group of code statements
under the name ‘main’. All
C++ code begins at the main
function, regardless of where
it lies within the main body of
the code.
BRACES
The open brace is
something that you may
not have come across
before, especially if
you’re used to other
coding languages. The
open brace indicates the
beginning of the main
function, and contains
all the code belonging to
that function.
24 www.bdmpublications.com
Structure of C++ Code
COMMENTS <<
Lines that begin with a double slash are comments. This means they The two chevrons used here are insertion operators. This means
won’t be executed in the code and are ignored by the compiler. Why that, whatever follows, the chevrons are to be inserted into the
are they there? Comments are designed to help you, or another std::cout statement. In this case, they are the words ‘Hello World’,
programmer looking at your code, explain what’s going on. There which are to be displayed on the screen when you compile and
are two types of comment: /* covers multiple line comments, // a execute the code.
single line.
STD OUTPUTS
In C++, STD means Standard. It’s a part of the Standard Namespace /HDGLQJRQp+HOOR:RUOGqLVWKHSDUWWKDWZHZDQWWRDSSHDURQ
LQ&ZKLFKFRYHUVDQXPEHURIGLƪHUHQWVWDWHPHQWVDQG the screen when the code is executed. You can enter whatever you
commands. You can leave the std part out of a code, but it must be like, as long as it’s inside the quotation marks. The brackets aren’t
declared at the start with: using namespace std. needed, but some compilers insist on them. The \n part indicates a
new line is to be inserted.
COUT $1'ǜ
In this example we’re using cout, which is a part of the Standard Finally you will notice that lines within a function code block
1DPHVSDFHsKHQFHZK\LWoVWKHUHDV\RXoUHDVNLQJ&WRXVHLWIURP H[FHSWFRPPHQWVHQGZLWKDVHPLFRORQ7KLVPDUNVWKHHQGRI
that particular namespace. Cout means Character OUTput, which the statement, and all statements in C++ must have one at the end
displays, or prints, something to the screen. If we leave std:: out we or the compiler will fail to build the code. The very last line has the
have to declare it at the start of the code; as mentioned previously. closing brace to indicate the end of the main function.
www.bdmpublications.com
অলযযলॵॵ
সয়ॶॴষফॵॽॺॽবশনরনরথননধতশতষসবপলবষবফসরতফবশষল়॰ফন
রতমবধবশষশষননধলষফনরললॲঘফনশলষতনষফতষফনযনধষফনদনরতমন
ষফতষবহলষতযহল়তপনধবধষনহননবশষতষষফনষবরনতধফতধষলথনধনহনযলনধলর
শদতষদফॲঙশবপতনরনষফলধলশষলবপলপতরশদতযযনধখলননরল়॰ষফন
নপবননশতষঘশষসরনষতষবলঐতথলতষল়লসযতষনধষফনরনরল়বষফত
শনদবতযহনশবললতশশনরথয়ॲ
দনধবথয়॰ষফতষদলধনবশননয়তহতবযতথযনষলহবনলঋবষঌসথॲঙযলতধনধথ়ত
নশনতদফনবॶॴॴॷ॰়লসদতহবনষফনদলধনথ়হবশবষবপॲপবষফসথॲদলরॳ
দফবশযপত়ॳঅলযযলॱॵॵॳॲঐললমলসষলদলধনশবনষশ॰শসদফতশআসণআতথ়ণআস॰ব
তষবদসযতযবনॽॶॹবষফষফনদলররনষঋললধথ়নॲইলরনতপতবশললॲে
ঌতহনতযললমষফলসপফ॰তধশননফতষনযশন়লসদতবধॲ
26 | www.bdmpublications.com
www.bdmpublications.com | 27
Introducing Python
Why Python?
What Can You Do with Python?
Python in Numbers
Equipment You Will Need
*HWWLQJWR.QRZ3\WKRQ
28 www.bdmpublications.com
Index
Introducing
Python
www.bdmpublications.com 29
Introducing Python
Why Python?
7KHUHDUHPDQ\GLƪHUHQWSURJUDPPLQJODQJXDJHVDYDLODEOHIRUWKHPRGHUQFRPSXWHU
and some still available for older 8 and 16-bit computers too. Some of these languages
DUHGHVLJQHGIRUVFLHQWLƬFZRUNRWKHUVIRUPRELOHSODWIRUPVDQGVXFK6RZK\FKRRVH
Python out of all the rest?
PYTHON POWER
Ever since the earliest home computers were available, enthusiasts, users and professionals have toiled away until the wee
hours, slaving over an overheating heap of circuitry to create something akin to magic.
These pioneers of programming carved their way into a new Regardless of whether you use an Android device, iOS device, PC,
frontier, forging small routines that enabled the letter ‘A’ to scroll 0DF/LQX[6PDUW79JDPHVFRQVROH03SOD\HU*36GHYLFHEXLOWLQ
across the screen. It may not sound terribly exciting to a generation to a car, set-top box or a thousand other connected and ‘smart’
WKDWoVXVHGWRXOWUDKLJKGHƬQLWLRQJUDSKLFVDQGRSHQZRUOGPXOWL appliances, behind them all is programming.
player online gaming. However, forty-something years ago it was
blindingly brilliant. All those aforementioned digital devices need instructions to tell
them what to do, and allow them to be interacted with. These
Naturally these bedroom coders helped form the foundations for instructions form the programming core of the device and that core
every piece of digital technology we use today. Some went on to can be built using a variety of programming languages.
become chief developers for top software companies, whereas
others pushed the available hardware to its limits and founded the 7KHODQJXDJHVLQXVHWRGD\GLƪHUGHSHQGLQJRQWKHVLWXDWLRQWKH
billion pound gaming empire that continually amazes us. platform, the device’s use and how the device will interact with its
www.bdmpublications.com
Why Python?
environment or users. Operating systems, such as Windows, macOS Python was created over twenty six years ago and has evolved to
and such are usually a combination of C++, C#, assembly and some become an ideal beginner’s language for learning how to program a
IRUPRIYLVXDOEDVHGODQJXDJH*DPHVJHQHUDOO\XVH&ZKLOVWZHE computer. It’s perfect for the hobbyist, enthusiast, student, teacher
pages can use a plethora of available languages such as HTML, Java, and those who simply need to create their own unique interaction
Python and so on. between either themselves or a piece of external hardware and the
computer itself.
More general-purpose programming is used to create programs,
apps, software or whatever else you want to call them. They’re Python is free to download, install and use and is available for Linux,
widely used across all hardware platforms and suit virtually every Windows, macOS, MS-DOS, OS/2, BeOS, IBM i-series machines, and
conceivable application. Some operate faster than others and some HYHQ5,6&26,WKDVEHHQYRWHGRQHRIWKHWRSƬYHSURJUDPPLQJ
are easier to learn and use than others. Python is one such general- languages in the world and is continually evolving ahead of the
purpose language. hardware and Internet development curve.
Python is what’s known as a High-Level Language, in that it ‘talks’ So to answer the question: why Python? Simply put, it’s free, easy to
to the hardware and operating system using a variety of arrays, OHDUQH[FHSWLRQDOO\SRZHUIXOXQLYHUVDOO\DFFHSWHGHƪHFWLYHDQGD
variables, objects, arithmetic, subroutines, loops and countless superb learning and educational tool.
more interactions. Whilst it’s not as streamlined as a Low-Level
Language, which can deal directly with memory addresses, call
VWDFNVDQGUHJLVWHUVLWVEHQHƬWLVWKDWLWoVXQLYHUVDOO\DFFHVVLEOH
and easy to learn.
Java is a powerful
language that’s used in
web pages, set-top boxes,
TVs and even cars.
www.bdmpublications.com
Introducing Python
Python’s ability to create highly readable code, within a small set <RXoOOƬQGORWVRIH[DPSOHVRIWKLVZKHUH3\WKRQLVDFWLQJEHKLQG
of instructions, has a considerable impact on our modern digital WKHVFHQHV7KLVLVZK\LWoVVXFKDQLPSRUWDQWODQJXDJHWROHDUQ
ZRUOG)URPEHLQJDQLGHDOƬUVWSURJUDPPHUVoFKRLFHWKURXJKWR
EHLQJDEOHWRFUHDWHLQWHUDFWLYHVWRULHVDQGJDPHVIURPVFLHQWLƬF
DSSOLFDWLRQVWKURXJKWRDUWLƬFLDO,QWHOOLJHQFHDQGZHEEDVHG
applications, the only limit to Python is the imagination of the
person coding in it.
BIG DATA
Big data is a buzzword you’re likely to have come across in the last couple of years.
Basically, it means extremely large data sets that are available for analysis to reveal
patterns, trends and interactions between humans, society and technology. Of course,
it’s not just limited to those areas, big data is currently being used in a variety of
industries, from social media to health and welfare, engineering to space exploration
and beyond.
Python plays a substantial role in the world of big data. It’s extensively used to analyse
KXJHFKXQNVRIWKHDYDLODEOHELJGDWDDQGH[WUDFWVSHFLƬFLQIRUPDWLRQEDVHGRQZKDW
WKHXVHUFRPSDQ\UHTXLUHVIURPWKHZHDOWKRIQXPEHUVSUHVHQW7KDQNVWRDQ
impressive set of data processing libraries, Python makes the act of getting to the data,
in amongst the numbers, that counts and presenting it in a fashion that’s readable and
useable for humans.
7KHUHDUHFRXQWOHVVOLEUDULHVDQGIUHHO\DYDLODEOHPRGXOHVWKDWHQDEOHIDVWVHFXUHDQG
more importantly, accurate processing of data from the likes of supercomputing clusters.
For example, CERN uses a custom Python module to help analyse the 600 million collisions
SHUVHFRQGWKDWWKH/DUJH+DGURQ&ROOLGHU/+&SURGXFHV$GLƪHUHQWODQJXDJHKDQGOHV
the raw data, but Python is present to help sift through the data so scientists can get to the
content they want without the need to learn a far more complex programming language.
www.bdmpublications.com
What Can You Do with Python?
ARTIFICIAL INTELLIGENCE
$UWLƬFLDO,QWHOOLJHQFHDQG0DFKLQH/HDUQLQJDUHWZRRIWKH
PRVWJURXQGEUHDNLQJDVSHFWVRIPRGHUQFRPSXWLQJ$,LVWKH
XPEUHOODWHUPXVHGIRUDQ\FRPSXWLQJSURFHVVZKHUHLQWKH
PDFKLQHLVGRLQJVRPHWKLQJLQWHOOLJHQWZRUNLQJDQGUHDFWLQJ
LQVLPLODUZD\VWRKXPDQV0DFKLQH/HDUQLQJLVDVXEVHWRI$,
DQGSURYLGHVWKHRYHUDOO$,V\VWHPZLWKWKHDELOLW\WROHDUQ
IURPLWVH[SHULHQFHV
+RZHYHU$,LVQoWVLPSO\WKHFUHDWLRQRIDXWRQRPRXVURERWV
LQWHQWRQZLSLQJRXWKXPDQFLYLOLVDWLRQ,QGHHG$,FDQEH
IRXQGLQDYDULHW\RIGD\WRGD\FRPSXWLQJDSSOLFDWLRQVZKHUH
WKHnPDFKLQHoRUPRUHDFFXUDWHO\WKHFRGHQHHGVWROHDUQ
IURPWKHDFWLRQVRIVRPHIRUPRILQSXWDQGDQWLFLSDWHZKDW
WKHLQSXWLVOLNHO\WRUHTXLUHRUGRQH[W
7KLVPRGHOFDQEHDSSOLHGWR)DFHERRN*RRJOH7ZLWWHU
,QVWDJUDPDQGVRRQ+DYH\RXHYHUORRNHGXSDFHOHEULW\
RQ,QVWDJUDPDQGWKHQGLVFRYHUHGWKDW\RXUVHDUFKHVZLWKLQ
RWKHUVRFLDOPHGLDSODWIRUPVDUHQRZVSHFLƬFDOO\WDUJHWHG
WRZDUGVLPLODUFHOHEULWLHV"7KLVLVDSULPHH[DPSOHRIXVLQJ$,
LQWDUJHWHGDGYHUWLVLQJDQGEHKLQGWKHFRGHDQGDOJRULWKPV GAMING
WKDWSUHGLFWZKDW\RXoUHORRNLQJIRULV3\WKRQ
$OWKRXJK\RXZRQoWƬQGWRRPDQ\WULSOH$UDWHGJDPHVFRGHG
6SRWLI\IRUH[DPSOHXVHV3\WKRQEDVHGFRGH
using Python, you may be surprised to learn that Python is used as
DPRQJRWKHUWKLQJVWRDQDO\VH\RXUPXVLFDO
an extra on many of the high-ranking modern games.
KDELWVDQGRƪHUSOD\OLVWVEDVHGRQZKDW\RXoYH
OLVWHQHGWRLQWKHSDVW,WoVDOOFOHYHUVWXƪDQG
The main use of Python in gaming comes in the form of scripting,
PRYLQJIRUZDUG3\WKRQLVDWWKHIRUHIURQWRI
where a Python script can add customisations to the core game
WKHZD\WKH,QWHUQHWZLOOZRUNLQWKHIXWXUH
engine. Many map editors are Python compatible and you will also
come across it if you build any mods for games, such as The Sims.
$ORWRIWKHRQOLQH00253*0DVVLYHO\0XOWLSOD\HU2QOLQH5ROH
3OD\LQJ*DPHJDPHVDYDLODEOHXWLOLVH3\WKRQDVDFRPSDQLRQ
WEB DEVELOPMENT language for the server-side elements. These include: code to
search for potential cheating, load balancing across the game’s
Web development has moved on considerably since the early servers, player skill matchmaking and to check whether the player’s
GD\VRI+70/VFULSWLQJLQDOLPLWHGWH[WHGLWRU7KHPDQ\ client-side game matches the server’s versions. There’s also a
frameworks and web management services available now Python module that can be included in a Minecraft server, enabling
means that building a page has become increasingly complex. the server admin to add blocks, send messages and automate a lot
of the background complexities of the game.
With Python, the web developer has the ability to create
dynamic and highly secure web apps, enabling interaction with
other web services and apps such as Instagram and Pinterest.
Python also allows the collection of data from other websites
and even apps built within other websites. PYTHON EVERYWHERE
As you can see, Python is quite a versatile
programming language. By learning Python,
you are creating a well-rounded skillset that’s
able to take you into the next generation of
computing, either professionally or simply
as a hobbyist.
www.bdmpublications.com
Introducing Python
Pytho
n cre
Ross ator G
um n uido
amed V
There’s a readi
ng sc P ython an
Pyth ripts afte
lot to like about on’s F from Mon r
lying t
Python, but don’t just Circu y
s.
take our word for it. Here are
VRPHDPD]LQJIDFWVDQGƬJXUHV
surrounding one of the most popular
programming languages of recent years.
in PYTHON AND
LINUX SKILLS
NUMBERS
www.bdmpublications.com
Python in Numbers
16,000 3<7+216.,//Ǖ%$6('
POSITIONS ARE THE
Python Data Science is Google is the top Data Science, Blockchain New York and San
thought to become the company for hiring Python and Machine Learning Francisco are the top
most sought-after job in developers, closely are the fastest growing Python developer cities
the coming years. followed by Microsoft. Python coding skills. in the world.
£60,000
www.bdmpublications.com
Introducing Python
Equipment You
Will Need
<RXFDQOHDUQ3\WKRQZLWKYHU\OLWWOHKDUGZDUHRULQLWLDOƬQDQFLDOLQYHVWPHQW<RX
don’t need an incredibly powerful computer and any software that’s required is
IUHHO\{DYDLODEOH
COMPUTER
Obviously you’re going to need a computer in order to learn how to program in
3\WKRQDQGWRWHVW\RXUFRGH<RXFDQXVH:LQGRZVIURP;3RQZDUGRQHLWKHUD
or 64-bit processor, an Apple Mac or Linux installed PC.
AN IDE
$Q,'(,QWHJUDWHG'HYHORSHU(QYLURQPHQWLVXVHGWRHQWHUDQGH[HFXWH3\WKRQ
code. It enables you to inspect your program code and the values within the code, as
ZHOODVRƪHULQJDGYDQFHGIHDWXUHV7KHUHDUHPDQ\GLƪHUHQW,'(VDYDLODEOHVRƬQG
the one that works for you and gives the best results.
PYTHON SOFTWARE
macOS and Linux already come with Python preinstalled as part of the operating
system, as does the Raspberry Pi. However, you need to ensure that you’re running
the latest version of Python. Windows users need to download and install Python,
which we’ll cover shortly.
TEXT EDITOR
Whilst a text editor is an ideal environment to enter code into, it’s not an absolute
necessity. You can enter and execute code directly from the IDLE but a text editor,
VXFKDV6XEOLPH7H[WRU1RWHSDGRƪHUVPRUHDGYDQFHGIHDWXUHVDQGFRORXUFRGLQJ
when entering code.
INTERNET ACCESS
Python is an ever evolving environment and as such new versions often introduce
new concepts or change existing commands and code structure to make it a more
HƯFLHQWODQJXDJH+DYLQJDFFHVVWRWKH,QWHUQHWZLOONHHS\RXXSWRGDWHKHOS\RX
out when you get stuck and give access to Python’s immense number of modules.
www.bdmpublications.com
Equipment You Will Need
THE RASPBERRY PI
:K\XVHD5DVSEHUU\3L"7KH5DVSEHUU\3LLVDWLQ\FRPSXWHUWKDWoVYHU\FKHDSWRSXUFKDVHEXWRƪHUVWKHXVHUDIDQWDVWLFOHDUQLQJ
platform. Its main operating system, Raspbian, comes preinstalled with the latest Python along with many modules and extras.
RASPBERRY PI
The Raspberry Pi 4 Model B is the latest version,
LQFRUSRUDWLQJDPRUHSRZHUIXO&38DFKRLFHRI*%
*%RU*%PHPRU\YHUVLRQVDQG:L)LDQG%OXHWRRWK
support. You can pick up a Pi from around £34, increasing
XSWR~IRUWKH*%PHPRU\YHUVLRQRUDVDSDUWRINLW
for £50+, depending on the kit you’re interested in.
FUZE PROJECT
The FUZE is a learning environment built on the latest model
of the Raspberry Pi. You can purchase the workstations that
come with an electronics kit and even a robot arm for you
WREXLOGDQGSURJUDP<RXFDQƬQGPRUHLQIRUPDWLRQRQWKH
FUZE at www.fuze.co.uk.
BOOKS
We have several great Raspberry Pi titles available via www.
bdmpublications.com. Our Pi books cover how to buy your
ƬUVW5DVSEHUU\3LVHWLWXSDQGXVH
RASPBIAN it; there are some great step-
by-step project examples and
guides to get the most from the
The Raspberry Pi’s main operating system is a Debian-based
Raspberry Pi too.
Linux distribution that comes with everything you need in
a simple to use package. It’s streamlined for the Pi and is an
ideal platform for hardware and software projects, Python
programming and even as a desktop computer.
www.bdmpublications.com
Introducing Python
*HWWLQJWR.QRZ3\WKRQ
Python is one of the most used and popular programming languages. It’s a great
language on which to learn how to code, but it’s also powerful enough to be used by
companies when trawling through petabytes of raw data.
PYTHON POWER
Python is a high-level, general-purpose programming language that was designed by Guido van Rossum in the late ‘80s, as a
successor to the ABC Programming Language, and became available to use in 1990.
7KH3\WKRQ6RIWZDUH)RXQGDWLRQDQRQSURƬWRUJDQLVDWLRQGHYRWHG 0DGHXSIURPRYHU3HWDE\WHVRIGDWDVSUHDGDFURVVD
to both furthering and improving Python, currently develops the WRQRIKDUGGULYHV3\WKRQKHOSHGVFLHQFHWRXQYHLOWKHƬUVW
ODQJXDJH7KHIRXQGDWLRQoVSXUSRVHLVWRpSURPRWHSURWHFWDQG image of a black hole.
advance the Python programming language, and to support and
facilitate the growth of a diverse and international community of
Python programmers.” As a side note, it’s not just the likes of the Stock Exchange that
XVH3\WKRQWRVWXG\ODUJHTXDQWLWLHVRIGDWDLQ$SULOWKHƬUVW
7KHVWUXFWXUHRI3\WKRQFRGHKDVEHHQGHVLJQHGWRƮRZHDVLO\ image of a black hole was released, the supermassive black hole in
allowing those who are just beginning to code to follow it without the galaxy called M87, located roughly 55 million light years away.
WRRPXFKGLƯFXOW\<HWGHVSLWHLWVHDVHRIXVH3\WKRQLVUHJXODUO\ 7KDQNVWRWKHFROODERUDWLRQRIRYHUVFLHQWLVWVXVLQJDQDUUD\RI
used throughout a number of industries in real-world scenarios. WHOHVFRSHVVSDQQLQJWKHZRUOGFDOOHGWKH(YHQW+RUL]RQ7HOHVFRSH
Project), the combined power of the telescopes formed an
Big Data and AI are the two fastest growing Python-backed LPSUHVVLYHƬYHSHWDE\WHVRIGDWDVSUHDGDFURVVWHQVRIKDUGGULYHV
technologies at the moment. Big Data is simply a modern term weighing in at nearly one ton. Five petabytes, by the way, equates
used to describe huge WRDURXQG\HDUVoZRUWKRI03ƬOHV2QFHDOOWKRVHKDUGGULYHV
amounts of data, were gathered together and shipped to a central supercomputer
such as sequences cluster, the team then used Python to painstakingly stitch together
of numbers collated DOOWKHIUDJPHQWVRIGDWDIURPWKHƬYHSHWDE\WHVWRƬQDOO\IRUPWKH
during a day’s worth of most talked about astronomic event of the decade.
trading on the Stock
Exchange. Python $,LI\RXoUHQRWIDPLOLDUZLWKWKHWHUPVWDQGVIRU$UWLƬFLDO
code is used to dig ,QWHOOLJHQFH$OWKRXJKZHoUHVWLOODORQJZD\RƪIURPWKHYLVLRQDU\
into the voluminous stories of Arthur C. Clarke, AI is fast becoming one of the most
collection of numbers, LQƮXHQWLDOWHFKQRORJLHVRIRXUPRGHUQDJH5DWKHUWKDQFRQWUROOLQJ
and then feed back robots, the AI that Python drives is designed to create autonomous
with reports on the ways of interacting with people online. For example, when you
Python code is both elegant and highs and lows, what’s search for something on the Amazon website you will usually notice
easy to read (when you know how). trending, and so on. that similar products start to appear, whether within Amazon itself,
www.bdmpublications.com
Getting to Know Python
3<7+21963<7+21
In a typical computing scenario, Python is complicated somewhat by the existence of two active versions of the language:
3\WKRQDQG3\WKRQ
You need to be careful when you look up Python code online, although
WKHUHDUHFRXQWOHVVZHEVLWHVWKDWRƪHUTXLFNWXWRULDOVFRGHVQLSSHWV
and support – and 99% of these site are a great help to those starting
out with Python – a lot of the sites haven’t been updated for some
time, and as such use Python 2. If you enter Python 2 code into the
Python 3 IDLE, the chances are it won’t work due to incompatibilities
between the older version and the newer. Python 2 is good, but
Python 3 is better. You can obviously spend time converting the
Python 2 code into version 3, but, to begin with, it’s best to make sure
that the code you’re looking at is for the Python 3 libraries. Don’t
3\WKRQLVWKHEHVWRSWLRQWR
worry, though, all the code in this book is designed for Python 3, and
download, or update to.
that includes all the sub versions from Python 3.1 to the latest 3.x.
Python 3 is the newest release of the programming language.
However, if you dig a little deeper into the Python site and investigate Python 3’s growing popularity has meant that it’s now prudent to start
Python code online, you will undoubtedly come across Python 2. learning to develop with the new features and begin to phase out the
Crucially, although you can run Python 3 and Python 2 alongside previous version. Many development companies, such as SpaceX and
each other, it’s not recommended. Always opt for the latest stable NASA, use Python 3 for snippets of important code.
UHOHDVHDVSRVWHGE\WKH3\WKRQZHEVLWH<RXZLOOƬQGZKHQXVLQJ
PDF26RU/LQX[WKDW3\WKRQLVDOUHDG\LQVWDOOHG7KLVLVEHFDXVH However, support for Python 2 is set to end on January 1st 2020, but
both these operating systems utilise elements of code necessary to this doesn’t mean it’ll be the last you see of it. Many Linux distros use
WKHFRUHIXQFWLRQDOLW\RIWKH26/LQX[XVHUVWHQGWREHEHWWHURƪ Python 2 libraries, as does macOS, and to be fair, for the developers
as most distributions package the latest version of Python 3 out-of- to transfer the existing Python 2 content to Python 3 may take more
the-box, whereas macOS often has Python 3, it’s usually an older time than they have available, i.e. before the start of 2020. It’s likely
version. Microsoft doesn’t use any Python code for its core Windows WKHQWKDWZHZLOOVWLOOEHVHHLQJ3\WKRQORQJDIWHULWKDVKDGWKHƬQDO
V\VWHPVZKLFKLVZK\\RXZRQoWƬQG3\WKRQLQKHUHQWWR:LQGRZVDQG QDLOKDPPHUHGLQWRLWVFRƯQsLQIDFWH[SHFWWRVHHWKDWFXWRƪGDWH
therefore need to install it from scratch. extend further into the future.
RUIURPDVHDUFKHQJLQHRUHYHQ)DFHERRN7KHFRGHEHKLQG
these targeted snippets is Python, and it’s using a form of AI to
help determine what it is you would likely search for. ZEN OF PYTHON
'HVSLWHWKHIDFWWKDWPDQ\SHRSOHƬQGWKHWDUJHWLQJRI Python lets you access
advertising intrusive, or even an invasion of privacy, you have to all the power of a
admit that the code technology behind it all is rather impressive. computer in a language
With some very clever techniques, a Python developer is able that humans can
to create a machine thinking script that not only displays items, understand. Behind all
news stories, books, other websites and ideas relating to what this is an ethos called
you’ve searched for, but it can also predict what you may be “The Zen of Python”.
interested in looking for in the future. Another element to This is a collection of 20
consider, with regards to AI, is that Python code can be used to software principles that
KHOSDFRPSXWHUOHDUQKRZWRGRVRPHWKLQJPRUHHƯFLHQWO\,Q LQƮXHQFHVWKHGHVLJQRI
the case of neural networks in AI, the Python code is designed the language. Principles The Zen of Python, as
to return a result, then, as the code is run over and over again, include “Beautiful is seen when entering:
the AI portion will begin to learn how to obtain a more accurate better than ugly” and import this, into the
result, or do the maths behind the code quicker. It all depends on “Simple is better than Python IDLE.
what the developer wants from their AI Python code. complex.” Type: import
this into Python and it will display all the principles.
An example of Python AI code, using a
As you will discover over the coming pages, Python is a
feedforward neural network.
fantastic language to learn. Get to grips with the basics, and
before long, you’ll be creating your own Python code for
games, tools, and maybe even something in AI. The only limit
with Python is your own imagination.
www.bdmpublications.com
Coding on Linux
Why Linux?
The Best Linux Distributions
Equipment You Will Need
Creating a Linux Installer on Windows
Installing Linux on a PC
40 www.bdmpublications.com
Index
Coding
on Linux
www.bdmpublications.com 41
Coding on Linux
Why Linux?
For many of its users, Linux means freedom. Freedom from the walled-gardened
approach of other operating systems, freedom to change and use the OS as you please
DQGIUHHGRPIURPDQ\IRUPRIOLFHQVLQJRUSD\PHQW7KHUHoVDORWPRUHWR/LQX[WKDQ
you may think.
7KHƬUVWWKLQJZHQHHGWRDGGUHVVLVWKDWWKHUHLVQREDVLFRSHUDWLQJ /LQX[ZRUNVYHU\GLƪHUHQWO\WR:LQGRZVRUPDF26)RUDVWDUWLWoV
system called Linux. Fundamentally, Linux is the operating system free to download, free to install on as many computers as you like,
kernel, the core component of an OS. When talking about Linux we free to use for an unlimited amount of time and free to upgrade
are, in fact, referring to one of the many distributions, or distros, and extend with equally free programs and applications. This free to
that use the Linux kernel. No doubt you’ve heard of at least one of use element is one of the biggest draws for the developer. While a
the current popular distros: Ubuntu, Linux Mint, Fedora, openSUSE, Windows license can cost up to £100 and a Mac considerably more,
'HELDQ5DVSELDQfWKHOLVWJRHVRQ(DFKRQHRIWKHVHGLVWURVRƪHUV a user, be they a developer, gamer, or someone who wants to put an
WKHXVHUVRPHWKLQJDOLWWOHGLƪHUHQW:KLOHHDFKKDVWKH/LQX[NHUQHODW older computer to use, can quickly download a distro and get to work
LWVFRUHWKH\RƪHUDGLƪHUHQWORRNLQJGHVNWRSHQYLURQPHQWGLƪHUHQW in a matter of minutes.
SUHORDGHGDSSOLFDWLRQVGLƪHUHQWZD\VLQZKLFKWRXSGDWHWKHV\VWHP
DQGJHWPRUHDSSVLQVWDOOHGDQGDVOLJKWO\GLƪHUHQWORRNDQGIHHO Alongside the free to use aspect comes a level of freedom to customise
throughout the entire system. However, at the centre lies Linux, which and mould the system to your own uses. Each of the distros available on
is why we say, Linux. WKH,QWHUQHWKDYHDFHUWDLQnVSLQoVRPHRƪHULQFUHDVHGVHFXULW\DIDQF\
42 www.bdmpublications.com
Why Linux?
ORRNLQJGHVNWRSDJDPLQJVSHFLƬFVSLQRUVRPHWKLQJGLUHFWHGWRZDUG
students. This extensibility makes Linux a more desirable platform to
use, as you can quickly mould the system into a development base,
LQFOXGLQJPDQ\GLƪHUHQWNLQGVRI,'(VIRUXVHZLWK3\WKRQZHE
development, C++, Java and so on, or even a base for online anonymity,
perhaps as a Minecraft server, media centre and much more.
*HQHUDOO\VSHDNLQJ/LQX[GRHVQoWWDNHXSDVPDQ\V\VWHPUHVRXUFHV
as Windows or macOS, (by system resources, we mean memory,
(DFKGLVWURRƪHUVVRPHWKLQJXQLTXHWRWKH
KDUGGULYHVSDFHDQG&38ORDGDVWKH/LQX[FRGHKDVEHHQ
user but all have Linux at the core.
streamlined and is free from third-party ‘bloatware’, which hogs
WKRVHV\VWHPVUHVRXUFHV$PRUHHƯFLHQWV\VWHPPHDQVPRUH
available resources for the coding and testing environment and the So rather than throwing away an old computer, it can be reused with
programs you will eventually create. Less resource use also means a Linux distro.
you can use Linux on older hardware that would normally struggle,
or even refuse to run, the latest versions of Windows or macOS. However, it’s not all about C++, Python, or any of the other more
popular programming languages. Using the command line of Linux
DOVRFDOOHGWKH7HUPLQDO\RXoUHDEOHWRFUHDWH6KHOOVFULSWVZKLFKDUH
programs made up of scripting languages and designed to run from
WKHFRPPDQGOLQH7KH\DUHXVHGPDLQO\WRDXWRPDWHWDVNVRURƪHUWKH
user some form of input and output for a certain operation.
There are many more advantages we could list, for example, there
are thousands and thousands of free programs and apps available
that cover practically every aspect of computing. Known as packages,
WKHUHDUHDWWKHWLPHRIZULWLQJRYHUVSHFLƬFSURJUDPPLQJ
applications on Linux Mint alone and an incredible 62,000+ overall
packages, catering from Amateur Radio to WWW tools.
www.bdmpublications.com
Coding on Linux
/,18;0,17ǟ/,18;0,17&20
By far the most popular Linux distro (distribution) is Linux Mint. In fact, it’s recommended that you spend at least some time trying
Mint began life back in 2006, as an alternative to the then, most GLƪHUHQWHQYLURQPHQWVDQGHYHQGLƪHUHQWGLVWURVWRVHHZKLFK
SRSXODUGLVWUR8EXQWX$OWKRXJKEDVHGRQ8EXQWXoV/RQJ7HUP suits you and your computer best.
6XSSRUWEXLOG/LQX[0LQWWRRNDGLƪHUHQWGLUHFWLRQWRRƪHUWKH
user a better overall experience.
Linux Mint has three main desktop versions available with each
QHZYHUVLRQRIWKHFRUH26LWUHOHDVHV7KLVPD\VRXQGFRQIXVLQJ
DWƬUVWEXWLWoVTXLWHVLPSOH&XUUHQWO\/LQX[0LQWXVHVWKH
&LQQDPRQ'HVNWRS(QYLURQPHQWDVLWVƮDJVKLSPRGHODOWKRXJK
0$7(DQG;IFHPRGHOVDUHDOVRDYDLODEOH
&LQQDPRQLVDJUDSKLFDOO\ULFKGHVNWRSHQYLURQPHQWZKLOH0$7(
uses less fancy graphics but is more stable on a wider variety of
GHVNWRSV\VWHPVDQGƬQDOO\;IFHLVDQH[WUHPHO\VWUHDPOLQHG
desktop environment that is built for speed and ultimate stability.
7KURXJKRXWWKLVWLWOHZHoOOEHXVLQJWKH&LQQDPRQYHUVLRQ
however, you can try out any of the other desktop environments.
8%8178ǟ8%8178&20
7KHVHFRQGPRVWSRSXODUGLVWURDYDLODEOHLV8EXQWXDQDQFLHQW
African word meaning ‘humanity to others’. Ubuntu’s popularity
KDVƮXFWXDWHGRYHULWVIRXUWHHQ\HDUOLIH$WRQHWLPHLWZDV
easily the most used, Linux-based operating system in the
world, sadly, some wrong choices along the way with regards
to its presentation, along with some unfavourable and
controversial elements involving privacy, saw it topple from the
number one spot. and it’s a little heavy on system resources (especially if you plan
to install it on an older computer).
7KDWVDLG8EXQWXKDVVLQFHPDGHDPHQGVDQGLVVORZLQJFUDZOLQJ
LWVZD\EDFNXSWKH/LQX[OHDGHUERDUG7KHODWHVWYHUVLRQVRI Ubuntu, for all its faults, is a good Linux distro to start
the OS use the GNOME 3 desktop environment, it’s impressive experimenting with. It’s a clean interface, easy to use and install
although it can be a little confusing for former Windows users DQGRƪHUVWKHXVHUWKHFRPSOHWH/LQX[H[SHULHQFH
44 www.bdmpublications.com
7KH%HVW/LQX['LVWULEXWLRQV
$5&+ǟ$5&+/,18;25* 23(1686(ǟ23(1686(25*
Arch is one of the longest running Linux distributions and 0RVW/LQX[GLVWULEXWLRQVIDOOLQWRWZRFDPSVWKRVHZLWKWKH
forms the basis of many other versions of Linux. So why latest features and technology like Ubuntu and Mint and those
install Mint, or Ubuntu when you can install Arch? Many users with fewer new features, but rock-solid reliability, like Debian.
do exactly that, but it’s not ideal for beginners. Ubuntu and
0LQWERWKRƪHUDQHDVLHULQVWDOODWLRQSDWKDQGFRPHZLWK Meanwhile, openSUSE attempts to cover both bases.
software packages that will help you get started. OpenSUSE Leap is a rock-solid system. It’s developed openly
E\DFRPPXQLW\DORQJZLWK686(HPSOR\HHV7KH\GHYHORS
$UFKRQWKHRWKHUKDQGLVDPRUHnEDUHERQHVoDƪDLU,WLV DQHQWHUSULVHOHYHORSHUDWLQJV\VWHP686(ZKLFKSRZHUVWKH
committed to free software and its repositories contain over London Stock Exchange, amongst other things. It is designed
50,000 apps to install. You can also install multiple Desktop for mission critical environments where ‘there is no scope
environments and use them as you would with any other distro. IRULQVWDELOLW\o,I\RXƬQGDOOWKDWWRRVHQVLEOHRSHQ686(
7XPEOHZHHGLVDUROOLQJUHOHDVHZLWKDOOWKHODWHVWIHDWXUHVDQG
Arch is a distro for when you’re more experienced with Linux. the occasional crash.
You start with nothing more than the command line and from
WKHUH\RXPDQXDOO\SDUWLWLRQ\RXUKDUGGULYHVHWZKHUHWKH openSUSE is a highly respected Linux distribution and many
LQVWDOODWLRQƬOHVZLOOJRFUHDWHDXVHUVHWWKH26ORFDOHDQG RILWVFRUHFRQWULEXWRUVZRUNRQWKH/LQX[.HUQHO/LEUH2ƯFH
install a desktop environment, along with the apps you want. *QRPHDQGRWKHUNH\/LQX[DUHDV,QVKRUWRSHQ686(LVZKHUH
\RXoOOƬQGWKHSURVKDQJLQJRXW
7KHDGYDQWDJHIRUDOOWKLVKDUGZRUNLVDGLVWURWKDW\RXoYH
FUHDWHG7KLVPHDQV\RXU$UFKGLVWURZRQoWFRPHZLWKDOO
WKHXQQHFHVVDU\ƬOHVDQGDSSVWKDWRWKHUGLVWURVKDYHSUH
installed; it’s custom made for you, by you.
5$63%(55<3,'(6.723ǟ5$63%(55<3,25*ǖ'2:1/2$'6ǖ5$63%(55<Ǖ3,Ǖ'(6.723
No doubt you’ve heard of the GLƪHUHQWSURJUDPPLQJODQJXDJHVDQG
Raspberry Pi? It’s hard not to have, as educational resources.
this remarkable, tiny computer has
taken the technology world by storm Originally, Raspbian was exclusive to
since it was introduced six years ago. the Pi hardware, as the Raspberry Pi
uses an ARM processor to power it.
7KHUHDUHVHYHUDODVSHFWVWRWKH However, the Raspberry Pi Foundation
Raspberry Pi that make it such a has since released a PC version of
sought-after piece of the computing 5DVSELDQ5DVSEHUU\3L'HVNWRS
world. For one, it’s cheap, costing
around £25 for, what is essentially, As with the Pi version, Raspberry Pi
a fully working computer. It’s small, Desktop comes with the all the coding,
measuring not much bigger than a credit card. You can employ educational and other apps you will ever need. It’s quick, stable
it to build electronics, using a fully programmable interface and and works superbly. If you’re interested in stretching your
it comes with Raspbian, its own custom-made, Debian-based /LQX[H[SHULHQFHWKHQWKLVLVGHƬQLWHO\RQHRIWKHWRSGLVWURV
RSHUDWLQJV\VWHPWKDWLQFOXGHVDQRƯFHVXLWHDORQJVLGHPDQ\ to consider.
www.bdmpublications.com
Coding on Linux
Equipment You
Will Need
7KHV\VWHPUHTXLUHPHQWVIRUVXFFHVVIXOO\LQVWDOOLQJ/LQX[0LQWRQWRD3&DUH
surprisingly low, so even a computer that’s several years old will happily run this distro.
However, it’s worth checking you have everything in place before proceeding.
MINTY INGREDIENTS
Here’s what you’ll need to install and run Linux Mint as we work through this book. You have several choices available, so take
your time and see which works best for you.
SYSTEM REQUIREMENTS
The minimum system requirements for Linux Mint are as follows:
CPU 700MHz
RAM 512MB
Obviously the better the system you have, the better and quicker
the experience will be.
USB INSTALLATION
You can install Linux Mint onto your computer via USB or
DVD. We’ll look into each a little later on, but if you’re already
familiar with the process (or you’re thinking of USB and just
JDWKHULQJWKHKDUGZDUH\RXoOOQHHGWKHQ\RXoUHJRLQJWR
QHHGDPLQLPXP*%86%ƮDVKGULYHVWLFNWRFRQWDLQWKH
Linux Mint ISO.
46 www.bdmpublications.com
Equipment You Will Need
MAC HARDWARE
Although Linux Mint can be installed onto a Mac, there’s a
school of thought that recommends Mac owners use a virtual
environment, such as VirtualBox or Parallels; and why not,
macOS is already a splendid operating system. If you’re looking
to breathe new life into an older Mac, make sure it’s an Intel
CPU model and not the Power-PC models. However, be aware,
it’s not as pain-free as installing on to a PC.
VIRTUAL ENVIRONMENT
Installation to a virtual environment is a favourite method of
testing and using Linux distros. Linux Mint works exceedingly
well when used in a virtual environment, more on that later.
7KHUHDUHPDQ\GLƪHUHQWYLUWXDOHQYLURQPHQWDSSVDYDLODEOH
however VirtualBox, from Oracle, is one of the easiest. You can
get the latest version from www.virtualbox.org.
www.bdmpublications.com 47
Coding on Linux
STEP 1 First locate the ISO image of Linux you’ve already 67(3 Right-click the Linux ISO and from the menu select
downloaded. In Windows 7, 8.1 and 10 computers, Burn Disc Image. Depending on the speed of the PC,
\RXoOOXVXDOO\ƬQGWKLVLQWKH'RZQORDGVIROGHUXQOHVVZKHQVDYLQJ it may take a few seconds before anything happens. Don’t worry too
LW\RXoYHVSHFLƬHGDGLƪHUHQWORFDWLRQ much, unless it takes more than a minute, in which case it might be
worth restarting your PC and trying again. With luck, the Windows
Disc Image Burner should launch.
STEP 2 Next, insert a recordable DVD disc into your STEP 4 With the Windows Disc Image Burner dialogue box
computer’s optical drive. After a few seconds, while open, click on the ‘Verify disc after burning’ tick
the disc is read, Windows will display a pop-up message asking you box, followed by the Burn button. The process should take a few
what to do with the newly inserted disc, ignore this as we’re going minutes, depending on the speed of your PC’s optical drive. Once
to use the built-in image burning function. LWoVFRPSOHWHLWZLOOUXQWKURXJKWKHYHULƬFDWLRQVWDJHDQGZKHQ
done, the optical drive should auto-eject the disc for you.
48 www.bdmpublications.com
Creating a Linux Installer on Windows
STEP 2 67(3 The next step asks in which image mode do you
ZDQWWKH/LQX[,62WREHZULWWHQWRWKH86%ƮDVK
Double-click the GULYH%RWKPHWKRGVZRUNIRUGLƪHUHQWVLWXDWLRQVEXWJHQHUDOO\WKH
downloaded Rufus recommended ISO Image Mode is the more popular. Make sure this
executable; you can mode is pre-selected and click ‘OK’ to continue, followed by ‘OK’
click ‘Yes’ to the DJDLQWRFRQƬUPWKHDFWLRQ
Windows security
question and ‘Yes’
to checking for
updates. With Rufus
launched, it should
KDYHDOUHDG\LGHQWLƬHG
your inserted USB
ƮDVKGULYHLIQRWMXVW
UHPRYHDQGUHLQVHUW
www.bdmpublications.com 49
Coding on Linux
Installing Linux on a PC
0RVW/LQX[GLVWURVFRPHDVD/LYH(QYLURQPHQW7KLVPHDQV\RXFDQERRWLQWRDQDFWXDO
fully working distro straight from the DVD or USB you’ve just created. Let’s see how
that works and how you go about installing Linux from there.
UEFI BIOS
7KH8QLƬHG([WHQVLEOH)LUPZDUH,QWHUIDFH8(),LVXVHGWRLGHQWLI\KDUGZDUHDQGSURWHFWD3&GXULQJLWVERRWXSSURFHVV,W
replaces the traditional BIOS, but can cause issues when installing Linux.
STEP 1 ,QVHUW\RXU'9'RU86%ƮDVKGULYHLQWR\RXU3&DQG 67(3 With UEFI turned to Legacy mode, there are now
if you haven’t already, shutdown Windows. In this two ways of booting into the Live Environment. The
instance, we’re using the USB boot media but the process is virtually ƬUVWLVYLDWKH%,26\RXoUHDOUHDG\LQ/RFDWHWKHBoot Sequence and
identical. Start the PC and when prompted press the appropriate FKDQJHWKHƬUVWERRWGHYLFHIURPLWVRULJLQDOVHWWLQJXVXDOO\,QWHUQDO
keys to enter the BIOS or SETUP; these could be, for example, F2, HDD or similar, to: USB Storage Device for the USB media option; or
Del or even F12. DVD Drive, for the DVD media option.
STEP 2 7KHUHDUHGLƪHUHQWYHUVLRQVRID8(),%,26VR STEP 4 Alternatively use the Boot Option Menu. With this
covering them all would be impossible. What you’re option, you can press F12RUVRPHWKLQJVLPLODU
looking for is a section that details the Boot Sequence or Boot to display a list of boot media options; from there, you can choose
Mode+HUH\RXoOOKDYHWKHRSWLRQWRWXUQRƪ8(),DQGFKRRVH the appropriate boot media. Either way, you can now Save and Exit
Legacy, or disable Secure Booting. Most distros work with UEFI but the BIOS by navigating to the Save & Exit option and choosing Save
it can be a tricky process to enable it to boot. Changes and Exit.
www.bdmpublications.com
Installing Linux on a PC
INSTALLING LINUX
Once the Live Environment has booted, you will see the option to install the distro to your computer. Have a look around and
when you’re ready, look for the Install option on the desktop.
STEP 1 Providing you’re connected to the Internet (if not, STEP 4 Before the installation process begins, you’re asked
WKHQGRVRQRZDQG\RXoUHLQWKH/LYH(QYLURQPHQW if the choice you made regarding the erasure of the
start the installation process by double-clicking on the Install Linux hard drive is correct. This is your last chance to back out. If you’re
Mint icon on the desktop. Other distros will display their own name, of certain you don’t mind wiping everything and starting again with
course, but the process is the same. Click Continue when you’re ready. Linux Mint, click Continue,I\RXQHHGWREDFNXS\RXUƬOHVUHPRYH
the Linux disc/USB, reboot, back up and start again.
STEP 2 While the installation process is very similar across 67(3 Eventually you will be asked to set up your Linux
PRVW/LQX[GLVWURVVRPHRƪHUGLƪHUHQWTXHVWLRQV username and password. Enter your Name to begin
GXULQJWKHLQVWDOODWLRQ*HQHUDOO\WKHTXHVWLRQVDUHQoWWRRGLƯFXOWRU with, then Computer NamesZKLFKLVWKHQDPHXVHGWRLGHQWLI\
technical, but some such as ‘Installing third-party software…’ can be it on the network. Next, choose a Username, followed by a good
confusing. In this case, you can click Continue, but if you’re unsure, Password. You can tick the Login Automatically option, but leave
have an Internet-connected device available to ask any questions. the Encrypt Home Folder option for now.
67(3 When installing a new operating system it’s STEP 6 The installation process can be quick and there may
recommended that you wipe the old OS, replacing it be more questions to answer, or it may simply start
with the new. When you reach this stage of the installation process, installing Linux based on your previous answers. Either way, you will
ensure the ‘Erase disk and install Linux…’ option is selected. NOTE: end up being asked to Continue Testing the Live Environment, or
This will completely wipe Windows 10 from your computer; make Restarting to use the newly installed OS. If you’re ready to use Linux,
VXUH\RXKDYHEDFNXSVRIDOO\RXUSHUVRQDOƬOHVDQGGDWD then click Restart Now.
www.bdmpublications.com
Coding with Windows Batch Files
%DWFKƬOHSURJUDPPLQJLVDVNLOO
that system administrators still use,
so it’s worth spending a bit of time
learning how they work, and what
you can do with them. This section
LQWURGXFHVEDWFKƬOHVDQGFRYHUVXVHU
interactions, variables and loops.
www.bdmpublications.com
Index
Coding with
Windows
Batch Files
www.bdmpublications.com
Coding with Windows Batch Files
.BAT MAN
$:LQGRZVEDWFKƬOHLVVLPSO\DVFULSWƬOHWKDWUXQVDVHULHVRIFRPPDQGVRQHOLQHDWDWLPHPXFKLQWKHVDPHIDVKLRQDVD
/LQX[VFULSW7KHVHULHVRIFRPPDQGVDUHH[HFXWHGE\WKHFRPPDQGOLQHLQWHUSUHWHUDQGVWRUHGLQDSODLQWH[WƬOHZLWKWKH%$7
H[WHQVLRQWKLVVLJQLƬHVWR:LQGRZVWKDWLWoVDQH[HFXWDEOHƬOHLQWKLVFDVHDVFULSW
%DWFKƬOHVKDYHEHHQDURXQGVLQFHWKHHDUOLHVWYHUVLRQVRI0LFURVRIW line in turn, loading programs that would activate the mouse or
'26$OWKRXJKQRWH[FOXVLYHO\D0LFURVRIWVFULSWLQJƬOHEDWFKƬOHV RSWLFDOGULYHLQWRWKHPHPRU\DUHDVDVVLJQHGE\WKH&RQƬJV\VƬOH
are mainly associated with Microsoft’s operating systems. In the
early days, when a PC booted into a version of DOS (which produced 7KH'26XVHURIWKHGD\FRXOGRSWWRFUHDWHGLƪHUHQW$XWRH[HF
DVLPSOHFRPPDQGSURPSWZKHQSRZHUHGXSWKHEDWFKƬOHZDV EDWƬOHVGHSHQGLQJRQZKDWWKH\ZDQWHGWRGR)RUH[DPSOHLI
XVHGLQWKHIRUPRIDV\VWHPƬOHFDOOHG$XWRH[HFEDW$XWRH[HF they wanted to play a game and have as much memory available
EDWZDVDVFULSWWKDWDXWRPDWLFDOO\H[HFXWHGKHQFH$XWRH[HF DVSRVVLEOHWKH\oGFUHDWHD&RQƬJV\VDQG$XWRH[HFEDWVHWRIƬOHV
FRPPDQGVRQFHWKHRSHUDWLQJV\VWHPKDGƬQLVKHGGHDOLQJZLWKWKH that loaded the bare minimum of drivers and so on. If they needed
&RQƬJV\VƬOH DFFHVVWRWKHQHWZRUNDQ$XWRH[HFEDWƬOHFRXOGEHFUHDWHGWR
7KH$XWRH[HFEDWƬOHZDV
D3&XVHUoVƬUVWH[SHULHQFH
ZLWKDEDWFKƬOH
www.bdmpublications.com
What is a Batch File?
7KDWVDLG\RXoUHQRWOLNHO\WRFUHDWHDEDWFKƬOHWKDW
intentionally wipes out your operating system. There are
system controls in place to help prevent that; but it’s worth
PHQWLRQLQJDVWKHUHDUHEDWFKƬOHVDYDLODEOHRQWKH,QWHUQHW
that contain malicious code designed to create problems.
0XFKOLNHDYLUXVDURJXHEDWFKƬOHZKHQH[HFXWHGZLWK
$GPLQLVWUDWRUSULYLOHJHVFDQFDXVHPXFKPD\KHPDQGV\VWHP
GDPDJH,QVKRUWGRQoWUDQGRPO\H[HFXWHDQ\EDWFKƬOH
downloaded from the Internet as an Administrator, without
ƬUVWUHYLHZLQJZKDWLWGRHV
%DWFKƬOHVZHUHRIWHQXVHGDVXWLOLW\SURJUDPVWRKHOSXVHUVZLWK
complex tasks. <RXFDQOHDUQPRUHDERXWEDWFKƬOHVLQWKHFRPLQJSDJHVVR
don’t worry too much about destroying your system with one.
$OOWKLVMXVWGHPRQVWUDWHVKRZSRZHUIXOWKHKXPEOHEDWFKƬOH
load the network card driver and automatically gain access to the can be.
network. Each of these unique setups would be loaded on to a
ƮRSS\GLVNDQGERRWHGDVDQGZKHQUHTXLUHGE\WKHXVHU
7KH$XWRH[HFEDWZDVWKHƬUVWVXFKƬOHPDQ\XVHUVFDPHDFURVVLQ
their PC-based computing lives; since many had come from a 16-bit
or even 8-bit background; remember, this was the late eighties
DQGHDUO\QLQHWLHV7KHEDWFKƬOHZDVWKHXVHUoVSULPDU\WRROIRU
automating tasks, creating shortcuts and adventure games and
translating complex processes into something far simpler.
1RZDGD\VKRZHYHUDEDWFKƬOHLVQoWMXVWIRUORDGLQJLQGULYHUVDQG
VXFKZKHQWKH3&ERRWV<RXFDQXVHDEDWFKƬOHLQWKHVDPHZD\
DVDQ\RWKHUVFULSWLQJODQJXDJHƬOHLQWKDW\RXFDQSURJUDPLWWR
ask for user input and display the results on the screen; or save to
DƬOHDQGHYHQVHQGLWWRDORFDOO\RUQHWZRUNDWWDFKHGSULQWHU<RX
FDQFUHDWHVFULSWVWREDFNXS\RXUƬOHVWRYDULRXVORFDWLRQVFRPSDUH
date stamps and only back up the most recently changed content as
ZHOODVSURJUDPWKHVFULSWWRGRDOOWKLVDXWRPDWLFDOO\%DWFKƬOHVDUH
remarkably powerful and despite them not being as commonly used
as they were during the older days of DOS, they are still there and
can be utilised even in the latest version of Windows 10; and can be
as complex or simple as you want them to be.
6RZKDWGR\RXQHHGWRVWDUWEDWFKƬOHSURJUDPPLQJLQ:LQGRZV"
Well, as long as you have Windows 10, or any older version of
:LQGRZVIRUWKDWPDWWHU\RXFDQVWDUWEDWFKƬOHSURJUDPPLQJ
immediately. All you need is to be able to open Notepad and get to
the command prompt of Windows. We show you how it all works, so <RXFDQFUHDWHFRPSOH[EDWFKƬOHVRUVLPSOHRQHVWKDWGLVSOD\
read on. ASCII images on screen.
www.bdmpublications.com
Coding with Windows Batch Files
*HWWLQJ6WDUWHGZLWK
Batch Files
%HIRUH\RXEHJLQWRSURJUDPZLWKEDWFKƬOHVWKHUHDUHDIHZWKLQJV\RXQHHGWRNQRZ
$EDWFKƬOHFDQRQO\EHH[HFXWHGRQFHLWKDVWKHEDWH[WHQVLRQDQGHGLWLQJRQHZLWK
Notepad isn’t always straightforward.
A NEW BATCH
7KURXJKRXWWKLVVHFWLRQRQEDWFKƬOHVZHoUHJRLQJWREHZRUNLQJZLWK1RWHSDGWKHFRPPDQGSURPSWDQGZLWKLQDIROGHU
called ‘Batch Files’. To begin with, let’s see how you get to the Windows command prompt.
STEP 1 The Windows 67(3 While at the command prompt window, enter:
command dir/w.7KLVOLVWVDOOWKHƬOHVDQGGLUHFWRULHVIURP
prompt may look a little where you are at the moment in the system. In this case, that’s your
daunting to the newcomer Home directory that Windows assigns every user that logs in. You
but it’s simply another FDQQDYLJDWHE\XVLQJWKH&'FRPPDQG&KDQJH'LUHFWRU\7U\
LQWHUIDFHRU6KHOOXVHGWR
cd Documents
DFFHVVWKHƬOHV\VWHP<RX
can go anywhere you like in Then press Return.
the command prompt, as
you would with the graphical
interface. To begin, click on
the Windows Start button and
enter CMD into the search box.
STEP 2 Click on the search result labelled Command Prompt STEP 4 The prompt should change and display \
'HVNWRS$SSDQGDQHZZLQGRZSRSVXS7KH Documents>; this means you’re in the Documents
Command Prompt window isn’t much to look at to begin with but directory. Now, create a new directory call Batch Files. Enter:
you can see the Microsoft Windows version number and copyright
md “Batch Files”
information followed by the prompt itself. The prompt details the
current directory or folder you’re in, together with your username. You need the quotations because without them, Windows creates
two directories: Batch and Files. Now change directory into the
newly created Batch Files.
cd Batch Files
You won’t need the quotes to change directories.
www.bdmpublications.com
Getting Started with Batch Files
67(3 Now that you have the directory set up, where you STEP 8 Back at the command prompt window, enter:
VWRUH\RXUEDWFKƬOHVKHUHLVKRZ\RXFDQFUHDWH dir/wDJDLQWROLVWWKHQHZO\FUHDWHG7HVWEDWƬOH
one. Leave the command prompt window open and click on the %\WKHZD\WKHZSDUWRIGLUZPHDQVWKHƬOHVDUHOLVWHGDFURVV
Windows Start button again. This time enter Notepad and click on the screen as opposed to straight down. Enter dir if you want
the search result to open the Notepad program. Notepad is a simple DOWKRXJK\RXQHHGPRUHƬOHVWRYLHZEXWLWoVFRQVLGHUHGHDVLHUWR
text editor but ideal for creating batch scripts with. UHDGZLWKWKHZƮDJ
www.bdmpublications.com
Coding with Windows Batch Files
*HWWLQJDQ2XWSXW
While it’s great having the command prompt window display what you’re putting after
WKHHFKRFRPPDQGLQWKHEDWFKƬOHLWoVQRWYHU\XVHIXODWWKHPRPHQWRULQWHUDFWLYH
for that matter. Let’s change up a gear and get some output.
INPUT, OUTPUT
%DWFKƬOHVDUHFDSDEOHRIWDNLQJDQRUPDO:LQGRZVFRPPDQGDQGH[HFXWLQJLWZKLOHDOVRDGGLQJH[WUDRSWLRQVDQGƮDJVLQWR
the equation.
STEP 1 Let’s keep things simple to begin with. Create a new 67(3 You have no doubt noticed that there is no
EDWFKƬOHFDOOHGnGLUYLHZEDWoVKRUWIRU'LUHFWRU\ LQGLFDWLRQWKDWWKHEDWFKƬOHZRUNHGDVWKHUHoV
9LHZ6WDUWZLWKWKH#HFKRRƪFRPPDQGDQGXQGHUWKDWDGG no meaningful output on the screen. However, if you now open
Explorer and browse to c:\Users\YOURNAME, remembering to
dir “c:\users\YOURNAME\Documents\Batch Files” >
substitute YOURNAME with your Windows username, and double-
c:\users\YOURNAME\dirview.txt
click the dirview.txWƬOH\RXFDQVHHWKHEDWFKƬOHoVRXWSXW
Substitute YOURNAME with your Windows username.
STEP 2 The new line uses the dir command to list the STEP 4 If you want to automate the task of opening the
contents of the directory Batch Files, in your Home WH[WƬOHWKDWFRQWDLQVWKHRXWSXWDGGWKHIROORZLQJ
GLUHFWRU\GXPSLQJWKHRXWSXWWRDWH[WƬOHFDOOHGdirview.txt in OLQHWRWKHEDWFKƬOH
the root of your Home directory. This is done, so that the Windows
notepad.exe c:\users\YOURNAME\dirview.txt
UAC doesn’t require elevated permissions, as everything is in your
RZQ+RPHDUHD6DYHDQGUXQWKHEDWFKƬOH 6DYHWKHƬOHDQGRQFHDJDLQUXQIURPWKHFRPPDQGSURPSW7KLV
time, it creates the output and automatically opens Notepad with
the output contents.
www.bdmpublications.com
Getting an Output
STEP 1 &UHDWHDQHZEDWFKƬOHDQGFDOOLWname.bat. Start STEP 4 This is extremely useful if you want to create a
with the @echo off command, then add the XQLTXHSHUVRQDOEDWFKƬOHWKDWDXWRPDWLFDOO\UXQV
following lines: when a user logs into Windows. Using the default systems variables
WKDW:LQGRZVLWVHOIFUHDWHV\RXFDQPDNHDEDWFKƬOHWKDWJUHHWV
set /p name= What is your name?
each user:
echo Hello, %name%
@echo off
Note: there’s a space after the question mark. This is to make it look
QHDWHURQWKHVFUHHQ6DYHLWDQGUXQWKHEDWFKƬOH echo Hello, %USERNAME%.
echo.
HFKR7KDQNVIRUORJJLQJLQ&XUUHQWO\WKHQHWZRUN
LVRSHUDWLQJDWHI¿FLHQF\
echo.
echo Your Home directory is located at: %HOMEPATH%
echo The computer name you’re logged in to is:
&20387(51$0(
echo.
STEP 6 $OWHUQDWLYHO\\RXFDQUXQWKHEDWFKƬOHDQGGLVSOD\
LWRQWKHXVHUoVGHVNWRSDVDWH[WƬOH
@echo off
echo Hello, %USERNAME%. > c:%HOMEPATH%\user.txt
67(3 Variables stored with Set can be called with the
echo. >> c:%HOMEPATH%\user.txt
%VARIABLENAME% syntax,QWKHEDWFKƬOHZH
HFKR7KDQNVIRUORJJLQJLQ&XUUHQWO\WKHQHWZRUN
used the newly created %name% syntax to call upon the contents of
LVRSHUDWLQJDWHI¿FLHQF\!!F+20(3$7+?
the variable called name. Your username, for example, is stored as a
user.txt
YDULDEOH7U\WKLVLQDEDWFKƬOH
echo. >> c:%HOMEPATH%\user.txt
echo Hello, %USERNAME%. What are you doing? echo Your Home directory is located at: %HOMEPATH%
>> c:%HOMEPATH%\user.txt
echo The computer name you’re logged in to is:
&20387(51$0(!!F+20(3$7+?XVHUW[W
echo. >> c:%HOMEPATH%\user.txt
notepad c:%HOMEPATH%\user.txt
7KH!RXWSXWVWRDQHZƬOHFDOOHGXVHUW[WZKLOHWKH!!DGGVWKH
OLQHVZLWKLQWKHƬOH
www.bdmpublications.com
গতদনহতধনশ
ছফনগতদনহতধনশদনতষল॰ঘলরলফবলবশফবমতধল॰তশদলধবপগতদনহতধনশ॰
ফনফতধষলদনতষনফবশলফতধতনতধধনহনযলরনষষললযশষলবষনষফনপতরনॲ
ঊসষফনরলন॰ফনষফনধবশদলহননধষফতষতশতনশসযষলষফনদলধবপতধষফনদসশষলর
ফতধতন॰ষফনননহতধনশলॱশদননষফনতশষনষফনলদনশশলতশতথযনষল
নধনষফনরॲঘফসশ॰তশ়লসমবযযরলনহতধনশ॰ষফনতশষনষফন়থনদলরনॲগলতষফন
ষফতধনশবপষফনপতরনষলদলরনশতষনলষফনশননধবদনতশন॰ফনধনদবধনধষলমনন
বষতশতদফতযযনপবপপতরনযত়রনদফতবশরॲ
60 | www.bdmpublications.com
www.bdmpublications.com | 61
Coding with Windows Batch Files
62 www.bdmpublications.com
Playing with Variables
STEP 6 7KHDGGLWLRQVWRWKHEDWFKƬOHVLPSO\FOHDUWKH
FRPPDQGSURPSWZLQGRZXVLQJWKHFOVFRPPDQG
DQGGHOHWHERWKWKHYLHZW[WDQGOLVWW[WƬOHVWKDWZHUHFUHDWHGE\
WKHEDWFKƬOH7KH4ƮDJLQWKHGHOFRPPDQGPHDQVLWGHOHWHV
WKHƬOHVZLWKRXWDQ\XVHULQSXWRUQRWLƬFDWLRQ7KHƬQDOPHVVDJH
STEP 9 This action triggers the UAC warning message,
LQIRUPVWKHXVHUWKDWWKHƬOHVDUHUHPRYHG
asking you if you’re sure you want to run the
Windows command prompt with the elevated Administrator
privileges. Most of the time we wouldn’t recommend this course
of action: the UAC is there to protect your system. In this case,
however, click Yes.
STEP 7 Depending
on how
\RXUV\VWHPLVFRQƬJXUHG
you may not get any
directory information
at all or a message
stating Access Denied.
This is because the UAC STEP 10 With the UAC active, the command prompt looks
is blocking access to DOLWWOHGLƪHUHQW)RUVWDUWHUVLWoVQRZGHIDXOWLQJ
protected areas of the to the C:\WINDOWS\system32 folder and the top of the windows is
system, like c:\Windows ODEHOOHG$GPLQLVWUDWRU7RUXQWKHEDWFKƬOH\RXQHHGWRQDYLJDWHWR
or C:\Program Files. the Batch Files directory with: cd \Users\USERNAME\Documents\
Therefore, you need to Batch Files. To help, press the Tab key to auto-complete the
UXQWKHEDWFKƬOHDVDQ directory names.
Administrator. Click the
Windows Start button and
enter CMD again.
www.bdmpublications.com
Coding with Windows Batch Files
64 www.bdmpublications.com
Batch File Programming
CHOICE MENUS
&UHDWLQJDPHQXRIFKRLFHVLVDFODVVLFEDWFKƬOHXVHDQGDJRRGH[DPSOHWRKHOSH[SDQG\RXUEDWFKƬOHSURJUDPPLQJVNLOOV
Here’s some code to help you understand how it all works.
STEP 1 Rather than using a variable to process a user’s STEP 4 ErrorLevels are essentially variables and the /M
UHVSRQVHEDWFKƬOHVFDQLQVWHDGXVHWKH&KRLFH switch of Choice allows a descriptive message string
command in conjunction with an ErrorLevel parameter to make a to be displayed. Extend this menu with something new:
PHQX&UHDWHDQHZƬOHFDOOHGPHQXEDWDQGHQWHUWKHIROORZLQJ
@echo off
@echo off cls
cls echo.
choice /M “Do you want to continue? Y/N” echo ---------------------------------------------
if errorlevel 2 goto N echo.
if errorlevel 1 goto Y echo Please choose a directory.
goto End: echo.
echo Press 1 for c:\Music
echo.
echo Press 2 for c:\Documents
echo.
echo Press 3 for c:\Pictures
echo.
echo Press 4 for c:\Videos
echo.
echo ---------------------------------------------
STEP 2 Running the code produces an error as we’ve called FKRLFH&
D*RWRFRPPDQGZLWKRXWDQ\UHIHUHQFHWRLWLQWKH if errorlevel 4 goto Videos
ƬOH*RWRGRHVH[DFWO\WKDWJRHVWRDVSHFLƬFOLQHLQWKHEDWFKƬOH if errorlevel 3 goto Pictures
)LQLVKWKHƬOHZLWKWKHIROORZLQJDQGUXQLWDJDLQ if errorlevel 2 goto Documents
if errorlevel 1 goto Music
:N
echo.
HFKR<RXFKRVH1R*RRGE\H 67(3 1RZDGGWKH*RWRVHFWLRQV
goto End
:Y :Videos
echo. cls
echo You chose Yes. Hello &'+20(3$7+?9LGHRV
echo You are now in the Videos directory.
:End
goto End
:Pictures
cls
&'+20(3$7+?3LFWXUHV
echo You are now in the Pictures directory.
goto End
:Documents
cls
&'+20(3$7+?'RFXPHQWV
echo You are now in the Documents directory.
67(3 7KHRXWSXWIURP\RXUFKRLFHLVGLƪHUHQWGHSHQGLQJRQ
goto End
ZKHWKHU\RXSLFN<RU17KH(QGSDUWVLPSO\VLJQLƬHV
WKHHQGRIWKHƬOHDOVRNQRZQDV(2):LWKRXWLWWKHEDWFKƬOHUXQV :Music
through each line and display the Y response even if you enter N; so it’s cls
LPSRUWDQWWRUHPHPEHUWRIROORZ\RXU*RWRFRPPDQGV &'+20(3$7+?0XVLF
echo you are now in the Music directory.
goto End
:End
STEP 6 :KHQH[HFXWHGWKHEDWFKƬOHGLVSOD\VDPHQXDQGZLWK
each choice the code changes directory to the one the
user entered. The %HOMEPATH% system variable will enter the currently
logged in user’s Music, Pictures and so directories, and not anyone else’s.
www.bdmpublications.com
Coding with Windows Batch Files
COUNTERS
Creating code that counts in increasing or decreasing number sets is great for demonstrating loops. With that in mind, let’s look
at the If statement a little more, alongside more variables, and introduce the Else, Timeout and eof (End of File) commands.
STEP 4 Breaking it
down, there’s
For, then the /L switch, which
handles a range of numbers.
Then the parameter labelled as
STEP 2 The count.
%%n to denote a number. Then
bat code
WKHLQSDUWZKLFKWHOOV
starts at number one and
the statement how to count,
counts, scrolling down the
DVLQVWDUWQXPEHUVWHSV
screen, until it reaches 100.
WRWDNHWKHHQGQXPEHU
The Timeout command
The next part is do, meaning DO
leaves a one second gap
whatever command is after.
between numbers and the
Else statement continues
until the counter variable
equals 100 before going to
WKHHRI(QG2I)LOHWKXV
closing the loop.
66 www.bdmpublications.com
Loops and Repetition
67(3 You can include the pause between the numbers STEP 8 7KHUHDUHGLƪHUHQWZD\VRIXVLQJWKH)RUORRS,Q
easily enough within the far simpler For loop by this example, the code creates 26 directories, one
adding multiple commands after the Do For loop. The brackets and for each letter of the alphabet, within the directory c:\test which the
DPSHUVDQG VHSDUDWHWKHGLƪHUHQWFRPPDQGV7U\WKLV EDWFKƬOHPDNHVXVLQJWKH0'FRPPDQG
@echo off @echo off
for /L %%n in (1,1,99) do (echo %%n & timeout /T 1 )25),1DEFGHIJKLMNOPQRSTU
QREUHDN!QXO VWXYZ[\]'2PG&?WHVW?)
STEP 7 If you open Windows Explorer, and navigate to the STEP 10 Should you ever get stuck when using the various
Batch Files directory where you’re working from, FRPPDQGVZLWKLQDEDWFKƬOHGURSLQWRWKH
\RXFDQQRZVHHWH[WƬOHVDOOQHDWO\QXPEHUHG2IFRXUVH\RX command prompt and enter the command followed by a question
FDQDSSHQGWKHƬOHQDPHZLWKVRPHWKLQJOLNHXVHUW[WDQGVRRQE\ VZLWFK)RUH[DPSOHIRU"RULI"<RXJHWDQRQVFUHHQKHOSƬOH
altering the code to read: GHWDLOLQJWKHFRPPDQGVoXVH)RUHDVLHUUHDGLQJSLSHLWWRDWH[WƬOH
@echo off For /? > forhelp.txt
for /L %%n in (1,1,25) do copy nul User%%n.txt
www.bdmpublications.com 67
Starting with Raspberry Pi
68 www.bdmpublications.com
Index
Starting with
Raspberry Pi
www.bdmpublications.com 69
Raspberry Pi is Good For You!
THE POWER OF PI
:LWKPDQ\GLƪHUHQWYHUVLRQVDFURVVIRXUJHQHUDWLRQVRIPRGHOVWKH5DVSEHUU\3LLVFHUWDLQO\DEXV\OLWWOHERDUG%XWZKLOHHDFK3LRƪHUV
VRPHWKLQJVOLJKWO\GLƪHUHQWIRUWKHQHZFRPHULWoVDFRQIXVLQJPHGOH\RIKDUGZDUHVSHFLƬFDWLRQVDQGPRGHOQXPEHUV:KLFK3LWKHQLVEHVW
IRU\RX"
1DWXUDOO\WKDWTXHVWLRQVGHSHQGVJUHDWO\RQZKDWLWLV\RXZDQWWRGRZLWK\RXU5DVSEHUU\3L,I\RXKDYHDSDUWLFXODUSURMHFWLQPLQGVXFK
DVDKRPHPHGLDFHQWUHVHUYHUWKHQ\RXoGSUREDEO\RSWIRUWKHPRUHSRZHUIXODQGKDUGZDUHFDSDEOHPRGHORI5DVSEHUU\3L,I\RXZDQWWR
VHWXSDZLUHOHVVVHFXULW\FDPHUDSURMHFWXVLQJWKH5DVSEHUU\3LDVWKHFRUHKDUGZDUHWKHQSHUKDSVWKH3L=HUR:ZRXOGEHDEHWWHUƬW7R
EHJLQZLWKOHWoVKDYHDEULHIORRNDWWKHPRGHOVDYDLODEOH
70 www.bdmpublications.com
Which Pi is Right for Me?
www.bdmpublications.com 71
Raspberry Pi is Good For You!
Raspberry Pi in Numbers
The Raspberry Pi was one of the most successful launches of a
computer in decades. With the perfect mix of hardware, cost,
connectivity, and development, plus a good, stable Linux OS
to back it up, the Pi has proved itself to be a near-perfect
educational platform. Here’s some facts and figures for our
favourite flavour of Pi.
3.14159265358979...
TThere
heree are
are
e
ovver
ove
o ve
err
2,500
2,500
00
Raspberry
R aspbe
pberryy Pi
Pi
Certified
Certifie
ed
d
EEd
ducators
d ucators
IIt’t’s e
estimated
ssttimateedd
tthat
hat
haat ove
o
ov
over
ver
vve
er
TThere’
here re’
e’s a
e’
Raspb
Raspberry
R aaspberry
spbe
pberryy in in 250,0
250
0,,,000
000
000
00
Antarctica,
A nta
ttarctic
arc
rctticcaa, yyoung
yooung p people
eople
wh here
ere
ere it’
re it’t’s eve
every
ev eryy week
we
eek are
aree
aass co
ccold
old aass llearning
earning howhoow
w to
to
-42C
-4 42C
4
422C ((-4
(-45F)
-4
45F) F) ccod
oddee with
with a Pi
Pi
TThe heP
eP
Pii 4 iiss b
between
be
etwe ee
e en IItt iiss estimated
essttimate edd that
that
tthree
hre
ee
e e tto
o fofour
our ttimes
imes tthere
here
h erre e are
are e over
ovver
ove
ovve
er 50,000
er550,00
,000
more
m ore
e powerful
pow
p ow
owe
owe erfu
rful tthan
han co
cod
cood de clu
de club
clubbss across
acrro
oss
tthe
heP
ePPii 3 MModod
oddel
ell B
e B+
+ tthe
he wo w
world
orld using
using the
the
Raspberry
Ras
Ra
R aspb
aspbe
pberryy Pi
pbe Pi
During
D uring the
the
eruption
e ruption o off tthe
he
Kilauea
K
Kiilauea vvo volcano
olccaano
iin
n Hawaii
Hawa
aaw
waii iin
wa n IItt w
wass o
wa originally
riginally
2018,
2018 8,, a Ra
R
Raspberry
aspbe berryy goi
going
g oing to to b
bee called
called
ca ed
Pi wa
Pi was
w as uused
se
ed
d aass a Ra
R aspbe
pbe
Raspberryberryy P
Py,
y, as
as it
it
seismo
sseismometer
eismome
ei ete
etter
te wa
was
w as o nly
ly d
only designed
esigne ed d
to rrun
to un P
Pytython
yt
Python
Sources: The Raspberry Pi Foundation, The Guardian, readwrite.com, Popular Mechanics, CNN, BBC.
72 www.bdmpublications.com
Raspberry Pi in Numbers
IItt w
was
was Pi Z
Pi Zeros
eroos aare
re
euused
se
edd
originally
o riginally aass small
sma
mall camera
cameras,
cameraas,,
designed
d esigned placed
p lace
laceed
do onn tthe
he
ffor
fo
or schoo
school
scho oool backs
b aacks
cks
k o
off GGreen
ree
reee
een
cchild
hild dren
dre
ren
re
en SSea
ea Turtles,
Turt
rtles,, to
to
tto
o llearn
eaarn
e monitor
m onito tor h
hab
ha ab
bitation
ita
tation
electronics
electro
e leeccctronics
ectcttroonics
cs
aandnd co ccoding
cod
oding
od
FFebruary
ebruaryy 22019
019
019
maarkked
marked
m ke
ed the
the point
po
point
whhere
ere
re th
he
e
25
25 mi
milliiont
onth
Raspberry
Raspbe
pberryy Pi
Pi
was
wa
was ssold
old
IIn
n2 2017017 two
two o TThere
heree are
aree
Pi’i’s we
P w
wen
went
ent severa
sseveral
evve
e erraal
onbo
o nb board
oard d tthe
he IISS
SS Raspberry
Ra
Raspbe pberrryy Pi’
Pi’s
aandnd ran ran ccod
od
o
ode
de
d e iin
nB Borneo’
orne eo
eo’
o’s
o’
developed
d evve
e elop oped by b Rainforests,
Ra
R ainfo ore
ests,
sts,,
school
sschoolchild
cho oool cchild
hilddren
ren
rre
en monitoring
m onitotori
ring
biodiversity
b iio
odive
od ers
errsityy
Th hee TThe
he ttwowoommost osstt u
used
se
edd
Pi 4
P i 4 iiss Pii p
Piproj
P projects
roj
ro
ojjects aare
o re
e
powerful
pow
p owerfu
owe
ow
o we erfu
rful retro
rreetro oe emulation
emulation aand nd
enough
e nough
no aass a mmed
ed
e dia
d iiaa centre
centre
ce tre
e
tor
to
o rrun
un
Wind
W
Wiinddows
ows
ow
o wss1
w s1
10
0
aass a Th
TThin
hin
Cliient
ent SStacked
ttaacke ed
e deend
nd
to e
to end,
nd, aal
allll
tthe
heRe RaR
Raspberry
aspbe
pberryy
pberry
Pi’s wo
Pi’ w
would
ould
IItt iiss estimated
essttimate ed d that
that be
b etalle
e taller
taller
ta
tthere
here e aare
ree over
ovve
ove
o er 50,000
50,000 tthan
han tthe
ha he
codeclub
cod
co de
d e clu
club
clubbss aacross
crooss EEmpire
mpire e State
State
St
tate
ate
tthe
he wo world
orld using
using thethe Building
Building
Raspberry
Ras
Ra
R aspber
pberryy Pi.
pbe Pi.
www.bdmpublications.com
Raspberry Pi is Good For You!
ASK AROUND
The kit list required to set up a Raspberry Pi is pretty basic: keyboard, mouse, HDMI monitor, SD Card and an optional case. Many of these
items you’ll already have, but don’t rush out and buy those you don’t. Ask around to see if anybody you know has spares.
The most important thing you need is an SD Card. You’ll need a HDMI cable to connect your
STEP 1 STEP 3
These are the storage cards commonly found in digital Raspberry Pi to a monitor or television set; these
cameras. All modern Raspberry Pi boards, including the Raspberry Pi 3 cables are used with modern televisions and video game
and Pi Zero, use Micro SD cards but the older boards may use a larger FRQVROHVVR\RXVKRXOGQoWƬQGLWWRRKDUGWRSLFNXSDVSDUH,I
SD Card. you own a Pi Zero, or you’ve got a Pi 4, you’ll need a micro-HDMI
cable in order to connect to a monitor or TV.
The SD Card plugs into the SD Card socket. On the You’ll want to connect your Raspberry Pi to the
STEP 2 STEP 4
Raspberry Pi 4, 3, and Pi Zero, you push the card in Internet. The Raspberry Pi 4 and Pi 3 Model B+, have
and pull it out. On some older models, you push the SD Card in again built in wireless networking and Ethernet. The Model A+ and
to eject it. All SD Cards have a notch on one corner that ensures it Raspberry Pi 2 include an Ethernet socket, but the Pi Zero and older
only goes in one way round. Unless you bought a card with NOOBS boards will require either an Ethernet adaptor or a Wi-Fi dongle to
SUHLQVWDOOHG\RXoOOQHHGWRLQVWDOOWKHVRIWZDUHRQLWƬUVW JHW{RQOLQH
74 www.bdmpublications.com
Kit You’ll Need and How to Set it Up
7ZRWKLQJVWKDWVKRXOGEHHDV\WRƬQGDUHD86%
STEP 6
Keyboard and USB Mouse. We routinely prefer USB
devices that plug directly into the Raspberry Pi, but devices with
wireless dongles generally work just as well. Only the Raspberry Pi 4
and 3 Model B+ come with Bluetooth as standard, so you’re best bet
is to opt for USB, if possible.
www.bdmpublications.com
Raspberry Pi is Good For You!
Set Up Raspberry Pi
Using a Mac
You should install NOOBS (New Out Of Box Software) on your SD Card before you go
any further. This feature looks at how to format an SD Card and copy the software
using an Apple Mac computer.
We’re going to use a utility called SD Card Formatter 5 Make sure the card is present in the Select Card area;
STEP 1 STEP 3
to erase the SD Card with correct formatting. You can you should only have one SD Card inserted into your
download this app from https://www.sdcard.org/downloads/ Mac. Open SDFormatter and choose the Overwrite Format option to
formatter_4/. Click Download SD Formatter for Mac and Accept. Click ensure that all the old data is removed from the card. Enter a name for
WKH6')RUPDWWHUSNJƬOHLQ\RXU'RZQORDGVIROGHUDQGIROORZWKH WKHFDUGLQWKH1DPHƬHOGWRKHOS\RXLGHQWLI\LWDOWKRXJKWKLVLVQoW
instructions to install the app. necessary for the installation process.
Use an SD Card of at least 8GB capacity to install the Click the Format button when you are ready to wipe
STEP 2 STEP 4
operating system on your Raspberry Pi. The card the card. There are other ways to format SD Cards in
needs to be formatted, which will erase all the data on it, so make macOS (in particular Disk Utility) but the advantage of SD Card
VXUH\RXKDYHFRSLHGDQ\ƬOHVIURPLW\RXZDQWWRVDYH,QVHUWWKH formatter is that it wipes SD Cards with the correct FAT32 format and
SD Card into your Mac, either directly into the SD Card slot or with GRHVQoWDƪHFWWKHSURWHFWHGSDUWLWLRQ,WFDQWDNHDZKLOHWRIRUPDWWKH
an SD Card adaptor. SD Card, but the progress bar will show you how the process is going.
76 www.bdmpublications.com
6HW8S5DVSEHUU\3L8VLQJD0DF
:KHQ6'&DUGIRUPDWWHUKDVƬQLVKHGIRUPDWWLQJWKH 1RZLWoVWLPHWRGRZQORDGWKH122%6VRIWZDUHIURP
STEP 5 STEP 6
6'&DUGLWZLOOEHPRXQWHGVR\RXFDQDFFHVVLW%\ WKH5DVSEHUU\3LZHEVLWH2SHQ6DIDULDQGHQWHU
GHIDXOWPRXQWHGYROXPHVDSSHDUDVDQLFRQRQWKHGHVNWRS,IQRW www.raspberrypi.org/downloads/LQWRWKH6PDUW6HDUFK)LHOG6FUROO
RSHQDQHZ)LQGHUZLQGRZDQGFKHFNIRULWXQGHU'HYLFHV&KHFNWKDW GRZQWRƬQGWKH122%6VHFWLRQQRW122%6/,7(DQGFOLFN
WKH6'&DUGLVDFFHVVLEOHDQGFOLFN&ORVHLQ6')RUPDWWHU 'RZQORDG=LS$]LSƬOHFRQWDLQLQJWKH122%6ƬOHVZLOOEHSODFHGLQ
\RXU'RZQORDGVIROGHU
2SHQWKH'RZQORDGVIROGHUDQGFOLFNRQWKH122%6 :DLWIRUDOORIWKHƬOHVWREHFRSLHGIURP\RXU
STEP 1 STEP 3
]LSƬOHWRXQ]LSLW$122%6IROGHUVKRXOGDSSHDULQ 'RZQORDGVIROGHUWRWKH6'&DUG$IWHUWKHƬOHVKDYH
\RXUGRZQORDGVLWZLOOEHPDUNHGZLWKWKHYHUVLRQQXPEHU\RX ƬQLVKHGFRS\LQJRSHQWKH6'&DUGDQGFKHFNWKDWDOORIWKHƬOHVDUHLQ
GRZQORDGHGIURPWKH5DVSEHUU\3L'RZQORDGVSDJH&OLFNRQWKH WKHURRW<RXVKRXOGVHHpERRWFRGHELQqDQGp%8,/''$7$qƬOHVDQGD
IROGHUWRRSHQLWDQGYLHZDOOWKHƬOHVFRQWDLQHGLQVLGH pGHIDXOWVqIROGHUDPRQJRWKHUƬOHV
3UHVV&RPPDQG$WRVHOHFWDOOWKHƬOHVLQVLGHWKH 0DNHVXUH\RXHMHFWWKH6'&DUGSURSHUO\'RQRWMXVW
STEP 2 STEP 4
122%6IROGHU1RZGUDJDQGGURSDOOWKHƬOHVIURP UHPRYHLWIURPWKH0DF,QVWHDGGUDJWKH6'&DUG
WKH122%6IROGHUWRWKH6'&DUG7KLVZLOOFRS\DOORIWKHVHƬOHVWRWKH LFRQWRWKH7UDVKWRHMHFWLWIURP\RXUV\VWHP2URSHQDQHZ)LQGHU
URRWWKHEDVHRIWKH6'&DUG0DNHVXUH\RXFRS\WKHƬOHVDQGQRW ZLQGRZDQGORFDWHWKH6'&DUGXQGHU'HYLFHVFOLFNWKHVPDOO(MHFW
WKH122%6IROGHUFRQWDLQLQJWKHP LFRQQH[WWRLW1RZUHPRYHWKH6'&DUGIURP\RXU0DF,WLVUHDG\WR
EHLQVHUWHGLQWR\RXU5DVSEHUU\3L
www.bdmpublications.com 77
Raspberry Pi is Good For You!
We’re going to use a utility called SD Card Formatter The Drive letter will be automatically assigned
STEP 1 STEP 3
to erase the SD Card with correct formatting. You can depending on the drive(s) in your PC. Click Refresh if it
download this app from https://www.sdcard.org/downloads/ FDQoWƬQG\RXU6'&DUG(QVXUHWKH4XLFN)RUPDWRSWLRQLVVHOHFWHG
formatter/eula_windows/index.html. Click the Accept button to start (QWHUDQDPHLQWKH9ROXPH/DEHOƬHOGWRPDNHLWHDVLHUWRLGHQWLI\WKH
the download of the latest version of the software. Extract the card (we used “SD Card”).
software, and double-click the executable to install and run the app.
We’re going to use an 8GB SD Card to install the Click the Format button and Yes when you are ready to
STEP 2 STEP 4
operating system on our Raspberry Pi. The card needs to wipe the card. There are other ways to format SD
be formatted, which will erase all the data on it, so make sure you have Cards in Windows, but the advantage of SD Card formatter is that it
FRSLHGDQ\ƬOHVIURPLW\RXZDQWWRVDYH,QVHUWWKH6'&DUGLQWR\RXU3& ZLSHV6'&DUGVZLWKWKHFRUUHFW)$7IRUPDWDQGGRHVQoWDƪHFWWKH
either directly into the SD Card slot or using an SD Card adaptor. protected partition. Click OK again, when the format is complete.
78 www.bdmpublications.com
Set Up Raspberry Pi Using a Windows PC
Click Exit to close down the SDFormatter program. Now it’s time to download the NOOBS software from the
STEP 5 STEP 6
Click Start > File Explorer and choose the SD Card Raspberry Pi website. Open a web browser and enter
in the sidebar. The drive should be empty, but we will copy the https://www.raspberrypi.org/downloads/noobs/LQWRWKH85/ƬHOG
ƬOHVWRLWLQWKHQH[WVWHSV)RUQRZMXVWPDNHVXUHWKDW\RXFDQ 6FUROOGRZQWRƬQGWKH122%6VHFWLRQQRW122%6/,7(DQGFOLFN
access the empty root of the SD Card. 'RZQORDG=LSDQG6DYH$]LSƬOHFRQWDLQLQJWKH122%6ƬOHVLVFRSLHGWR
your Downloads folder. Click Open Folder when it is done.
www.bdmpublications.com 79
Raspberry Pi is Good For You!
7KHPDMRUGLƪHUHQFHLVWKDWWKLVYHUVLRQKDVEHHQFRPSLOHGWRUXQ
on x86 processors, that’s Intel and AMD PC processors. Whereas,
WKHYHUVLRQRI5DVSELDQWKDW\RXZLOOƬQGRQD5DVSEHUU\3LKDVEHHQ
compiled and created exclusively for ARM processors; the type of Another caveat worth mentioning is that you won’t have access to
&38D5DVSEHUU\3LXVHV7KHVH&38VXVHDGLƪHUHQWDUFKLWHFWXUH the 40-pin GPIO that the Raspberry Pi features, as this isn’t a standard
to that of an Intel or AMD CPU, so the software required to run on piece of hardware on a normal PC. There is, however, a way around
RQHZRQoWUXQRQWKHRWKHUXQOHVVWKHGHYHORSHUKDVVSHFLƬFDOO\ this. If you own a Raspberry Pi Zero (either with or without the W),
made either an x86 or ARM version. In short, if you’ve found a piece then you’re able to connect the Zero to a spare USB port on the PC,
of software that you enjoy using on your Raspberry Pi, you won’t via the Zero’s micro USB port and the Raspberry Pi Desktop OS will
be able to use it on the Raspberry Pi Desktop x86 version – UNLESS, recognise the Zero as extended hardware and allow you access to the
there’s a dedicated x86 version of the software. =HURoVSLQ*3,2ZKLFK\RXKDYHWRDGPLWLVSUHWW\FOHYHUVWXƪ
80 www.bdmpublications.com
The Raspberry Pi Desktop: What You Will Need
Naturally you’ll need the Raspberry Pi Desktop OS, just The best method of transferring the ISO to a PC for
THE OS USB STICK
as you would with Raspbian or the Pi. Open a browser installation is to use a combination of a tool such as
DQGGRZQORDGWKH,62ƬOHWKDWFRQWDLQVWKH26IURPhttps://www. Rufus (found at: https://rufus.ie/en_IE.html), which is a piece of
raspberrypi.org/downloads/raspberry-pi-desktop/. VRIWZDUHWKDWFDQFUHDWHDERRWDEOH86%GULYHUIURPDQ,62ƬOHDQGDW
least, an 8GB USB stick.
www.bdmpublications.com 81
Raspberry Pi is Good For You!
This version of Raspbian apes the Full Desktop version As the x86 version of Raspbian follows the Full
CODING FULL DESKTOP
for the Raspberry Pi, so that means it comes with all 'HVNWRS3LYHUVLRQWKHUHoVDQHQWLUHRƯFH
the necessary programming languages out of the box. Learn Python, suite pre-installed. That means you can use that old laptop or PC as a
C++, use the HAT emulator, and even learn JAVA. It’s all there under fully functional desktop replacement for Windows or macOS.
the Programming menu option. /LEUH2ƯFHLVDOVR0LFURVRIW2ƯFHFRPSDWLEOH
Hook up a Pi Zero without an SD installed, and As with most modern operating systems,
HARDWARE WEB BROWSING
select GPIO Expansion Board from the options, you can also browse the Internet exactly the
and you will be able to talk to the Zero’s 40-pin GPIO via the likes of same as you would with the likes of Windows 10 or the latest macOS.
3\WKRQRU6FUDWFK%\GRLQJVR\RXoOOKDYHDOOWKHEHQHƬWVRID As this is a Linux-based OS, there’s also an added element of security,
Raspberry Pi, with the power of your laptop. DV:LQGRZVWDUJHWHGYLUXVHVZRQoWDƪHFWLW
82 www.bdmpublications.com
Debian Buster with Raspberry Pi Desktop
As this is a Debian based The Raspberry Pi, even the Pi 3 Model B+, isn’t
/,18;;Ǖ%$6('62)7:$5( 0,1(&5$)7
version of Linux, you can the most powerful computing device available.
naturally install any of the tens of millions of Linux x86-based software <RXUROGHUODSWRSLVSUREDEO\VLJQLƬFDQWO\PRUHSRZHUIXODQGDV
currently available. Remember though, only software that has both an such, you will be able to play the likes of Minecraft without too
ARM and an x86 version will work on both the Pi version and this much trouble.
version of Raspberry Pi OS.
It’s easy to use SSH from within the Raspberry Pi *$0,1* Of course, there’s also an equally large selection of
66+
&RQƬJXUDWLRQWRRO6HOHFWWKH(QDEOHGRSWLRQWKHQXVH modern gaming available for Debian; most of which
a client such PuTTY to SSH into the OS. Here we’ve enabled SSH will run perfectly well under the Pi OS in an x86 environment. You will
and have connected from another Windows PC, using PuTTY as need to Google what’s available, and try out a few examples, the list is
the SSH client. simply too big to mention.
www.bdmpublications.com
TECH ROUND-UP
Tech Round-Up
84 | www.bdmpublications.com
TECH ROUND-UP
ঌতধতন
গঘইফতপনঘননগবপ
ॵॺॴॵঔঅওইॵॺঐইঈলবষল
অবঐবষগরতষঊত
ঌতযলঐলদমঅধভসশষতথযনছবনযনশশইফতপবপগষতধ
ইসথথবষইনযয
ঋললহॱনতঽঽআসধশ
উগখঋনতঌতযলঐলদমএবদমশষতধ
গলষতন
ঈওঔফলষলঐতথॹ
ঈওঊবযরঔতদমॺ
অএচগতপববনঅॵॵ
ঌঙঅঘঝত
লষবঔফলষলইতহতশগনহবদন
ইযলসধআতষষন়
ঋতরনশ
গলপনআলথঔতষষ়ঔসশসবষ
ঈলসথযনঈতপলঘবযলপ়
ঔলমনরলঙঘউ
ঞলরথবনবপফষঘনল
Info//
STM Ltd.
www.stmgoods.com
£69.95, $79.95, TBA €
T
his second-generation STM ChargeTree
makes a few minor, but welcome, changes
from the original model. Like the original
ChargeTree it’s available in black or white, and
it once more charges a Qi-compatible iPhone,
AirPods (with a wireless charging case), and an
Apple Watch - all at the same time, using only
one power socket. You just need a USB-C mains
adapter of at least 20W. It’s not supplied, but
they’re not hard to come by.
As before, you charge your iPhone by resting it
on the backward-leaning mat at the front of the
ChargeTree Swing. It’s comfortably cushioned,
and there’s an optional rubber raiser to fit over
the foot if you have a smaller iPhone that needs
the extra height. Also as before, your earbuds
86 | www.bdmpublications.com
TECH ROUND-UP
www.bdmpublications.com | 87
TECH ROUND-UP
I1601P AOC 16
LCD Monitor
Is this portable screen a worthy addition to your travel bag?
Info//
AOC
https://eu.aoc.com/en
£199, $199, 239 €
T
he problem with working away from home on your notebook is you’ve probably
got no access to a second monitor. Sure, there’s your iPad using the Sidecar
feature, but do you miss the high-definition, 16-inch behemoth you have on your
desk? This portable screen from AOC is designed to fill precisely that gap.
The I1601P (why must monitor manufacturers use such boring names?) is 15.6
inches corner to corner and has a resolution of 1920x1080 (1080p). Not a match
for your 3072-by-1920 16-inch Retina MacBook Pro, but it’s a decent screen in its
own right. One area where it can’t compete with Apple’s screens is the colour gamut.
Whereas the current range of Mac notebooks all support millions, and possibly a billion,
colours, the AOC external screen can only manage 262 thousand. Fine for general
computing, spreadsheets, word processing and other mobile-office tasks, but graphic
designers should use it for notes and tool windows, keeping the actual designs on the
Mac’s screen.
USB, See?
Weighing in at 800g and measuring just 37.5x23.5x0.7cm, the I1601P is very
portable. It has a useful kickstand which attaches to the back of the screen
magnetically, and can hold it in portrait or landscape orientation. When not in
use, the kickstand folds flat and acts as a screen protector, again held in place
magnetically. The screen draws its power from the device to which it’s attached
too, so there’s no bulky power brick to carry around.
This leads us to the screen’s main drawback. It only has one connectivity
method. Basically, this monitor is only for notebooks with USB-C ports that
offer DisplayPort over USB, which includes Thunderbolt Macs, though you
might need a Thunderbolt cable instead of the USB-C cable that came with it.
You can even use it with an iPad Pro (mirrored screen only), but if your gear
is too old for this connectivity, this monitor is not for you.
88 | www.bdmpublications.com
TECH ROUND-UP
Info//
GeoSmartPro
www.geosmartpro.
com
£89.99, $119.99,
99.99 €
Compatibility: iOS
10.0 or later
B
ritish start-up GeoSmartPro specialises in up automatic routines to have the fan – and/or
smart-home gadgets. Its latest release is its lights – turn on and off at scheduled times, or
AirLit, a n iPhone app-controlled smart fan when the weather changes. The latter can include
that’s packed with extra features. humidity, temperature, wind speed and more.
As a fan, it’s 44cm high with its telescopic GeoSmartPro AirLit Smart Fan is a great
stand retracted, or 100cm with it extended. The addition to anyone’s bedroom, study or anywhere
fan itself is 45cm wide. An eight-hour battery in else where you need a decent fan or ring light.
the stand means you can use it all day without Our only complaint is while it’s Google and Alexa
mains power, or you can plug it into a mains compatible, it doesn’t play nicely with HomeKit.
adapter using a USB-C cable. You can control the
fan using your iPhone and the GeoSmartPro app.
Use your phone to switch it on (obviously), set its
wind speed to one of four levels and more. On
the lowest setting it’s very quiet, and even when
pumping out as much air as possible, it’s not all
that loud as fans go.
www.bdmpublications.com | 89
TECH ROUND-UP
HaloLock
Adjustable Wireless Charging Stand
One-touch mounting, convenient charging...
Info//
ESR Gear
www.esrgear.com
£41.39, $45.99,
41,39 €
T
o no one’s great surprise, third-party USB-C to USB-C cable, but the power adapter is
manufacturers have been quick to release not included. Unfortunately, the cable connects
MagSafe-compatible gear for the newest to the square charger atop the flexible arm rather
smartphones, you’re spoiled for choice when it than the stand’s base, which would be more
comes to chargers, cases and more that fit to convenient and out of the way.
your phone magnetically; for pop-on, pop-off The HaloLock Adjustable Wireless Charging
convenience. This adjustable wireless charging Stand is compatible with a caseless iPhone 12
stand is just such a product. or 13, or with an older Qi-charging iPhone, with
With four pivot joints on a 20cm stand, you can a MagSafe-compatible case. Note that there’s
bend the HaloLock into any position you choose. a discounted iPhone 12 version of the product
It’s ideal for your desk, where you can place that’s not compatible with the iPhone 13, and a
your iPhone, to glance at incoming notifications version that works with both. Make sure you get
as it charges. You can rotate it into portrait or the right one for what you want.
landscape mode, and powerful built-in magnets
securely hold it in place, even when it vibrates. It
connects to your mains power using a bundled
90 | www.bdmpublications.com
TECH ROUND-UP
Jazz Buds
Bluetooth Earbuds
Can affordable earbuds impress in the audio department?
N
ot everyone wants or needs to spend three figures on a
Info// set of Bluetooth earbuds. Thankfully, the quality of lower-
priced buds is improving all the time. This sub-30 pair from
Groov-e Groov-e might not be a match for top of the range models, but
www.groov-e.co.uk their performance belies the price.
£29.99, $39.99, Jazz Buds closely resemble Apple’s own AirPods in
34.99 € appearance; a speaker unit placed in the ear, with an aerial
Compatibility: extending downwards from it. They have a four-hour battery life,
Bluetooth audio which isn’t great, but there’s another 21 hours of power in the
devices charging capsule. As long as you don’t need to listen to them all
day without a recharge, they should be fine.
They don’t isolate well, so you can’t block ambient sounds
without turning the volume up, but they don’t leak much sound
either. Listening to them in the living room while your family
watch TV shouldn’t be a problem.
And they sound great. Audiophile quality? Of course not, but
for such a low-cost set of earbuds, they’re certainly impressive.
Bass is surprisingly rich without overshadowing the mid section,
and vocals are reproduced with clarity. The sound stage isn’t as
broad as you’d get with expensive earbuds, but it’s by no means
squashed. All in all, they’re a bargain.
HaloLock Kickstand
by ESR Gear
Is this the MagSafe device you’ve been looking for?
T
his disc-shaped MagSafe charger connects
Info//
ESR
to the mains through USB-C (adapter not
included), and fastens to your iPhone using
the magnets built in to the last two models. It’s
www.esrgear.com
a small, pocket-sized device that’s pretty handy
£32.39, $35.99, 32,39 € when you’re out and about, as long as you’ve
Compatibility: iPhone 12 or access to a USB-C mains adapter. It’s well built,
later with an aluminium body and stand, and a black or
white charging surface. With the leg folded away
it can function as a flat charging mat, and when
used as a stand you can prop up your iPhone in
landscape orientation (but not portrait) and watch
a movie or a YouTube video.
As a product, the HaloLock Kickstand falls
between two stools; as a permanent stand,
there are more versatile devices out there, and
for travellers, you might as well just take your
Lightning cable. Even so, we can’t fault the quality
on offer here.
www.bdmpublications.com | 91
TECH ROUND-UP
Cubbit Cell
Network Storage Drive
A new kind of storage drive; NAS, but not as you know it.
Info//
Cubbit Cell
www.cubbit.io
1TB: £303, $419,
349 €
W
here do you keep your computer’s data and you can add up to 3TB by plugging in an
files? You could use an external hard extra hard drive or two. When it’s plugged
drive, but then you can’t access your in and switched on, your Cubbit Cell forms a
files over the Internet, and if you’re burgled and it network with all other Cubbit Cells, keeping them
gets stolen with your computer, you’ve lost your connected on a peer-to-peer basis. Instead of
data. You could use a NAS drive, but these are directly storing your files locally in just one piece
notoriously user-unfriendly, and again, if it gets of hardware like a NAS drive, the Cubbit Cell
stolen with your Mac, you’ve lost your data. What first encrypts them to AES-256 standard, splits
about the cloud? There’s no danger of having your them into chunks, duplicates those chunks so
files stolen with your equipment there, but you there’s more than one of each and spreads them
have to pay a monthly fee for whatever storage across the Cubbit network. Your files are thus
space you need. Or you could use Cubbit Cell, a disaster proof, available for online access and no
new kind of cloud storage. one other than you (including the Cubbit staff)
Cubbit Cell is a storage drive that connects can access them. As they’re stored in several
to your router. A product rather than a service, places and accessed with parallel peer-to-peer
it demands no fees beyond the price of the unit connections, accessing them over the Internet is
itself. It’s available in 1TB, 4TB or 8TB capacities, much faster than with NAS drives too.
92 | www.bdmpublications.com
TECH ROUND-UP
www.bdmpublications.com | 93
TECH ROUND-UP
DxO PhotoLab 5
Significant improvements, but should you upgrade?
Info//
DxO
www.dxo.com
Standard: £129.00, $139.00,
139,00 €
Elite: £199.00, $219.00,
219,00 €
D
xO is back with this year’s annual update of retouching a photo far more intuitive. It’s long
its flagship PhotoLab high-end photo editing been possible to define Control Points, which
suite. Version 5 offers a small but significant mask part of a photograph so you can apply a
update from last year’s release, is available in filter to the rest of it, letting you touch up parts
Standard and Elite versions and there’s a discount of a photo while leaving the rest alone. Now,
if you’ve already bought PhotoLab 3 or 4. There’s with Control Lines, you can give larger areas a
also a launch discount available, so if you buy lift without having to define multiple Control
before 14th November 2021, you get a substantial Points. For example, you could draw a Control
knockdown on the prices listed here. Line along a horizon, and redefine the sky’s
As regular readers know, DxO PhotoLab colour palette to give it a more intense shade
is an image editor designed specifically for of blue. Before, you had to place a number
photographers. It’s a high-end suite of tools that of Control Points along the sky until you’ve
takes a while to master, but can produce excellent covered it completely, but now you can do it
results. During set up you can choose between more efficiently. For an even greater degree of
three levels of difficulty, depending on your skills precision, both Control Lines and Control Points
and experience, and you can switch between have sensitivity settings, which means you can
Standard and Advanced Workspaces at any time. adjust the intensity of their effects.
The easier user settings allow the application to You can now edit EXIF and IPTC metadata
do more for you, while at expert level, you have in PhotoLab, and add keywords to your
full control over the application’s adjustments and photographs, using an interactive tree structure.
corrections. For example, if you took a bunch of pictures
in London, you can label them all ‘London’. If
a portion of these pictures were taken in the
On the line... British Museum, you could add that as a sub-
The new release of PhotoLab gives you more label, so their keywords are ‘London > British
control over your workflow and your tools. A Museum’. You could then label pictures of
brand new tool introduced with PhotoLab 5 individual exhibits as (for example), ‘London >
is Control Lines, which is designed to make British Museum > Rosetta Stone’. This means
94 | www.bdmpublications.com
TECH ROUND-UP
The new Control Lines feature lets you mask areas of your photograph with more precision and versatility.
you can efficiently apply keywords to groups Silicon Macs. Testing on a Mac mini with an M1
of photos using the folder structure; you don’t processor and 16GB of memory, DeepPRIME
have to type them out for every single image. proved 4.5 times faster. That’s a massive leap
in speed.
One of DxO PhotoLab’s major selling points
More speed is it has settings optimised for specific models
TDxO’s DeepPRIME technology has also been of camera. The new release supports 18 new
improved. DeepPRIME uses artificial intelligence camera bodies; from the Fuji-X range.
to develop RAW files, reducing digital noise DxO PhotoLab has a well deserved
and demosaicing the image. Trained by deep reputation for quality photo processing that can
learning methods, DeepPRIME is the result of satisfy even the most discerning professional
20 years’ work, using millions of images. The photographers, and PhotoLab 5 continues the
deep learning approach of DxO PhotoLab, and trend. Our only reservation is it can prove very
DeepPRIME in particular, have been optimised expensive if you upgrade every year, though
in this fifth release, significantly improving you’re getting a lot of software for your money.
processing and export times. On a Windows
PC it’s 1.6 times faster than PhotoLab 4, but
the biggest benefit is for those with Apple
www.bdmpublications.com | 95
TECH ROUND-UP
DxO FilmPack
Give your pics an old-school make over.
W
hile few would like to go back to can choose from a predefined set of filters
Info// analogue film processing, there’s
no denying old school development
that interpret the picture according to what
it might have looked like in days gone by.
DxO processes had a style and character of their If you want to see how your photo might
www.dxo.com own. FilmPack is designed to bring the look have looked had it been taken by French
Essential: £75.00, and feel of photographs from eras gone by, to inventor and photography pioneer Nicéphore
$85.00, 85,00 € your modern digital pictures. It’s less intense, Niépce back in 1827, or as seen by Japanese
Elite: £129.00, less ‘geeky’ than DxO’s flagship PhotoLab photographer Kusakabe Kimbei in 1880 or
$139.00, 139,00 € application. The sweet science is there, but even on cross processed Fuji Superia 200
it’s more of an everyman’s suite of tools; very in the 1990s, you can. Some, but not all of,
capable, but a good deal less scary. these processes have information panels in
DxO FilmPack reproduces the grain and which you can read about the techniques and
colours of legendary analogue films as closely technologies they recreate. We hope more will
as possible. The software recreates the hues, be added over time.
saturation, contrast and grain of 84 authentic You can install FilmPack as a stand-
analogue films, including the Kodak Tri-X 400, alone application or as a plug-in
Polaroid 690, Ilford HPS, and Fujifilm Superia. for Lightroom, Photoshop
It also uses a decidedly original approach to CS5, CS6 or CC; or
navigating the progression of development Photoshop Elements
and processing technologies through the 12 or above.
different photographic eras. And it’s here the
app is at its most interesting.
After opening a photo in FilmPack, you
Read all about the processes you’re recreating in an interesting side panel.
96 | www.bdmpublications.com
TECH ROUND-UP
F
inding the digital image you need can be a get you started too. When you’re ready, just click
frustrating exercise, especially if you come
across a picture that’s perfect for your
a Play icon (for some reason), to process the file
using the settings you’ve chosen.
Info//
project, but too small to use. That’s where AKVIS In our tests, the results were good, but AKVIS
Magnifier AI 11.0 comes in. Available as a stand- not fantastic. You can take the pictures up a https://akvis.com
alone app or a Photoshop plug-in, Magnifier AI small amount and they still look great, but if £65.00, $89.00,
uses trained neural networks for image upscaling you push the application to its limits and blow 82,00 €
to increase the size of digital pictures without them up a few hundred percent, they take on
the annoying pixelation associated with zooming an unnatural feel, with hard edges and details
in too far. New features for version 11.0 include not looking quite right. They’re a lot better than
colour processing improvements, a redesigned enlarged but unprocessed photos, of course,
user interface, support for more RAW files, and but we wouldn’t want to print them as posters,
better program stability. or include them in BDM’s printed magazines.
It’s easy to use. Import a photo or other such If you’re the editor of the church newsletter
image into the app, and use a slider to blow it up in or regularly design fliers, AKVIS Magnifier AI
size; to up to 800%. You can set other parameters 11.0 should prove a useful addition to your
like the image’s final size and DPI, the smooth Applications folder, but maybe not for pro-level
slider and more. There are plenty of presets to print publications.
The interface is clean and intuitive; it’s not a difficult app to use. It’s an improvement, but it’s not pro-level print quality.
www.bdmpublications.com | 97
TECH ROUND-UP
HUMANITY app
Stay younger for longer.
H Young at heart?
UMANITY is aimed at slowing down
Info// the ageing process and keeping you
healthier for longer. You can download a
On launching the app, you must first register
for an account and then link HUMANITY with
Humanity limited-function version for free, but to get the your Health app. You then input data, or confirm
Incorporated benefit of the premium app requires an in-app information taken from the Health app, such as
www.humanity. purchase costing £29.99/$29.99/29.99 €. The your height, weight (in kg or lbs, but not stones
health app continuously monitors your actions, rate of and lbs), how much sleep you get, whether
Free: Offers In- ageing and your ‘biological age’ (premium version you smoke, how much you drink and more. It’s
App Purchases only) using data gleaned from your iPhone and probably nothing you haven’t seen before, but
any health-orientated wearables or accessories collating it in one app and using the information
you might use. This information is analysed, and to give tailored health advice is no bad thing.
the app reports back with advice and guidelines Designed by experts, HUMANITY app has a
personalised specifically for you. According to the laudable goal and does a good job of achieving
developers, benefits of using the HUMANITY app them, but obviously it only works for you if you
include a reduced biological age, a slower rate stick with it. Make sure you enter information
of ageing, staying healthy and happy for many into the app on a regular basis, and you might
more years, managing stress and more. Definitely well find the advice it delivers to be useful in
worth the money in theory, but how does it work keeping you fit and healthy.
in practice?
98 | www.bdmpublications.com
TECH ROUND-UP
R
emember when Apple sold prints, photo device you’re placing your order on, which can be
books, calendars and cards, all made from
your own photographs? The printing and
in portrait or landscape orientation. Choose from a
few options, then preview your canvas if you wish.
Info//
distribution back in the day was handled by Motif, Doing so shows the picture you’re about to order RR Donnelley
and although Apple no longer sells printed works, in a living room context, to give you an idea how www.motifphotos.
its one-time partner has stepped into the gap and it might look in your home. You then input your com
now sells them directly. Just download the app for address and payment details (if you haven’t use From £24.99,
your Mac (a plug-in that works with Photos), your Motif before, that is), and order your canvas. $29.99, 24,99 €
smartphone and/or tablet, and get started. The pictures are sent promptly, and as you’d
Motif has recently added canvas prints to expect from a former Apple partner, they’re of a
its range of products. It’s a simple process. You very high quality. It’s a great way of displaying your
choose a size from 20x25cm (£24.99) to 61x91cm best pictures, and they look lovely on your wall.
(£79.99). Then choose a photograph from the
www.bdmpublications.com | 99
TECH ROUND-UP
SpongeBob:Patty Pursuit
Save the Krabby Patty Formula.
I
have to admit, I never saw the appeal of end of the level, and you can opt to re-run it and
Info// SpongeBob SquarePants. I’m probably too old,
and my kids were never into it either, so it kind
locate the hidden areas, or continue your quest to
the next level.
Nickleodeon of passed me by and as such I never got into it. It’s a tried and tested formula, in true platform
Apple Arcade I was shocked to discover that SpongeBob first style. You bash through obstacles, jump to
Exclusive appeared on our screens in 1999, and has made greater heights with certain trampoline-style
over $13 billion in merchandising revenue as of areas and swing from various elements to collect
2019. More fool me, then. more coins. Each area contains a certain number
In this Apple Arcade exclusive, Sheldon J. of levels, and you need to fight a boss at the end
Plankton is trying to steal the secret Krabby Patty of each area. There are bonus levels too.
formula and along the way he has also kidnapped Graphically, the game is excellent. It’s bright,
SpongeBob’s friends. Your task is to steer colourful and enjoyable to play. Sounds and
SpongeBob along a platform, undersea world in music will be familiar to those who watch
order to stop Plankton, get the formula back and SpongeBob, and give the game the same kind
rescue your friends. Not an easy task. of appeal as the cartoon series. Controls, which
You’ll run and jump, collect coins and dash are usually picky on such titles, work really well
through legions of Plankton’s cousins who try to here and are responsive enough to keep the
stop you on your quest. There are also spatulas to frustration levels down to a minimum.
collect to unlock the next level, and if you collect all Overall, it’s a fun game and one the kids (and
the coins, you get a bonus spatula. Make it to the adults alike), will certainly enjoy.
100 | www.bdmpublications.com
TECH ROUND-UP
A knee to the face, then get thrown over the shoulder. Beautiful.
I
blooming love Double Dragon. Back in the
late Eighties, at the local arcade a dingy,
dishevelled dive, complete with sticky carpet
the original eight-bit soundtrack, or choose a
newer remastered version.
Info//
and drenched in eye-watering neon my mate There are different modes, too. Arcade DotEmu
Daz and I would force-feed ten pence pieces plays with a single credit, where you fight to £0.89, $0.99, 0,99 €
into the Double Dragon arcade machine and get highest score, and Story Mode unlocks
settle in for an afternoon of cooperative digital stages and achievements. Mobile, Original and
violence. It was superb. Expert difficulty modes keep you entertained,
Imagine how happy I was to get my hands on and getting your name on the leaderboard
the complete trilogy on the iPad. Sadly, Daz and is just as tantalising. For only 89 pence, the
I have parted ways in the years since 1987, but Double Dragon Trilogy is worth every penny. It’s
these days I have a couple of children who can splendid, and we loved it.
help me take on the bosses and finally rescue
poor old Marian from the clutches of the Black
Warriors gang.
Often, when it comes to arcade conversions
for mobile devices, the end result is far from
what you fondly recall as a youth. However,
developers DotEmu have done a wonderful
job of recreating the style and ambiance of the
original arcade machines.
Graphically, it’s as you remember but with a
slightly more polished sheen to it. There’s still
the clunky arcade graphics, but this time with
smoother edges, and the end result is still the
same. It’s a near-perfect port of the original.
The controls are a little tedious to get to grips
with, but after a few rounds you soon get used
to them. Grab a friend, and the pair of you can
www.bdmpublications.com | 101
TECH ROUND-UP
Pokémon UNITE
Gotta beat ‘em all!
Info//
The Pokémon
Company
Free, with in-app
purchases
W
e’ve seen a slew of really quite decent tantalising features on offer. Different wild
multiplayer online battle arena (MOBA)- Pokémon, once beaten, offer you boosts of some
style mobile games over the past few description. There are Holowear options, which
years. Each offers its own unique spin on the allow you to dress your Pokémon in a variety
genre, and while some shine throughout the of holographic outfits. There are new Pokémon
various app stores, others let the side down moves, exclusive to UNITE, which can turn the
considerably. It’s like any other gaming genre, tide when in battle. Ranked matches move you
really, but MOBA games tend to get the brunt of either up or down in the global leaderboards.
the negativity from the popular media. There’s an in-game communication setup, using
Taking some of the better aspects of a MOBA signals, quick chat functions and even voice chat
game, Pokemon UNITE lets you engage in so you can better manage your team of trainers.
five-on-five battles on Aeos Island, against NPC Finally, Pokémon UNITE has taken the advanced
trainers and human ones alike. As with the other step of enabling cross-platform play, which
Pokémon titles, you get to tackle the creatures means your Pokémon Trainer Club account can
in the wild, level up and evolve. Then you face off be used on the Nintendo Switch, as well as your
against another trainer and see who can score mobile devices.
the most points within the allotted time.
The game certainly has a number of
Pokémon, Assemble!
102 | www.bdmpublications.com
TECH ROUND-UP
www.bdmpublications.com | 103
TECH ROUND-UP
D
eveloper, Plug In Digital, has taken a classic explode, speed up or leap to otherwise unreachable
Info//
Plug In Digital
Lemmings-like concept and introduced it to
the zombie culture in a gory, blood-soaked
areas of the scrolling levels.
Each zombie used up is one less in your horde,
£4.99, $5.99, 2D strategy game. And it all works rather well. so you need to feed off the humans who are
5,99 € Set in a semi-monochromatic, film-noir, scattered throughout the levels. Some humans
16-bit pixel art world, you are the mastermind are easily eaten, cowering in a corner while your
behind this zombie invasion and your goal is zombies approach. Others carry an assortment of
as simple as trying to infect as many people as weapons, which can quickly decimate the number
possible. Doing so, though, is quite tricky. of zombies you have under your control. Too
You have a set number of zombie DNA points much damage from a well-armed human and
in which to infect the on-screen non-zombie you’re reduced to just a few zombies who won’t
population. The more people you infect, and in turn be able to complete the level or the challenge.
which they bite and infect, the more DNA points The trick, therefore, is to carefully plan the
you have available. The DNA points you gain unlock march of your zombie army, taking in as many
zombie mutations, which can then be used to direct, human hot-spots as possible, to increase your
Infect the living and guide the undead to the zombie apocalypse.
104 | www.bdmpublications.com
TECH ROUND-UP
www.bdmpublications.com | 105
নষশশসন
Come back next issue for even more
fantastic copy from our team of
experienced industry insiders. We will be
covering all the latest software
advancements, consumer tech and expert
tutorials that you can expect from us.
ॲথধরসথযবদতষবলশॲদলর
On Sale June 2022 via digital platforms
#(*32 &""2(
%*322(%
'>B7>;@?;6AB9A=<;?;/B1><AB=0>6@B>6<B'A75B,?:?@B6:B=@
www.bdmpublications.com
#(223%1'3 .1-
2!,&2 *##2(,3/0
*.$3%1' .1//-
,A<:?>;B>3B@5AB<A6?<A8B5=<8-=<A+B"@B<A1=?;:B@5AB46<75=:A<:B:>9A '5?:B&=4A<76@B(?1?@A8B4609?7=@?>;B?:B36992B?;8A4A;8A;@B=;8B=:B:675
<A:4>;:?0?9?@2B@>B8A@A<1?;AB@5AB:6?@=0?9?@2B>3B@5?:B0>>*B=;8B?@:B7>;@A;@ 8>A:B;>@B;A7A::=<?92B<A39A7@B@5AB,?A-:B><B>4?;?>;:B>3B@5AB4<>867A<:B>3
&--.13*013 $'3)))3 &,," 3)
)
3><B-5=@A,A<B46<4>:A+B);2B?1=/A:B<A4<>867A8B>;B@5AB3<>;@B7>,A<B=<A )44:B><B4<>867@:B7>;@=?;A8B-?@5?;+B'5?:B4609?7=@?>;B?:B;>@BA;8><:A8B><
&609?:5A8B02 &=4A<76@B(?1?@A8 :>9A92B3><B8A:?/;B46<4>:A:B=;8B=<AB;>@B<A4<A:A;@=@?,AB>3B7>;@A;@+B =::>7?=@A8B?;B=;2B-=2B-?@5B'5AB(?;6B>6;8=@?>;.B'5AB!=:40A<<2B&?
$=;=/?;/B8?@>< =1A:B=9A AB=8,?:AB=99B4>@A;@?=9B062A<:B@>B75A7*B9?:@?;/B4<?><B@>B46<75=:AB3>< >6;8=@?>;.B)!$B>98?;/.B=;>;?7=9B(@8.B&2@5>;.B#A0?=;B&<>[email protected](?;6
&<>867@?>;B#?<A7@>< $=<*B)2:53><8B 7>;3?<1=@?>;B>3B=7@6=9B7>;@A;@+B)99BA8?@><?=9B>4?;?>;B5A<A?;B?:B@5=@B>3B@5A $?;@.B$?7<>:>[email protected](A;>,>.B#A99.BA-9A@@
&=7*=<8.B)449AB=;8B =1:6;/B><
8?@>< =1A:B=9A -<?@A<B=:B=;B?;8?,?86=9B=;8B?:B;>@B<A4<A:A;@=@?,AB>3B@5AB4609?:5A<B><B=;2 =;2B=::>7?=@AB><B=33?9?=@AB7>14=;2+B)99B7>42<?/5@:.B@<=8A1=<*:B=;8B
&<>867@?>;B$=;=/A< =<9B(?;:@A=8 >3B?@:B=33?9?=@A:+B'5A<A3><AB@5AB4609?:5A<B5>98:B;>B<A:4>;:?0?9?@2B?; <A/?:@A<A8B@<=8A1=<*:B3><B@5AB<A:4A7@?,AB7>14=;?A:B=<AB
#A:?/; =<9B(?;:@A=8.B$=<@?;B 1?@5B <A/=<8B@>BA8?@><?=9B>4?;?>;B=;8B7>;@A;@+B&=4A<76@B(?1?@A8B<A:A<,A:B@5A =7*;>-9A8/A8+B!A9A,=;@B/<=45?7B?1=/A<2B<A4<>867A8B-?@5B7>6<@A:2B>3
8?@><?=9 #=,?8B=2-=<8.B=1A:B=9AB <?/5@B;>@B@>B0AB5A98B<A:4>;:?09AB3><B=;2B1?:@=*A:B><B?;=776<=7?A:B3>6;8 (A;>,>.B A-9A@@
&=7*=<8.B#A99.B$?7<>:>[email protected] =1:6;/.B(?;6B$?;@.B%) ).
#?/?@=9B8?:@<?06@?>;B02 ?;?>.B&>7*A@1=/:BB!A=892 -?@5?;B@5AB@A@B>3B@5?:B4609?7=@?>;+B'5AB4609?:5A<.BA8?@><B=;8B@5A?< =;8B)449A+ )88?@?>;=9B?1=/A:B7>;@=?;A8B-?@5?;B@5?:B4609?7=@?>;B=<A
<A:4A7@?,ABA149>2AA:B><B=33?9?=@A:B-?99B;>@B=77A4@B<A:4>;:?0?9?@2B3>< <A4<>867A8B6;8A<B9?7A;:AB3<>1B:56@@A<:@>7*+7>1+
© >42<?/5@B&=4A<76@B(?1?@A8+B)99B<?/5@:B<A:A<,A8+ 9>::.B8=1=/A.B?;6<2B>77=:?>;A8B@>B=;2B4A<:>;:B=7@?;/B><B<A3<=?;?;/ )99B#$B=;8B09=7*B8>/B9>/>:B=;8B0<=;8?;/B=<AB © 7>42<?/5@B9=7*
%>@?7ABA3><AB46<75=:?;/B@5?:B4609?7=@?>;B49A=:AB<A=8B=;8BA;:6<AB@5=@ 3<>1B=7@?>;B=:B=B<A:69@B>3B@5AB7>;@A;@B-?@5B@5?:B4609?7=@?>;B-5A@5A<B>< #>/B$A8?=B(?1?@A8B=;8B<A4<>867A8B-?@5B4A<1?::?>;+
2>6B36992B6;8A<:@=;8B@5AB3>99>-?;/B/6?8A9?;A:.B?3B2>6B=<AB?;B=;2B8>60@ ;>@B=;2B:675B=7@?>;B?:B86AB@>B=;2BA<<><.B;A/9?/A;@B>1?::?>;B><B=7@B>; )44B @><AB4<?7A:.B?;@A<;=@?>;=9B=,[email protected]<=@?;/:.B@?@9A:B=;8B7>;@A;@
49A=:AB8>;@B062+B%>B4=<@B>3B@5?:B4609?7=@?>;B1=2B0AB<A4<>867A8B?;B @5AB4=<@B>3B@5AB4609?:5A<.BA8?@><B=;8B@5A?<B<A:4A7@?,ABA149>2AA:B>< =<AB:60A7@B@>B75=;/A+B >1AB7>;@A;@B1=2B5=,AB0AA;B4<A,?>6:92B
=;2B3><1.B:@><A8B?;B=B<A@<?A,=9B:2:@A1B><B?;@A/<=@A8B?;@>B=;2B>@5A<B =33?9?=@A:+B'5AB=<@?79A:B?;B@5A:AB4=/A:B@5=@B3>99>-B=<AB?;@A;8A8B=:B= 4609?:5A8+BAB=8,?:AB4>@A;@?=9B062A<:B@>B75A7*B@5AB:6?@=0?9?@2B>3B
4609?7=@?>;.B8=@=0=:AB><B7>11A<7?=9B4<>/<=1:B-?@5>6@B@5ABA4<A:: /6?8AB>;92+BAB=<AB;>@B=8,?:?;/B2>6B@>B75=;/AB2>6<B8A,?7A.B=;8B->698 7>;@A;@:B4<?><B@>B46<75=:A+B)99B?;3><1=@?>;B-=:B7><<A7@B=@B@?1AB>3B4<?;@+
-<?@@A;B4A<1?::?>;B>3B@5AB4609?:5A<+B;8A<B;>B7?<761:@=;7A:B:5>698 =7@6=992B=8,?:AB=/=?;:@B?@B?3B2>6B5=,ABA,A;B@5AB:9?/5@A:@B8>60@:+B
@5?:B4609?7=@?>;B=;8B?@:B7>;@A;@:B0AB<A:>98.B9A;@.B9>=;A8B>6@B><B6:A8B?; '5A<AB=<AB4>@A;@?=9B<?:*:B@>B@5AB5=<8-=<AB=;8B:>3@-=<AB?;,>9,A8.B=;8
=;2B3><1B02B-=2B>3B@<=8AB-?@5>6@B@5AB4609?:5A<:B-<?@@A;B4A<1?::?>;+ 2>6B16:@B0AB=-=<AB>3B@5A:AB0A3><AB2>6B8A7?8AB@>B=9@A<B=;2@5?;/B>; !A/?:@A<A8B?;B;/9=;8BB=9A:B%>B
5?9AB-AB4<?8AB>6<:A9,A:B>;B@5AB6=9?@2B>3B@5AB?;3><1=@?>;B-AB4<>,?8A. 2>6<B8A,?7A+B!A=8B=99B>3B@5AB?;3><1=@?>;B5A<AB7=<A36992B=;8B@5A;B1=*A
&=4A<76@B(?1?@A8B<A:A<,A:B@5AB<?/5@B;>@B@>B0AB5A98B<A:4>;:?09AB3><B=;2 64B2>6<B>-;B1?;8B-5A@5A<B2>6B-=;@B@>B3>99>-B>6<B/6?8A:+BAB@=*AB )#!'" "%B&9A=:AB7>;@=7@B=1A:0814609?7=@?>;:+7>1
1?:@=*A:B><B?;=776<=7?A:B3>6;8B-?@5?;B@5AB@A@B>3B@5?:B4609?7=@?>;+B#6A ;>B<A:4>;:?0?9?@2B3><B8=1=/AB@>B2>6<B:1=<@45>;A.B@[email protected]>146@A<B "%'!%)'"
%)(B("% "%B&=4A<76@B(?1?@A8B5=:B1=;2B/<A=@B
@>B@5AB;=@6<AB>3B@5AB:>3@-=<AB?;86:@<2.B@5AB4609?:5A<B7=;;>@B/6=<=;@AA ><B=;2B>@5A<B8A,?7AB6:A8B?;B@5AB4<>7A::+B"3B2>6B=<AB6;:6<A.B49A=:AB8> 4609?7=@?>;:B=;8B=99B=<AB=,=?9=09AB3><B9?7A;:?;/B-><98-?8A+B
@5=@B=99B:>3@-=<AB=;8 ><B@6@><?=9:.B@?4:.B/6?8A:B-?99B-><*B>;BA,A<2B ;>@B062B@5?:B4609?7=@?>;+ ><B1><AB?;3><1=@?>;BA1=?9B=1A:B=9AB=1A:0814609?7=@?>;:+7>1