| Name | Creators | Resources | Description |
|---|---|---|---|
| Sol | Myself. | Github Repository, Gitlab Repository | Sol is a dynamically typed, dynamically scoped language which resembles (and is partially syntax-compatible with) Lua, but with a design like Python, and an implementation somewhat like Javascript as a result. Jokingly referred to as ECMAScript 9, it was created during the IIAG Scripting Language Arms Race to compete with a stack-based FORTH-like and LOS (the nebulous Language of Scripting of hardinc's design). The former was realized but hard to use, while the latter never materialized; Sol instead outlived IIAG's development, and is suitably stable for regular use (despite memory leaks). It remains as the only currently living project that I've spent all three years at Clarkson working on. |
| The ITL Chorus | Myself, after richteer's "beepmus". | Github Repository | The ITL Chorus is a loose collection of data-processing Python scripts that convert various music notation formats (notably MIDI) to scheduled interval files, renders MIDI files over the network to clients, and renders tones from received network data. Starting off as ~100 lines of Python, the project has grown into a ~3000 line imperative-oriented behemoth with rampant code duplication and incessant copying hurting its general flexibility. Nonetheless, it is sufficiently stable to be entertaining and useful for networked rendering of MIDI files, and supports certain features (deviation amount, modwheel, attenuation) that ease the rendering of retro game MIDIs. Despite its size, it is surprisingly easy, if sickening, to modify, and--while orders of magnitudes slower in the total process than dedicated MIDI sequencers--handles adversarial "black" MIDIs surprisingly well if intervals are pre-rendered. It is meant to be used with many computers in a room connected by a fast network, as the ITL, but can also be prototyped on a single machine. |
| Drizzle | Myself. | Github Repository | Drizzle is a networking library which maintains a dense graph of connections between arbitrary peers, using NAT hole-punching to bypass NAT firewalls and bring together large islands of interconneced nodes. It is designed to permit decentralized, layered routing on top of an untrusted network. |
| TT | Myself. | Github Repository | TT is a small, Turing-complete, tree-rewriting model that has a syntax specification (based on a C-like tokenizer and a one-level "document tree") which can be interpreted and compiled in itself. Aside from its small compiler and Turing-completeness, TT excels at doing complex rewriting of any data structure which can be expressed as a tree, with arbitrary bindings, equalities, and subsequence rewriting. Subsumed GDTS ("Graph Directed Term Substitution", "Grand Dance, Techno Style") as an implementation of (rather slow) code generation. |
| RTT | Myself. | Github Repository | RusTT, a Rust implementation of the above with 60x speedups but worse diagnostics, useful as an optimized implementation of the above. |
| Ternas | Myself, on beadleha's recommendation. | Github Repository | A proof-of-concept implementation of an assembler for beadleha's TERNIAC in Sol, to demonstrate that Sol is useful as a general-purpose language. |
| COSI EVENCHUR | Myself, as a tongue-and-cheek joke on beadleha's "COSI Adventure". | Website | A JavaScript implementation of a satirized version of beadleha's COSI Adventure, which happens to be easier to modify due to the language's nature. |
| Robigalia | Corey, myself assisting. | Gitlab Group | A project to port the POSIX APIs in a reasonable way to the proven-secure seL4 microkernel, thereby vastly improving the general security platform and ecosystem. Started by Corey before and during his work at NICTA on seL4. |
| Twitch Plays Turtlebot | Fatman, newmanre, and myself. | A project to invite the Internet a large to drive around our rather-expensive Turtlebots and explore an obstacle course; involves various utilities, including a very-much-simplified interface to sending motion commands to the turtlebot, command-line and joystick-based clients for the motion server, and a IRC-based voting bot meant to connect to Twitch's chat servers to facilitate sending chat commands to the Turtlebot. | |
| Tinylisp | Myself, for Programming Languages. | Github Repository | An implementation of a Scheme-like language in less than 1000 lines of C, compatible with all the requirements of the "Monty!" final project of Programming Languages (at least when I took it). It has an interesting "macro" definition feature which allows many parts of the langauge to be reflexively defined in itself, by deciding the boundary between S-expressions as data and code at invocation time, as well as a flexible system for declaring many unusual parts of the syntax, such as defining custom "punctuation operators" at runtime which affect the tokenizer directly. Almost all of the language is reflexive and can modify itself, lending to Scheme's incredible expressive power. |
| Something, Something, Pascal | Myself, for Compilers. | Github Repository | A Pascal compiler for the Dragon Book, but with a very clear and consistent object model, capacity for multiple passes, highly separable but correlated data structures, extension syntax to the language, and a backend which would have interfaced with GDTS/TT. |
| xgammad | Myself, for griffimj. | Github Repository | A small daemon which emulated the behavior of f.lux and Redshift, which uses a FIFO to communicate with other processes and has a fairly simple IPC protocol, as well as a scientifically-accurate implementation of color temperature from black-body radiation equations. It is meant to be modular, and combined with, e.g., user services to enable and disable it, daemons that know the current time of day in the present location, etc. |
| LibreDSSP | beadleha, with some debugging by myself. | Github Repository | An implementation of DSSP, a nearly-lost FORTH-like language implemented on a Russian ternary computer, revived and implemented from extremely sparse (and Russian) documents and released under the GPL by beadleha. |
| pdp11-utils | Myself, for beadleha. | Github Repository | A collection of Python scripts for dealing with binary load tapes for the PDP-11 Standard Absolute Loader, and for interacting with a serial port in a low-level fashion. Despite being written for a PDP-11, they've found some reuse for other serial-based equipment (such as network switches), and is one of a few of my projects forked by people I have not met. |
| cc-progs | Myself. | Github Repository | A collection of Lua scripts written both for ComputerCraft and OpenComputers (Minecraft mods that introduce programmable computers to the game), which implement event-based frameworks, network daemons, and a powerful vim-like text editor. |