Skip to content

Instantly share code, notes, and snippets.

View ericboehs's full-sized avatar

Eric Boehs ericboehs

  • Oddball
  • Enid, OK
  • 07:24 (UTC -05:00)
View GitHub Profile
@ericboehs
ericboehs / generate_video_with_voice.rb
Last active September 13, 2024 02:13
Generates a video for my daughters to use to study for their vocab tests. Use OpenAI for TTS.
require 'json'
require 'fileutils'
require 'net/http'
require 'uri'
require 'digest'
OPENAI_API_KEY = ENV['OPENAI_API_KEY']
if OPENAI_API_KEY.nil? || OPENAI_API_KEY.empty?
puts "Error: OPENAI_API_KEY environment variable is not set."
@ericboehs
ericboehs / gh_pr_userscript.js
Last active August 26, 2024 20:07
GitHub PR Review Helpers
// ==UserScript==
// @name GitHub PR Review Actions
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Adds buttons to help review
// @author Eric Boehs
// @match https://github.com/*/*/pull/*
// @run-at document-ready
// @inject-into content
// ==/UserScript==
@ericboehs
ericboehs / va-docs-userscript.js
Created July 17, 2024 20:57
Focus VA Platform Docs Search results
// ==UserScript==
// @name Tab Focus through VA Platform Documentation Search Results
// @description Use the tab key to navigate through VA Platform Documentation Search Results
// @version 1.0.0
// @match *://depo-platform-documentation.scrollhelp.site/search.html*
// @include *://depo-platform-documentation.scrollhelp.site/search.html*
// @grant none
// @author ericboehs eric@boehs.com
// @namespace ericboehs
// ==/UserScript==
@ericboehs
ericboehs / kiwix-add.sh
Last active April 2, 2024 20:03
Sync with Kiwix.org and update zim files
#!/bin/bash
xml="/volume1/kiwix-share/"
library="/volume1/kiwix-share/"
log=($(find $library -name '*.zim' | sort))
if [ -f "$xml/library.log" ]; then
IFS=$'\n' read -d '' -r -a oldlog < "$xml/library.log"
fi
if [[ "${log[@]}" == "${oldlog[@]}" ]]; then
@ericboehs
ericboehs / ghmpr
Last active February 14, 2024 16:50
#! /usr/bin/env bash
# Ensure GitHub CLI and jq are installed
if ! command -v gh &> /dev/null || ! command -v jq &> /dev/null; then
echo "Error: This script requires the GitHub CLI (gh) and jq to be installed."
exit 1
fi
# Optional: Define GIT_DEFAULT_BRANCH if not set in the environment
if [ -z "$GIT_DEFAULT_BRANCH" ]; then
@ericboehs
ericboehs / gh-pr-status-markdowner.js
Last active January 31, 2024 20:56
GitHub PR Status Markdowner
// ==UserScript==
// @name GitHub PR Status Markdowner
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Copy MD of GitHub PR Review Statuses
// @author Eric Boehs
// @match https://github.com/pulls*
// @grant GM.setClipboard
// @run-at document-ready
// @inject-into content
#! /usr/bin/env bash
# <bitbar.title>VA SOCKS</bitbar.title>
# <bitbar.version>v1.0</bitbar.version>
# <bitbar.author>Eric Boehs</bitbar.author>
# <bitbar.author.github>ericboehs</bitbar.author.github>
# <bitbar.desc>Connects to VA SOCKS and provides useful links</bitbar.desc>
# <swiftbar.hideAbout>true</swiftbar.hideAbout>
# <swiftbar.hideRunInTerminal>true</swiftbar.hideRunInTerminal>
@ericboehs
ericboehs / review.sh
Created November 9, 2023 16:38
Review PRs ZSH Function
review_pr() {
pr_id=$1
gh pr view $pr_id --comments; git fetch -q; out_of_date=$(git rev-list --left-right --count origin/$GIT_MASTER_BRANCH...$(echo "origin/$(gh pr view $pr_id --json headRefName | jq .headRefName | tr -d '\"')") | awk '{print $1}'); [[ $out_of_date -gt 20 ]] && echo "‼️ Branch is $out_of_date commits out of date with $GIT_MASTER_BRANCH."; gh pr checks $pr_id; gh pr diff $pr_id; echo -n "[approve] or request-changes? "; read review; gh pr review $pr_id --${review:-approve}
}
review_prs() {
pr_id=$(GH_FORCE_TTY=100 gh pr list --limit 200 --search "is:pr is:open draft:false NOT WIP in:title review-requested:@me review:required -label:Lighthouse label:console-services-review" | fzf --ansi --preview 'GH_FORCE_TTY=100 gh pr view {1}' --preview-window down --header-lines 3 | awk '{print $1}' | tr -d '#');
review_pr $pr_id
}
@ericboehs
ericboehs / sidekiq-env-highlighter.js
Last active October 31, 2023 16:17
Sidekiq Env Highlighter
// ==UserScript==
// @name Sidekiq Environment Highlighter
// @description Changes navbar color based on which Sidekiq env you're viewing
// @match *://*.va.gov/sidekiq*
// @run-at document-ready
// ==/UserScript==
if (document.URL.includes("staging-api.va.gov/sidekiq")) {
document.getElementsByClassName("navbar-default")[0].style.backgroundColor = "peachpuff";
} else if (document.URL.includes("dev-api.va.gov/sidekiq")) {
@ericboehs
ericboehs / config.ru
Last active September 28, 2023 18:21
Testing nginx locally with Rails
# frozen_string_literal: true
# This file is used by Rack-based servers to start the application.
require_relative 'config/environment'
map Rails.application.config.relative_url_root || '/' do
run Rails.application
Rails.application.load_server
end