In the early days after the death of the Prophet Muhammad (peace be upon him), two civil wars known as the Battle of the Jamal and the Battle of Siffin took place due to some misunderstandings between the Sahabah (Companions) of the Prophet Muhammad (peace be upon him).

Even though these battles were tragedies, we can extract a benefit that can help us in our own daily lives.

In the Battle of Jamal, there were Ashara Mubashara (some of the 10 Sahabah promised Jannah) among both armies and in the Battle of Siffin there were prominent Sahabah on both sides.


Recently I was in a position where I wanted to keep my local changes and also keep the changes from the master branch.

But somehow I had ended up in a detached head and was worried I’d lose my work.

To fix this situation (if you want to keep your local changes on the detached head and merge them to master) follow these steps:

Step 1:

git log -n 1

This will tell you the last commit on the detached head. Copy the hash for the latest commit (we’ll call this copied_commit_hash).

Step 2:

git checkout master (or whatever branch…

14 wolves were released into Yellowstone and what happens next is astonishing!

SubhanAllah this is truly amazing! Allah has created everything in this world with a purpose and reason. Sometimes it is apparent to us and sometimes it is not apparent.

With the introduction of just 14 wolves into Yellowstone National Park in 1995 so many beneficial changes occurred in the park that one could have never imagined.

  1. Wolves began to hunt the deer
  2. This led to the population of deer to decrease
  3. This led to the deer avoiding areas where they would be easy prey to the wolves
  4. This…


On a Linux system, if you need to find out all symbolic links in a given directory. Assuming you are in the directory you need to be in it can be done simply by:

ls -la | grep "\->"

If you want to search in a different directory them specify it like this:

ls -la /this/directory | grep "\->"

If you are searching for some library or something else and are not sure where in the Linux system it is located, it can easily be found with a quick command via the Command Line.

For example, the file we are looking for is “libcxcore.so.4”, then this should tell us where it’s located:

sudo find / -name "libcxcore*"

The result should be something like this IF it exists and is found:

/usr/local/lib/libcxcore.so.4

Another method which might be faster is:

locate libcxcore

Note: Replace ‘libcxcore’ with whatever you are searching for!


I had setup some Jenkins jobs and as a post-build action used the HTML Publisher Plugin to generate some HTML reports for my jobs.

But the odd thing was the HTML reports were not displaying with the CSS styles. So it was just plain HTML which looked ugly.

A simple fix solved this problem:

Go to “Manage Jenkins” -> “Script console” and run below command:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

Re-run your job(s) and the HTML reports now show the CSS styles too.


I recently made a new user called ‘jenkins’ on Ubuntu.

And I tried to switch to a user by sudo su — ubuntu and it gave me the error:

jenkins is not in the sudoers file. This incident will be reported.

To fix this issue we just need to add the jenkins user to the sudoers file.

First get back to the user that has the proper permissions, in my case it was switching back to the user ubuntu, by typing exit until I was where I started.

Then I executed this to add my new jenkins user added to the sudoers file:

echo 'jenkins ALL=(ALL) ALL' >> /etc/sudoers

Now the jenkins has been added to the sudoers file and will be able to switch users and perform other tasks.


I was starting a new install of Jenkins and wanted to do it as a new jenkins user.

So first step I tried to create a new user on Ubuntu and tried via the command useradd jenkins .

Then when I tried to switch to the newly created jenkins user by sudo su — jenkins I got this error: No directory, logging in with HOME=/

It didn’t create the default directory and settings that I needed.

I deleted the jenkins user by sudo userdel jenkins and tried a MUCH easier approach:

By default on Ubuntu there is a Perl script…


The fastest and easiest way to install Jenkins on a Mac is by using Homebrew.

If you don’t know what Homebrew is or how to install it, check this link for more information: https://brew.sh/

Step 1:

Install Homebrew, see https://brew.sh/

Step 2:

You will need Java/Java Development Kit (JDK) installed. This can also be done via Homebrew, open a terminal window and type:

brew cask install homebrew/cask-versions/java8
  • You can install whatever version of Java needed, at the time of this entry I needed Java 8.

Once Java has been installed you’ll see some comments from Homebrew in the terminal telling you it was a…


Started a new project recently and had to get my environment setup.

After installing Homebrew and installing rbenv. I tried to install Bundler to manage my Ruby gems:

gem install bundler

But it gave me the following error:

You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory

Edit your ~/.bash_profile and put eval "$(rbenv init -)" at the end of the file, if you don’t have a ~/.bash_profile , then create it.

Then you will have to restart the terminal or run source ~/.bash_profile for the changes to take affect.

This basically allows rbenv to automatically initialize and load for our use.

Abu Eesa

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store