Anyone who uses unix for long ends up with a ~/bin/
or similar that's
full of random scripts they wrote. This page is about stuff in my bin
,
that hasn't yet found a better home outside it, and in most cases probably
never will.
I try to be proactive about submitting programs from my bin
to projects
that they fit into, and if you use debmirror, dpkg-repack, vidir
and vipe
from moreutils, or svnpath
, debcommit
, bts
,
grep-excuses
, or plotchangelog
from devscripts; then you've used a
program that grew up in my bin
. I think there's some useful stuff in
there still.
You can browse my bin at https://git.joeyh.name/index.cgi/joey/home.git/tree/bin
async
Passed a mount point and a command, it remounts the drive at that point async, runs the command, and then remounts it back sync. Useful with external drives that are mounted sync by default for safety.
blog
This brings up a text editor for writing a blog entry in, then works out a filename for the entry based on its title, writes the file, commits it to git, and updates the blog. Fairly specific to my blogging setup, which uses ikiwiki now; older versions worked with pyblosxom instead.
build
This is the script that I use for building packages.
review
This is the script I use for running lintian and other checks on a package I've built. It displays all sorts of useful info in a pager.
release
This is the script that I use for releasing packages.
wikiannounce
This is a script that release calls, which converts a changelog into a news item for a package on its wiki.
foto
Pulls photos off a camera. Either from a DCIM directory of a mounted SD card, or using gphoto2 over USB. The photos are added to a git-annex repo.
loadcron
I keep my crontabs in git and this handles loading them into cron. Supports some handy features.
missingarch
Given a list of architectures on command line or stdin, outputs any of the released debian arches not in the list
lifeday
Prints out the number of days since I was born. Useful for a different perspective.
logview
What I use for tailing logfiles. Determines dynamically what files are available to tail, and tails without wasting the last line on the screen to display a blank line with a cursor on it (which tail normally does, and which sucks on 3 line xterms).
goto
Sshs into a machine and starts a screen session. Auto-reconnects. Goto considered wonderful!
out
For use in a git-annex repository containing files that are being consumed in some way (eg, videos or podcasts), where I want to keep a copy of the file but get it out of the way when done with it. Moves specified files to some "out" directory located inside the repository, and has git-annex drop their content if possible.
rec
Simple sound recorder. Streams the mic to a fifo and in the background, encodes it to an ogg file. This can be easily started up, and runs until ctrl-C'd. Then the finished ogg file is stashed away in a git-annex repository.
sunrise
Outputs approximate time of sunrise. If run as sunset
, outputs that
instead.
It does have to have LAT/LONG hardcoded into it though.
su
This makes su actually run the the sudo command, if sudo is present. Nice
to not have to type the password every time when suing, although I wrote it
before I was aware of "sudo su
".
z
Blocks suspend on lid close while a command runs. Useful for eg, listening to a podcast, or keeping the laptop running until a download completes.
Requires some systemd setup documented in comments.