Skip to content

Instantly share code, notes, and snippets.

View jimmygle's full-sized avatar

Jimmy Gleason jimmygle

  • Spokane, WA
View GitHub Profile
@jimmygle
jimmygle / kb_backlight_toggle.sh
Created December 12, 2023 20:34
Bash script to toggle keyboard backlight on CMStorm keyboard
#!/bin/bash
ls /sys/class/leds | grep scrolllock | while read -r line ; do
onoff=`sudo brightnessctl --device="$line" get`
if [ $onoff -eq 0 ]; then
sudo brightnessctl --device="$line" set 1
else
sudo brightnessctl --device="$line" set 0
fi
done
@jimmygle
jimmygle / pci_reset.sh
Created July 2, 2021 19:36
Hot reset PCIe Device
#!/bin/bash
# Performs the function of resetting a PCI device
#
# Get PCI devices (grab the address in first column):
# lspci
#
# Usage:
# ./pci_reset.sh "86:00.0"
#
@jimmygle
jimmygle / multithreaded_http.rb
Created June 4, 2021 07:02
Sloppy demonstration of multithreaded http requests in ruby
require 'csv'
require 'thread'
require 'uri'
require 'net/http'
require 'json'
require 'pry' # binding.pry
##
## Sloppy script I threw together to demonstrate multithreaded http requests
##
@jimmygle
jimmygle / mp3_to_m4b.sh
Created June 1, 2021 23:15
Converts mp3's to m4b file
#!/usr/bin/env bash
# Jacked from here: https://gist.github.com/butuzov/fa7d456ebc3ec0493c0a10b73800bf42#gistcomment-2830778
abook() {
local DIR="${1}"
if [[ ! -d $DIR || -z $1 ]]; then
DIR=$(pwd)
fi
@jimmygle
jimmygle / wget_recursive_download.sh
Last active May 23, 2021 16:59
wget one liners and helper functions for doing mass file downloads
wget \
--mirror \ # Recursive download (infinite depth)
--no-parent \ # Don't ascend to parent directory
--continue \ # Resume partially downloaded files
--user-agent="thanks" \ # Sets user agent seen by server
--wait=2 \ # Wait n seconds between requests
--reject="index.html*" \ # Rejected file patterns
"URL"
# One Liner...
@jimmygle
jimmygle / osx_setup.sh
Last active June 9, 2021 22:58
Helps automatically setup/configure new OSX box.
#!/usr/bin/env bash
# Setup script for setting up a new macos machine
# Stolen from: https://medium.com/macoclock/automating-your-macos-setup-with-homebrew-and-cask-e2a103b51af1
echo "Starting setup"
# install xcode CLI
xcode-select --install
# Check for Homebrew to be present, install if it's missing
@jimmygle
jimmygle / yt2jf.sh
Last active May 5, 2021 21:14
Downloads youtube channel's most recent videos and renames files for JellyFin import.
# Download Newest Videos
youtube-dl \
--dateafter 20210323 \
--match-title 'Level1 News' \
--playlist-end 5 \
--write-all-thumbnails \
--all-subs \
--sub-format srt \
--download-archive ./.ytdl_downloaded \
--add-metadata \
@jimmygle
jimmygle / drive_performance_tests.sh
Last active April 29, 2021 03:58
Helpful one liners for testing drive performance
#!/bin/bash
# Writes zeroes to a drive and reports transfer rate
# From here: https://linuxhint.com/benchmark_hard_disks_linux/
cd /mnt/drive
dd if=/dev/zero of=benchfile bs=4k count=200000 && sync; rm benchfile
# Write & read performance
# Writes 1.6GB file to drive and then copies the file to another drive (should be SSD)
cd /mnt/drive
@jimmygle
jimmygle / jt-dtester
Created April 28, 2021 20:10
Facilitate running tests on a drive to verify integrity.
#!/bin/bash
# NOTE: THIS IS A WORK IN PROGRESS
LOG_DIR="~/scripts/logs"
text_header() {
cat <<- EOHT
JIMMYS.TECH DRIVE TESTER KIT
@jimmygle
jimmygle / jt-dmounter
Last active April 28, 2021 20:08
Bash script for managing the mount state of external drives.
#!/bin/bash
# Helps mount/unmount disks
#
# Author: Jimmy Gleason <github.com/jimmygle
#
# The goal of this script is to provide a helper for faciliating the un/mounting
# of drives. It's useful for mounting external drives for doing automated backups,
# or when frequently transferring data via external drives to/from a NAS.
#