How Do You Use Flask as a RESTful Endpoint on an Ubuntu Server?

Problem scenario
You want to deploy Flask to test it out.  You also want a RESTful endpoint on an Ubuntu Linux server.  How do you do this?

Solution
1.  Install Flask.  Run these five commands:

sudo apt-get -y update
sudo apt-get -y install python python-pip 
sudo pip install –upgrade pip setuptools
sudo apt-get -y install python3-dev virtualenv python3-venv
pip install flask

2. 

List of Bitcoin and Other Cryptocurrency Books

Sic Itur Ad Astra (on pages 390 and 391) discusses fiat currency and how non-governmental entities can create valuable currency. The author was an astrophysicist; he seems to have almost predicted bitcoin.

List of Bitcoin and Other Cryptocurrency Books

The Age of Cryptocurrency: How Bitcoin and the Blockchain Are Challenging the Global Economic Order
The Bitcoin Big Bang: How Alternative Currencies Are About to Change the World
Bitcoin: Everything That You Need to Know About Bitcoin and Blockchain
Bitcoin for Dummies
Bitcoin From Beginner To Expert: The Ultimate Guide To Cryptocurrency And Blockchain Technology
Bitcoin Rebellion – the Beginning
Bitcoin: The Ultimate Guide from Beginner to Expert: Bitcoin and Cryptocurrency
Bitcoin: The Ultimate Guide to the World of Bitcoin,

How Do You Get Jenkins to Push Files to Other Servers in AWS?

Problem scenario
You have Jenkins set up on Linux.  You want it to deploy files to other Linux servers, how do you do this as a proof of concept?

Solution
There are many different ways of accomplishing this task.  These directions do not cover the production-recommended best practices associated with security.  For such a solution, you may want to see this external site

How Do You Deploy Jenkins 2.X to Ubuntu Linux in AWS?

Problem scenario
You have an Ubuntu server in AWS with 0.5 GB of RAM.  You want to install Jenkins on it without installing an “apt-transport-http” package.  (You are ok with using an “apt-get upgrade” command on the Linux server.)  How do you do this?

Solution
(If you do not want to run “apt-get upgrade”, and you can install “apt-transport-http”, then see this 

How Do You Determine the Port Number That a Web Service Is Listening On?

Problem scenario
You have access to the backend of a Linux server.  You want to know if a port is in use (e.g., if there is activity on it).  You believe that an active service is listening an a TCP port.  How do you determine the port number of that service?

Solution
To be diligent, do these three things:

1. 

How Do You Troubleshoot a cronjob That Indirectly Uses Linux Programs (e.g., Executables)?

Problem scenario
You have a Python script that runs successfully when your user runs it.  You have a *nix crontab that calls this Python script at a scheduled time.  The script mostly works, but one part fails when the crontab launches it (automatically).  This problem does not happen when it has been run manually.

The part that fails involves a Linux command via a Python subprocess.check_output() invocation in the program. 

How Do You Use TLS with Nginx?

Problem scenario
You know how to use TLS with Node.js because of this article.  You want to use TLS with Nginx to test it out with a regular web browsing session.  You want to implement TLS without Node.js.  How do you set up TLS (without paying a certificate authority and without Node.js)?

Solution
This assumes that port 443 is not blocked from the workstation to the Nginx server.

How Do You Set up Passwordless SSH from One Server to Another?

Problem scenario
You want to configure passwordless SSH between two servers such that you can log in from server A to server B with no password.  You want to be able to use scp between the two servers without being challenged for a password.  How do you set up passwordless SSH between them?

Solution

Assumptions
Assuming both servers have a local user account named “ubuntu”,

What is SNI?

Question
What is SNI?

Answer
SNI stands for server name indication (OpenSSL.org).  It is an extension of TLS (Transport Layer Security).  TLS is a mechanism for secure network communication (Microsoft).

When using openssl, and thus TLS, the SNI name can be a DNS name or an IP address (OpenSSL.org).  TLS needed the SNI extension capability for a client server to send the hostname in the first (a “client hello” message) of three parts of the TLS handhsake process (OpenSSL.org). 

What Are Some Differences in the Two Code Versioning Systems Known as Git and Subversion?

Code versioning systems keep track of different versions of various programs and relevant flat files that the programs may use (e.g., initialization, configuration, parameter consumption, files etc.). Some people refer to them as SCMs (Source Control Managers) or VCSes (Version Control Systems).

Code from versioning systems can be read from a centralized repository and be written to a local drive.  This is considered a pull.