RSSAmplifier

Blog

John Sobanski - HOWTO

Artificial Intelligence in the Cloud

john.soban.skiRSS feed ↗34 posts

Latest posts

My Childhood Apple II Computer Programs (1986)

A recovered Apple II floppy disk from 1986 reveals BASIC programs written in fourth grade, including primitive games, low-resolution graphics, and early experiments with loops, strings, and user input. Revisit the code and compare childhood Apple II graphics to modern AI-generated versions.

Install OpenDaylight on Ubuntu 24.04 LTS (Quick and Easy!)

Install OpenDaylight on Ubuntu 24.04 LTS. Perform Java setup, JAVA_HOME configuration, Karaf binary download, controller start, and DLUX enablement. Discover installation traps around Java compatibility and OpenDaylight release packaging.

Test Layer Two OpenDaylight Services In The Cloud

Deploy OpenDaylight and Open vSwitch in a cloud-based layer two environment to steer traffic dynamically with OpenFlow rules. Bypass deep packet inspection for egress traffic while preserving ingress inspection through SDN-based flow manipulation.

An Actionable, Focused, SEO Checklist for Your Website

Practical SEO maintenance for static websites includes sitemap hygiene, canonical validation, redirect cleanup, broken link repair, image optimization, heading structure, JavaScript fixes, and noindex handling for thin content. Learn actionable fixes discovered through Bing Webmaster Tools and Ahrefs audits.

Turn Your Cellphone into a Secure Shell (SSH) Terminal

Relive the glory days of dumb terminals with your thousand dollar cellphone! Programmers used terminals, decades ago, to log into and execute commands on remote computer systems. The terminal provided a screen and keyboard to computer scientists and phoned home to a multi-million dollar mainframe. Today, we use Secure Shell …

Install OpenDaylight on Ubuntu 22.04 LTS (Any Version)

Internet Service Providers (ISP), Cloud Service Providers (CSP), Data Center Engineers and Academics use the OpenDaylight (ODL) platform to tailor and automate computer networks. Professionals and Academics use ODL to execute several use-cases: Network Service Delivery Automation Use an Application Programming Interface (API) to provision network connections and virtual private …

Connect your 8BitDo M30 Bluetooth Controller to RetroPie

I purchased the new 8BitDo M30 Bluetooth controller for my System76 (Ubuntu) Laptop. I connected the M30 to RetroPie and then noticed issues with button layout for certain Six (6) Button Sega Genesis games. In this blog post I will walk us through how to connect the new controller to …

OpenDaylight (ODL) Install Instructions on Ubuntu 20.04 LTS

Network Engineers use the OpenDaylight (ODL) platform to craft, deploy and manage interesting virtual network services. Internet Service Providers, Cloud Service Providers, Data Center Engineers and Academics use ODL to address the following use-cases: Network Service Delivery Automation Network services include site to site links (remember T1?) and virtual private …

Elasticsearch Aggregations Drive Time Series Data Viz

The Amazon Web Services (AWS) Elasticsearch service provides GROUP BY operations via the aggregations, or AGGS , Application Programming Interface (API). GROUP BY and AGGS operations provide syntax to collapse rows with similar values into summary rows. In the first part of this series, Aggregations - The Elasticsearch GROUP BY , I demonstrate …

Use Boto3 to Snapshot AWS Elasticsearch indices to S3

Operational document stores require backups for disaster recovery and data migration. Elasticsearch uses the term snapshot for their backups . Amazon Web Services (AWS) provides a fully managed Elasticsearch service that includes both automatic and manual snapshots. The AWS Elasticsearch documentation presents the difference between automatic and manual snapshots: Automated snapshots …

Aggregations - The Elasticsearch GROUP BY

Elastic Architects designed the distributed Elasticsearch platform to follow NoSql principles. In the traditional Relational Database Management System (RDBMS) world, SQL databases use GROUP BY syntax to group rows with similar values into summary rows. The query, "find the number of web page hits per country," for example, represents a …

Connect Ubuntu EC2 to Amazon Elasticsearch Service w/ Boto3

In this HOWTO , I will describe the process to connect an Ubuntu EC2 instance to the Amazon Web Services (AWS) provided Elasticsearch Service via the boto3 Python library. This blog updates my incredibly popular original post on this topic which describes the process using boto2 . In the spirit of my …

Configure Flask to Send Form Data to Gmail

This blog post describes how to configure Flask to emit form data to your own personal Gmail account. You don't need to use Gmail, in fact, you can configure Flask to send data to any email account you have access to. This architecture uses Amazon Web Services' (AWS) Simple Email …

Refactor InfluxDB 1.X Python Scripts to InfluxDB 2.0

InfluxDB provides an exciting Time Series database with tons of industry momentum and enthusiasm behind it. InfluxData, the parent company that distributes the product overhauled the classic InfluxDB service with their new InfluxDB 2.0 offering. InfluxDB 2.0 provides new features, to include an integrated configuration and operations console …

The World's Cheapest and Easiest Web Database App deployment

Flask, Lambda, API Gateway, IAM and S3 enable massively scalable web database applications. Flask provides a simple, Pythonic Model View Controller (MVC) framework to develop the application logic. Lambda and API Gateway provide pay-per-use Functions as a Service (FaaS), which eliminate idle resource costs. IAM provides a secure identity layer …

A Web Database App via S3 - Part One: A Flask Approach

I deployed my first web database application back in 2002 thanks to the seminal O'Reilly book Web Database Applications with PHP and Mysql by David Lane and Hugh E. Williams. In the past sixteen years, the industry developed tons of frameworks and ecosystems to help deploy web database applications, but …

How to install OpenDaylight as a Service on Ubuntu 18.04 LTS

OpenDaylight allows cloud engineers to programmatically deploy, configure and control virtual network services. As written on the OpenDaylight website, ODL helps Internet Service Providers, Academics and Cloud Service Providers to enable the following services: On-demand service delivery Programmatic acquisition of network transport or Virtual Private Network connections Network Function…

Easily Transcribe Customer Service Voicemails (with Alerts)

In this HOWTO , I will demonstrate a very quick and dirty method to transcribe customer service voicemails to text and emit the text to an Elasticsearch NoSQL document store. Once in Elasticsearch, you can search the voicemails for Keywords and visualize Keyword frequency/ metadata via the GUI. You can programmatically …

How to install OpenDaylight on CentOS 7 or Ubuntu 16.04 LTS

Introduction OpenDaylight provides a Software Defined Network ( SDN ) controller that allows network engineers to programmatically direct network services via a Representational state transfer ( REST ) Application Programming Interface ( API ). When I played around with OpenDaylight a bit a couple of years back , I came from a Systems/ Network engineering background. I …

S3 HTTPS Sites w/ Naked Domain & Protocol Redirects (Part 2)

Part Two of this HOWTO demonstrates how to secure your S3 hosted website with HTTPS . If you haven't completed part one yet, be sure to click here . Once you complete this HOWTO, you will have a secure website, that Google approves, as seen in the screengrab below: HTTPS and Naked …

S3 HTTPS Sites w/ Naked Domain & Protocol Redirects (Part 1)

This HOWTO demonstrates how to secure your Simple Storage Service (S3) hosted website via Hypertext Transfer Protocol Secure (HTTPS) . While the S3 Representational State Transfer (REST) enpoint supports native HTTPS, an S3 bucket configured to serve web pages does not . In addition to demonstrating how to enable HTTPS, this blog …

Easy ReCAPTCHA with Flask-WTF

In this HOWTO , I will demonstrate how to easily integrate the Google reCAPTCHA service into a Flask web application using Flask-WTF . The following cartoon depicts the end result. A Flask application server provides a simple (beautified) survey to the user. When the user clicks SUBMIT, Flask first checks to see …

Deploy an Advanced Elasticsearch Proxy with Lambda

In this HOWTO, we expand upon the simple Elasticsearch proxy we deployed in our first Lambda tutorial . In that tutorial , we showed you how to create a proxy in front of the AWS Elasticsearch service using a Lambda function and an API Gateway. We used Identity and Access Management (IAM …

s3stat Troubleshoots Your Migration from Wordpress To S3

Introduction Last month, I followed the example of Full Stack Python and migrated this blog from Wordpress to Amazon Web Services (AWS) Simple Storage Service (S3) . The S3 hosting approach gives me the following features: Global caching via Cloudfront's Content Delivery Network (CDN) Secure Hypertext Transport Protocol via AWS' certificate …

Backup AWS Elasticsearch to the Simple Storage Service (S3)

All production databases require backups. The AWS Elasticsearch documentation states: Amazon Elasticsearch Service (Amazon ES) takes daily automated snapshots of the primary index shards in an Amazon ES domain... However, you must contact the AWS Support team to restore an Amazon ES domain with an automated snapshot. If you need …

Install RabbitMQ and Minimal Erlang on Amazon Linux

The RabbitMQ website provides instructions on how to install the service on CentOS and Ubuntu Elastic Compute Cloud (EC2) instances. While the Amazon Linux distro uses CentOS as a base, it is different enough to make installing RabbitMQ tricky for system admins. I have identified and addressed the challenges here …

Add @Timestamp to your Python Elasticsearch DSL Model

The Python Elasticsearch Domain Specific Language (DSL) lets you create models via Python objects. Take a look at the model Elastic creates in their persistence example . #!/usr/bin/env python # persist.py from datetime import datetime from elasticsearch_dsl import DocType , Date , Integer , Keyword , Text from elasticsearch_dsl.connections import connections class …

Connect AWS Lambda to Elasticsearch

Amazon Web Services' (AWS) Lambda provides a serverless architecture framework for your web applications. You deploy your application to Lambda, attach an API Gateway and then call your new service from anywhere on the web. Amazon takes care of all the tedious, boring and necessary housekeeping. In this HOWTO I …

Pass Bootstrap HTML attributes to Flask-WTForms

Flask-WTForms helps us create and use web forms with simple Python models. WTForms takes care of the tedious, boring and necessary security required when we want to use data submitted to our web app via a user on the Internet. WTForms makes data validation and Cross Sight Forgery Request (CSFR …

Asynch tasks with AWS Elasticsearch, SQS, Flask and Celery

Welcome to the fifth part of this HOWTO, where we will call a remote web service to locate our test takers. Once you complete this HOWTO, you will have implemented the following architecture: To recap what we’ve done so far: Part One: Deploy an Amazon Web Service (AWS) Elasticsearch …

Connect ElasticBeanstalk to Elasticsearch via AWS IAM

In HOWTO-1 , we deployed an Amazon Web Service (AWS) Elasticsearch domain and connected to it via a combination of Identity and Access Management (IAM) roles, IAM profiles and the Boto library. In HOWTO-2 we deployed a Flask web server that proxies and filters user inputs to our Elasticsearch service via …

Professional form validation with Bootstrap

In this tutorial you will: Connect a Flask server to the Bootstrap service Create a trivial Jinja2 template for a Quiz form Use Bootstrap to validate forms on the client side Use a Flask "flash" message to validate forms on the server side Let's get right into it. If you …

Let Internet facing forms update Elasticsearch via Flask

In this tutorial you will learn The best* way to update an AWS provided Elasticsearch service index via an Internet facing web form *In terms of flexibility, security and ease of deployment How to deploy web forms in Flask How to get Flask to send validated web form data to …

Connect EC2 to the Amazon Elasticsearch Service

NOTE: Click here to find an update to this blog post which uses Boto3 and Elasticsearch 7.X Step one of our journey connects EC2 to ES using the Amazon boto Python library. I spent more than a few hours pouring through the AWS help docs and pounding at my …