Windows – Software – Ninite

Ninite is the first program I use after a Windows install.

Install and Update All Your Programs at Once. No toolbars. No clicking next. Just pick your apps and go.

Ninite will

  • start working as soon as you run it

  • not bother you with any choices or options

  • install apps in their default location

  • say no to toolbars or extra junk

  • install 64-bit apps on 64-bit machines

  • install apps in your PC’s language or one you choose

  • do all its work in the background

  • install the latest stable version of an app

  • skip up-to-date apps

  • skip any reboot requests from installers

  • use your proxy settings from Internet Explorer

  • download apps from each publisher’s official site

  • verify digital signatures or hashes before running anything

  • work best if you turn off any web filters or firewalls

  • save you a lot of time!

Linux – Your Details

User Avitar

There is a file in the User directory called “.face“, this is your avatar for logging in.

You can make any picture you want (preferably .png) your Avatar just by renaming and placing the image in your home user folder.

But first when you open your File manager (Thunar) you will need to turn on Hidden Files. All hidden files start with “.“. all your system files that are unique to you are stored here.


Mugshot or About Me is where you help programs like eMail or LibreOffice fill in your details automatically.

Linux – Moving Home Partition

Customizing your File system:
(Having home on separate Hard drive.)

Unlike Windows, Linux has a “Fixed” File system. What this means is no matter how many physical hard drives you have the file structure stays the same!

Linux does not label each hard drive but instead used Partitions. Partitions can span many hard drives and together are called a RAID. Partitions can be formatted to many different file storage formates. e.g. NTFS (Windows 10), ExFAT(USB drives) & Ext4(Linux). There are many more…… But for our purposes here, this is all you need to know for now!

  1. Create a Temporary folder (media/home)
  2. Mount the new Partition(hard drive) to that temporary folder (media/home)
  3. Copy data from current Home folder to the temporary folder (/home to media/home)
  4. Create backup folder (/old_home)
  5. Move current Home to a backup folder (/home to /old_home)
  6. Move temporary folder to original Home location (media/home to /home)

Now you have the Home Directory on a new Partition!

Here is the Detailed Instructions

Windows 10 Setup Guide:

How to Guide :

he problem with Windows 10 is the bloatware that comes with a new installation and whenever there is an update. Microsoft gives you the ability to turn off or delete these bloated software and to make your operating system not track you but……

Microsoft turns them back on and reinstalls all the useless software you don’t want which slows down your computer.

So where to begin :


Getting the latest Windows 10 available direct from Microsoft.

Next is a program to make a USB install disc. It is called Rufus. Creating a USB for Windows should be easy but Microsoft had made it a problem on Linux.

Make the Windows 10 Install unattended, with all updates and auto install 3rd Party software.

Free installer software that installs free useful software without bloatware.

Ccleaner – One of the best free software solutions for cleaning up your PC.

Clementine – My preferred Music Library & Player.

The next step is to remove all the Microsoft and 3rd Party software that you don’t want. We use a program called Blackbird.

At this point your PC should be clean & fast, so its time to back it up.

Downloading with Torrents!

There is always the normal way of Save as… But there are many other ways like Torrents.

A torrent file acts like a table of contents (index) that allows computers to find information through the use of a Bittorrent client. A torrent file gives addresses identifying computers that can send parts of the requested file. With the help of a torrent file, one can download small parts of the original file from computers that have already downloaded it. These “peers” allow for downloading of the file in addition to, or in place of, the primary server.

The Torrent Client (Software)

My choice is qbittorrent (

I chose this one as it has a built in Search Tab which will make things easy for new users.

Inside the Search Tab is a button to add Search Plugins. Inside you will find a link to a engine plugin list.

This will redirect you to

to the Unofficial-search-plugins.

There is a download link for each search engine. Copy the link and return to qbittorrent.


Select Install a new one.

& select Web link.

Then paste the link you copied from the site.

Repeat this procedure till all the links have been copied.

Then the final step is to check for updates for the search engines.

Now you can type in one search but get results from them all.

To go along with the torrent client, you will need torrent websites. These websites collect and organise the torrent files into lists for easy searching and activation.

Top 10 List:

1. The Pirate Bay – Best Torrent Site Overall

2. RARBG – Best Torrent Site for 4K Movies and New Releases

3. 1337x – Best Torrent Site for Applications

4. Torlock – Best Torrent Site for Anime and Ebooks

5. Torrentz2 – Best Torrent Site for Music Albums

6. YTS – Best Torrent Site for Movies

7. EZTV – Best Torrent Site for TV Shows

8. Zooqle – Best Torrent Site for Games

9. TorrentDownloads – Best Torrent Site for Software

10. LimeTorrents – Best Torrent Site for PC Games

There are many Open sites but there are also Membership sites too, these sites require you to keep a 1:1 ratio to stay as a member. The benefit of these sites is that they are a lot faster and safe from dangerous fake torrents as only members can upload torrents and membership is limited.

What is DNS…

What is DNS?

The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like or Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.

Each device connected to the Internet has a unique IP address which other machines use to find the device. DNS servers eliminate the need for humans to memorize IP addresses such as (in IPv4), or more complex newer alphanumeric IP addresses such as 2400:cb00:2048:1::c629:d7a2 (in IPv6).

How does DNS work?

The process of DNS resolution involves converting a hostname (such as into a computer-friendly IP address (such as An IP address is given to each device on the Internet, and that address is necessary to find the appropriate Internet device – like a street address is used to find a particular home. When a user wants to load a webpage, a translation must occur between what a user types into their web browser ( and the machine-friendly address necessary to locate the webpage.

There are many DNS providers, at all levels of the internet. From ISP, State, Country, Continent & World! They do not have the same list.

This is how a Country can censor the internet and ban websites by redacting/delete them from the DNS.

By choosing a World DNS provider you get the full unedited internet.

Primary Secondary

Primary Secondary

Terminal Task Manager – Top

The Linux top command provides a terminal task manager which lists all of the running processes on the computer.


I use “Top” to kill a process within the top interface simply press k and enter the process id next to the application you wish to close. Top solicits a specific signal to send; in most cases, enter 15 (to request the process to gracefully terminate) or 9 (to immediately kill the process).

The first line offers some basic high-level info about the system:

  • The time
  • How long the computer has been running
  • Number of users
  • Load average


The load average shows the system load time for the last 1, 5 and 15 minutes.

The second line summarizes the number of ongoing, concurrent tasks:


  • Total number of tasks
  • Number of running tasks
  • Number of sleeping tasks
  • Number of stopped tasks
  • Number of zombie tasks

The third line summarizes CPU performance:


  • usage by the user
  • usage by system
  • usage by low priority processes
  • usage by idle processes
  • usage by io wait
  • usage by hardware interrupts
  • usage by software interrupts
  • usage by steal time

The fourth line emphasizes memory:


  • Total system memory
  • Free memory
  • Memory used
  • Buffer cache

The fifth line highlights available swap space and total memory inclusive of swap:


  • Total swap available
  • Total swap free
  • Total swap used
  • Available memory

Main Table

The main table lists running processes:

  • Process ID
  • User
  • Priority
  • Nice level
  • Virtual memory used by process
  • Resident memory used by a process
  • Shareable memory
  • CPU used by process as a percentage
  • Memory used by process as a percentage
  • Time process has been running
  • Command

Key Switches For the ‘top’ Command

Although you invoke top just by typing the name in a shell session, a few switches modify the utility’s behavior:

  • -h: Show the current version
  • -c: This toggles the command column between showing command and program name
  • -d: Specify the delay time between refreshing the screen
  • -o: Sorts by the named field
  • -p: Only show processes with specified process IDs
  • -u: Show only processes by the specified user
  • -i: Do not show idle tasks


Written in Bash, Neofetch displays information about your system next
to an ASCII operating system logo (or any picture you configure it to

Designed to handle show and tell, apps like neofetch are
a mainstay of desktop screenshots. They can distill information about
the operating system, kernel version, and desktop environment, but also
what theme or icons are being used, which window manager, and even which
version of Bash!

Basically, its the sort of tool made for Linux nerds like us!

One of Neaofetch’s “pluses” over similar CLI system info tools is the extent to which you can customise it. Neofetch
is highly customizable through the use of command line flags or the
user config file. There are over 50 config options to play around with.

Neofetch is now my favourite CLI system information tool.

SSH & Creating keys

About SSH Keys [expand title="Read More..." swaptitle=" "]

Secure Shell (better known as SSH) is a cryptographic network protocol which allows users to securely perform a number of network services over an unsecured network. SSH keys provide a more secure way of logging into a server with SSH than using a password alone. While a password can eventually be cracked with a brute force attack, SSH keys are nearly impossible to decipher by brute force alone.

Generating a key pair provides you with two long string of characters: a public and a private key. You can place the public key on any server, and then unlock it by connecting to it with a client that already has the private key. When the two match up, the system unlocks without the need for a password. You can increase security even more by protecting the private key with a passphrase.[/expand]

Create the RSA Key Pair[expand title="Read More..." swaptitle=" "]

The first step is to create the key pair on the client machine (there is a good chance that this will just be your computer):

ssh-keygen -t rsa [/expand]

Store the Keys and Passphrase[expand title="Read More..." swaptitle=" "]

Once you have entered the Gen Key command, you will get a few more questions:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

You can press enter here, saving the file to the user home (in this case, my example user is called demo).

Enter passphrase (empty for no passphrase):

It’s up to you whether you want to use a passphrase. Entering a passphrase does have its benefits: the security of a key, no matter how encrypted, still depends on the fact that it is not visible to anyone else. Should a passphrase-protected private key fall into an unauthorized users possession, they will be unable to log in to its associated accounts until they figure out the passphrase, buying the hacked user some extra time. The only downside, of course, to having a passphrase, is then having to type it in each time you use the key pair.

The entire key generation process looks like this:

ssh-keygen -t rsa
OutputGenerating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |

The public key is now located in /home/demo/.ssh/ The private key (identification) is now located in /home/demo/.ssh/id_rsa. [/expand]

Copy the Public Key[expand title="Read More..." swaptitle=" "]

Once the key pair is generated, it’s time to place the public key on the server that we want to use.

You can copy the public key into the new machine’s authorized_keys file with the ssh-copy-id command. Make sure to replace the example username and IP address below.

ssh-copy-id demo@ [/expand]


Command Line Interface

trash-cli trashes files recording the original path, deletion date, and permissions. It uses the same trashcan used by KDE, GNOME, and XFCE, but you can invoke it from the command line (and scripts).

It provides these commands:

  • trash-put trash files and directories.
  • trash-empty empty the trashcan(s).
  • trash-list list trashed files.
  • trash-restore restore a trashed file.
  • trash-rm remove individual files from the trashcan.


Trash a file:

$ trash-put foo

List trashed files:

$ trash-list
2008-06-01 10:30:48 /home/andrea/bar
2008-06-02 21:50:41 /home/andrea/bar
2008-06-23 21:50:49 /home/andrea/foo

Search for a file in the trashcan:

$ trash-list | grep foo
2007-08-30 12:36:00 /home/andrea/foo
2007-08-30 12:39:41 /home/andrea/foo

Restore a trashed file:

$ trash-restore
0 2007-08-30 12:36:00 /home/andrea/foo
1 2007-08-30 12:39:41 /home/andrea/bar
2 2007-08-30 12:39:41 /home/andrea/bar2
3 2007-08-30 12:39:41 /home/andrea/foo2
4 2007-08-30 12:39:41 /home/andrea/foo
What file to restore [0..4]: 4
$ ls foo

Remove all files from the trashcan:

$ trash-empty

Remove only the files that have been deleted more than <days> ago:

$ trash-empty <days>


$ date
Tue Feb 19 20:26:52 CET 2008
$ trash-list
2008-02-19 20:11:34 /home/einar/today
2008-02-18 20:11:34 /home/einar/yesterday
2008-02-10 20:11:34 /home/einar/last_week
$ trash-empty 7
$ trash-list
2008-02-19 20:11:34 /home/einar/today
2008-02-18 20:11:34 /home/einar/yesterday
$ trash-empty 1
$ trash-list
2008-02-19 20:11:34 /home/einar/today

Remove only files matching a pattern:

$ trash-rm \*.o

Note: you need to use quotes in order to protect the pattern from shell expansion.


How to create a top level .Trash dir?


sudo mkdir --parent /.Trash
sudo chmod a+rw /.Trash
sudo chmod +t /.Trash

Can I alias rm to trash-put?

You can but you shouldn’t. In the early days I thought it was a good idea to do that but now I changed my mind.

Although the interface of trash-put seems to be compatible with rm, it has different semantics which will cause you problems. For example, while rm requires -R for deleting directories trash-put does not.

But sometimes I forget to use trash-put, really can’t I?

You could alias rm to something that will remind you to not use it:

alias rm='echo "This is not the command you are looking for."; false'

Then, if you really want to use rm, simply prepend a slash to bypass the alias:

\rm file-without-hope

Note that Bash aliases are used only in interactive shells, so using this alias should not interfere with scripts that expect to use rm.