tiny-tools is a collection of small personal command-line utilities, scripts,
and experiments. The repository is intentionally broad rather than packaged as a
single application: some tools are current and self-contained, while others are
older helpers kept here as references or starting points for local automation.
photobackup2/contains the most complete utility in the repo. It backs up iPhone photos and videos into month-based destination folders namedYYYYMM. It detects capture dates from image metadata, video metadata, filename patterns, and file modification time. It also supports dry-run and mock-copy modes, handles filename collisions, checks destination free space before copying, and includes unit tests.resize_images.shrecursively resizes.jpgfiles from a source tree into a target tree using ImageMagick.extract-audioextracts MP3 audio from matching media files withffmpeg.photomailercaptures a webcam image withfswebcamand sends it through a local mail setup usingmutt.download-subtitle.pyis an older Python 2 script that computes a video hash and downloads English subtitles from the SubDB API.
robonews/is a Python command-line RSS headline reader. It can show a configured set of Google News feeds fromrobonews/res/urls.txtandrobonews/res/topics.txt, or search for an arbitrary topic from the command line.twitter-home.pyis an older Python 2 OAuth example for reading a Twitter home timeline.imdb-rank.pyqueries OMDb for a movie title and prints rating details.
movie-catalog/generate-catalog/contains Python scripts for scanning movie directories, deriving movie names and years from file paths, optionally adding IMDb metadata, and converting catalog JSON to CSV.movie-catalog/movieCatalogAccess/is a small Java/Maven project that reads movie catalog JSON into Java entities and persists or retrieves it through a JPA/Hibernate-backedMovieManager. It includes sample JSON data underdata/and JPA/Hibernate configuration undersrc/main/resources/.
mf-dashboard/contains a mutual fund dashboard script and local data files. The script readsfunds.json, fetches NAV values, and prints purchase value, current value, total change, and approximate yearly change.
bash-utils/contains reusable shell helpers that can be installed into~/.bashrc.d. The current helper set includesjdsync, Git log shortcuts, and atojpgconversion function that uses ImageMagick orffmpeg.find-jar.shsearches recursively through JAR files for a class name or fully qualified class name.raise_pr.shis a template-style helper for cherry-picking commits onto several upstream branches, pushing those branches, and opening GitHub compare pages.plotfilesz.pyplots the probability density of file sizes in a directory using SciPy and Matplotlib.
Most tools are independent. Start from the subdirectory or script that matches the task you want to run, then check its shebang and imports for runtime requirements.
The actively documented tools are:
cd photobackup2
./setup.sh
photobackup.sh --dry-run <source_directory> <target_directory>cd robonews/src
./robonews.py search "topic"cd movie-catalog/movieCatalogAccess
mvn testphotobackup2targets Python 3.9+ and installs its Python dependencies fromphotobackup2/requirements.txt.- Several older Python scripts use Python 2 syntax and libraries such as
urllib2. They may need modernization before running on a current Python 3 environment. - Media scripts assume common command-line tools are installed, especially
ffmpeg, ImageMagick,fswebcam, andmutt. - Java code in
movie-catalog/movieCatalogAccessis Maven based and uses older versions of Jackson, Derby, Hibernate, and JUnit. - Some API-oriented scripts are historical and may reference services, credentials, or endpoints that are no longer valid. Review them before use.
The primary test suite is in photobackup2:
cd photobackup2
python3 -m unittest discover -vThe Java movie catalog project also includes a Maven test scaffold:
cd movie-catalog/movieCatalogAccess
mvn test