10 Hot Pi Projects
10 Hot Pi Projects
Get better videos in Grab the best open We test the most
Ubuntu with Kdenlive source writing tools powerful Matrix clients
PLUS!
How to contribute to
open source projects
10 HOT Pi
PROJECTS
Break out your Raspberry Pi
and Picos to discover fun and
thrilling builds for all!
HOW TO…
Master GIMP layers
67
Pages of
Get started with SerenityOS tutorials &
Take better notes with Obsidian features
Keep an eye on your Create QR codes for Play with our Python-
TCP/IP network traffic fast and simple logins based catalogue tool
WELCOME
HOT Pi
REVIEWS
Wix 19
A giant in the website builder industry,
PROJECTS
Shashank Sharma takes the feature-rich
Wix for a test drive and discovers there’s
plenty to like under the bonnet.
Nitrux 2.5.1 23
An impressive beginner distro that’s well
worth your time, even if you spend most
of that tweaking its many, many settings,
says Mayank Sharma.
ROUNDUP IN DEPTH
Victoria 3 24
“The peasants are revolting,” cries The
Management, but really it’s just Jonathan
Bolding serving up their afternoon tea
and biscuits.
Pi USER TUTORIALS
Pi robots: motors
and control 52
In part two of his series,
Les Pounder shows us how
to safely connect and control
motors with a Raspberry Pi. KDENLIVE: Polish your video footage 64
Michael Reed looks at how you can use
the best open source video editor,
CODING ACADEMY Kdenlive, to produce high-quality clips
suitable for uploading all over the internet.
Monitor TCP/IP networks with eBPF 90
Naturally suspicious, Mihalis Tsoukalos GIMP: Fun with layers and masks 70
keeps an eye on all his network traffic Karsten Günther explains how GIMP
using eBPF – and he’ll show you how, too. manages layers, what the different types
are and how they differ from channels,
Finish your cataloguing app 94 plus how to get the most out of them.
With a tear in his eye, Matt Holder finishes
up our cataloguing database app by GIMP: Create better QR codes 74
adding search and export functionality. Mike Bedford reveals how to get creative
with your QR codes so you can draw more
attention to them and turbo-boost your
newsletter sign-ups, so we’re told.
DISTRO
OpenSUSE to drop
early 64-bit CPUs
Tumbleweed moves to x86-64-v2 – do
you even know which version you have?
umbleweed is SUSE’s rolling release v4 has AVX512, which is limited to server chips SUSE’s Tumbleweed prides itself on
help develop front and back-ends for any kernel using Rust proves to be, it’ll be a while Maintainers Summit in
instruction set architecture; it’s language before wide-scale testing of drivers and other Dublin, Linus Torvalds asked
independent.) The GCC Rust front-end is components written in Rust is required. When CI systems to start testing
currently being worked on, but for now, if you Mr Torvalds asks for help with the kernel, it the new Rust infrastructure.
want Rust in your kernel, you need to use LLVM. seems things get done pretty quickly. So, with that in mind, Rust
testing has now been added
to KernelCI!
Of course, the future of
Rust in the Linux kernel in
APPLE general and what community
OPINION GRAPHICS
ast summer, AMD added its Radeon that will produce a performance bottleneck.
Keith Edmonds
is MD of Tiger Computing,
L Raytracer Analyzer (RRA) to its
development suite to help ray
The package even includes build instructions,
currently tailored to Ubuntu. Good stuff for
which provides support for tracing with DirectX and Vulcan APIs. The developers as you can delve deeper into the ray
businesses using Linux. initial release was binary-only, although some tracing guts of Radeon GPUs, including the new
documentation mentions the MIT Licence. RDNA 3. AMD’s approach is laudable, unlike
Linux isn’t like Now it is properly open source as part of Nvidia’s. It has a similar software suite, Nvidia
Windows or Mac OS. AMD’s GPUOpen project, its middleware GameWorks, which is only partially open source.
You know that, of course, suite aimed at developers. RRA aims to ease Linux gaming is growing and to fully support
but it could be news to some the transition from rasterisation to ray tracing that, you’ve got to go open source; it comes
CREDIT: AMD
of your users. with tools to help organise model geometries with the territory. Nvidia’s recalcitrance looks
What they see is a and to understand and finesse ray tracing counterproductive.
computer. Desktop, laptop, performance. Using RRA, you can visualise You can find GPUOpen at https://github.
tablet; Dell, Apple, Lenovo; bounding box hierarchies and easily see areas com/GPUOpen-Drivers/libamdrdf.
Android, Windows, Mac OS.
It’s a computer, and you fix
computers, right?
Yes, you can probably
make an attempt at fixing
EMAIL LIGHTING
software. Enter
have to be a generalist. set isn’t nailed down, so your feedback now
OpenRGB: one
When you’re asked to look could count. The final transformation of K-9 lightweight
at a system you don’t know, Mail is due summer 2023, when it will be fully app to rule
it’s OK to tell the owner subsumed into the Thunderbird family. Read them all.
that you’re a Linux the blog at https://thunderbird.topicbox.com/
expert only. groups/android-planning.
Distro watch
OPINION
HAPPY
Fresh from the farm. NEW YEAR
NOMADBSD 131R
This is a distro designed to be run from a USB flash
drive and is based around FreeBSD, this time version
13.1. New features include two images, one using ZFS
and one using UFS for the filesystem, with the latter
having soft updates journaling. The automated Donnie Berkholz
graphics driver has been updated, including support is senior vice president,
for VIA, and there’s a new display manager: SLiM. To product, at Percona.
keep the image size down, LibreOffice and some This distro likes to travel on a memory
multimedia applications have been removed. stick. With automated hardware detection The start of a year
and setup, it’s ideal for data recovery. always brings a raft of
predictions about what will
be different in the next 12
LINUX MINT 21.1 BETA months. I prefer new year’s
Linux Mint has been designed to give the classic resolutions, as these are
desktop experience with custom tools to make for a actions you can take yourself.
convenient out-of-the-box web-based installation, My first resolution is to
ideal for beginners. There are custom menus and look at platform engineering.
desktop, and many unique configuration tools. It’s This takes the self-service,
based on Ubuntu and is also compatible with automated approach that is
Ubuntu repositories. This new development common in the cloud and
snapshot includes Flatpak support integrated into applies it to self-managed
the Software Manager, which makes it easy to Aimed at those looking for a simple software, like open source
distinguish between Flatpaks and system packages, desktop-focused intro to Linux, it has a projects. It brings what
and switch between them. fuss-free install and a suite of major apps. people like about the cloud –
ease of getting started, ability
to work more efficiently –
NIXOS 22.11 and keeps the level of
Originally a research project, this independently freedom and control in your
developed GNU/Linux distro aims be the state of hands that open source
the art in system configuration management. The provides. Adopting some of
entire OS, kernel, apps and system packages are built these approaches should
by the Nix package manager and stored separately help you get more done.
from each other. It has reliable rollbacks and a Secondly, look at data
reproducible system configuration. Gnome, KDE ownership. Are you able to
Plasma, Cinnamon and other elements have been manage where your data is
updated. This release will also check to make sure processed and stored? In the
your passwords are strong enough. To make a neat arrangement of packages, US, the California Privacy
there are no /bin, /sbin, /lib or /usr Rights Act will come into
directories; everything lives in /nix/store. force in July 2023, while the
EU continues to build new
legislation around data. All
OPENINDIANA 2022.10 these rule changes will affect
A continuation of the OpenSolaris OS, OpenIndiana how you design and build
CREDIT: Nomad, Linux Mint, nIXos, Deepin
offers a full open source alternative to Solaris 11. This apps and data. Open source
is the first update for a year and contains updates of projects have made it easier
many components, including Firefox, Thunderbird, to manage this kind of
LibreOffice, Perl, Mate desktop, Python and more. requirement, but check if you
Other upgrades include the ability to mount and need to make any changes.
install media using NFS, the latest Intel and AMD Lastly, find a way to
microcode updates, enhancements to BHyVe and support your local
the internal SMB server, and updated Nvidia drivers. community. If you can give
Born out of the uncertainty after Oracle back around documentation,
acquired Sun, this has grown into a full code or financial support,
community-based open source alternative. please do so. It makes
a big difference.
Kernel Watch
OPINION
BYE, 2022!
Jon Masters keeps an eye out for all the latest
happenings in the Linux kernel, so you don’t have to.
inus Torvalds announced the complex) data structure with a long history, and
Jon Masters is a kernel hacker
who’s been involved with Linux
L release of Linux 6.1 just in time for
the holidays. On the one hand, users
commonly used in Linux for VMA management.
VMAs are how regions of virtual memory are
for over 22 years, and works on could see it as a nice Christmas present, but maintained in the kernel. One problem with
energy-efficient Arm servers. it made the whole end of year period quite “rbtrees” is that “walking the nodes in numerical
frantic for kernel developers. The reason for order is not very efficient”. Maple trees aim to
I’m writing this as we this is that following a new kernel release improve upon this and scale up to much larger
near the end-of-year typically comes a two-week merge window, systems with less overhead.
holiday period, a time when during which disruptive changes planned for Multi-generational LRU aims to improve the
we tend to look back at the the next release are merged into the code process by which Linux decides what data in
past 12 months. And what base (these are subsequently stabilised in memory should be paged (swapped) out to disk.
a year 2022 was. My wife the RC or Release Candidate kernels). Applications commonly allocate more virtual
and I bought our first house As we’ve mentioned before, Linux 6.1 is memory than they either use or is available,
– and five Linux kernels likely to be the next Long Term Stable kernel with the kernel swapping unused data out to a
were released! We started maintained by Greg K-H (Kroah-Hartman) for swap partition on disk. CPU hardware known
the year with Linux 5.16, several years through stable backports. as an MMU (memory management unit) helps
which added memory folios We’ve also mentioned that it is the first swap it back in again when needed, but this can
(improving the scaling of kernel to include support for the Rust have tremendous overhead if in a critical path.
certain memory operations) programming language. While these are Finally, Linux 6.1 gains enhancements for
and support for Intel AMX. interesting headline features, perhaps even memory-tiering. This is where machines don’t
Next came Linux 5.17, which more interesting is the number of internal just have the traditional NUMA (non-uniform
added a P-state (power) changes in 6.1. These include a new data memory access) nodes associated with RAM
driver for AMD systems, and structure – the maple tree – to replace red- chips that are closer to CPU sockets but also
Linux 5.18, with scheduler black trees for tracking virtual memory areas have different categories of memory. For
improvements and a switch (VMAs), multi-generational LRU patches that example, with CXL (Compute Express Link), a
to the C11 standard. impact swapping, and various changes to machine might have DDR memory attached to
The summer brought improve memory-tiering support. the CPU, and also in a separate box connected
Linux 5.19, which added Maple trees replace red-black trees, a data using a CXL link. That separate memory might
support for AMD’s SEV-SNP structure optimised for frequent insertion be large, but slower to access than local RAM.
and Intel’s TDX Confidential and deletion, as well as good search Tiering helps to manage these differences by
Computing extensions. characteristics. They are a good (yet deciding where to place data between chips.
These allow for the creation
of specially encrypted
virtual machine guests that ONGOING DEVELOPMENT
can’t be spied upon by the
hypervisor. Autumn brought
Right on cue, following the Linux 6.1 data structures (known as page table
Linux 6.0, which includes
announcement, Regzbot (the regression entries) are actually shared as well. This
Runtime Verification (RV),
robot maintained by Thorsten Leemhuis) reduces memory overhead, particularly on
which aims to provide some
sent a notice of the 44 known regressions large systems with lots of sharing.
reassurance for use in more
in Linux 6.1, including a few new crash bugs. SeongJae Park (Amazon) leads the Linux
safety-critical environments
These are likely to be addressed in the DAMON project, an attempt to improve the
(such as in cars).
stable kernel updates from Greg K-H. Khalid memory management mechanisms for
And we round the year off
Aziz posted patches adding “support for modern workloads, particularly given that
with Linux 6.1 (see right). A
sharing page tables across processes “DRAM has not been increased enough to
tremendous amount was
(previously mshare)”. Sharing of memory accommodate such huge working sets”.
achieved during the third
regions between two processes is far from While the project is really interesting, it is
year of a global pandemic in
a novel concept – it’s used for dynamic also charming to see SeongJae organising
which many of us were also
shared libraries – but traditionally, this a regular “DAMON beer/coffee/tea chat
trying to catch up on lost
still involved some duplication of the data series” for interested folks to meet virtually.
time seeing friends and
structures used to track the actual memory It is something that, surprisingly, doesn’t
family, or in some cases
that was shared. With these patches, the happen often for particular kernel teams.
confronting the horrors of
war. I hope you have a
more relaxing 2023.
Answers
Got a burning question about open source or the kernel?
Whatever your level, email it to [email protected]
Neil
Bothwick
eats Linux
desktop
problems for
breakfast!
teletype – though we did also have a couple of weren’t happy about you shifting to Linux! Enjoy the
MOP terminals as well. I was rewriting PLAN (ICL Pi 400 – it’s probably a lot faster than those old
systems and much easier to carry!
Pi gaming
Just wondering if you have any advice on open source
programmable Game Boy-like devices? I remember
these used to come up on occasion. My son and I
want to have a go at making our own games to play.
Luke and Max, Australia
Neil says…
It really depends on how authentic and hands-on you
want to get. See the project on page 34 for an outline
of how to install RetroPie, which is largely the basis of
all these kits, software-wise.
For premade handheld console kits, you’re spoiled
The Linux Format for choice; we looked at the Pimoroni Picade in LXF295.
office, circa 2021. WaveShare has a range of options – we like the Game
Helpdex
Linux can help refresh ageing hardware, so it can go on to have a useful second life.
You can use any camera for home CCTV, but we have some pointers…
[email protected]
SUBSCRIBE TO
LINUX FORMAT MAGAZINE
Subscribe today and enjoy great savings!
http://www.magazinesdirect.com/LIN/B23R
Call 0330 333 1113 and Quote B23R
NOT FRO?M
THE UagKe 69
Turn to p great
for more er
subscrib
deals!
ANNUAL PRINT EDITION ANNUAL PRINT + DIGITAL EDITION DIGITAL EDITION ONLY
Only
50% Only 61% Only
50%
£10.54 every 3 months
£16.79 every 3 months
£11.35 every 3 months
13 issues of Linux Format in print 13 issues of Linux Format over 12 months 13 issues of digital Linux Format
over 12 months and save 50%! in print and digital, and save 61%! over 12 months, and save 50%!
*Terms and conditions: Offer closes 28/2/2023. Offer open to new UK subscribers only. Pricing is guaranteed for the first 12 months and we will notify you in
advance of any price changes. Please allow up to six weeks for delivery of your first subscription issue (up to eight weeks overseas). The full subscription rate
is for 12 months and includes postage and packaging. If the magazine ordered changes frequency per annum, we will honour the number of issues paid for, not
the term of the subscription. For full terms and conditions, visit www.magazinesdirect.com/terms. For enquiries please Telephone: +44(0)330 333 1113 (open
Monday-Friday, 8:30am-7pm, and Saturday, 10am-3pm UK time, or email: [email protected]. Calls to 0330 numbers will be charged at no more than a
national landline call, and may be included in your phone provider’s call bundle.
WattOS R12
Nate Drake explores how WattOS can bring your ancient
hardware to life with this zippy, if spartan Linux distro.
e love lightweight distros.
IN BRIEF
After six years
W This is why we reviewed
some of the best of them
in development in LXF295, but WattOS didn’t make
limbo WattOS the cut, because a new version
R12 is finally hadn’t been released since 2016.
here. Now This is most likely because
based on WattOS is the creation of just one
Debian 11, it still man: Ronald Ropp, aka Biff Baxter,
focuses on ease who started development of the
of setup and distro in July 2008. Unlike previous
speed, running versions, WattOS R12 is based on
comfortably on Debian, not Ubuntu, which in theory
older machines. makes for a much more stable
operating system. This is reflected
in the bundled apps, such as Firefox
SPECS 102.4 ESR (Extended Support A custom version of the minimalist LXDE desktop environment makes for a snappy interface.
CPU: 1GHz Release). Using Debian alone
64-bit usually means you have to do extra tinkering to install to be energy efficient. Given the very small number of
Mem: 512MB the latest versions of programs, but WattOS has taken running processes, it didn’t surprise us that our version
HDD: 10GB care of this for you, supporting installation via both of R12 only drew down just under 1.4W in a virtual
Builds: 86_64 Flatpak and Debian backports. machine. Still, before wiping your existing install,
Set up is very simple via the Calamares installer and consider testing WattOS in live mode to see whether
takes only a few minutes. This is one of the fastest OS it really will extend your laptop battery for hours.
installations we’ve ever done. The lightweight LXDE 11 There’s no dedicated wiki or manual, but if you run
desktop environment is extremely quick to respond into difficulties using WattOS, help is available via a
and the install footprint is just 5GB, putting even well-attended Discord server. The forum community
minimalist distros such as Lubuntu to shame. is also extremely willing to address users’ issues. This
According to contributors on WattOS’s Discord might be enough to persuade less-experienced Linux
server, the OS can run on some incredibly ageing users to take the plunge with this distribution, given
machines, as well as budget Chromebooks. When that they may have to attend to some post-install
testing in a virtual machine, we found it ran perfectly tweaks themselves.
well on Debian’s minimal stated specs of 512MB RAM Overall, if you like your distros super-fast and
and a 1GHz CPU. There’s no specific ISO for running barebones, and are happy to manually install only
WattOS on old 32-bit machines, however. those programs you need, then WattOS R12 is the
This minimalist ethos carries over to the pre- right distribution for you. Because WattOS is based
installed apps, which are very spartan. For instance, on Debian 11, which is supported for five years, there’s
the only bundled office software is the Evince also little danger of it becoming obsolete, even if the
document viewer. Internet apps comprise only the good people at Planet Watt drag their heels about
aforementioned Firefox ESR and version 3.0 of the releasing a new version in the future.
Transmission BitTorrent client. You can also play media
files via VLC 3.0.17.4 (Vetinari). Beyond this, it’s largely
down to you to install any other programs you need.
VERDICT
Installing LibreOffice via Flatpak wasn’t too DEVELOPER: Ronald Ropp
troublesome but we had to open LXTerminal to set WEB: www.planetwatt.com
up the relevant software plugin so that installation via LICENCE: GNU GPL and others
the Flathub website could be done graphically. This
was a minor niggle, as it only had to be done once, but FEATURES 6/10 EASE OF USE 9/10
suggests that WattOS may not be for users who want PERFORMANCE 10/10 DOCUMENTATION 7/10
to avoid the command line altogether. In fairness, we
could just as easily have installed LibreOffice and other WattOS’s no-frills interface is clean and responsive, but it
software using the GUIs of the pre-installed Software may need some work before you have all the apps you need.
Center, GDebi or Synaptic package manager.
Although the R12 release notes don’t explicitly Rating 8/10
make this assertion, WattOS has traditionally claimed
Nitrux 2.5.1
An impressive beginner distro that’s well worth your time, even if
you spend most of it tweaking the settings, says Mayank Sharma.
f you are just taking your
IN BRIEF
Targeting
I first steps in Linux, you
should begin your journey
beginner Linux with Nitrux. It leverages some of
users, Nitrux the most stable and well-respected
does a splendid open source projects and builds on
job of them to create a distro that suits
simplifying the sensibilities of new Linux users.
software For instance, instead of building
discovery and a custom desktop environment
offering a slick from scratch, Nitrux relies on KDE
KDE-based Plasma’s malleability along with
interface, but some redesigned components to
perhaps leans simplify workflow for new users. It
too much into offers a couple of layouts for the
the minimal desktop to enable users to make
design aspect. best use of the screen real estate. Sitting somewhere between Ubuntu’s minimal Gnome desktop and Mint’s traditionalist design.
Nitrux has even customised
some admin apps to make tasks such as firewall and your pointers. The interface uses disappearing scroll
backup approachable for inexperienced users. It ships bars, so you won’t know they’re there and you can’t
SPECS with a good dose of apps for all kinds of desktop tasks. just jump back to the root of the Store. That aside, the
CPU: 2.5GHz The distro also supports and encourages the use of Store works a treat and the use of AppImages means
dual-core 64-bit AppImages, makes it straightforward to install extra managing software is entirely straightforward.
Mem: 2GB apps. In fact, Nitrux plans to eventually switch all its The distro has an active community that you
HDD: 5GB graphical apps to AppImages. These are launched in a can interact with on all the popular social networks.
GPU: 32MB Firejail sandbox, which makes Nitrux more secure out However, the lack of a dedicated documentation
VRAM, of the box than your typical desktop Linux. section is a downer, there is a tutorial section that
OpenGL 2.1 offers guides to many general topics, such as Samba
Builds: x86_64 Easy does it shares, using Wine, Wayland and more.
Trying Nitrux is a snap. The 2.8GB downloadable ISO We’re encouraged by the regularity of updates
served from a speedy dedicated server offers Live and speed of response by developers to queries.
booting, so you can try it out easily and, once happy, This latest 2.5.1 update, released in early December,
install it from here, too. The Calamares-based installer brings support for the latest Mesa 23.0 release and
is clear and inviting, and makes setting up keyboard introduces Kernel 6.0. Nitrux is available for 64-bit
and passwords, plus partitioning with encryption, computers only, but can also boot on older hardware
obvious and clear, though it seems to default to manual with the Legacy BIOS, as well as newer EFI machines.
partitioning, which isn’t ideal for beginners. Certainly worth your attention just for the speed
Once into the custom KDE desktop, the main of updates and number of customisation options,
sticking point is the unified window controls that which are the source of our main confusion, and could
permanently live top-left of the desktop, rather than as be reduced with an installer-based option.
part of the active window. So, if you want to minimise,
expand or close the current window, you need to
override your muscle memory and shift the mouse to
VERDICT
the top-left. It’s somewhat baffling and you can’t even DEVELOPER: Nitrux
double-click the title bar to expand or contract. WEB: https://nxos.org
KDE is renown for its customisability and you can LICENCE: GPL, Various
alter many of these default behaviours and styles
through the Windows Management and Appearance FEATURES 7/10 EASE OF USE 8/10
settings, which also offer comprehensive window tiling PERFORMANCE 8/10 DOCUMENTATION 6/10
features. It’s just a matter of discovering these and
tailoring them to your needs, but it feels like an option It’s slick, fast, regularly updated and offers just enough
that could be put into the initial Calamares installer. documentation but the KDE desktop roots can confuse.
The design oddities continue through to the
software Store – you have to decipher the title-less Rating 8/10
category icons or hover the mouse over them to get
Victoria 3
“The peasants are revolting,” cries The Management, but really it’s just
Jonathan Bolding serving up their afternoon tea and biscuits.
t’s 1836 and the
SPECS
Minimum
I Industrial Revolution’s
machines are in high
OS: Ubuntu gear. The coming century will
20.04 LTS change the face of the human
CPU: Intel Core world with a population explosion,
i3 3250, AMD a second industrial revolution
FX 8370 – AVX and more. In Victoria 3, you take
required control of a society attempting
Mem: 8GB to ride this wave of explosive
GPU: GeForce change to its end in 1936. What
GTX 660, you do along the way, and how The fairer sex
AMD R7 370, much fun you have, is up to you. voting? I can’t
2GB VRAM Victoria 3 tasks you with see any good
coming of this…
HDD: 10GB building a nation by shaping
APU: Intel HD its laws, economy, people and
Graphics 630, institutions. Developer Paradox
AMD Radeon calls it a “society-builder”. It wants you to care about the deeper in. Governments are based on laws: sets of
Vega 8 minutiae of political movements, distribution of power, options that cover diverse topics such as how your
population trends, economic organisation, factory output economy is structured and who gets to vote. Changing
Recommended or global trade, and then start manipulating them. laws requires the support of interest groups, Victoria 3’s
CPU: Intel Core That might be hard. Victoria 3 boasts some of the finest mechanic. These groups, such as landholders,
i5 6600K, AMD most intricate game mechanics we’ve seen in a strategy petite bourgeoisie, armed forces, trade unions,
Ryzen 5 2600X game. They can be overwhelming. You can micromanage industrialists, religious authorities and rural folk, gather
Mem: 16GB trade routes, chart paths for societal reform, tweak your up clout from their members and try to push their
GPU: GeForce nation’s build queue, or examine production methods. agendas, forming dynamic political parties.
GTX 1660, Even a small nation is constantly given options to fiddle These groups intersect masterfully with every other
AMD RX 590, with, and progress in large nations can slow to a crawl as game system, creating opportunities and obstacles.
6GB VRAM you scramble between trade crises and multi-front wars. Maybe you want to change tax laws to fix your budget,
Managing this is made easier by one of Paradox’s but the powerful industrialists will cause a big stink, or
better interfaces. It’s not quite as friendly as Crusader maybe even team up with another group and threaten
Kings 3, but it does have significantly more complex revolution. So, you change voting laws to give the poor
systems to work through. The bottom bar in particular power, reducing the industrialists’ political clout. Of
is useful, with shortcuts to all kinds of national actions, course, this means you now have another group able
from building and diplomacy to mustering troops. The to push forward their agenda.
map, meanwhile, is striking and impressively detailed. The core of all those interest groups are people, also
known as pops. Every person on the planet is simulated
I am the law in the background. They have jobs and families, and they
Who doesn’t like a It’s in Victoria 3’s simulation of how a society is governed want various necessities and luxuries (like heating? – Ed).
good map? that the game is at its best, drawing you deeper and They migrate and move in a system that is fascinating to
watch. When ideologies such as socialism and fascism
are invented, pop groups gain supporters or goals,
triggering unrest and revolution at home and abroad.
Your big concern with pops is their standard of living,
cultural discrimination and employment, but trying to
improve these involves solving big social and political
puzzles. Freedom of religion and giving immigrants
citizenship annoys other people even while it improves
lives, so it’s a thorny but compelling balancing act.
Big business
Alongside managing a nation’s people, your hand is
also on the tiller of trade and industry. Victoria 3 has you
serve as a kind of omniscient chief executive, deciding
what new factories, mines, infrastructure and farms get
built. You need cash for that, of course, but whether it’s
Aggressive negotiations
Eventually, of course, you have to deal with conflicts both
domestic and international. These aren’t always armed,
however, and many take place across the negotiating
table. This is perhaps the weakest part of Victoria 3, and
only a few key systems keep it from being a total dud.
Militaries are managed abstractly, with your armies troops to rattle your sabre. If nobody folds before the It all feels familiar
run by generals assigned to fronts. You can tell them to timer runs out, that means war. and yet somehow
different.
hold the line or try to advance and capture territory. It’s a It’s is a tidy system, but the diplomatic actions around
pretty fitting simulation of 19th century warfare – at least it are anaemic and difficult to pull off, because when it
from a politician’s chair – because it’s about hoping the comes to international relations, the AI is static or even
army you’ve built, the equipment you’ve produced, and unpredictable. Sometimes it stays friends for decades, or
the person you’ve picked to lead it can bring you victory. it turns into hateful a rival overnight. It’s not clear if this is
Your suite of diplomatic options are simple. In order to down to bugs or invisible changes in other countries.
do most things, you make a diplomatic play: claim a state Victoria 3 is weak on the international stage, but if
controlled by another country as yours, demand another your fantasy is to take control of a nation and set goals,
nation submits as a puppet regime, force others to adopt build a society and play around with complex systems, it
specific laws. You make demands, the other side makes fulfils that brilliantly. The internal life of your nation is rich,
counter-demands, and outside nations either stay and for much of the game that’s where are – up to your
neutral or get bribed to pick a side. You raise and deploy neck in domestic politics and squabbling pops.
VERDICT
DEVELOPER: Paradox Development Studio
WEB: www.paradoxinteractive.com
PRICE: £41.99
Roundup
Element 1.11.14 Cinny 2.2.2 Mirage 0.7.2
Mats Tage
Axelsson
keeps learning
more about Linux,
NeoChat 223.09 Fractal 4.4.0 even after all
these years. How
many? Guess!
HOW WE TESTED…
Ease of
Searching in
the Ubuntu
software store
installation
for Matrix
clients results
in a long list
of packages.
Encryption
You might be
looking for
easy ways to
options
send direct
messages
and encrypt
them for
protect privacy.
efore you see the full potential of Matrix, the clients
B probably look like any old chat box. But when you
discover the more intricate details, you’ll see the power
of encryption and private rooms. The specification (https://spec. standard tools. Element defaults to being a web app and can
matrix.org) is open, clear of patent licensing and mostly uses be a client for most platforms. Cinny also has such a web app,
HTTP. Importantly, it has vast support for encryption and is built making it easy to use from a browser.
for environments that anyone can join – so-called federations. NeoChat and Fractal have no web app capability, because
Any user should be able to create their own rooms and they are made for their respective desktop environments.
servers, making it vital that you know how to handle your Other useful features would be to use different formatting
encryption keys. Fortunately, all clients that support it have for your messages and the overall look, which is where Mirage
simple ways of doing this. shines. Having a web app of Mirage would make it outshine the
In this case, Mirage is disappointing because it does not lot, but its real weakness is sadly encryption.
support encrypted rooms or client verification. That said, Fractal
and NeoChat also lack these essential features so cannot use VERDICT
Matrix to its full potential. You can still create private rooms but
since encryption is not supported, you end up with a low-security ELEMENT 9/10 NEOCHAT 5/10
environment. Cinny does support these vital features. CINNY 5/10 FRACTAL 5/10
One useful feature is to have a web app available that can run MIRAGE 7/10
in a browser. This makes it possible to have an application using A lack of encryption options can let a chat client down.
Frequency of
updates
To use it, you need updates.
ere we’re considering whether the client you pick will
The Verdict
Matrix chat clients
f you’re choosing Matrix for your social needs, you
ALSO CONSIDER
Syphon is an up and coming client that is very much in early interesting alternative that’s building for all platforms from
development. This makes it inaccessible for ordinary users day one. It comes with desktop, Android and iOS clients.
but it could burst on to the scene at any point. When you At this stage, it’s mostly aspiring developers who will be
download it, you end up with a directory containing the interested. Anyone who is curious may want to know that
executable, which when run provides a barebones application Flutter is used to put it on screen. This gives you a wide array
that works but keeps throwing odd errors. of systems you can install it on without running around a
This is interesting, especially if you want to explore myriad of software development kits. The project is also very
how things work and learn coding. In the long run, it is an active on GitHub.
Hot Pi
projects
Dig in to our New Year
smorgasbord of hot Pi projects,
from Pico devices running
MicroPython to full-Pi setups,
with expert guidance from
Les Pounder and Matt Holder.
he problem with owning a mostly. We’ve selected self-contained ask Les Pounder about trying to get his
T
with Pimoroni’s
without a microSD card, the main Raspberry Fan Shim providing
Pi models won’t even boot. So, to kick things active cooling.
off as quickly as possible, we’ve had our friends at
Tom’s Hardware do a bit of testing and come up with
the fastest microSD cards to power your Pi.
Now is an amazing time to buy a fresh microSD card
as prices have tumbled and speeds have increased
dramatically. Previously, we would have recommended
32GB cards, but it’s getting hard to find a 64GB card
that costs much more than £7, while 128GB cards are
regularly under £15. Much of this is powered by even
larger capacity cards entering the market.
Theoretical speeds can top 140MB/s, with many
advertising a healthy 100MB/s, as the old Speed Class
measure tops out at Class 10 (10MB/s) there are now SanDisk Extreme Pro showed a clear lead on the rest
three new speed markings you now should look for: at 38MB/s, the SanDisk Extreme came second with
UHS: Denoted with a U symbol and a number 1, 2 or 3 32MB/s ,and the Kingston Canvas React at 27MB/s.
denoting 10MB/s, 20MB/s and 30MB/s respectively. The Samsung Pro Endurance posted 21MB/s and the
Video Class: Marked with a V and a number that Silicon Power 3D Nand was just shy of 19MB/s.
denotes the MB/s, starting at V30, V60 and then V90. Now you can boot your Pi as quickly as possible,
App Class: The newest measure, which switches to turn the page to find a range of hot projects. We also
IOPS (input/output operations per second), is denoted recommend installing your Pi in a case – we’ve listed
by A1, A2 and A3, although people have found Pi the best to consider at the end of the feature.
performance is less affected by IOPS.
Best for booting: All the big-name brands boot a Pi
Raspberry Pi Config.txt
within 2.5 seconds of each other. The Kingston Canvas
React came out first at 24 seconds, while the Samsung arm_freq=1100
Evo Plus and SanDisk Extreme snuck in under 25 Pi Zero (W) core_freq=450
seconds, with the Samsung Pro Endurance and over_voltage=6
SanDisk Extreme Pro at just over 25 seconds. arm_freq=1500
3A+/B+/CM3+
Best for apps: All the main cards on test launched over_voltage=4
GIMP within 0.8 seconds of each other. The lesser-
arm_freq=1300
known Silicon Power 3D NAND being the fastest at Pi 3/CM3 &
core_freq=500
6.5 seconds, the Samsung Evo Plus, SanDisk Extreme Pi 2 v1.2
over_voltage=4
Pro and Samsung Pro Endurance are just under 7
seconds, and the SanDisk Extreme at 7 seconds. arm_freq=1000
Pi 2 v1.1 core_freq=500
Fastest writes: Depending on your use case fast writes
over_voltage=2
could be more useful than general performance. The
OVERCLOCK YOUR Pi
It’s easy to overclock your Pi to gain gpu_freq=750 correct, reduce the clock by 100MHz,
a modest speed increase. If you’re over_voltage=6 check your cooling and try again.
serious, first attach a suitable Pi cooling force_turbo=1 With the Pi booted to the desktop,
fan, such as the Pimoroni Fan Shim. If you choose to use the same SD open a new terminal. To see its current
It’s worth a sudo apt update && sudo card in a different model of Raspberry CPU speed updated every second, use:
apt upgrade -y then open config.txt for Pi later, you should change or remove $ watch -n 1 vcgencmd measure_clock
editing (in the /boot directory): these lines. Save the file by pressing arm
$ sudo nano /boot/config.txt Ctrl+X, Y then Enter. When idle, the CPU runs at around
At the bottom of the file for a Pi 4, Reboot the Raspberry Pi. If it fails 600MHz. If we were to open a web
400 or CM4, add these new lines – see to boot, power off the Raspberry Pi, browser or another heavy application,
the table (above-right) for other models: remove the microSD card, edit config. the CPU speed would increase to
arm_freq=2200 txt and check your settings. If they’re match the demand.
Convert currency
Work with remote data using an API and the
Pi Pico W to make a live currency converter.
lthough you can run a Raspberry Pi effectively a ribbon cable to connect to the pins, because some
Contributing
for non-coders
Aaron Peters, who is a coding tinkerer at best, describes some ways
that non-technical folks can contribute to open source projects.
t takes a village to run an open source writing a single line of code. And what’s more, the work
up our favourite operating system. From the kernel to Commercial entities have a fiduciary duty to their
base utilities to desktops and applications, many of customers to produce software that’s free of defects.
these contributors volunteer their time to improve and Open source has a similar responsibility, but projects
grow the FOSS ecosystem. likely don’t have funds to staff a quality assurance (QA)
But even more people use the software, but aren’t department with people dedicated to testing. Open
developers. If you, like the author, are among this source projects are always looking for contributors to
group, how do you go about lending a hand? In this help make sure the software is as bug-free as it can be.
article, we’ll explore a variety of ways you can pitch in An easy way to help is to report bugs you find in the
to help an open source project, none of which requires software you use. Projects often manage their work in
chat room to learn about the team. Once you’ve talked has usable documentation can help prospective users
with some of the other members and decided on the evaluate it better, and gives the impression of a mature,
idea you’d like to submit, you flesh it out using two complete product. And nearly every software project is
tools. Firstly, the VDG uses GitLab Issues to track happy to accept contributions to its documentation.
in-process tasks. You can use this to describe the If you’re interested in writing docs, each project’s
overall concept and hold a discussion about it using the toolset involves a different level of complexity. For
built-in comments. In addition, you use a tool of your example, in addition to its formal application docs, KDE
choosing to provide a mockup of your idea to help the allows users to contribute to the UserBase wiki. This is
team (including developers) visualise it. as easy as registering for an account, deciding what to
The team offers samples and design assets in its write about and what format to use (a how-to page or a
Figma project to get you started. Finally, the VDG also full manual, for example), and contacting someone on
welcomes help with creating icons and maintaining its the team to get started. While you’re still expected to
Human Interface Guidelines, available on the KDE follow the project’s workflow and style guide, you can
Developer wiki (https://develop.kde.org/hig). pretty much start with just an up-to-date version of the
component you’re documenting and a web browser.
3 Documentation
When software is developed well, who needs
documentation, right? Wrong. Making sure software
In contrast, other projects have a more technical
infrastructure for their documentation. For example,
the Ubuntu Documentation team follows a docs-as-
code philosophy. In order to contribute, you need to
take the following steps:
1. Install the tools, which include the DocBook markup
language, XML transformation utilities (XSLT and FOP,
for example), the Bazaar version control system, and
Make to build everything:
$ sudo apt install bzr xsltproc libxml2-utils yelp-
tools yelp-xsl make docbook docbook-xsl
2. Next, you need to register with and provide an SSH
key to Launchpad, the management system used to
coordinate Ubuntu and other open source projects.
3. Connect Bazaar to Launchpad with:
$ bzr whoami “Aaron Peters <[email protected]>”
$ bzr launchpad-login [username]
4. To contribute, you use Bazaar to check out a copy of
the current doc set for the product you want to work
Submitting a Fedora bug report is as simple as creating an account on Red Hat’s on, one of either ubuntu-docs (for desktop Ubuntu),
Bugzilla and filling out the form. xubuntu-docs (for Xubuntu), or serverguide (for
Ubuntu Server):
$ bzr branch lp:ubuntu-docs
INTERACTING WITH THE COMMUNITY 5. Make your desired changes to the source files.
6. When you’ve finished, update to pull down any
Contributing to open source projects brings benefits over and changes from other team members, then commit
above being able to see your work represented in your favourite your changes locally:
bit of FOSS. One of the most rewarding aspects of volunteering is $ bzr update
interacting with the community, including fellow contributors as well $ bzr commit
as users. In fact, starting out by just talking with other community 7. Finally push the commit back to Launchpad with a
members is a great way to get a feel for how the project operates, new branch name describing the changes you made:
and whether it’s the right fit for you. As you might expect, each $ bzr push lp:~[username]/[product branch]/[new
project has its own preferred way of collaborating. But the following branch name]
represent some places where you can start to interact with other Please note that the above steps aren’t intended
volunteers, and maybe get some direction on how to get started. to be a complete description of the process. You
MAILING LISTS: This decidedly old-school way is still very common should follow the instructions on the Ubuntu Wiki’s
among open source projects. Subscribe to the mailing list to receive System Documentation page (https://wiki.ubuntu.
threaded updates in your inbox. com/DocumentationTeam/SystemDocumentation) if
IRC: Internet Relay Chat (IRC) is also still going strong as a you decide to start writing for Ubuntu. Instead, they’re
communication method for many FOSS projects. intended to give you an idea of some of the technical
TELEGRAM: Some projects are moving to the Telegram protocol steps you need to take. And it’s important to look at
for their chat. these as a challenge, rather than a deterrent. One of
SLACK: Finally, some communities use Slack. While the limitations the most rewarding things about contributing to open
on its freemium service require some workarounds, its availability source is all the things you can learn along the way.
and familiarity make it an increasingly popular choice. Working on documentation is particularly beneficial,
Once you’ve found the right channel(s), it’s a great idea to simply as you’re teaching others while you learn yourself.
lurk for a while. Many projects actually recommend you do just that.
You’ll get an idea of how the group operates, what opportunities are
available and, importantly, where they may need some help. 4 Translation
If you speak more than one language, translation
is an extremely valuable way to give back to an open
VERDICT
DEVELOPER: Petoi
WEB: www.petoi.com
PRICE: £310 (£299 kit)
Rating 8/10
VERDICT
DEVELOPER: Elegoo
WEB: www.elegoo.com
PRICE: £244
Pi ROBOT
and control
subscribe on
page 16!
motors. To wire up one motor we need the two wires Testing time
from the motor connected to OUT1 and OUT2 on the Before we can set our robot off on an adventure, we
L298D. It doesn’t matter much which goes in OUT1/ need to ensure that we have full control of the motors. Wire up
OUT2; we’ll test that later. From the Raspberry Pi, To do that we create a test script that checks that each each motor
connect GPIO14 to the IN1 pin, and GPIO15 to IN2. motor can spin, and that we have control of the individually.
These pins control the motor rotation. Now we have direction and speed. This test script is based upon Check the
connections
one motor connected to the L298D, and our Pi is also GPIO Zero, an excellent Python module from Ben
match those in
connected. Nuttall and Dave Jones. GPIO Zero simplifies working the table (see
Connect the second motor to OUT3 and OUT4, and with the GPIO by abstracting the complexities into page 54). If your
GPIO18 and GPIO23 for the IN3 and IN4 pins. Connect human-readable instructions. motor spins the
the power from the batteries (or USB battery) to the Begin by powering up to the Raspberry Pi desktop. wrong way, swap
12V and GND of the L298D via a breadboard that we’ll From the main menu, go to Programming and select the connecting
use to break out one connection into many. We also Thonny. In a new, blank window, save the code as wires between
need to connect any GND from the Pi to the GND of robot-test.py. We start by importing two modules. The the motor
the motors; use another series of breadboard first is GPIO Zero, specifically the PWNOutputDevice and the L298D.
connections for this. The batteries only power the class from it. This is used for fine control of the motor
motors, not the Pi. Four AA batteries is 6V, much more
than a Pi can safely use. Right now we have two L298D
motor controllers, powered from batteries/USB, with MOTOR CONTROL BOARDS
their GND pins connected to the GND of the Pi and the
power source. This gives us a common ground We’ve focused on bespoke H bridge motor controllers as the
reference necessary for the circuit to operate correctly. method to work with motors on the Raspberry Pi. They are not the
These two motors will be the rear-left and rear-right of only option, though. There are many other motor boards to choose
the robot. from and here we highlight two that we have personally used. First is
Now for the front motors, and for this we need Pimoroni’s Explorer HAT Pro, a board that was used in the Raspberry
another L298D. This time, connect the front-left motor Pi Foundation’s Picademy teacher training course. This versatile
to OUT1 and OUT2, then connect GPIO24 and 25 to board has two motor outputs, capacitive touch inputs and 5V
IN1 and IN2 respectively. Connect the front-right motor tolerant inputs. It is a great board for newcomers and while it isn’t for
to OUT3 and OUT4, and then connect GPIO8 and 7 to use with big motors, for 6V micro gear metal motors, it is perfect.
IN3 and IN4, respectively. Again connect the 12V The other controller is Cytron’s Maker Drive, which is a breakout
terminal to the batteries via the breadboard, and for an MX1508 motor controller. This tiny board is made for makers
connect GND to the breadboard row of GND pins. An who want to get things to move. It has solid screw terminals, header
alternative to a breadboard are Wago 221. These are t pins for GPIO connections and, in a truly innovative move, push
that turn one connection, for example GND, into many buttons. The four push buttons are used to test that a motor is
GND connections. We can use a Wago 221 with five connected and working. Press the button and it sends current along
connections to common the GND of our Raspberry Pi a set path, press another button and the H bridge flips and spins the
and the battery. Another Wago 221 can be used to motor in the opposite direction. We’ve used this board in a few
break out the 5V connection from the battery to both projects, even with a Commodore 64 and a GPIO breakout to write
L298D motor controllers. See the picture (page 55) for Basic code to make a motor spin.
an example of how we did this.
Object name Motor pin Motor input Pi GPIO Add more directions
With the successful test done, we add functions for
rra OUT1 IN1 14
backward, spin left and spin right. Place these below
rrb OUT2 IN2 15 the forward() function, but above the test lines.
Backward
lra OUT3 IN3 18
def backward(speed):
lrb OUT4 IN4 23 rra.value = 0
fra OUT1 (2nd L298D) IN1 (2nd L298D) 24 rrb.value = speed
lra.value = 0
frb OUT2 (2nd L298D) IN2 (2nd L298D) 25 lrb.value = speed
fla OUT3 (2nd L298D) IN3 (2nd L298D) 8 fla.value = 0
flb.value = speed
flb OUT4 (2nd L298D) IN4 (2nd L298D) 7 fra.value = 0
And relax…
We now have a robot that we can code using a custom
Python module. Next time we’ll interface sensors into
A Wago 221 connector can turn one connection into many. We used it the robot to give it a level of intelligence that will see it
to make a common ground reference and break out the 5V power. navigate a room without outside help.
RASPBERRY Pi ALTERNATIVES
The Raspberry Pi is not the only brains Lite model to give the robot intelligence intentions. Another option is Khadas’s
for a robot. It just depends on what level to identify objects and obstacles, and range of boards. The VIM4 is a beast of
of intelligence you need in your bot. At react accordingly. The Pi is the sweet a board, with 8GB RAM and an octa-core
the most basic level, we can use a £2 spot for computational power and price, Arm CPU. It runs Ubuntu 22.04 and is
microcontroller, such as an ATtiny85, to but if money is no object, Nvidia’s Jetson priced just over the currently high prices
build a £10 Arduino robot: https://bigl. range of boards has superior AI and of the Pi 4. The Khadas Edge 2 Pro
es/friday-fun-attiny85-10-robot- computer vision capabilities. The Nvidia comes with up to 16GB RAM and a SoC
challenge. If we want to use Jetson has additional cores devoted to that features additional computing
MicroPython or CircuitPython, we can machine learning, and with a webcam, power for machine learning. Sure, we
build a robot based around the Pi Pico or we can train our robot to detect faces pay more, but we get much more power
Pico W. We can even use a TensorFlow and objects, hopefully with altruistic for robotics in a tiny form factor.
VISIDATA
Credit: https://visidata.org
Tackling terminal
tabular table tools!
With the right tool at his disposal, Shashank Sharma has
no trouble making sense of vast heaps of tabular data.
ast amounts of information, separated into of changing it in any fashion. In fact, it’s also possible
Shift+O opens the Options sheet, where you can tweak parameters Using the frequency table, we can see that the UK has produced the
such as the sidebar colour, the colour of the current column, and so on. maximum number of Formula 1 drivers, at 19.32%.
the vd filename.csv filename1.csv filename2.csv frequency table. We’ll discuss both of these further
command, VisiData opens each file as a separate down in the tutorial.
sheet. It only displays the first specified file by default. VisiData’s vast
You can confirm this by looking at the bottom-right of Working with VisiData capabilities are
all controlled
the interface, which shows the name of the file that is With VisiData installed, you can open any supported
using myriad
currently open. file with the vd filename.csv command. keyboard
You can access all the other sheets by pressing Although VisiData is designed to be operated shortcuts, which
Shift+s from anywhere in the VisiData interface. This entirely with the keyboard, you can use the mouse for admittedly take
opens a Sheets sheet, which provides a list of all open a few operations. When you open a file with VisiData, some getting
sheets. Use the arrow keys to select any other sheet you’ll see a menu bar at the top with typical entries used to. But not
and press Enter to open it. such as File, Edit, View, Column, Row, Data, Help and so because they
If you have a table open in VisiData, hit the Shift+C on. You can click on these to navigate submenus. You are illogical
key combo. This opens a Columns sheet. All the can also use keyboard shortcuts to access submenus. or difficult to
master. As a
columns in your table are listed as rows in the Columns Alt+h for instance opens the Help menu, while you
beginner, we
sheet. You can configure different elements, such as can access the Plot menu with Alt+p , and so on.
recommend
the width and height of the columns, here. This is When you first open a file, the top-left entry is keeping a cheat
useful when your table has multiple columns where selected. You can navigate the rows and columns sheet handy:
the data doesn’t fit all on the screen, or if you wish to using the arrow keys. Alternatively, you can use h https://jsvine.
reposition columns in your table. Press q when you’re and j to move left and down respectively, while k github.io/
ready to return to the source sheet. and l can similarly be used to move up and right. visidata-cheat-
You can similarly press z followed by Ctrl+H sheet.
to open the Commands sheet. This displays all the
Keybinding Function
commands available for you to use in the current sheet.
The Sheets sheet, Commands sheet and Columns h Move left
sheet are examples of metasheets in VisiData. You can j Move down
think of these as sheets that are designed to help you
navigate and customise VisiData. k Move up
All the data files you open in VisiData are source l Move right
sheets. Any manipulation that you perform on a
PageDown/Ctrl+F Move one page down
source sheet in VisiData doesn’t alter the original files.
Derived sheets are sheets that draw their data from PageUp/Ctrl+B Move one page up
source sheets, such as when you filter certain rows
gh Move to leftmost column
from a file based on a defined parameter, or create a
Keybinding Function
s Select the current row
u Unselect the current row
t Toggle selection
gd Delete selected rows
|<regex> Select rows matching <regex>
\<regex> Unselect rows matching <regex>
ESSENTIAL READING
You can
VisiData is an incredibly robust and featureful utility data, and more. The section on Intermediate Usage configure
and we can’t cover a thorough usage in this tutorial covers some of the advanced features, such as VisiData’s
due to space constraints. While many of its features, joining sheets and reshaping data by creating pivot appearance
such as creating pivot tables, will be of use only to tables, and more, while the Advanced Usage section using the
~/.visidatarc
seasoned operators, this project features a lot of is still under development. Even so, you’ll appreciate
file. This isn’t
documentation that will be of use to novice and the section on configuring VisiData. It’s also possible
created by
experienced users alike. to extend VisiData with plugins. default when
Your VisiData journey must begin with the ‘An Although there’s a dedicated subreddit for you install
Introduction to VisiData’ tutorial. This is split into VisiData, you’ll be better served raising queries on VisiData. Head
different sections, such as The Big Picture, Basic the GitHub page. Make sure you go through all the over to the
Usage, Intermediate Usage and so on. Once you solved and open issues, as there’s a good chance project’s GitHub
have VisiData installed on your machine, make that your specific query has already been addressed. page, and
sure you go through the Basic Usage section of For more detailed information, head over to fetch a sample
the tutorial. This providers a good introduction www.visidata.org/docs to master the different .visidatarc file
from the Issues
to opening and closing files, saving sheets, components of VisiData and how to get the most
discussion page.
manipulating rows and columns, sorting and filtering out of them.
BIBISCO
Credit: https://bibisco.com
then select your language – English (UK) – to begin. GET FAMILIAR WITH BIBISCO
You’re now prompted to select a folder for your
projects (typically a subfolder inside Documents) and a
place to store backups.
After clicking Finish, Bibisco quickly sets up the user
2
dictionary, then prompts you to create your first project 1 3
– you’ll also see options for importing an existing
project and accessing the main settings (it’s worth
taking a quick tour to set your theme and zoom level).
Other settings include changing language and user
directories, and tweaking Bibisco’s backup options. 4
Let’s work our way through the new project wizard:
click Create The First Project, where you’re asked to 5
give your project a name and enter its author – you can
also change the project’s language from here. Click
Save, acknowledge the warning that once the language
is set, it’s set for the life of that project, and click OK. 6
Project goals
You find yourself at Bibisco’s main screen – as the Navigation pane Project Explorer
annotation reveals, it’s primarily a two-paned affair, 1 Use this to quickly access all of Bibisco’s 4 Click Project Explorer to toggle this box
with a navigation pane on the left. The Project screen tools – look out for collapsible > headings. on and off, letting you access notes easily.
in time lists a complete summary of your project, but
Breadcrumbs Rich text editor
for now, it simply lists your novel’s name, plus ‘This is 2 The breadcrumb navigation system 5 Bibisco’s text editor contains all the core
your novel’ in large letters and two buttons beneath. makes it easy to jump back up the currently functionality you need – click the Settings
The Here Are Some Tips button is a shortcut to the selected section. button to change display font and formatting.
Tips section, where you’ll find lots of writing advice,
Status buttons Word count
from developing believable characters to tapping into 3 Use these to help track the progress of 6 Bibisco provides running word (and
Bibisco’s planning tools to help develop your novel’s individual parts of your project, from planning character) counts of each separate part of
background to improve your story’s quality and realism. to entire chapters. your project.
The other button – Goals – is your first experience
of accessing a feature restricted to the Supporters
Edition (SE). As you’re in trial mode, a warning pops and chronological sequence’, which translates as the
up revealing how many days are left in your trial, with place to record a more detailed breakdown of your
buttons to purchase the SE or continue (after a five- story – you might be eyeing up the Timeline section Because Bibisco
second countdown) to the restricted feature. at this point, but aside from the fact it’s an SE-only is distributed as
Clicking Continue reveals the Goals screen, where feature, it’s more an analytical tool, as you’ll see later. a DEB or RPM
you can set a deadline for finishing your project (click Beneath the four basic architecture sections are package, you
the calendar to select year, month and day in turn), narrative strands. Click Create Narrative Strand to need to update
it manually:
plus an overall word count. You can then set your own start your first one. This pops up a prompt to give
either click
arbitrary words-per-day goal or click Calculate to have your strand a title, which creates a standalone element
the link in the
Bibisco do it for you. Click Save if you decide to make that works in a similar way to the main architectural original email
use of this, or Back to return to the previous page. element: click it to open the text window for you received
composing or editing. Narrative strands are linked to or log into
What’s your premise? resolving so-called conflicts, which basically represent the Gumroad
Bibisco stores key information about your novel in its the characters’ motivations (both internal and external). account you
Architecture section, where you’ll find four elements As with all parts of Bibisco, you can set these up optionally
called Premise, Fabula, Setting and Notes, plus a now or come back to them later. Navigating between set up during
Narrative Strands section beneath. If you click > next the different elements is nice and simple, thanks to the registration
to access the
to Architecture, you’ll see these options all appear in a expandable navigation pane on the left, but clicking
latest version.
submenu beneath Architecture, making them easier to
access. Of these, only Notes is restricted to the SE.
Each section is accompanied by a short description
and an icon indicating its current status (the red !!! icon
indicates it’s still in the to-do phase. Click anywhere
inside the Premise box and you jump to its own
dedicated section, where you’re tasked with describing
your novel in a single sentence. Click Get Started again
to reveal a rich text editor, which works as you’d expect
(see the box, left, for details).
The other key elements of the Architecture section
– Fabula and Setting – work in a similar way. Setting
provides you with somewhere to record a more
detailed summary of your novel, while Fabula describes Build up a rich portfolio of information and history about each
itself as a ‘narration of the events stored by their logical character to create fully rounded personalities.
Back steps you back to the last thing you were doing, section on personal history dubbed Life Before The
while a breadcrumbs system at the top makes it easy Story’s Beginning.
It bills itself as to move up the current section’s navigation tree. Unlike the architecture section, many of these
a novel-writing provide you with a series of questions to answer – click
app, but Bibisco Have character Edit and you’ll find yourself in the familiar text editor,
can be adapted Every story has a protagonist, and Bibisco enables you albeit with one key difference: a drop-down menu at
to other to record as little or as much detail as you need about the top enables you to move between each question.
purposes. It’s the people in your novel via its Characters section. Obviously, all sections are optional, and you’ll see an
great for family Here you’ll see characters are broadly split into two option at the bottom enabling you to switch between
historians types: main and secondary. interview and free text if you’d rather write a biography.
looking to write
Start with the star of your novel: click Create The Again, use the status buttons above the text editor to
a memoir of an
ancestor, or you
First Main Character. Give them a name and click help track your progress.
could use it to Save. As with strands, this creates a blank character Things are simpler with secondary characters –
write a general template, ready for you to fill. You can add other you’re given a free-form text editor to record all the key
history, with character templates now or click your main protagonist details you need about that person on a single page.
real people to start turning them into a flesh-and-blood person. As with other sections, the Supporters Edition
filling the role A wide range of traits can be recorded: personal offers bonus features – you can attach images to
of characters data covers the basics, while you’ll find sections on characters via the images button (or + button next
in your ‘story’. physical features, behaviours and attitudes, to their thumbnail for a profile picture), plus record
psychology, ideas and passions, sociology and even a date and time-stamped events, which show up in the
KDENLIVE
Credit: https://kdenlive.org
The Title Clip Editor is quite complex but allows for some interesting ways of presenting Cause and effects
text if you’re willing to put in the time. Kdenlive has quite a large palette of effects that can be
dropped on to tracks, and they work in a similar way to
Working with multiple sources It’s better to err on the side of overkill with output quality if you intend to upload the
video to a streaming site.
Kdenlive has a useful trick to sync up multiple audio
and video clips. For example, you might record the
video of a lecture by pointing the camera at the person
speaking while capturing the audio with a recorder that that has to be done at this point as Kdenlive builds
is placed closer to the speaker. The task is therefore to up a map of the peaks and troughs of the audio.
sync the high-quality audio file with the video footage. Once the processing is complete, it’s possible to
To synchronise these, start by dragging both clips align the video footage with the audio clip as long as
on to the Timeline and placing them on separate tracks the audio is similar. In our example, click on the audio
in rough alignment. Mute the audio in the video file clip that is connected to the video clip, right-click and
(Mute icon on the Master section of the Timeline). Click select Align Audio To Reference. The clip should shunt
on the separate audio clip and then right-click and forward or back so that it’s exactly aligned.
select Set Audio Reference. There is some processing You can also use this to synchronise multiple video
sources by using their audio tracks as the sync source.
Imagine a situation where a musician is recording a
tutorial video. They might have a close-up camera
showing what their hands are doing, a zoomed-out
camera showing their face and body, and an audio
recording of their voice and their instrument. This
gives them three source files to deal with. They can
align all three perfectly by setting the audio clip as the
reference track and using Align Audio To Reference to
shift the two video files from the two cameras into
alignment with each other and the audio track.
Kdenlive has all the basic features to make good-
The Timeline can easily become messy and difficult to navigate, so looking videos, along with a few options to add pizzazz
consider dropping some guides (press the G key). to the finished product. Happy videography!
SUBSCRIBE!
Don’t wait for the latest issue to reach your local store –
subscribe today and let Linux Format fly straight to you.
Faster, cheaper and with DRM-free archive access!
3 GREAT
WAYS TO
SUBSCRIBE
Print, digita
l-only,
and print+d
igital
bundles!
GIMP
Credit: http://gimp.org
LAYER MODES
Layer modes are essentially an offsetting or turn. However, a lot of modes have very strong
rendering rule of the RGB values of the pixels in two effects, so they tend to only be used on layers that
neighbouring visible layers. The layer mode of the have reduced opacity.
upper layer determines how the pixel values are A typical application of layer modes is to darken
offset against the layer below. GIMP then displays or lighten highlights and shadows. To lighten dark
the result of this calculation. The outcome often images, for example, the Screen mode is a good
looks rather strange, but it can be extremely useful. choice. It has the effect that dark areas are lightened
For example, the positions of layers can be checked much more than light areas, which corresponds to
to make sure they are pixel perfect with the Grain how the human eye perceives things. You can see
Extract mode, where any deviations clearly stand GIMP’s Screen layer mode in action in the
out. The subject is covered in detail in the GIMP screenshot (above-right). In some situations, the
manual at https://docs.gimp.org/2.10/en_GB/gimp- Addition and Dodge modes can also be helpful.
concepts-layer-modes.html, including the formulas Several copies of a layer can be superimposed to
used for offsetting. intensify the effect.
In practice, it is often helpful to place your mouse For images that are too bright, the Overlay and
cursor over the Mode button and then use the Multiplication layer modes, along with the different
mouse wheel to try out all the different modes in Light modes (Soft, Hard, Vivid), should be tried.
and offset against the copy via a layer mode. Layer the View menu. This way, several layers are positioned In Screen layer
mode, GIMP
modes have no counterpart in the physical world; they exactly and do not appear to be shifted by a few pixels.
lightens dark areas
are part of the magic of image editing. The position of layers is usually of great importance. of identical layers
When using a lot of layers, GIMP gives you a hand If they are shifted by only a few pixels, it can have a more than light
with several helpful features. For instance, layer groups very visible effect. GIMP therefore allows you to fix the ones. On the left is
are containers that can contain any number of layers. position of a layer – just click on the moving symbol in the original layer;
on the right Screen
They can be displayed together in the Layer Dock, the Layer Dock for the active layer in the Lock line. layer mode is used.
which increases your overview immensely. The layers Sometimes it is not the absolute position of layers
in the group can still be edited individually and their that is important but their relative position to each
visibility can also be controlled on an individual basis. In other. For example, text should often be placed directly
a group, all layers become invisible if the visibility of the above or next to an inserted object. In this case, several
layer group is deactivated. layers can be linked together. In the Layer Dock, this is
Wikipedia
The colour markers for layers are still a relatively done via the chain symbol next to the visibility eye. On
explains the
new feature (v2.10). Applied via Layer Attributes they linked layers, GIMP applies the same tools with the historical
can help with orientation and be set however you like. same settings one after the other. development,
Layers can be moved freely in an image, even if they The visibility of layers must not be confused with background and
are as large as the current canvas or larger. The canvas their opacity and other aspects. The eye on the left ideas behind
size automatically increases accordingly. For moving side of the Layer Dock shows whether each separate the alpha
layers, GIMP offers two tools in the toolbox: the move layer is currently visible. This is independent of whether channels quite
tool – accessed via the m key as a shortcut – and a layer is currently active – ie can be edited. In GIMP, well (https://
alignment, for automatically aligning lots of layers. The only one layer is ever active. GIMP shows which layer en.wikipedia.
org/wiki/alpha_
move tool works well with magnetic guides (Snap To is active in the Layer Dock with a colour bar. Basically,
compositing).
Guide) or with a magnetic grid (Snap To Grid), both in all actions carried out with GIMP always refer to this
Layer dock
• Cropping or cutting out subjects, as described in the
GIMP tutorial in LFX297.
Layer mode
Coverage type
• Colourkey renderings, which are in some ways a
special variant of this.
Lock layer settings
Visibility
• Creating smooth transitions between two layers
with a gradient from black to white.
Colour label In the Layer Dock, GIMP shows layer masks as
Visible layer group an additional icon to the right of the layer icon. In an
Group with three active layer, either the layer itself or its mask is always
non-transparent selected for editing. GIMP indicates this by a white
visible layers frame around the corresponding icon. (This is often
not easy to see with masks.) A mouse click on one of
Image frame the icons then activates either the layer or the mask.
Masks can be edited manually if necessary. As
Background layer
long as the layer mask is active, it can be edited like
Dock buttons
a normal black-and-white layer. Normally this is done
The use of several layers in the layer dock is nowadays facilitated by colour with a soft brush, but other tools and filters can also be
marks, layer groups and so on. used. Often the Show Layer Mask function (procedure
name: layer-mask-show in the settings) can be helpful
Separate colours
In some situations, it is important to be
able to process the colour components
in an image separately. This may be Two layers made this, the upper one desaturated and with a mask. The colour shines through from the bottom one.
the case when preparing an image for
printing or, for example, to avoid artefacts when components GIMP creates and how. Each of the
sharpening by processing only the brightness generated colour components is a greyscale image of
component of the image. The separation of colours the original layer; all together, they generate it again.
into their components is often called colour separation Colour models are complex mathematical systems
– in GIMP, the term decompose is used. In the colour that are described in detail in Wikipedia. The example There are some
menu, under Compose, there is a corresponding tool above uses LAB (or actually L*A*B*), an established interesting
for this task. colour model that stores brightnesses in the L functions, such
The application is simple and works on the current component. The new image created with the dialog as inverting
layer: after the call, GIMP shows a simple dialog. Here, now contains the three layers L, A and B, provided the layer stack,
it is only a question of which components are to be the option Decompose To Layers was active. All the minimising
layers and so
created. The components are created by direct layers are pure greyscale images. They can be edited
on, which are
conversion of the RGB pixel values and are output in separately. Compose puts them together again only listed in the
the form of three to four layers in a new image. The afterwards. GIMP also automatically updates the Layer menu.
colour model set in the dialog determines which original layer.
GIMP
Credit: www.gimp.org
Add images
Next are two different ways of adding
an image to a QR code. In both cases,
our instructions assume the QR code
is open in GIMP and you’ve made sure Using a small
the image mode is RGB. image in the centre
First up, we’re going to see how of a QR code is
to incorporate a small image in the common and
effective, but you
centre, this being one of the most might like to try a
common ways of customising a QR full-size but faint
code. The image must be fairly small, background image.
OBSIDIAN
Credit: https://obsidian.md
Nifty note-taking
with Obsidian
Nate Drake walks you through adopting the almighty Markdown-based
note-taking app Obsidian to see whether it lives up to its legend.
SERENITYOS
Credit: https://serenityos.org
SerenityOS has an unusually active pointing to other resources. The GitHub updates about what the developers are
community by the standards of page (https://github.com/SerenityOS/ working on. It’s also often possible to
alternative OSes. It’s refreshing to see serenity) contains instructions for how catch a live coding stream to watch a
contributors on a project like this who to build and run SerenityOS. If you have developer actually solving bugs and
are actually making regular updates and questions about using the operating adding new features while explaining.
posting videos about their progress. system, the best place to ask is the Lead developer Andreas Kling regularly
The official website (https:// Discord server, which has a lot of posts updates, in which he has edited in
serenityos.org) isn’t exactly packed activity from the friendly community. updates from other developers as well,
with traditional documentation at the YouTube is great for finding out more on his YouTube channel (www.youtube.
moment, and it works as more of a hub about SerenityOS and getting the latest com/c/andreaskling).
HotPicks
Cryptomator PowerShell JOSM Logseq Easy
Effects Ear Tag Gabut Download Manager 3D-
Mayank Sharma
is good at finding brilliant
open source software, but
can’t figure out what to do
until F1 2023 (and binge-
watching Drive to Survive
Puzzles Total Chaos Metadata Cleaner Hidamari doesn’t count).
Cryptomator
Version: 1.6.15
Web: https://cryptomator.org
ost cloud data providers only encrypt data
CLI SHELL
PowerShell
Version: 7.3.0 Web: https://github.
com/PowerShell/PowerShell
OSM EDITOR
JOSM
Version: 22.10
Web: https://josm.openstreetmap.de
KNOWLEDGE PLATFORM
Logseq
Version: 0.8.11
Web: https://logseq.com
AUDIO MANIPULATION
Easy Effects
Version: 7.0.0 Web: https://github.com/
wwmm/easyeffects
TAG EDITOR
Ear Tag
Version: 0.2.1 Web: https://github.
com/knuxify/eartag
You can
DOWNLOAD MANAGER change default
Gabut
authentication
information and
enable folder
sharing from
Download
under the app’s
Settings window.
Manager
Version: 1.9.9 Web: https://github. and opens the download dialog box. Its interface
com/gabutakut/gabutdm resembles that of any download manager, and gives
all the usual information about ongoing downloads.
Gabut can also help you pass authentication details
abut Download Manager is a feature-rich all- if asked by the remote server, as with FTP downloads.
The game is
CUBE PUZZLES functional but
3D-Puzzles
doesn’t offer
conveniences like
the ability to save
multiple games
or to select a
volatilflerovium/3D-Puzzles
FIRST-PERSON SHOOTER
Total Chaos
Version: 1.2.1 Web: www.moddb.com/
mods/total-chaos
Metadata
interface that
inexperienced
users will find
welcoming.
Cleaner
Version: 2.2.7 Web: https://
metadatacleaner.romainvigier.fr
s long-time readers can probably tell, we’re You can use the Add Files button in the app to
VIDEO WALLPAPERS
Hidamari
Version: 3.2 Web: https://github.com/
jeffshee/hidamari
EBPF
•
Output of “tcptop
WireShark: As well as Tshark, the command-line -C” – like “top” for
TCP connections.
version of WireShark, it can help you capture but most
The -C flag doesn’t
importantly analyse TCP/IP traffic. WireShark is more clear the screen
or less the standard tool for looking into TCP/IP traffic when printing new
at the network packet level. information.
RADDR:RPORT STATE
15:32:40 0 4 192.168.1.7:39450 R> 93.184.220.29:80
SYN_SENT
15:32:46 0 4 192.168.1.7:50136 R> 194.63.247.211:443
FIN_WAIT1
The last column offers valuable information
because it presents the state of the TCP connection.
A high number of TCP retransmits is an indication of a
busy network, a network/hardware device problem, or
both. You might need to stress-test your local network
by downloading multiple large files from the internet
or other computers that belong to the same network
in order to find out how your network behaves under
heavy load. Additionally, you can use a tool such as AB,
which is the Apache HTTP server benchmarking tool,
Here you can see the output generated by the TCPrtt utility that calculates TCP RTT. to make multiple HTTP requests and see how your
network behaves.
RX_KB MS Using TCPretrans with the -c flag is going to
5867 ssh 192.168.1.7 47414 195.251.38.180 22 12 present a summary of retransmits as soon as you
6 1715.04 stop its execution by pressing Ctrl+C.
1080 skypeforli 192.168.1.7 54268 13.107.3.128 443 3
0 73.51 The TCPtracer utility
Because TCPlife generates lots of output, especially The TCPtracer tool traces TCP connections, which
when dealing with HTTP traffic, you might need to means that you should expect to get lots of output
filter the generated output on your own to be able to from it. Therefore, this should not be the first tool to
The status of a use it effectively. execute when trying to resole TCP issues. The kind of
TCP connection The TCPtop tool works like Top but for TCP output generated by TCPtracer is as follows:
from the client
connections. It shows a summary of TCP send/recv Tracing TCP established connections. Ctrl-C to end.
side can be one
throughput by host. The produced output of TCPtop T PID COMM IP SADDR
of SYN-Sent,
ESTABLISHED, looks as follows: DADDR SPORT DPORT
FIN-WAIT-1, PID COMM LADDR RADDR RX_KB TX_KB C 3169 pacman 6 [2a02:587:2f03:2300:c014:9781:d
FIN-WAIT-2 or 9032 b’sshd’ 192.168.1.7:22 192.168.1.3:63540 0 0 4b8:3455] [2606:4700:20::6819:5e05] 39498 443
TIME_WAIT. The If you execute TCPtop using the -C command-line C 3169 pacman 6 [2a02:587:2f03:2300:c014:9781:d
status of a TCP option, you can see all the presented information – this 4b8:3455] [2a0c:59c0:6::100] 54742 443
connection from enables you to process the collected data more easily. X 3169 pacman 6 [2a02:587:2f03:2300:c014:9781:d
the server side Type $ sudo /usr/share/bcc/tools/tcptop --help to see 4b8:3455] [2606:4700:20::6819:5e05] 39498 443
can be one of all the supported command-line options. X 3169 pacman 6 [2a02:587:2f03:2300:c014:9781:d
LISTEN, SYN-
4b8:3455] [2a0c:59c0:6::100] 54742 443
RCVD, CLOSE-
WAIT, LAST-
TCPaccept.bt and TCPretrans The previous output shows the IPv6 connections
ACK, CLOSED As its name suggests, TCPaccept.bt traces successful (the x:x:x:x:x:x:x:x addresses) created by Pacman (the
or CLOSING. accept() system calls. The kind of output you should Arch Linux package manager) when running an update.
expect from TCPaccept.bt is as follows:
$ sudo bpftrace /usr/share/bpftrace/tools/tcpaccept.bt Netqtop and Gethostlatency
TIME PID COMM RADDR RPORT LADDR LPORT BL The Netqtop utility traces the kernel functions
23:33:17 524 sshd 127.0.0.1 50662 127.0.0.1 22 0/128 performing packet transmit and packet receive on
23:33:38 524 sshd 192.168.1.3 56962 192.168.1.7 22 0/128 the data link layer, which is the reason that it needs a
The reason for using TCPaccept.bt instead of the network interface to operate. On a Lenovo ThinkPad,
BCC version (TCPaccept) is because TCPaccept does for instance, the name of the Wi-Fi interface is
not print any output, which looks like a bug that might wlp0s20f3. So, we are running Netqtop using the
be fixed in future versions. --name wlp0s20f3 command line argument. The
Output in the form
of a histogram The TCPretrans tool traces TCP retransmits. The generated output looks as follows:
generated by a generated output looks as follows: $ sudo /usr/share/bcc/tools/netqtop --name wlp0s20f3
BCC one-liner. TIME PID IP LADDR:LPORT T> Thu Jun 23 22:28:49 2022
TX
QueueID avg_size [0, 64) [64, 512) [512, 2K)
[2K, 16K) [16K, 64K)
0 338.0 0 2 1 0 0
Total 400.0 0 1 1 0 0
RX
QueueID avg_size [0, 64) [64, 512) [512, 2K)
[2K, 16K) [16K, 64K)
0 52.0 2 0 0 0 0
Total 52.0 2 0 0 0 0
This is pretty low level information that can be
handy when you suspect that there might be an issue
PYTHON/DJANGO
Credit: www.djangoproject.com
Finish your
Part Three!
Don’t miss
last issue,
order it on
cataloguing app
page 68!
FREE
David Rutland, Mayank Sharma, Shashank Sharma,
Mats Tage Axelsson, Mihalis Tsoukalos
Cover illustration Magictorch.com
Ubuntu is a trademark of Canonical Limited. We are not endorsed
by or affiliated with Canonical Limited or the Ubuntu project.
Raspberry Pi is a trademark of the Raspberry Pi Foundation.
Tux credit: Larry Ewing ([email protected]).
Content production Adequate Media Limited
YOUR
ADVERTISING
Commercial sales director Clare Dove
[email protected]
Senior advertising manager Lara Jaggon
[email protected]
Head of commercial – technology Dave Randall
[email protected]
Account director Andrew Tilbury
PHONES!
[email protected]
INTERNATIONAL LICENSING
Head of print licensing Rachel Shaw
Linux Format is available for licensing and syndication.
To find our more contact us at [email protected]
or view our content at www.futurecontenthub.com.
NEW SUBSCRIPTIONS & BACK ISSUES
Web www.magazinesdirect.com
UK 0330 333 1113 World +44 (0) 330 333 1113
EXISTING SUBSCRIPTIONS
Web www.mymagazine.co.uk
Linux has the power UK 0330 333 4333 World +44 (0) 330 333 4333
Subscription delays: Disruption remains within UK
and international delivery networks. Please allow up
LXF299
Editorial director technology group Paul Newman
Content director Joe Cox
Head of art and design Rodney Dive
Design director Brett Lewis
Tuesday
Road, Peterborough, Cambridgeshire, PE1 5YS
Distributed by Marketforce, 5 Churchill Place,
Canary Wharf, London, E14 5HU
2023
GNU/Linux is abbreviated to Linux throughout for brevity. Where applicable,
code printed in this magazine is licensed under the GNU GPL v2 or later. See
www.gnu.org/copyleft/gpl.html. All copyrights and trademarks are recognised
and respected.
Disclaimer All contents © 2023 Future Publishing Limited or published under
licence. All rights reserved. No part of this magazine may be used, stored,
Get packing
transmitted or reproduced in any way without the prior written permission of the
publisher. Future Publishing Limited (company number 2008885) is registered in
England and Wales. Registered office: Quay House, The Ambury, Bath BA1 1UA. All
information contained in this publication is for information only and is, as far as we
are aware, correct at the time of going to press. Future Publishing Limited cannot
accept any responsibility for errors or inaccuracies in such information. You are
them or loathe them, we take them for a spin. not affiliated in any way with the companies mentioned herein.
If you submit material to us, you warrant that you own the material and/or have
the necessary rights/permissions to supply the material and you automatically
grant Future Publishing Limited and its licensees a licence to publish your
Algorithmic art
submission in whole or in part in any/all issues and/or editions of publications, in any
format published worldwide and on associated websites, social media channels
and associated products. Any material you submit is sent at your own risk and,
although every care is taken, neither Future nor its employees, agents,
subcontractors or licensees shall be liable for loss or damage. We assume all
unsolicited material is for publication unless otherwise stated, and reserve the right
to edit, amend, adapt all submissions. All contents in this magazine are used at your
Inside Fedora Silver Blue Future is an award-winning international media group and
immutable filesystem, OSTree and Flatpak installs. consumers online, on tablet & smartphone and in print.