### Free Software Projects Listed below are my notable public projects. I have various other scripts and personal playthings that may be found on [GitLab][] that are not worth listing here, but may be of interest to certain readers/hackers. While writings are certainly projects in their own right, they are listed separately in the "Papers" section of this website. [GNU ease.js][easejs] GNU ease.js is a classical object-oriented framework for JavaScript, intended to eliminate boilerplate code and "ease" the transition into JavaScript from other object-oriented languages. Features include simple and intuitive class definitions; classical inheritance; abstract classes and methods; traits as mixins; interfaces; public, protected, and private access modifiers; static and constant members; and more. [git-supp][] contains a number of supplemental scripts for Git that I have found to be useful. Examples include short aliasing for common commands (e.g. typing `c` instead of `git commit`), a colorful PS1, and a state hook for displaying and automatically augmenting commit messages with branch-specific state strings. [TAME][] is The Adaptive Metalanguage, a programming language and system of tools designed to aid in the development, understanding, and maintenance of systems performing numerous calculations on a complex graph of dependencies, conditions, and a large number of inputs. This project is developed for my employer. [hoxsl][] (pronounced like "voxel") is a library for XSLT 2.0, written in pure XSLT, that introduces various types of higher-order logic, including higher-order functions; functional abstractions for common operations; and XSLT templates that take XSLT as input and produce XSLT as output. [literate-xsl][] "weaves" documentation for XSLT written in a literate style. Documentation is generated as Texinfo. [thoughts][] is this website; readers and hackers are welcome to use the repository for offline browsing, learning, distributing, mirroring, compiling in alternate formats or whatever else the content licenses permit. Code is released under a free software license and creative works (such as thoughts, articles and papers) are released under licenses that permit free distribution and, in certain cases, modification. Direct links to various commits may be found via the commit hashes within the footer of most pages. [repo2html][] is a repository-agnostic HTML-generation tool used to generate content from commit messages; it is the tool used to generate much of the content on this website and was developed precisely for that reason. As such, the project currently only supports Git. I was working in the past with Amadeusz Sławiński to help bring the development of [GNU screen][screen] back to life by cleaning up the code, bringing it up to date, dumping some cruft, and adding exciting new features. Unfortunately, time has been tight; I hope to return to development in the future to, among other things, add [GNU Guile][guile] support. [GitLab]: https://gitlab.com/u/mikegerwitz/ [easejs]: https://gnu.org/s/easejs [git-supp]: https://gitlab.com/mikegerwitz/git-supp [TAME]: https://github.com/lovullo/tame [hoxsl]: /hoxsl/ [repo2html]: https://gitlab.com/mikegerwitz/repo2html [literate-xsl]: https://github.com/lovullo/literate-xsl [thoughts]: https://gitlab.com/mikegerwitz/thoughts [screen]: https://gnu.org/s/screen [guile]: https://gnu.org/s/guile