Welcome to the small cult following code repository. All
code here is written by Niko Matsakis, and
released under some open license or other (GPL, MIT, etc).
Do what you like, but I'm not responsible, and there is no
warranty, implied or otherwise.
Interpreters, Languages
- Harmonic: programming
language for parallelism developed as part of my PhD thesis.
- Intervals: library
for parallelism developed as part of my PhD thesis.
- Scala-Prolog: a (simple
and incomplete) implementation of Prolog in Scala.
Applications and Plugins
- Flash: a flashcard program specialized
for learning languages. Developed in Objective C with
Core Data. Released under GPL.
- Code Browser: a simple front end
to the GNU source-highlight program. Released under GPL.
- Papers ACM: a plug-in for the
fantastic Papers program that can import papers from the ACM webpage
into your database, including some meta-data. To install, drag
the .importer directory into
~/Library/Application Support/Papers/PlugIns/Importers/
.
Public domain.
- LongSpear: a Cocoa DM's assistant
- MAXEdit: formerly XMLEdit, an XML editor for Macintosh
that uses the Cocoa browser widget, similar to the Finder
- Neptune: a program for managing large iTunes
databases. Still in its infancy.
Programming Utilities, Small Packages
- Oath: A Python Curses library for
user interfaces. Does tables, file editing, etc. Developed due
to my utter distaste for most of the alternatives I looked at.
- Arenas for ObjC: A very simple
and not exhaustively tested implementation of a simple arena
for use with Objective C and foundation. Includes some sample
code. MIT License.
- Object Path: A little Python library for
encoding the path through a set of objects, serializing it, and
reconstructing it. Horrendously insecure for use in a real
system, but useful nonetheless in small web projects and the like.
- XMLUtil: A handy Java class for converting
XML files into Java object instances. Combines with XSLT to form a
simple parsing system. Used in Flash, for example, to read in the XML
data files. (See the JavaDoc)
- EZXML: a Python package that reads in XML
in DOM form, allowing you to access sub-elements like "a.b",
which would correspond to the xpath expression "a/b".
- Tagger: a utility for adding ID3 tags
to mp3s. Reads in a TRACKS file to determine the tag contents.