Skip to content

Instantly share code, notes, and snippets.


Trevor Sullivan pcgeek86

View GitHub Profile
pcgeek86 /
Last active Nov 22, 2021
Install MySQL Shell utility into MySQL official Docker container image
# Use these commands to install MySQL Shell utility into a container running
# the official MySQL distribution via Docker Hub.
# docker pull mysql:8.0.26
# export CONTAINER_ID=$(docker run --detach --env MYSQL_ROOT_PASSWORD=12345 mysql:8.0.26)
# docker exec --interactive --tty $CONTAINER_ID bash
apt update && apt-get install httpie --yes
# Use the Debian or Ubuntu package
pcgeek86 / build-aws-vpc.ps1
Last active Jul 20, 2021
2021-07-15 Use PowerShell Imperative Commands to Create EC2 VPC with Two Public Subnets and Two Private Subnets with Internet Access
View build-aws-vpc.ps1
- Creates an Amazon Web Services (AWS) Virtual Private Cloud (VPC) in the us-west-2 (Oregon) region.
- VPC contains two public subnets and two private subnets.
- NAT Gateway is created to handle outbount Internet traffic from private subnets.
- Internet Gateway is created to handle in/outbound Internet traffic for public subnets.
- iex (iwr
function Add-EC2NameTag {
pcgeek86 / script.ps1
Created Jun 16, 2020
Use PowerShell PSTypeNames and custom FormatData to limit default properties emitted from objects
View script.ps1
$Object = [PSCustomObject]@{
FirstName = 'Trevor'
LastName = 'Sullivan'
$FormatData = @'
<?xml version="1.0" encoding="utf-8" ?>
pcgeek86 / email-domain-blacklist.txt
Created May 26, 2020
My personal list of blacklisted e-mail domains who have sent me spam.
View email-domain-blacklist.txt
pcgeek86 / Get-YouTubeVideoRuntime.ps1
Created Feb 7, 2020
Retrieves your YouTube video run-time, in hours, using dependency-free PowerShell code
View Get-YouTubeVideoRuntime.ps1
$ErrorActionPreference = 'stop'
function Get-YouTubeChannel {
param (
[Parameter(Mandatory = $true)]
[string] $Username,
[Parameter(Mandatory = $true)]
[string] $AccessToken
pcgeek86 / Get-WavBitDepth.ps1
Created Feb 6, 2020
Get WAV file bit depth using PowerShell
View Get-WavBitDepth.ps1
# Create an empty Byte array, with a length of 1 byte
$Data = [System.Byte[]]::new(1)
# Open a FileStream to the specified file path
$Stream = [System.IO.File]::Open("$HOME/wav1.wav", [System.IO.FileMode]::Open)
# Seek to Byte 35
$null = $Stream.Seek(34, [System.IO.SeekOrigin]::Begin)
# Read a single byte, from the current position, into the specified Byte array
pcgeek86 /
Last active Jan 7, 2022
Convert an animated .webp file to GIF with Python
#!/usr/bin/env python3
# Trevor Sullivan <>
# IMPORTANT: Install the webp Python package, using the following command:
# pip3 install --user webp
# Import the webp package
pcgeek86 / workspaces.ps1
Created Jan 19, 2020
Create VPC, AWS Directory Service, and Amazon WorkSpace, using AWS PowerShell module
View workspaces.ps1
$ErrorActionPreference = 'Stop'
Install-Module -Name AWS.Tools.DirectoryService, AWS.Tools.EC2, AWS.Tools.WorkSpaces -Scope CurrentUser -Force
$VPC = New-EC2Vpc -CidrBlock
pcgeek86 / powershell-ansi-color.ps1
Created Sep 14, 2019
Apply 24-bit colors to your text using PowerShell and ANSI escape sequences
View powershell-ansi-color.ps1
while ($true) {
$Red = Get-Random -SetSeed (Get-Date).Ticks.ToString().Substring(10,8) -Maximum 255
$Green = Get-Random -SetSeed (Get-Date).Ticks.ToString().Substring(10,8) -Maximum 255
$Blue = Get-Random -SetSeed (Get-Date).Ticks.ToString().Substring(10,8) -Maximum 255
Write-Host -Object ("$([char]27)[38;2;{0};{1};{2}mtrevor" -f $Red, $Green, $Blue)
pcgeek86 / gist:a1fd9d26f8ad46b51adf9513f67b95f2
Last active Oct 22, 2021
Install & test Selenium with Firefox / Gecko driver on headless Ubuntu 18.04 LTS server
View gist:a1fd9d26f8ad46b51adf9513f67b95f2
sudo apt update
sudo apt install firefox python3-pip xvfb x11-utils --yes
sudo -H pip3 install bpython selenium
export DISPLAY=:2
Xvfb $DISPLAY -ac &
export GECKO_DRIVER_VERSION='v0.24.0'
tar -xvzf geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz