Some Software Projects

None of the following projects were done for clients or with other developers. They were all done independently because I love coding. I'm proud of them for their good concepts and technical craftsmanship, not necessarily for what's readily apparent on the surface or because they're popular. Some have been running rock-solidly for years with no need for fixes. If you're interested in and understand programming, have a look; if not, then probably none of this will be meaningful.

the site you're looking at (and its framework)

This site is built on top of the PHP parameterizable nested view loader, CCViews, which I wrote and released under the open-source Apache License because I was doing some projects for a company that used—the dramatically pointless—CakePHP. It also uses my Google-friendly dynamic navigation system (see 'other things...'), and an intuitive javascript 'drifter' that can navigate over a dynamically pre-fetched rectangular tile set with a theoretical size limit of at least 90,000 square miles at 100px/inch (see home, and note: no scroll bars).


A single sign-on solution (written in Java) that can tell a relying party (RP) that a user the RP knows about is signed in with an originating user agent without revealing anything about the user's account to the RP or requiring the RP to be known to the system. It runs (with nginx acting as a reverse proxy) on a smoking-fast general-purpose NIO-based server I wrote. With massive per-core localhost ApacheBench concurrency like ab -n 10000 -c 1000, which usually brings Apache's own httpd to its knees, the server runs about 50% faster than Netty. A simple demonstration of RP usage, where saving changes is the protected action, can be found here.

centripetal taxation

Centripetal taxation in action, using the HTML5 canvas API.

image tree

A photo-sharing site with public-facing CCViews PHP, centralized authentication, a back-end Java socket listener, and a Java client app. The client watches a local folder, automatically resizing, compressing, and uploading any image files that are added or changed.

flat grey wall

An AJAX/LAMP online art gallery.

22 true

A general-purpose credibility network and inference engine: a java web service and accompanying AJAX client that also includes a Lucene-based search engine and crawler (written from scratch because Nutch at the time had an incredibly poor crawler implementation and used JSP's). What I'd do differently if I were to write it today: I wouldn't use Tomcat or MVC templating, and I'd have it be driven by links on the targets instead of by people, since discovering truth seems to be less motivating to the normals than it is to me.


Windstream busted! A java client-server socket pair with public-facing PHP that dynamically uses Google's Chart API.