tools icon indicating copy to clipboard operation
tools copied to clipboard

General purpose tools

shell tools

Various helper scripts that I use day to day along with my personal dotfiles for things such as tmux, zsh, and xinit.

Most scripts are further commented if you click through the link.

Description

  • authadd: Similar to ssh-copy-id but seems to work more.
  • automonitor: A tool that detects when monitor cables get plugged in to change from internal to external.
  • brightness: x86 screen brightness tool for xbindkeys.
  • chooser: An 802.11 scanner and chooser.
  • config-all: Used with ./configure, fills in all the prefix, lib, bin, sbin, man, info etc directories to point to a single install point.
  • dec2hex: A very simple one liner to go from decimal to hex at the command line, something I often want to do.
  • external: A script I use to dock the laptop and rerun keyboard mappings.
  • get-current-screenshot: Grabs the current screenshot from a connected android phone over adb.
  • get-last-screenshot: Grabs the previous N screenshots from a connected android phone over adb.
  • git_diff_wrapper: A wrapper to put in .git/config (read the file to find out how to use it).
  • git-last-modified: A way to view the last modified dates (with respect to git) of the files in a directory.
  • hex2dec: A very simple one liner to go from hex to decimal at the command line, something I often want to do.
  • hotspot: A script I use to test mobile from my laptop.
  • indiff: A tool for comparing code differences. See this reddit post.
  • internal: A script I use when undocking my laptop. This is the companion script to external.
  • inotify: A way to see when a collection of files is accessed. Also see the sysdig project I contribute to.
  • laptop-power-saving: The various tricks I've learned to make the most of my laptop battery
  • meta-rotate: A simple almost reminder tool that quickly and losslessly rotates a video using the meta-information with ffmpeg.
  • minimal: A minimal-level battery saving setting (used in conjunction with the prior script)
  • my_xterm: Just a dumb xterm wrapper in acidx for notion.
  • nvmsh: Starts nvm (which has a multi-second load time, so it's not in .zshrc)
  • osd_time: Puts a tiny clock in the top right. Needs osd_cat.
  • reassoc: A tool that agressively gets a new ip address because sometimes dhclient just isn't enough. It also brings down eth0 just so the networking stack doesn't get confused on how to route packets.
  • screencast: A tool for piping multiple video streams and routing pulseaudio for multi-streaming to platforms like youtube and twitch
  • sshot: A poor man's screen sharing application. Note: the imgur cli tool it's using is broken as of 2016-03-31. See issue #1
  • strace-all: This will do a ps and grep for the string that is the last argument, then it will strace the pids of all of them simultaneously with parallelized xargs, following vforks
  • transfer-and-delete: For android phones connected over adb, this will recursively transfer entire directory trees off a phone on to the local machine and then delete the phone's copy.
  • update-tags: Updates ctags and cscope; useful for emacs and vim code navigation. There's companion versions for different types of code bases.
  • uuidb64: A python2 script that outputs a computer-friendly almost Base64 version of a UUID (a few potentially problematic b64 characters get substituted out). For use when you need a sufficiently random string but don't want some long base16 hyphenated UUID.
  • volume: A bash script that works with xbindkeys to make the volume buttons work
  • waitfor: A blocking thing of the above (see description in the c file)
  • wpa: A script that maintains wpa_supplicant sanely (used with reassoc)
  • youtube-dl: From http://rg3.github.com/youtube-dl/download.html

Install

There's an installer that will put these into your $HOME/bin directory If you trust me just run

$ ./install

And then add $HOME/bin to your path. If you already have a file in your $HOME/bin directory that this conflicts, an MD5 checksum is done and if they don't match then you get prompted whether you want to install it. You can view a diff of the changes, skip the file, or install it anyway.

History

The earliest file here goes back to 2000 (dotfiles/.twmrc) although I use notion now. I began using Linux I believe in 1998.