List of 8 useful free software/program for macOS


Free/open source music/video player, can play almost all of audio/video formats




Another free/open source music/video player which can play almost all of audio/video formats



3 Cheat Sheet

Display shortcut keys, great for learning shortcut keys, eventually you won’t need it once you have them in your mind

Cheat Sheet
Cheat Sheet


4 Spectacle

Move or resize windows easily with keyboard like in Microsoft Windows

Spectacle keys
Spectacle keys
Spectacle - Whole
Spectacle – Whole
Spectacle - Left
Spectacle – Left
Spectacle - Right
Spectacle – Right
Spectacle - Right
Spectacle – Right
Spectacle - Center
Spectacle – Center


5 Aerial

a Mac screensaver based on the new Apple TV screensaver that displays the Aerial movies Apple shot over New York, San Francisco, Hawaii, China, etc. Starting with version 1.6, this also includes the new undersea videos available in tvOS 13!

Aerial screensaver
Aerial screensaver

More information & Download

6 Snip

Take screenshot easily, it can also scroll the web-page and take screenshot of it, so that we can get a full web-page screenshot



7 Itsycal

A tiny menu bar calendar.



8 Amphetamine

Simply keep the mac awake…

Amphetamine can keep your Mac, and optionally its display(s), awake through a super simple on/off switch, or automatically through easy-to-configure Triggers. Amphetamine is extremely powerful and includes advanced features for those who need them, yet remains intuitive and easy-to-use for those who don’t need all of the bells and whistles.

(You can also disable sleep function from the systems settings without installing any Apps to achieve the same results)



(Can be downloaded directly from App store)

How to: Quickly and Easily search a folder, partition or even computer for files in Microsoft Windows

When using Windows built-in search function, it can take ages to search a partition, it will take even longer if you want to search files across all partitions.

Everything is a free filename search software for Windows that can bring up your search results in seconds.

  • Small installation file
  • Clean and simple user interface
  • Quick file indexing
  • Quick searching
  • Quick startup
  • Minimal resource usage
  • Small database on disk
  • Real-time updating
  • Multilingual support
  • Has official portable version

Download Everything


64-bit Installer

Portable zip

64-bit Portable zip

Supported Languages

Language pack for Everything


Official website

Powerful Linux Interactive shell

fish (friendly interactive shell) is a smart and user-friendly command line shell for Linux, macOS, and the rest of the family.


Autosuggestion Thumbnail

fish suggests commands as you type based on history and completions, just like a web browser. Watch out, Netscape Navigator 4.0!

Glorious VGA Color

Colors Thumbnail

fish supports 24 bit true color, the state of the art in terminal technology. Behold the monospaced rainbow.

Sane Scripting

Scripting Thumbnail

fish is fully scriptable, and its syntax is simple, clean, and consistent. You’ll never write esac again.

Web Based configuration

Web Config Thumbnail

For those lucky few with a graphical computer, you can set your colors and view functions, variables, and history all from a web page.

Man Page Completions

Man Page Completions Thumbnail

Other shells support programmable completions, but only fish generates them automatically by parsing your installed man pages.

Works Out Of The Box

Works Out of the Box Thumbnail

fish will delight you with features like tab completions and syntax highlighting that just work, with nothing new to learn or configure.

fish can be installed easily on most Linux distros with their default package manager.


# Debian/Ubuntu/Kali Linux etc.
sudo apt install fish
# RHEL/CentOS/Fedora
sudo dns install fish
or, for older version
sudo yum install fish
# Archlinux
pacman -S fish
# gentoo Linux
emerge fish
# void-Linux
xbps-install fish-shell
# NixOS
nix-env -i fish
# Guix
guix package -i fish
# Solus
eopkg install fish
# Hombrew
brew install fish


# FreeBSD
pkg install fish
# OpenBSD
pkg_add fish


# Cygwin
fish is available in setup, in the Shells category.
# Windows Subsystem for Linux
sudo apt install fish
depend on the Linux distro you've chose, refer to the above "Linux" part to find correct command to use
pacman -S fish


# Homebrew
brew install fish
# MacPorts
sudo port install fish
# Installer
10.6+: Installs to /usr/local/


  • To use, type fish in the terminal then hit Enter key

To check fish version


HTML version help document


To switch default shell to fish

sudo chsh -s /usr/bin/fish

To switch back to default bash shell

sudo chsh -s /bin/bash

(If your default shell is zsh)

sudo chsh -s /usr/zsh

How to: Put panorama photo together – Panorama photo stitcher

Sometimes we want to put panorama photos together, so that we can have a complete photo.

It can be time consuming if we do it manually, also it requires skill to be done.

To make it easier, we can use software to achieve same or even better results.

Hugin is an open source and completely free software just does that and it’s easy to use as well.


Some technical details can be found here: Photometric alignment and vignetting correction


Nikto – Web server scanner

Note: Nikto is included in latest Kali Linux (2020.1)

Nikto is a web server assessment tool. It is designed to find various default and insecure files, configurations and programs on any type of web server.

It can be used to discover potential issues and security vulnerabilities from web servers including:

  • Server and software misconfigurations
  • Default files and programs
  • Insecure files and programs
  • Outdated servers and programs [1]

Some basic usages/Quick start

Scan the IP/Host on TCP port 80

nikto -h
nikto -h

Scan the IP/Host on specified port (443 in this case)

nikto -h -p 443
nikto -h

Multiple Ports

nikto -h -p 40,443,3128

Using a proxy

# Using the proxy server specified from configuration file
nikto -h -p 80 -useproxy
# Specifying proxy server on the fly
nikto -h -useproxy


$ nikto -H
       -ask+               Whether to ask about submitting updates
                               yes   Ask about each (default)
                               no    Don't ask, don't send
                               auto  Don't ask, just send
       -Cgidirs+           Scan these CGI dirs: "none", "all", or values like "/cgi/ /cgi-a/"
       -config+            Use this config file
       -Display+           Turn on/off display outputs:
                               1     Show redirects
                               2     Show cookies received
                               3     Show all 200/OK responses
                               4     Show URLs which require authentication
                               D     Debug output
                               E     Display all HTTP errors
                               P     Print progress to STDOUT
                               S     Scrub output of IPs and hostnames
                               V     Verbose output
       -dbcheck           Check database and other key files for syntax errors
       -evasion+          Encoding technique:
                               1     Random URI encoding (non-UTF8)
                               2     Directory self-reference (/./)
                               3     Premature URL ending
                               4     Prepend long random string
                               5     Fake parameter
                               6     TAB as request spacer
                               7     Change the case of the URL
                               8     Use Windows directory separator (\)
                               A     Use a carriage return (0x0d) as a request spacer
                               B     Use binary value 0x0b as a request spacer
        -Format+           Save file (-o) format:
                               csv   Comma-separated-value
                               json  JSON Format
                               htm   HTML Format
                               nbe   Nessus NBE format
                               sql   Generic SQL (see docs for schema)
                               txt   Plain text
                               xml   XML Format
                               (if not specified the format will be taken from the file extension passed to -output)
       -Help              Extended help information
       -host+             Target host/URL
       -404code           Ignore these HTTP codes as negative responses (always). Format is "302,301".
       -404string         Ignore this string in response body content as negative response (always). Can be a regular expression.
       -id+               Host authentication to use, format is id:pass or id:pass:realm
       -key+              Client certificate key file
       -list-plugins      List all available plugins, perform no testing
       -maxtime+          Maximum testing time per host (e.g., 1h, 60m, 3600s)
       -mutate+           Guess additional file names:
                               1     Test all files with all root directories
                               2     Guess for password file names
                               3     Enumerate user names via Apache (/~user type requests)
                               4     Enumerate user names via cgiwrap (/cgi-bin/cgiwrap/~user type requests)
                               5     Attempt to brute force sub-domain names, assume that the host name is the parent domain
                               6     Attempt to guess directory names from the supplied dictionary file
       -mutate-options    Provide information for mutates
       -nointeractive     Disables interactive features
       -nolookup          Disables DNS lookups
       -nossl             Disables the use of SSL
       -no404             Disables nikto attempting to guess a 404 page
       -Option            Over-ride an option in nikto.conf, can be issued multiple times
       -output+           Write output to this file ('.' for auto-name)
       -Pause+            Pause between tests (seconds, integer or float)
       -Plugins+          List of plugins to run (default: ALL)
       -port+             Port to use (default 80)
       -RSAcert+          Client certificate file
       -root+             Prepend root value to all requests, format is /directory
       -Save              Save positive responses to this directory ('.' for auto-name)
       -ssl               Force ssl mode on port
       -Tuning+           Scan tuning:
                               1     Interesting File / Seen in logs
                               2     Misconfiguration / Default File
                               3     Information Disclosure
                               4     Injection (XSS/Script/HTML)
                               5     Remote File Retrieval - Inside Web Root
                               6     Denial of Service
                               7     Remote File Retrieval - Server Wide
                               8     Command Execution / Remote Shell
                               9     SQL Injection
                               0     File Upload
                               a     Authentication Bypass
                               b     Software Identification
                               c     Remote Source Inclusion
                               d     WebService
                               e     Administrative Console
                               x     Reverse Tuning Options (i.e., include all except specified)
       -timeout+          Timeout for requests (default 10 seconds)
       -Userdbs           Load only user databases, not the standard databases
                               all   Disable standard dbs and load only user dbs
                               tests Disable only db_tests and load udb_tests
       -useragent         Over-rides the default useragent
       -until             Run until the specified time or duration
       -update            Update databases and plugins from
       -url+              Target host/URL (alias of -host)
       -useproxy          Use the proxy defined in nikto.conf, or argument http://server:port
       -Version           Print plugin and database versions
       -vhost+            Virtual host (for Host header)
                + requires a value


[1] Nikto v2.1.5 – The Manual
[2] Github

How to: Upgrade Roundcube webmail easily with terminal/command

Roundcube is an open source web/online MUA (mail user agent)

Note!: Don’t forget to change the download link and folder name for wget and Install/Update (Step 2 and 4)

#1 Switch to /tmp directory
cd /tmp
#2 Download the package with wget
#3 Extract the package
tar xf roundcubemail-*.tar.gz
#4 Install/Update
./roundcubemail-1.4.3/bin/ /destinationFolder/roundcube

Extended Reading

MUA (mail user agent) Is used for users to read, compose, and send email. Examples of MUAs are Roundcube, SquirrelMail, pine, Microsoft Outlook etc.

MTA (mail transfer agent) Is used for the transport, delivery, and forwarding of email. Examples of MTAs like SMTP servers are POSTFIX, sendmail etc.

How to: Add DSCP, QoS, 802.1Q VLAN ID to Wireshark columns

Sometimes we want to see DSCP, QoS, 802.1Q VLAN ID information while diagnosing the network.

Here is how to add those to columns for easier inspecting

1 Launch Wireshark, select an NIC to work with

2 Right click on the column (Near top, under the toolbar)

Wireshark - column
Wireshark – column

3 Then click on “Column Preferences…”

Wireshark - Column Preferences...
Wireshark – Column Preferences…

4 Navigate to “Appearance -> Columns”

Wireshark - Preferences
Wireshark – Preferences

5 Click on the “+” button

6 Add the necessary rows from below table (Title can be different)

TitleTypeFieldsField Occurrence
802.1Q802.1Q VLAN id
Wireshark - Preferences - Add column
Wireshark – Preferences – Add column

7 When finished, click on “OK” button

8 Now we can see those added columns

Wireshark with added columns
Wireshark with added columns

How to: Find Largest file on Windows, Windows 7, Windows 10, Microsoft Windows, Windows Server (Disk Space Usage)

For finding largest file/folder or showing disk space usage on Linux, refer to this one: (Linux Command Line/ Terminal Disk Space Usage tool (Find largest folder/file))

Sometimes, we want to find largest files or folders from our computer, especially when we are running out of space on hard drive. Because spending time to find different small useless files and then delete them can be very time consuming and after all it’s possible that we have only deleted couple MB of files which won’t help much. Remove one or two huge files or folders may help a lot.

Here is a list of software which can be used just for this purpose and for free, even better, some are open source.


  • Easy to use
  • Free, Open Source
  • Can be installed
  • Portable version available (via portableapps)


  • Easy to use
  • Free
  • Portable version available


  • Easy to use
  • Free
  • Can be installed
  • Portable version available


Out of three, WinDirStat is the only open source one, Space Sniffer and WinTree are both freeware only.

WinDirStat does not provide official portable version, but portable version can be downloaded from portableapps. Both SpaceSniffer and WizTree provide official portable version.

All of them are very easy to use, the user interface of WinDirStat and WizTree are very similar, you click on the tile or block to reveal the file name, while SpaceSniffer displays the file and folder name directly on the tile/block.

Bottom line, choose whichever you like to use or give all of them a try and decide which one to go with, or even keep all of them in your bag, backup plan will not hurt 😉


  1. WinDirStat
  2. SpaceSniffer
  3. WinTree

Make the touchpad better on Windows

Note: Make sure you have a backup mouse ready before you start following steps

Windows 10 – Precision Touchpads settings

1 Use Win + I key to Open the Settings App

2 Navigate to “Devices -> Touchpad” or just use following link

Click here to bring up touchpad settings page directly (ms-settings:devices-touchpad)

Windows 10 Settings - Touchpad
Windows 10 Settings – Touchpad

Then you can start to customize different gestures

Windows - Settings - Other gestures
Windows – Settings – Other gestures
Windows - Advanced gesture configuration
Windows – Advanced gesture configuration

Precision Touchpad Driver (If Windows 10 Precision Touchpad settings is not showing up)

If you did not see those options in touchpad settings page, try to install the driver, see if the option appears after that.

First we need to find out if our touchpad is mad by Synaptics or ELAN.

1 Launch the Run window via Win + R key combination

Microsoft Windows - Run window
Microsoft Windows – Run window

2 Enter “devmgmt.msc”

3 Now the Device Manager is opened

4 Look for “Mice and other pointing devices”

Device Manager
Device Manager

5 Expand it, see if we have Synaptics or ELAN

6 If it’s Synaptics open this link:

ELAN open this link:

7 Download latest version of the driver from the website

8 When downloaded, open the file, extract it, find the “dpinst.exe”

9 Double click on it to install it

10 Restart the device once the installation is done

11 Follow step 1 to 4 again find the touchpad device, right click on it then click on “Update driver”, reboot maybe required after updating

12 Now you should be able to see the Windows 10 Precision Touchpad options.

Third-party software solution

If the above steps still not working, we can try to install a software which will dramatically improve our touchpad experience as well and it’s free!

The software is named “GestureSign”, even better, we can download it from Microsoft store for free

Microsoft Store- GestureSign
Microsoft Store- GestureSign

Description from Microsoft Store

GestureSign is a gesture recognition software for Windows tablet, Precision Touchpad and mouse. You can automate repetitive tasks by simply drawing a gesture with your fingers or mouse.

GestureSign supports the following commands:

  • Activate Window
  • Window Control
  • Touch Keyboard Control
  • Keyboard simulation
  • Key Down/Up
  • Mouse Simulation
  • Send Keystrokes
  • Open Default Browser
  • Screen Brightness
  • Volume Adjustment
  • Run Command Prompt Commands
  • Open File or Website
  • Launch Windows Store App
  • Send Message
  • Toggle Window Topmost
GestureSign - Action
GestureSign – Action
GestureSign - Gesture
GestureSign – Gesture
GestureSign - Options
GestureSign – Options
GestureSign - Ignored
GestureSign – Ignored

Click here to Download