Gcmc is a front-end language for generating G-code, SVG, and DXF for CNC mills, lathes, laser cutters, and other numerically controlled machines employing G-code, SVG, or DXF. The language is a context-free grammar created to overcome the archaic format of G-code programming, but can be used more generally for many targets. Gcmc aims to be more readable and understandable than G-code and enable programmatic designing. Gcmc makes extensive use of vector mathematics to support the 3D nature of CNC machining. It handles units as millimeters, mils (inch), degrees, and radians and performs automatic conversions where necessary.
getlock is a command-line lockfile utility that uses 'fcntl' style locks, which release if the program exits. getlock normally locks one or more files and then runs a command, but it can be run without a command in order to just lock the files. It can also run a command if all the locks cannot be made, kill off current lock owners, write a PID to a lock file, and background, but still keep the lock, for use in shell scripts.