Showing posts from June, 2019

The opacity property in CSS is used to adjust the opacity, or conversely, the transparency for an item.

A value of 1 is opaque, which isn't transparent at all.
A value of 0.5 is half see-through.
A value of 0 is completely transparent.

HTML5 introduces more descriptive HTML tags.

These descriptive HTML tags include header, footer, nav, video,
article, section and others.

These tags make your HTML easier to read, and also help with Search
Engine Optimization (SEO) and accessibility.

TypeScript code tends to be less error-prone, more readable and easier to maintain.

TypeScript code tends to be less error-prone, more readable and easier
to maintain.

A data structure offers a convenient way of organizing as well as manipulating the data.

A data structure allows the data to be used in an effective manner.
There is a galore of data structures and each of them is suitable for
a distinct set of applications.

Install Strace Process Monitoring Tool in Linux

$ sudo apt install strace #Debian/Ubuntu
# yum install strace #RHEL/CentOS
# dnf install strace #Fedora 22+

strace can be seen as a light weight debugger.

strace allows a programmer / user to quickly find out how a program is
interacting with the OS. It does this by monitoring system calls and

strace is a system call and signal tracer.

strace is primarily used to trace system calls (that is, function
calls made from programs to the kernel), print the arguments passed to
system calls, print return values, timing information and more.

ptrace is a system call found in Unix and several Unix-like operating systems.

By using ptrace (the name is an abbreviation of "process trace") one
process can control another, enabling the controller to inspect and
manipulate the internal state of its target. ptrace is used by
debuggers and other code-analysis tools, mostly as aids to software

Testing Bash Scripts with Scriptkeeper | Originate

Earlier this year, we at Originate started writing scriptkeeper. It
lets you write and run tests for your Bash scripts. Unlike other
tools, however, it works without the need to change your scripts at
all. You can backfill tests without introducing regressions. Once
there are tests, you can go ahead and refactor with confidence.

Adding structured data to your news, blog, and sports article page can enhance your appearance in Google Search results

Enhanced features can include placement in the Top stories carousel,
host carousel, Visual stories, and rich result features such as
headline text and larger-than-thumbnail images.

Fixed: ImportError: No module named


File "/usr/bin/mysqldiff", line 28, in <module>
from import check_python_version
ImportError: No module named


The basic problem is that the utilities and the connector refer to a different path for some packages. The workaround is to symlink one to the other:

ln -s /usr/lib/python2.7/site-packages/mysql/utilities /usr/lib64/python2.7/site-packages/mysql/utilities

The U.S. and China declared a truce in their trade war on Saturday

Donald Trump said he would hold off imposing an additional $300
billion in tariffs and the world's two largest economies agreed to
resume negotiations.

Crontab example

echo "0 0,18 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && ls --pre-hook 'service mysql stop' --post-hook 'service mysqld start'" | sudo tee -a /etc/crontab > /dev/null

tee copies data from standard input to each FILE, and also to standard output. In effect, tee duplicates its input, routing it to multiple outputs at once.
-a, --appendAppend to the given FILEs. Do not overwrite.

Certbot is a free, open source software tool for automatically using Let’s Encrypt certificates on manually-administrated websites to enable HTTPS.

Certbot is made by the Electronic Frontier Foundation (EFF), a 501(c)3
nonprofit based in San Francisco, CA, that defends digital privacy,
free speech, and innovation.

Infrastructure as Code (IaC) is a process for managing and operating data servers, storage systems, system configurations, and network infrastructure.

In traditional configuration management practices, each minute
configuration change required manual action by system administrators
and the IT support team.

With IaC, all the configuration details are managed and stored in a
standardized file system, wherein the system automatically manages
infrastructure changes and deals with system configurations.

IaC reduces most of the manual effort since everything is managed and
automated by following the IaC approach.

Tools such as Ansible, Chef, Puppet can be used to implement IaC approach.

Check Ansible version

If you wish to check the version of Ansible installed on your system, use the command below: 1 ansible –version
$ ansible --version
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/ec2-user/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.14 (default, Jul 26 2018, 19:59:38) [GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]

How to install ansible on AWS EC2

ansible is available in Amazon Linux Extra topic "ansible2"

To use, run
# sudo amazon-linux-extras install ansible2

Learn more at

Ansible is an open source IT Configuration Management, Deployment & Orchestration tool.

Ansible aims to provide large productivity gains to a wide variety of
automation challenges.

Xero is an easy-to-use global cloud-based accounting platform for small businesses and their advisors.

Xero has 1.4 million subscribers in more than 180 countries and it
seamlessly integrates with more than 700 apps. It was also ranked No.
1 by Forbes as the World's Most Innovative Growth Company for two
years running.

Object Query Language (OQL)

OQL is a SQL-like query language to query Java heap. OQL allows to
filter/select information wanted from Java heap.

How to check jsf version

String version = FacesContext.class.getPackage().getImplementationVersion();

Change the Default JDK In NetBeans

Set/change netbeans_jdkhome property in your netbeans config file
which is etc/netbeans.conf file.

Python Date Time example

import datetime d =, 8, 18) print(d) #When you run the program, the output will be:#2019-08-18

How to get blogger posts by Python

list(blogId=*, orderBy=None, startDate=None, endDate=None, labels=None, pageToken=None, status=None, maxResults=None, fetchBodies=None, fetchImages=None, view=None)

request = posts.list(blogId=blog['id']) request = posts.list(blogId=blog['id'], orderBy=None, startDate=None, endDate=None, labels=None, pageToken=None, status=None, maxResults=8, fetchBodies=None, fetchImages=None, view=None)

See more:

Google Cloud Functions is a serverless execution environment for building and connecting cloud services.

With Cloud Functions you write simple, single-purpose functions that
are attached to events emitted from your cloud infrastructure and
services. Your function is triggered when an event being watched is

Fractal tree index

In computer science, a Fractal Tree index is a tree data structure that keeps data sorted and allows searches and sequential access in the same time as a B-tree but with insertions and deletions that are asymptotically faster than a B-tree. Like a B-tree, a Fractal Tree index is a generalization of a binary search tree in that a node can have more than two children. Furthermore, unlike a B-tree, a Fractal Tree index has buffers at each node, which allow insertions, deletions and other changes to be stored in intermediate locations. The goal of the buffers is to schedule disk writes so that each write performs a large amount of useful work, thereby avoiding the worst-case performance of B-trees, in which each disk write may change a small amount of data on disk. Like a B-tree, Fractal Tree indexes are optimized for systems that read and write large blocks of data. The Fractal Tree index has been commercialized in databases by Tokutek. Originally, it was implemented as a cache-obliviou…

Fedora Media Writer – The fastest way to create Live-USB boot media

Fedora Media Writer is a very small, lightweight, comprehensive tool
that simplifies the linux getting started experience – it downloads
and writes your favorite Fedora flavor onto a USB drive, which can be
later used to boot up any system.

Download Intel(R) Education Study App Windows* Desktop Version

Detailed Description
The Intel® Education Study App is an interactive e-Reader that
enhances the learning experience and student engagement.

The readme file and release notes contain more information regarding
what's new with version 6.2.5 of the app.

Facebook Study: Get paid for using the app

Facebook announced a new app that will let the company collect data on
how people use their smartphones in exchange for money.

Facebook Study is designed to give Facebook data on what apps
participants install, how much time they spend on those apps, what
features they use on those apps, what country they're in, and type of
device and network they're using.

GraalVM Enterprise is available for purchase and is free on Oracle Cloud.

For Building Programs That Run Faster Anywhere

GraalVM Enterprise is a multilingual virtual machine, and delivers
even higher efficiency, better isolation and greater agility for
enterprises in cloud and hybrid environments.

A sitemap is an absolute must.

Sitemaps are an afterthought for many webmasters. But if you want to make sure that Google and other search engines can find all of the pages on your site, a sitemap is an absolute must.

Ultra PDF Editor - Annotate & Fill, Split & Merge, & Convert


Recursively reverse a string by Python

# During reversion, first char in string will become last one. Then if we have reversed version of the string (from 1 to last), then we know the result ! That is reverse(s[1:]) + s[0]. Base case is when it is empty string, in which case we simply return empty string.defreverse(s): ifnot s: return s return reverse(s[1:])+s[0]

TENS (Trusted End Node Security) for your security and privacy

TENS is a Linux distro that has been designed by the US Air Force and is NSA approved.   TENS is specifically designed to be run in live mode, meaning any malware is removed on shutdown. It includes a minimal set of applications but there is also a 'public deluxe' version which includes Adobe Reader and LibreOffice. All versions include a customisable firewall. The OS also supports logging in via smart card. You can download TENS here (if you have issues downloading the ISO from the official site, check here for support)TENS is formerly known as LPS (Lightweight Portable Security).


MultiBootUSB is a cross platform software written in python which
allows you to install multiple live linux on a USB disk non
destructively and option to uninstall distros. Try out the world's
first true cross platform multi boot live usb creator for free.

vim save as new file - Bing

To save the file content to a new file named newname, use :w newname
or :x newname and hit [Enter].

Generating and Verifying SHA256 Checksum with sha256sum

For generating SHA256 checksum, enter the following command:

sha256sum your-downloaded-file

vim save as new file

To save the file content to a new file named newname, use :w newname
or :x newname and hit [Enter].

Rebuilding or Repairing MySQL Tables or Indexes

According to,
Methods for rebuilding a table include:
Dump and Reload MethodALTER TABLE MethodREPAIR TABLE Method Alter table is preferred way.
Unless you cannot succeed with "alter table" method, then you choose the other way.

Alter table itself won't lock the database from version 5.7. If the database is locked when you run it, it is because you have other queries running that needs the lock. You can interrupt "alter table" and check those locks.

Once you solve those locks, you should be able to run "alter table" without locking the database.

GlassFish Server Reset (Flush) a Connection Pool without restarting

Use the flush-connection-pool in remote mode to reinitialize all
connections established in the specified connection pool.

The JDBC connection pool or connector connection pool is reset to its
initial state. Any existing live connections are destroyed, which
means that the transactions associated with these connections are
lost. The subcommand then recreates the initial connections for the
pool, and restores the pool to its steady pool size.

Reset a connection pool by using the flush-connection-pool subcommand.

Resetting (Flushing) a Connection Pool to its steady pool size:

asadmin> flush-connection-pool i88ca-Pool
Command flush-connection-pool executed successfully.

Azure Service Bus provides application integration capabilities

AWS continues to offer enterprises ways to bridge cloud services with their on-premises environments.

AWS Step Functions provides orchestration for serverless components,
including those in the cloud and in local data centers.

AWS Lambda can extend to on-premises via Greengrass

Microsoft’s hybrid strategy centers on Azure Stack

Azure Stack is a platform that extends Azure functionality to
on-premises data centers and can run almost everything that runs in
Microsoft's public cloud.

Azure Stack includes support for serverless computing as well.

AWS can help you save more with increased usage

The more you use, the less you pay.

AWS instances can be purchased based on one of the following models:

Reserved Instances – Paying an upfront cost based on the use, one can
reserve an instance for 1 to 3 years.
On-demand Instances -Just pay for what you use without paying any upfront cost.
Spot Instances- Bid for extra capacity based on the availability.

How to change MySQL sql-mode

mysql> show global variables like 'sql_mode'; -------------- show global variables like 'sql_mode' -------------- +---------------+------------------------------------------------------------------------------------------------------------------------+ | Variable_name | Value | +---------------+------------------------------------------------------------------------------------------------------------------------+ | sql_mode | STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +---------------+------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.01 sec) mysql> SET SESSION sql_mode = sys.list_drop(@@session.sql_mode, 'NO_ZERO_DATE'); -------------- SET SESSION sql_mode = sys.list_drop(@…

Ask ssh-agent to forget your key after some time

If you want ssh-agent to forget your key after some time, you can
configure it to do so by running

ssh-add -t <seconds>.


If ssh-agent is not automatically started at login, it can be started
manually with the command

eval `ssh-agent`

How to list keys added to ssh-agent

Use the -l option to ssh-add to list them by fingerprint.

$ ssh-add -l

Or with -L to get the full key in OpenSSH format.

How to run ssh-agent for Git Bash

1) Open Git Bash and run: cd ~/.ssh

2) Try to run agent : eval $(ssh-agent)

Configure ssh-agent automatically add the key on demand

SSH supports adding a key to the agent on first use (since version
7.2). You can enable that feature by putting the following into

AddKeysToAgent yes

iCloud Keychain is a feature of your Apple account that you can use to keep your credentials

iCloud Keychain is a feature of your Apple account that you can use to
keep your website login credentials, personal details, credit card
details, and wireless network information up to date and available
across all your Apple devices.

Using OpenPGP for communication requires participation by both the sender and recipient.

You can use OpenPGP to secure sensitive files when they're stored in
vulnerable places like mobile devices or in the cloud.

Passwords aren't as secure as keys as they are created by users.

Users commonly use dictionary words and other patterns in passwords
that make them easier to guess than keys.

Docker daemon attack surface

Because Docker containers are always run with root privileges, you
should understand the Docker daemon attack surface and properly
mitigate the related risks.

Container shell access

The docker exec command allows you to run commands inside a Docker
container. The following command line will give you a bash shell
inside your container:

$ docker exec -it your-container bash

Switch between the various installed versions of Java

You can switch between the various installed versions of Java using
the 'alternatives' command. For example:

$ alternatives --config java

Running a Oracle Linux Docker Container

To run a Docker Container, use the following command:

$ sudo docker run -it oraclelinux:7-slim

show the yum repositories your instance is subscribed to

Run the following command to show the yum repositories your instance
is subscribed to:

$ sudo yum repolist

Oracle Cloud Developer Image

Oracle Cloud Developer Image is an Oracle Linux 7-based image with the
latest development tools, languages, Oracle Cloud Infrastructure
Software Development Kits and Database connectors at your fingertips.

A line of credit works in a similar way to a credit card, in that you have the freedom to use the funds when it best suits you.

A line of credit, or LOC, is a type of loan that banks extend allowing
you to borrow, or draw down, money for a particular purpose.

Password Protect Zip Files in Mac OS X

encrypted zip command is as follows:

zip -e [archive] [file]

For encrypting multiple files with a password, such as folder or an
entire directory, the syntax would be as follows:

zip -er [archive] [folder]

HSMs are physical appliances located on-premises, requiring internal resources to manage and ensure baseline requirements and SLAs are met.

Microsoft Azure's Key Vault, which can safeguard your cryptographic
keys in Microsoft's own cloud HSM. If you are a smaller organization
without the ability to purchase and manage your own HSM, this is a
great solution and can be integrated with public CAs, including

If you decide to store your file on a remote server, you should take extra care to restrict access to it.

If someone were able to gain access, they would be able to use your
certificate. On a similar note, you should also be careful with the
ease of duplication and distribution these files offer. While that can
be a great convenience, it also means if someone gets their hands on
your keystore, it wouldn't be difficult to make and steal a copy.

Do not use Online web wallets

Online web wallets in general keep the private key on their servers.

Use a Secure Wi-Fi Connection.

Never connect to your online wallet, exchange account or another
critical security point via public WiFi. Even when you're at a
presumably safe place, make sure your WiFi access point uses strong
encryption like WPA-2 protocol.

Common security steps

Always enable two-factor authentication (2FA) function.
Don't keep cryptocurrency in exchange for a prolonged period or longer
than necessary.
If you go for a hardware wallet, choose a pin code which is hard to
guess, and never put your 24-word recovery sheet online.
Always assume that your devices can get compromised anytime, so always
treat your computer or smartphone screen with caution.

Crypto Wallet: hot or cold

Cold wallets are hardware wallets, offline kept paper wallets, USB and
offline similar data storage devices, and even physical bearer items
such as physical Bitcoins.

Hot wallets include all online cloud wallets, most mobile, and
software wallets, and exchanges.

A hot wallet is connected to the internet and can be accessed at any time.

A cold wallet is not connected to the internet and allows to store
your funds offline. You can still receive funds at any time, but
no-one can transfer them out.

How to reset Mac Network

Close any apps that use the network.
Such as turn off Wifi, unplug network cable, bluetooth.
Click the Finder icon. It’s the two-toned smiling Mac logo in the Dock, which is usually at the bottom of the screen.
Press ⌘ Command+⇧ Shift+G. This opens the Go To Folder window.

Type or paste /Library/Preferences/SystemConfiguration/ into the blank.
Click Go. This opens a list of System Configuration files.
Select all of the network-related files in the folder. Here’s how: Press and hold the ⌘ Command key. Click all of the following files (while continuing to hold ⌘ Command): NetworkInterfaces.plist preferences.plist All selected files should now be highlighted in blue.
Delete those files.
Restart your Mac.

Google G Suite Promotion Codes

G Suite Basic
Unused US Code | Expires 12/2019
G Suite Basic
Unused US Code | Expires 12/2019

mysqladmin show full processlist

$ mysqladmin --login-path=root processlist -v +----+-----------------+-----------+----+---------+------+-----------------------------+-----------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-----------------+-----------+----+---------+------+-----------------------------+-----------------------+ | 3 | event_scheduler | localhost | | Daemon | 147 | Waiting for next activation | | | 8 | root | localhost | | Query | 0 | starting | show full processlist | +----+-----------------+-----------+----+---------+------+-----------------------------+-----------------------+

mysqladmin flush logs of MySQL

mysqladmin --login-path=root flush-logs

Vanilla JS. Vanilla JS is a fast, lightweight, cross-platform framework. for building incredible, powerful JavaScript applications.

The Vanilla JS team maintains every byte of code in the framework and
works hard each day to make sure it is small and intuitive.

Oracle cloud instance default user

If you used an Oracle-provided Linux, CentOS or Windows image to
launch the instance, the user name is opc. If you used the Ubuntu
image to launch the instance, the user name is ubuntu . The public IP
address of the instance.

How to revert a string in JavaScript

var reverseString = function(s) {
    let l = 0;
    let r = s.length-1;

    while (l < r) {
        [s[l], s[r]] = [s[r], s[l]];

How to swap data in JavaScript

[s[l], s[r]] = [s[r], s[l]];

Facebook Stops Huawei From Pre-Installing Its Apps on Phones

Facebook has stopped letting its apps come pre-installed on smartphones sold by Huawei in order to comply with U.S. restrictions

Developers can register their web applications and other API clients with Google to enable access to data in Google services like Calendar.

You can authorize these registered clients to access your user data without your users having to individually give consent or their passwords

The dot (.) matches anything (except for a newline) in regular expression

If you want to match (.) in the test string, you need to escape the dot by using a slash \..
In Java, use \\. instead of \..

How to get all foreign keys to a table or column in MySQL

For a table

MySQL 8 max connections

In MySQL 8.0.14 and later, there is support for a special admin
address and port.
Users with the SERVICE_CONNECTION_ADMIN privilege can
connect to this port even when there are more than max_connections connections.

There is no limit (other than the operating system limit on open files
and processes)
how many connections can be made this way. That makes it easier to investigate
out of connections issues.

See also:

Install SAR on CentOS/RHEL/Oracle Linux

System Activity Reporter (SAR) is an important tool that helps system
administrator to get a review of the server machine with status of
different critical metrics at different points of time.
Install SAR
You can easily install it in your system through YUM. Use following
command to install SAR.

# yum install sysstat
Check SAR
Once installed, verify the sar version using following command:

# sar -V

SHA-256 to MD5 Host Key Conversion

In your ~/.ssh/config to revert to the old (less secure) default or
just use this option for single use:

ssh -o FingerprintHash=md5

How to read big / large files in Linux

For example, to output line 888 to 988

$ sed -n '888,988p' yourFile.txt


$ awk 'FNR>=888 && FNR<=988' yourFile.txt

To output from line 888 to the end of the file:

$ awk 'FNR>=888 ' yourFile.txt

You can use split command:

The default behavior of split is to generate output files of a fixed size, default 1000 lines. The files are named by appending aa,ab, ac, etc. to output filename. If output filename is not given, the default filename of x is used, for example, xaa, xab, etc. When a hyphen (-) is used instead of input filename, data is derived from standard input.

To split filename to parts each 50MB named partaa, partab, partac,....

split-b50m filename part
For example, to output the last 256th of the large mysqld.log:

split -n 256/256 mysqld.log > ~/mysqld.log

To further prune un-wanted repeating rows:

split -n 256/256 mysqld.log | sed '/Please run mysql_upgrade/d;/communication packets/d;/error connecting to ma…

In awk, FNR refers to the record number (typically the line number) in the current file and NR refers to the total record number.

This means that the condition NR==FNR is only true for the first file, as FNR resets back to 1 for the first line of each file but NR keeps on increasing.

$ awk '{print FILENAME, NR, FNR, $0}' file1 file2

Hacked home networks

With home networks, hackers may use the computer as a web proxy to
conduct fraudulent credit card transactions, denial-of-service
attacks, or torrent pirated content. The illegal activity appears as
if it's originating from your Windows 10 device, putting you in great
legal danger.

Windows 10 hosts file location

Hosts file location Windows 10
In Windows 10, the hosts file is located at this path
C:Windows\System32\drivers\etc or whatever drive your OS is installed

Show All Users in MySQL

SELECT User, Host FROMmysql.user; /**+------------------+-----------+| User | Host |+------------------+-----------+| healthchecker | localhost || mysql.infoschema | localhost || mysql.session | localhost || mysql.sys | localhost || root | localhost |+------------------+-----------+5 rows in set (0.01 sec)**/

GUI for Amazon EC2

Installing GUI Components
1. Update the server using the following command.
sudo yum -y update

2. Install the gnome GUI components using the following command.
sudo yum groupinstall -y "Server with GUI"

3. Issue the following commands to start the GUI during boot.
sudo systemctl set-default
sudo systemctl default

Setting Up XRDP
1. Add the xrdp repository to your instance using the following command.
sudo rpm -Uvh

2. Install xrdp and tiger VNC server.
sudo yum install -y xrdp tigervnc-server

3. Setup SELINUX security using the following commands.
chcon --type=bin_t /usr/sbin/xrdp
chcon --type=bin_t /usr/sbin/xrdp-sesman

4. Start and enable the xrdp service.
sudo systemctl start xrdp
sudo systemctl enable xrdp

5. Enable RDP port on the instance using the following firewall commands.
sudo firewall-cmd --permanent --add-port=3389/tcp
sudo firewall-cmd --reload

6. Set a pass…

epel-release is available in Amazon Linux Extra topic "epel"

To use, run
# sudo amazon-linux-extras install epel

Learn more at

Pass: The Standard Unix Password Manager

Pass is the standard unix password manager, a lightweight password
manager that uses GPG and Git for Linux, BSD, and Mac OS X.

Once you encrypt a file, you can only edit the file by using ansible-vault again

How to edit a file after it's been encrypted:

ansible-vault edit defaults/main.yml
> Vault password:
This will ask for the password used to encrypt the file.

You'll lose your data if you lose your password!

Ansible Vault can encrypt anything inside of a YAML file, using a password of your choice.

Ansible Vault can encrypt anything inside of a YAML file, using a
password of your choice.

Ansible is an open-source automation platform used for application deployment, configuration management and provisioning.

Ansible allows us to create playbooks which can be executed on multiple hosts.

Use ansible-galaxy to download an existing role someone has already written and tested for you.

Ansible galaxy has roles for almost all the domains and these caters
different problems. You can visit to get
an idea on domains and popular roles it has. Each role published on
galaxy repository is thoroughly tested and has been rated by the
users, so you get an idea on how other people who have used it liked

mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table

Potential causes of mysqldump: Error 2013:

1) Server Crashing
2) Timeout of an external file system to a local filesystem
3) Query killing process
4) Table corruption
5) The values for net_write_timeout and max_packet_size are too low -
either on the server or for mysqldump

How to put the current running linux process in background?

CTRL+Z then use the command bg to put the process in the background.

Generate ssh key for Jenkins user

If you want to access a private Git repo, for example at Github, you
need to generate an ssh key-pair. Create a SSH key with the following

sudo -u jenkins ssh-keygen

For Azure, the NoSQL service offered is Azure Cosmos DB.

Cosmos DB is the place for all your key-value, document, and graph
database needs.

3 blocks of the IP address space for private internets

The Internet Assigned Numbers Authority (IANA) has reserved the
following three blocks of the IP address space for private internets
(codified in RFC 1918): prefix) prefix) prefix)

The Azure NetApp Files service is an enterprise-class, high-performance, metered file storage service.

Azure NetApp Files supports any workload type and is highly available
by default. You can select guaranteed service and performance levels
and set up snapshots through the service.

ONTAP is NetApp's operating system, based on BSD Unix.

The filesystem is NetApp's WAFL (Write Anywhere File Layout), which
supports features including RAID, journaling, snapshots,
de-duplication, thin provisioning, and built-in support for both Unix
and Windows-style files, directories and security models.

Encryption at rest is built in. NFS (Network File System) 3 and SMB
3.1 are supported.

Microsoft has announced the general availability of OpenVPN support in Azure point-to-site VPN gateways

The addition of OpenVPN support makes it easy to set up VPN access to
Azure virtual networks from almost any client.

Tunnel type of Azure VPN gateways for P2S connectivity

The tunnel options of Azure VPN gateways for P2S connectivity are
OpenVPN, SSTP and IKEv2.
Windows clients try IKEv2 first and if that doesn't connect, they fall
back to SSTP. You can use the OpenVPN client to connect to the OpenVPN
tunnel type.
The strongSwan client on Android and Linux and the native IKEv2 VPN
client on iOS and OSX will use only IKEv2 tunnel to connect.

OpenVPN is an open-source software that implements a virtual private network (VPN) connectivity.

Since OpenVPN is widely used in the industry, a lot of devices already
have an OpenVPN client built-in.

Use multi-factor authentication.

Multi-factor authentication is the best mitigation technique to use to protect against credential theft for O365 users.

SoftEther VPN Server Features

Easy to establish both remote-access and site-to-site VPN.
SSL-VPN Tunneling on HTTPS to pass through NATs and firewalls.
Revolutionary VPN over ICMP and VPN over DNS features.
Resistance to highly-restricted firewall.
Ethernet-bridging (L2) and IP-routing (L3) over VPN.
Embedded dynamic-DNS and NAT-traversal so that no static nor fixed IP
address is required.
AES 256-bit and RSA 4096-bit encryptions.
Sufficient security features such as logging and firewall inner VPN tunnel.
1Gbps-class high-speed throughput performance with low memory and CPU usage.
Windows, Linux, Mac, Android, iPhone, iPad and Windows Mobile are supported.
SSL-VPN (HTTPS) and 6 major VPN protocols (OpenVPN, IPsec, L2TP,
MS-SSTP, L2TPv3 and EtherIP) are all supported as VPN tunneling
underlay protocols.
The OpenVPN clone function supports legacy OpenVPN clients.
IPv4 / IPv6 dual-stack.
RADIUS / NT Active Directory Domain user authentication function
RSA certificate authentication function
Deep-inspect packet loggin…