BlogWikiAbout

Kyle Pericak

"It works in my environment"

Remote Access: Build a Dial-Home Device

Remote Access: Build a Dial-Home Device

Created: 2019-09-17, Modified: 2019-09-17

Build a persistent reverse SSH tunnel from an Ubuntu box at a customer site to your own pivot VPS, so you can remote in without a VPN.

Error Messages, Codes, & Stack Traces

Error Messages, Codes, & Stack Traces

Created: 2019-09-11, Modified: 2020-08-13

A running reference of error messages I've hit and the fixes that worked. Includes Docker D-Bus login, Ceph OSD memory, Chrome cert errors, and AWS ECR NTP.

Operations Reference Page

Operations Reference Page

Created: 2019-09-11, Modified: 2020-11-09

Grab-bag of Linux ops recipes. tcpdump, vim find and replace, passwordless sudo, loopback volumes, journalctl, bash exit traps, MTU tests, and more.

AWS Fargate - Basics

AWS Fargate - Basics

Created: 2019-09-10, Modified: 2019-09-10

Step-by-step for launching a Docker container on AWS ECS Fargate from the web console, including task definitions, load balancer setup, and ECR image URLs.

Docker Shared Memory (/dev/sdh)

Docker Shared Memory (/dev/sdh)

Created: 2019-09-06, Modified: 2019-09-06

Docker's 64MB /dev/shm default is tiny. Raise it per-container with --shm-size, set a daemon-wide default in daemon.json, or remount /dev/shm on the host.

Git Reference Page

Git Reference Page

Created: 2019-09-06, Modified: 2019-12-04

Practical Git recipes for renaming branches, rolling back a merge, switching the commit editor to Vim, and scrubbing a file out of history with filter-branch.

Upload a Python Package to PyPi

Upload a Python Package to PyPi

Created: 2019-09-06, Modified: 2019-10-2

Publish a pip-installable Python package to PyPI. Walks through setup.py, setup.cfg, a GitHub release for download_url, and uploading with twine.

Working with JSON SQL values in Python

Working with JSON SQL values in Python

Created: 2019-09-05, Modified: 2019-09-05

Pull a JSON blob out of a MariaDB column into a file, edit it, and write it back using raw SQL in Python with the mysql-connector library.

Python Reference Page

Python Reference Page

Created: 2019-09-04, Modified: 2019-09-26

Python snippets I reach for often. Pylint disable comments, list comprehensions, Jinja2 templating, MySQL queries, stdin pipes, and file string replacement.

Private Minecraft Feed-The-Beast Server & Client Setup

Private Minecraft Feed-The-Beast Server & Client Setup

Created: 2019-09-02, Modified: 2019-09-02

Run a private FTB Ultimate Reloaded modded Minecraft server on an Ubuntu 16.04 VM with 12GB RAM, and connect using MultiMC or the Feed The Beast launcher.

AWS ECR - Elastic Container Registry - Basics

AWS ECR - Elastic Container Registry - Basics

Created: 2019-08-26, Modified: 2019-09-19

Set up an AWS Elastic Container Registry repo, create least-privilege IAM groups for push and pull access, and connect Docker using the AWS CLI.

Modifying OpenStack Kolla Docker Images

Modifying OpenStack Kolla Docker Images

Created: 2019-08-26, Modified: 2019-08-26

Add the Pure Storage Cinder plugin to a Kolla OpenStack image with a Jinja2 template override, keeping the upstream Kolla source untouched.

SPF for Trusted Emails

SPF for Trusted Emails

Created: 2019-08-20, Modified: 2019-08-20

Configure a Sender Policy Framework DNS record so mail servers trust emails from your domain. Covers finding your external IP and setting the TXT record.

Creating a Wireless Router for Wired Servers With Ubuntu Server

Creating a Wireless Router for Wired Servers With Ubuntu Server

Created: 2019-08-20, Modified: 2019-08-20

Turn an Ubuntu Server into a WiFi-to-wired NAT gateway using netplan, IP forwarding, and iptables MASQUERADE so switched servers can reach the internet.

Connecting Ubuntu 18.04 to WPA WiFi from CLI

Connecting Ubuntu 18.04 to WPA WiFi from CLI

Created: 2019-08-19, Modified: 2020-03-09

Connect Ubuntu Server 18.04 to a WPA2 WiFi network from the command line using wpa_supplicant, iwlist, and netplan, including offline package install steps.

1
2
3
4
5
6
Blog code last updated on 2026-04-16: 8579f34f0a3ec5b8043d5eade8e87124d41cf83b