Easily encrypt and decrypt files using GPG and Bash functions

Use bash functions to simplify encryption and decryption using GPG:


To use them simply add your file to encrypt or decrypt, as an argument, like so:

enc myfile

or

dec myfile

Generate SHA-512 hashes using Python

python -c "import crypt, getpass, pwd; \
             print(crypt.crypt('password', '\$6\$saltsalt\$'))"

Pagination in Solidity

Simple working Solidity code to paginate arrays returned from a Smart Contract:

pragma solidity >=0.4.22 <0.6.0;

contract ArrayPagination {
    uint[] arr;

    function add(uint data) public {
        arr.push(data);
    }

    function fetchPage(uint cursor, uint howMany) public view returns (uint[] memory valueset, uint newCursor) {
        uint length = howMany;
        if (length > arr.length - cursor) {
            length = arr.length - cursor;
        }

        uint[] memory values = new uint[] (length);
        for (uint i = 0; i < length; i++) {
            values[i] = arr[cursor + i];
        }

        return (values, cursor + length);
    }
}

Mapping network connections to Process ID's in Windows

One of the cool features in Linux is the ability to map network requests with process id's (PIDs). This can help any system administrator troubleshoot a number of things, such as "What process is using port 80?".


I struggled for a long time to do the same thing on Windows machines, but I have recently found out that with netstat, run in administrator mode, you can actually get something similar:


Microsoft Windows [Version 10.0.17763.592]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>netstat -aon

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1072
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:2179           0.0.0.0:0              LISTENING       4428
  TCP    0.0.0.0:2701           0.0.0.0:0              LISTENING       11140
  TCP    0.0.0.0:3000           0.0.0.0:0              LISTENING       10204
  TCP    0.0.0.0:5040           0.0.0.0:0              LISTENING       6916
  TCP    0.0.0.0:8732           0.0.0.0:0              LISTENING       4

Remove all Docker images and containers

Very handy and fundamental commands to delete ALL Docker images and containers:

First start by deleting the containers (since these are dependencies of images):
docker rm $(docker ps -a -q)

Then we can proceed to delete all the images:
docker rmi $(docker images -a -q)