Wayne Morrison's Software

These are a few software utilities I've written for my own use. These are made publicly available for personal use.

Some of these programs have related functionality, and these are grouped into named packages. The individual programs work without the other members of the package, but some useful functionality will be missing.

Unless otherwise marked, all this software is licensed according to the Apache License, Version 2.0. As the license says (with a pluralization change in the first sentence) this software is:

Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

If you would like to receive email when additions or modification to these utilities are made, send email to wmsoft@waynemorrison.com. This is a very low-volume mailing list. Send email to that same address to be removed from the list.

Unless otherwise marked, these are all Perl scripts and assume a Unix-like environment.

  Name   Description   Package   Download   Documentation   Language   Version   Notes
  archon   Backs up a specific set of files and directories. It is intended to be used as a periodic, partial backup. It is not intended to replace full or incremental dumps.
 
      archon   manpage   Perl   3.1   Added licensing information. No functional changes.  
  bintypes   Finds type-specific entries in an index file.
 
      bintypes   manpage   Perl   1.3   Added licensing information. No functional changes.
 
 
  ccclog

  Summarizes log files created by Carbon Copy Cloner, usable from the command line.

This assumes the Mac OS X environment.

      ccclog   manpage   Perl   2.1   Added licensing information. No functional changes.
 
 
  chronosquirrel   Task-based timekeeping script.

      chronosquirrel   manpage
user's guide
  Perl   2.8   Added -annotate for user annotations of kronlog.
 
 
  chronosquirrel-bitbar.1s.pl   BitBar plugin to display chronosquirrel data.

When installing, you must add a .pl suffix to the filename.

      chronosquirrel-bitbar.1s.pl   manpage   Perl   1.0   Initial revision.
 
 
  clbc

  Simple command-line front-end to bc.
 
      clbc   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  dejunk

  Restores an MH/NMH mail message from a junk folder to the inbox.
 
  nmh-tools   dejunk   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  dirstack

  Restores a directory stack in a (windowed) csh/tcsh environment.
 
  sessions   dirstack   manpage   Csh   1.4   Added licensing information. No functional changes.
 
 
  epoch

  Displays the raw epoch time of the last modification for the named files.
 
      epoch   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  fl

  Executes a command and displays the first M and last N lines of output.
 
      fl   manpage   Python 3   1.1   Added licensing information. No functional changes.
 
 
  fnlen

  Displays lengths of a list of filenames.
(An exercise in bash.)
 
      fnlen   manpage   Bash   1.1   Added licensing information. No functional changes.
 
 
  fsfiles

  Creates a file of all the filenames in a file system.
(Front-end script for a find/sort pipeline.)
 
      fsfiles   manpage   Perl   1.3   Added licensing information. No functional changes.
 
 
  gbl

  Displays a list of unique git branch names, without the index suffix added by gchk.
 
  git-tools   gbl   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  gchk

  "git checkout" front-end that creates a new git branch for a given component, using a specific branch-naming scheme.
 
  git-tools   gchk   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  gmrg

  "git checkout" front-end that merges a component's most recent git branch with the master branch, using a specific branch-naming scheme.
 
  git-tools   gmrg   manpage   Perl   1.2   Added licensing information. No functional changes.
 
 
  imgsize

  Gives the width x height dimensions of the named image files.
 
      imgsize   manpage   PHP   1.3   Added licensing information. No functional changes.

 
  kronos

  Converts epoch times to time strings.
 
      kronos   manpage   Perl   1.2   Added licensing information. No functional changes.
 
 
  mls

  Translates percent-coded filenames into actual characters. This is a wrapper for the ls command.
 
      mls   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  mh-skel

  This script is a skeleton for scripts that will manipulate MH/NMH mail messages.
 
  nmh-tools   mh-skel   manpage   Perl   1.2   Added licensing information. No functional changes.
 
 
  oldjobs

  Starts a set of jobs for a login shell from a file listing previously executing jobs.
 
  sessions   oldjobs   manpage   csh/tcsh   1.2   Added licensing information. No functional changes.
 
 
  ovacron

  Countdown timer for command-line usage.
 
      ovacron   manpage   Perl   2.4   Added licensing information. No functional changes.
 
 
  podweb

  Translates POD to HTML, with user-specifiable mappings between POD and HTML. The Pod::Parser module is required.
 
      podweb   manpage   Perl   1.3   Added licensing information. No functional changes.
 
 
  rot13

  Rudimentary letter substitution encoder/decoder. This performs the well-known 13-place character rotation that is known as ROT-13.

The original version of this program brought nothing new to the world of ROT-13. I couldn't find a translator anywhere but in emacs. I wanted a command-line version, so I wrote this. Since then, I've added the -numrot option, which I haven't seen anywhere else.
 

      rot13   manpage   Perl   1.2   Added licensing information. No functional changes.  
  secnum

  Preprocessor for adding section numbering to headings HTML files. Section numbers and depth are increased based on the heading tags and heading depth.
 
      secnum   manpage   Perl   1.4   Added licensing information. No functional changes.  
  sessmaint

  General management interface for the session management commands provided by the dirstack and oldjobs scripts.
 
  sessions   sessmaint   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  spell-squirrel

  Wrapper for spelling checkers, provides file-specific dictionaries.
 
      spell-squirrel   manpage   Perl   2.1   Added licensing information. No functional changes.
 
 
  svc   Display data from /etc/services.

      svc   manpage   Perl   1.0   Initial revision.
 
 
  tarj

  Creates a compressed tarfile of a specified file. It's a front-end for the tar program.
 
      tarj   manpage   Perl   1.3   Added licensing information. No functional changes.
 
 
  unrmm

  Restores a deleted MH/NMH mail message.
 
  nmh-tools   unrmm   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  unutf8

  Translate UTF8 encodings in text to legible text.
 
      unutf8   manpage   Perl   1.2   Added licensing information. No functional changes.
 
 
  uppers

  Perpetually give system load averages.
 
      uppers   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 
  vcal

  Parser for VCalendar and ICalendar files, usable from the command line.
 
      vcal   manpage   Perl   2.8   Added licensing information. No functional changes.
 
 
  wcls

  Shows line counts for a sorted file list given on the command line.
 
      wcls   manpage   Perl   1.1   Added licensing information. No functional changes.
 
 


Revision History





waynemorrison.com