Archive

Latest posts — page 8

Git Stash: Temporarily Saving Changes

When you need to quickly switch branches, but you have uncommitted changes in your working directory. Committing these unfinished changes might not be desirable, and discarding them would result in a loss of your work. This is where Git’s stash command comes into play.

Automating Docker Installation on Multiple Linux Distributions

This blog post introduces a powerful Bash script that automates the entire Docker installation and configuration process. It works seamlessly across Ubuntu, CentOS, and Fedora. Let’s dive deep into the script and understand each step to see how it achieves this.

Ultimate Step‑by‑Step Guide to GameMode

A deep, practical guide to installing, configuring, and supercharging GameMode on Ubuntu for smoother, faster gaming. From GPU drivers to per-game tweaks, this post walks you through squeezing every last drop of performance out of Steam and Proton.

Jenkins Security Best Practices

Securing the Jenkins environment has become paramount. Given its central role in automating software delivery, any vulnerabilities or misconfigurations can have severe consequences, including unauthorized access to sensitive data or deployment of insecure code.

How to check health of NVMe SSD on ubuntu

A practical, step-by-step guide to checking NVMe SSD health on Ubuntu using nvme-cli, smartctl, and GNOME Disks. Learn how to read SMART data, spot early warning signs, run self-tests, update firmware, and keep your data safe.

Handling and Resolving Conflicts During Rebasing

Rebasing is a common technique to keep a clean and linear history. However, one of the challenges developers face while performing a rebase is dealing with merge conflicts. During a rebase, conflicts may arise if the changes in your branch overlap or contradict the changes in the branch

🪐 Publishing the HHGTTG Bash Module on GitHub

I packaged my small Bash module, cleaned the code, added structure, and finally published it on GitHub. In this post, I walk through preparing a project for public release, choosing a layout, documenting it properly, and getting it ready for future automation.