adventures of a VoIP / SIP / IMS trainer & contractor|

Python Magic Wormhole File Transfer Application

Magic-Wormhole is available at

Magic-Wormhole is a python project that seeks to send files from one file to another, safely. There is quite a bit of research on securely sending files between computers, but it’s never been made easy. The wormhole seeks to fix this.

File Transfer Options

You might be saying, “I already have a few tools to push files around”. Let’s explore why, most of, those tools are actually horrid:

Send email – You’ll need to type at least 30 characters, likely need a GUI client, and subject to eavesdroppers like ISPs, CAs, and other internet lurkers. Companies will […]

COVID-19 Virus Statistics (Corona Virus) API

Data pulled from on March 29, 2020. Today’s data reflects nearly 150,000 confirmed cases of COVID-19 within the United States. At the moment, everyone in the US has been advised to stay indoors, and promote social distancing.

One of my students showed me an API that returns near real-time data regarding the spread of COVID-19 (the “Corona Virus”). I’m not a medical p professional, but tracking COVID-19 virus statistics with code is a great way to remind yourself to practice good hygiene! In fact, think I might go wash my hands wright now!

Using your browser (client) send an HTTP […]

So, you want to be an API Python Hero?

What is an Application Programming Interface (API)?

Application Programming Interface (API) is a generic term. For example, it may apply to everything from the diagnostic port under your car’s dashboard, to the physical switch on your blender that controls the rotational speed of the blade. Nothing about the term “API” need necessarily involve HTTP or databases. Therefore, if you ever get into a conference call regarding APIs, and don’t want to seem like a noob, valid questions include:

The proposed API will be implement what programming language and framework? Frameworks are libraries that abstract away some of the complexity behind accepting […]

BASh Shortcuts

Unfortunately, Mario and Koopa Troopas have nothing to do with this post. Other than it was the first image hit when I Google Image Searched for, “Shell Tricks”.

I’ve been using Linux for nearly a decade. Typically, that means an Ubuntu server with a Bash shell. During this time, more than a handful of Bash shortcuts have presented themselves to me. Therefore, I thought it prudent to keep a running list, as much for my own benefit as that of anyone else.

What is a shell?

Most Unix systems provide the same basic utilities for working at the […]

Python versions? “Python2” vs “Python3”?

Python is a generalized term

If you have ever been confused by the term “Python”, or by all the number of Python versions in existence, don’t feel bad. The term “Python” is a bit general in nature. Since the initial debut in 1991, the language has gone through a number of major and minor revisions. The most notable, is the change from Python 2.x to Python 3.x.

Python 2 matured at version 2.7+. This was scheduled to hit end of life years ago, but finally has done so at the start of 2020. See Sunsetting Python 2 if you care to […]

Setting a vim Color Scheme

I was recently lecturing on API and API Design with Python, and was in a room where the projector was nearing it’s last days. With significantly less lumens, it was difficult to see the blue comments on black background. Perhaps your reasons are different, but if you’re looking for instructions for setting a vim color scheme, read on.

From within vim, issue the following command to change to the ‘morning’ theme.

:colorscheme morning

Now from within vim, issue the following command to change to the ‘industry’ theme.

:colorscheme industry

If you’re lazy, you can shorthand the colorscheme command as follows.

:colo blue

To cycle through available […]

Python and APIs – NASA’s Open APIs

I often work with Alta3 Research to provide Python Training solutions for corporate enterprises. The video below is one I made for Alta3 Research documenting the use of Python to interact with NASA’s Open APIs by leveraging the HTTP / HTTPS protocol.

Using Python to interact with APIs using HTTP / HTTPS is a critical skillet for anyone looking to automate solutions within their infrastructure. In this lab, the messaging is rather simple. Of the many HTTP / HTTPS verbs (POST, DELETE, PUT, etc.), we’ll only be utilizing the GET. Consider the model below.

(our code)
Python Client ——- HTTPS GET ——-> […]

Python Looping with while and for

If you just landed here, looking for help on Python training, or Python looping you came to the right spot! If your new to Python programming, you might start back on my first post before hopping into a discussion of loops.

Before reading about my take on Python looping, start by reviewing the official documentation on Python while loops, and Python for loops. After you read over what has to say on the matter, it is time to start coding.

Lab 4.1 – Using a while loop

I have long thought writing simple games a fun way to learn programming. Imagine […]

Python Training – Making choices with if, elif, else

If you just landed on this site looking for Python training, then you came to the correct spot! This post is the continuation of several posts on learning to code with Python. The start of this series can be found here.

In this post we’ll explore the power of if, elif and else while coding with Python. The best place to start reading is always the official Python documentation. Start by reading up on the if, elif, and else statements.

After reading the Python docs, it is time to start coding! The scripts below will help you understand more about making […]

Python Training – Python Dictionaries

If you just landed here looking start Python studies, it is recommended you start out with my previous post Introduction to Python Programming. That should be enough to get you up and running. If for some reason you find it lacking, just shoot me a message and I’ll be sure to make clarifications. Otherwise, if you landed here just looking to learn more about Python dictionaries, then read on!

If you find any of these lessons compelling, and are looking for Python training, do reach out. I’ve authored several courses on Python programming, and would love to be the trainer […]