incava.org

about

The projects hosted at this site are interrelated. Many years ago, when working on a project of over a million lines of source code (C and Lisp), I became used to Perl regular expressions, and then grew frustrated with grep. Inspired by the book Programming Perl, I wrote a Perl clone, which became the prototype for glark, which is in Ruby.

DoctorJ originated when I started working with Java, and became frustrated with misleading and erroneous Javadoc. That began - as did most of my programs back then - as a Perl script, then migrated to C++, mainly because I knew Lex and Yacc, and didn't want my decent C++ skills to decay. Eventually I rewrote it in Java, and narrowed its focus, after PMD took the lead in static code analysis. Ironically, DoctorJ has been rewritten using the Java parser and AST from PMD, and thus handles Java 1.5.

Somewhat tired of Java, Perl, and C++, I moved to Ruby and wrote an implementation of the program I use for trying out new languages, that of generating the valid words and phrases from a phone number. This is an excellent program to learn new languages, since it hits most of the basics: IO, object-oriented programming, data types, collections, and regular expressions. That became phraze.

I was using the Perforce version control system at work (and still am), so I wrote the equivalent for it, p4delta. When I moved to Subversion, I similarly wrote svndelta. These projects are roughly but not exactly the same as cvsdelta.

I'm a whitespace and formatting zealot. Frustated by getting 400 lines of output from diff after I reformatted a file that had apparently been typed on a IBM Selectric, I wrote a version of diff specifically for Java, DiffJ, with the main algorithm also released separately as java-diff. Thanks to PMD, DiffJ has been updated to handle Java 1.5.

Working on this web site (which has a monochromatic scheme currently) got me to write Coloryze, which is also in homage (corporatage?) to a company where I worked some time ago, writing spectronometer and color formulation software.

modifile was the result (as with cvsdelta) of making major changes in source code. It also gave me the opportunity to write and release an application in Perl.

As web traffic picked up, I wanted to analyze Apache output easily, so I wrote apercu, which also gave me an opportunity to write a new, clean Ruby application.

All coding is done in XEmacs running on GNU/Linux, specifically the Fedora Core distribution, and occasionally Ubuntu. My command-line work is done in Z shell, which is fairly customized, as is my XEmacs setup. Those may be released at some point but since they have evolved over years, they require a significant amount of cleanup.

The name "incava" comes from the two-letter abbreviations for states in which I spent the most time: Indiana, California, and Virginia. It also means "groove" in Italian, which is either fitting or ironic.

Valid HTML 4.01!

Valid CSS!