Have you ever run a race? If so, you already know that a photo finish is sometimes required to pick the winner! But what if two people arrived at the same time at the finish line? Welcome to race conditions….
GNOME 40 has more than a new numbering scheme. Along with its new look comes a new way of working. The old vertical metaphors are gone, replaced by horizontal theming and layouts. Let’s take a closer look….
Debian, the progenitor of many other Linux distributions, has made release 11 available in the testing stage. Are you weighing the virtues of upgrading, or are you just curious about the changes? Today, we’ll take a look at t…
Pull Requests are a feature of online git services like Github and Gitlab. They allow anyone to request for changes to be added, even if they don’t have access to the repository. We’ll discuss how they work, and how to use th…
Reading through the cartoonishly long list of existing Linux distros, the sundry flavors and the off-shoots of off-shoots all start to blur together. To remedy that, we’ve gathered a few distros that truly stand out from the …
Interesting in fixing those library errors and bugs you observe when installing a cool new program on Linux? Check out this article which shows how to use ltrace, arming you with the tool needed to debug library calls….
Writing scripts to run on different Linux computers is tough. You can’t assume they’ll have the same characteristics. The getconf command lets you check hundreds of operating system and file system values….
Error while loading shared libraries: the dreaded error that every Linux user will sooner or later run into. Something went wrong with the shared object dependencies (the libraries) used by the executable. Learn how to fix su…
Had enough of Linux Mint’s annoying update notifications? Or maybe you’re so concerned with staying up-to-date you want to see them even more? Either way, adjusting the notifications or turning them off is simple, as we’ll ex…
Linux Mint, one of the more popular Linux distributions, has released version 20.2, nicknamed “Uma.” It comes with new features, upgraded internals, and other changes. Today we’re taking a closer look at what’s new….
The root user is the most powerful entity in the Linux universe with limitless powers, for better or worse. Create a user? Got it. Annihilate a file system? Whoops, got that too.
Are you developing a multi-threaded application? Sooner or later, you will likely need to use a Semaphore. In this article, you will learn what a Semaphore is, how to create/implement one in Bash, and more….
Want to analyze how much wall clock time, kernel time, etc., a Linux program takes to run? Whether for performance testing, code optimization, or just general curiosity, this quick guide will get you started!…
I grew up in the 1970s and 1980s, and that meant I grew up with computers. Our first home computer was an Apple II, and my brother and I taught ourselves about BASIC programming on the Apple. I wrote a lot of games and math p…
If you’re forced to use a Linux script to connect to a password-protected resource, you probably feel uneasy about putting that password in the script. OpenSSL solves that problem for you.
Is your Mac desktop a mess? Don’t really want to organize everything? Don’t worry, you can use a terminal command to quickly hide all desktop icons before sharing your screen on a work call or taking a screenshot….
Linux programs ask the kernel to do some things for them. The strace command reveals these system calls. You can use them to understand how programs work and why, sometimes, they don’t.
Bash dictionaries give you hash maps and associative arrays in Linux shell scripts. We’ll show you how to use these powerful and useful data structures in your own Linux shell scripts.
Docker creates packaged applications called containers. Each container provides an isolated environment similar to a virtual machine (VM). Unlike VMs, Docker containers don’t run a full operating system. They share your host’…
You’ve built your Docker image, pushed it to your registry and started a new container in production. Everything’s working as you head home for the day but you’re met with outage reports when you come back next morning. Your …
Every minute of production downtime will generally cost a company money. If your application has a serious issue that causes stack smashing, you’re in for a ride. Learn what stack smashing is upfront and what can be done abou…
Computer problems. We all have them sooner or later. Knowing the ins and out of errors, asserts, crashes, and more is vital to understanding more about the problem at hand. Learn all about it.
The powerful GNU Debugger GDB returns to the front stage. We dive deeper into stacks, backtraces, variables, core dumps, frames, and debugging than ever before. Join us for an all-new, more advanced introduction to GDB….
Tracing a computer program is not reserved for only those who have the source code, can read it, and know how to use a debugger. Any Linux user can trace an executable with strace. Find out how!
Have you ever heard of tmpfs in Linux? It is that small temporary file system residing within memory and installed by default on Linux distributions. Ultra-fast but usually limited in size. Can one grow it easily? Find out &a…
How-To Geek is where you turn when you want experts to explain technology. Since we launched in 2006, our articles have been read billions of times. Want to know more?