Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
blob: 06645297b24068b30d99082d8b0a5135c182a01f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
### 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