How to Use xargs for Powerful UNIX Pipelines

The UNIX philosophy relies on small, sharp tools that do one thing well and connect together via standard input and output.

While standard pipes (|) pass text streams directly to commands, many essential utilities—like rm, mkdir, or cp—do not accept arguments from standard input.

This is where xargs steps in to bridge the gap, translating streams of data into arguments for another utility.

Whether you are cleaning up thousands of old log files, batch-downloading media, or running parallel jobs across multi-core processors, xargs is an indispensable workhorse in any systems administrator or developer toolbox.

Mastering its flags and subtleties transforms how you handle batch operations in the shell.

Continue reading “How to Use xargs for Powerful UNIX Pipelines”

The AI Balance Beam: Why Autonomous Code and Unchecked Production Are a Recipe for Disaster

Artificial Intelligence has transformed from a futuristic promise into the backbone of modern productivity. From instantly analyzing complex datasets to generating code, drafting content, and automating workflows, the advantages are undeniable. AI acts as a force multiplier, freeing human ingenuity from tedious repetition and unlocking new horizons of speed and scale.

Yet, every technological leap carries a shadow. The disadvantages of unchecked AI adoption are profound: systemic bias, hallucinated outputs presented with absolute confidence, over-reliance leading to skill degradation, and significant security risks when sensitive data is exposed to opaque models. Continue reading “The AI Balance Beam: Why Autonomous Code and Unchecked Production Are a Recipe for Disaster”

How To Perform a Global Search and Replace in vi

This is a quick article to show you what is in my opinion, the  easiest way to perform a global search and replace in vi. This post assumes you already have a basic understanding of vi.

While vi is a full screen editor, it’s foundation, is still based on a line editor.

Let’s say  that you have to perform a global search for the word align and replace it with the word alignment. A very simple task which in a modern editor is a no-brainier, while in vi, it requires a little knowledge. Continue reading “How To Perform a Global Search and Replace in vi”

How To Create a WORKING Private Certificate Authority FREE with Openssl

Hello and welcome back! In this post we are going to address how to create a private Certificate Authority (CA) with opensource tools, mainly Openssl. Having a private certificate authority allows you to trust private sites, for example: a private https server serving content in a private network can be trusted by the browser so you don’t get the annoying security problem.

Let examine the requirements, you will need: Continue reading “How To Create a WORKING Private Certificate Authority FREE with Openssl”

How to Screen Scrape with Skyscraper on RetroPie

Welcome back! This post discusses picks up from where “insert article link here” left off. Now that you have the roms loaded and playing games in RetroPie, you notice that the games have no description, images, etc. If you would like to show pretty images and description, this article is for you. Continue reading “How to Screen Scrape with Skyscraper on RetroPie”

How To Run a Free Ampere Instance on Oracle Cloud

What if I tell you that you can run a cloud virtual server with 2CPU, 12GB of RAM (The limit has recently changed from 2CPU and 12GB of RAM.), and up t0 200GB of Storage for FREE? Yes you heard right, FREE.

YES You can, the first caveat is that the server is not Intel but ARM (Ampere) based. This should not be an issue in most cases. You can also have for free a smaller 1CPU, 2GB of RAM, and up to 200GB of Storage (storage space is calculated total). The second caveat is that you have to be really careful about not going outside your allowed free quota, the consequence for that is quite expensive. Now that I’ve told you the negatives, let’s proceed how to do that. Continue reading “How To Run a Free Ampere Instance on Oracle Cloud”

My Retro Video Games Adventure with Retropie

Welcome back. This post describes my adventure in setting up RetroPie to play some of the games I used to play as a child, and also to expose my children to the older games, which in my opinion, are way better than modern games. In most modern games, graphics are the priority and sometimes, the game play is forgotten; well, older games are all about the game play. they were truly fun and captivating. No Internet, no distractions, just you and the game. Continue reading “My Retro Video Games Adventure with Retropie”

How to Use Vi: A Beginner’s Guide to the UNIX Text Editor

Welcome back, in this post we are going to discuss what I call, the most famous editor ever created, vi, the name vi is an abbreviation of the word visual. which was an evolution of the original ex editor, a line editor. When vi was introduced, it was like a revolution, it introduced the ability to move the cursor on the whole file and edit single characters.

In UNIX and derived systems, vi is a foundational editor, it’s the editor that you are going to find even on a minimalist system. I retain important, that to effectively operate on UNIX, you must learn vi, or at least enough to be able to edit a file. This post addresses the minimal function you must learn to effectively edit a file. Continue reading “How to Use Vi: A Beginner’s Guide to the UNIX Text Editor”

How to Expand NAS Drive Array Capacity Without Data Loss

Thank you for checking in. This article will explain how to expand a NAS drive array capacity without data loss. But before we explain, let’s outline some assumptions. In this article we assume that a RAID 1 or a RAID 5 type array is configured in the NAS and that all drive bays are used, for a RAID 1, we assume two are used, and for a RAID 5, we assume four bays are used.

Now let’s also assume that the all disks used either by the RAID 1 or the RAID 5 are all 4TB each, and that you would like to expand the array to have 8TB drives. Continue reading “How to Expand NAS Drive Array Capacity Without Data Loss”

The Mystery of Dynamically Linked or Statically Linked Executables (Part 2)

Welcome back. This post is a continuation of part 1 and it assumes you have read it. Find part 1 here.

Now, let’s continue the discussion about a dynamic vs static linked executable. You should probably ask yourself why and when would I use one vs the other? Continue reading “The Mystery of Dynamically Linked or Statically Linked Executables (Part 2)”