I'm keeping shared scripts in bin_common, so I can reserve ~/bin for machine-specific scripts (similar to why I have ~/.zshrc_common and ~/.zshrc).
Add ~/bin_common to the$PATH manually.
Assumes zsh is the current shell and /bin_common is symlinked to ~/bin_common:
cat >> "$HOME/.zshrc" << 'EOF'
# See https://github.com/bbkane/dotfiles
export PATH="$HOME/bin_common:$PATH"
EOFAs of 2026-04-13. See the comments or -h/--help in each script for more details
-
blog.py - Create a blog post for www.bbkane.com
-
check_sync_log.py - Check the log for rclone sync --dry-run --combined
-
color_exceptions.py - highlight exceptions in log files
-
copy_as_rtf.py - Copy CSV file as rich text
-
dashcam_audio.py - Extract and concatenate audio from dashcam video files
-
date_range.pl - Print a date range
-
diff_strings.py - Diff two strings with colored output
-
docx-dir-to-md-dir.sh - Recursively convert .docx files to .md using pandoc
-
easyssl.py - Generate and run/print the small subset of openssl commands I care about
-
envwarden.py - Exports environmental variables from a TOML config file and the system Key Chain
-
format_dict.py - Format Python dict from stdin as pretty-printed JSON
-
format_f-string.py - read stdin formatted as a Python f-string and format with key-value pairs passed as args
-
format_json.py - Format JSON files, printing to stdout or editing in place with
-i -
format_jsonl.py - Read stdin and pretty-print JSON lines
-
format_shell_cmd.py - Read a line from stdin and format as a BASH Command
-
format_url.py - Format URL from stdin with url-encoding
-
gdoc_image_from_clipboard.sh - Extract a base64 image from a Google Docs HTML clipboard entry and save to a file
-
git-lines-changed-tsv - Print lines changed over time for a git repo
-
git-merged-branches - List branches that can be deleted because they've been merged via PR
-
git-tagit - Print git status and current last 10 git tags, then prompt for a new git tag and push
-
imgcat - Display images inline in the iTerm2 using Inline Images Protocol
-
json_to_yaml.sh - Read JSON file by path and print as YAML to stdout
-
jsonl_to_csv.py - Normalize a newline delimited JSON log by adding any missing keys with null values
-
open_tmp_html.py - Write html input to a tmpfile, then open in a browser
-
reply_to_recruiters.py - Reply to recruiters
-
scatterplot.py - Create interactive HTML scatter/line plots!
-
tokei_projects.sh - Count lines of code across personal Go projects using tokei
-
yaml_to_json.sh - Read YAML file by path and print as JSON to stdout