Latest blogs

New and familiar pieces land here from time to time for whenever you feel like dipping back into something Linux related.

View all →
  1. Which C Version Does the Linux Kernel Use? C90, C99, or C11 – Explained

    The Linux kernel, the heart of the world’s most widely used operating system, is written primarily in C. As a cornerstone of modern computi…

    Read more
  2. How to Fix 'sudo Group Doesn't Exist' Error When Running usermod on CentOS 7: Create Sudo Group Correctly

    If you’ve ever tried to grant sudo privileges to a user on CentOS 7 by running `usermod -aG sudo <username>`, you might have encountered th…

    Read more
  3. How to Fix 'stdin: is not a tty' SSH Error When Executing Remote Commands Through Another Machine

    If you’ve ever tried to run a remote command over SSH—especially through intermediate machines (e.g., jump hosts)—you may have encountered…

    Read more
  4. How to Show Job Count in Bash Prompt Only When Nonzero (Avoid Clutter)

    The Bash shell prompt (`PS1`) is more than just a static string—it’s a dynamic tool that can provide real-time context to boost your produc…

    Read more
  5. How to Show Current Git Branch with Coloring in Linux Terminal (Like Git Bash on Windows)

    If you’ve used Git Bash on Windows, you’ve likely noticed its handy feature: the terminal prompt automatically displays the current Git bra…

    Read more
  6. How to Show Complete Arguments in strace (Even with Curly Brackets) When -s Isn't Enough

    `strace` is an indispensable tool for debugging and understanding how programs interact with the Linux kernel. It traces system calls (sysc…

    Read more
  7. How to Show All Keys in Redis in One Line: Fixing the 'redis-cli keys *' Error

    Redis, the popular in-memory data store, is widely used for caching, session management, and real-time analytics. A common task when workin…

    Read more
  8. Should We Use Multiple Acceptor Sockets for Large Connections? SO_REUSEPORT Benefits & NGINX Case Study

    In the era of cloud computing, microservices, and high-traffic web applications, handling **millions of concurrent connections** is no long…

    Read more
  9. Child Process Termination: exit vs return vs _exit in fork() - Which Should You Use?

    When working with process creation in Unix-like systems, the `fork()` system call is a cornerstone, enabling the creation of new child proc…

    Read more
  10. Should the FUSE getattr Operation Always Be Serialised? Implications for RESTful API-Backed Filesystems

    Filesystems are the backbone of how we interact with data, but traditional filesystems are bound to local storage. Today, with the rise of…

    Read more
  11. Libc++ vs Libstdc++: Choosing the Right Standard Library for C/C++ CLI Executables on macOS & Linux with OpenCV

    When developing C/C++ CLI (Command-Line Interface) applications—especially those leveraging libraries like OpenCV for computer vision—one c…

    Read more
  12. Linux `cp` Command: Should You Add a Trailing Slash After Source and Destination When Copying Folders?

    The `cp` command is one of the most frequently used tools in Linux for copying files and directories. While copying individual files is str…

    Read more
  13. Linux Memory Usage: Should You Use VmSize, VmRSS, or a Combination for Accurate Stats?

    For system administrators, developers, and DevOps engineers, understanding how Linux processes consume memory is critical for optimizing pe…

    Read more
  14. Should You Run Android Studio with Sudo on Linux? Fixing Permission Issues & Best Practices

    If you’re an Android developer using Linux, you’ve likely encountered the dreaded "Permission denied" error while working with Android Stud…

    Read more
  15. How to Fix Redis 'Short read or OOM loading DB. Unrecoverable error, aborting now' Error After Server Restart: A Guide for Beginners

    Redis is an open-source, in-memory data store widely used for caching, session management, real-time analytics, and more. Its speed and sim…

    Read more
  16. When Can read(2) Return a Short Read on Linux Filesystems? (Non-EOF Scenarios Explained)

    The `read(2)` system call is a cornerstone of input/output (I/O) operations in Linux, allowing programs to read data from file descriptors.…

    Read more
  17. Short Command to Find Total Size of Files Matching a Wildcard (e.g., *.jpg) in Linux/Shell

    As a Linux user, whether you’re a system administrator, developer, or casual user, there are times when you need to quickly calculate the t…

    Read more
  18. Shellshock Vulnerability (CVE-2014-7169): Explaining the Inner Workings of `env X='() { (a)=>' sh -c` Command

    In September 2014, a critical vulnerability in the **Bourne Again Shell (bash)** sent shockwaves through the cybersecurity community. Dubbe…

    Read more
  19. How to Create a Shell Script to Monitor Log Files with `tail -f`, Detect Error Keywords, and Execute Commands

    In today’s digital landscape, applications and systems generate massive volumes of log data—everything from user actions to system errors.…

    Read more
  20. How to Write Variable Contents to a File in Shell Scripting: Step-by-Step Guide

    Shell scripting is a powerful tool for automating repetitive tasks, managing system configurations, and processing data in Unix-like enviro…

    Read more
  21. Shell Variable Issue: Why mkdir Fails with ~/Path in Scripts (and How to Fix It)

    If you’ve ever written a shell script and encountered an error like `mkdir: cannot create directory ‘~/myfolder’: No such file or directory…

    Read more
  22. Tar: Not Found in Archive Error: Why Using *.gz with tar -xzf Fails (and How to Fix It)

    If you’ve spent time working with Linux or Unix command-line tools, you’ve likely used `tar` to archive and compress files. The `tar -xzf`…

    Read more
  23. What is the Shell shift Command? Understanding shift with Numbers (e.g., shift 3) in Scripts

    In shell scripting, handling command-line arguments is a fundamental task. Whether you’re writing a simple script to process files or a com…

    Read more
  24. Why Does a Shell Script Work Without a Shebang Line? Executing ./myscript.sh in Bash Explained

    If you’ve ever written a shell script, you might have noticed something curious: even if you forget to add the `#!/bin/bash` (or similar) l…

    Read more

Topic collections

Each section is simply a place to wander, scan a few ideas, and return later whenever a thread feels worth following again.

  1. Bash Scripting

    Getting Started with Bash Scripting: A Beginner’s Guide

    If you’ve ever worked in a Linux or macOS terminal, you’ve probably used **Bash** (Bourne Again SHell) without realizing it. Bash is the default command-line shell for most Unix-based systems, and it’s more than just a…

  2. iptables Firewall Tutorial

    Getting Started with Iptables Firewall: A Beginner’s Guide

    In an era where cyber threats are ubiquitous, securing your Linux system is non-negotiable. A firewall acts as a gatekeeper, controlling incoming and outgoing network traffic based on predefined rules. For Linux users,…

  3. Linux Basics

    Getting Started with Linux: A Beginner’s Guide

    If you’ve ever heard tech enthusiasts rave about “Linux” but felt intimidated by its reputation as a “geek-only” operating system, this guide is for you. Linux is not just for programmers or system administrators—it’s a…

  4. Linux Kernel Basics

    Getting Started with Linux Kernel: A Beginner’s Guide

    The Linux kernel is the heart of every Linux-based operating system, from smartphones and servers to supercomputers and embedded devices. It acts as the bridge between hardware and software, managing resources like CPU,…

  5. Linux Performance Tuning

    Getting Started with Linux Performance Tuning: A Beginner’s Guide

    Linux is renowned for its stability, flexibility, and efficiency, but even the most robust systems can underperform over time. Whether you’re running a personal laptop, a home server, or a production environment, **perf…

  6. Systemd Service Management

    Getting Started with Systemd Service Management: A Beginner’s Guide

    If you’ve used a Linux system in the last decade, you’ve almost certainly interacted with **systemd**—the init system and service manager that has become the de facto standard for most Linux distributions (e.g., Ubuntu,…