Software & CompSci

A list of my software projects and computer science papers

  • Superloop RNN models
    Superloop: Complex RNN Models A "superloop" is an extra loop that connects the output of a recursive neural network (RNN) back to its input in the next timestep via one or more external systems. This project contains: a framework to build RNNs with a superloop in TensorFlow/Keras, an implementation of a simple gated recurrent unit, an implementation of a register-based memory unit, and an implementation of an attention system that allows the network to move freely along the input data. More »
  • Computer Science
    Algebraic File Synchronization: Adequacy and Completeness In this paper we investigate file synchronization. We define algorithms for update detection and reconciliation over an algebraic system of filesystem operations with high information content, and present rigorous proofs that they work as intended and cannot be improved on. Now on More »
  • Trainable clustering
    Trainable Online Clustering Exploring recognizing unseen clusters with a neural network. Given an initial, labeled batch of data, we aim to train a system that is capable of classifying a stream of data and recognizing new classes it has not yet seen. More and get the code »
  • Statistics
    Manatee Manatee checks whether the expected values (means) of two samples are significantly different using bootstrapping. Get the code » or read about the background »
  • Image of PHP code
    PHP_Beautifier filters Filters for PHP_Beautifier that keep empty lines in the source, break argument lists and arrays into multiple lines, or change how assignment operators are spaced.
  • From photo of speedometer by Eric Shoemaker CC BY-NC 2.0
    PHP / JS development libraries ComfySQL is a PHP convenience class for MySQL databases. SQLBrite is another PHP convenience class, but for SQLite3 access. And EdnaScript is a JavaScript preprocessor that makes it easy to write object-oriented code. Happy coding!
  • Part of NetArranger Screenshot
    NetArranger A JavaScript library that can arrange the nodes of a directed graph, network or diagram. Download or contribute to the source, or get the compiled library from GitHub, or check it out live in action.
  • ESFS logo
    ESFS A filesystem in C based on FUSE that supports snapshots. More »
  • Computer Science
    An Algebraic Approach to File Synchronization Norman Ramsey and Előd Csirmaz, “An Algebraic Approach to File Synchronization,” in Proceedings of the Joint 8th European Software Engineering Conference and 9th ACM SIGSOFT Symposium on the Foundations of Software Engineering (New York: ACM Press, 2001), 175–185. More »

Earlier projects

Some old pieces of software for MS-DOS systems

Use the DosBox emulator to run these safely