banana slug

Go home
Geek zone
Mundane stuff
Fun? Funner!
Goody! Photos
Email me

Some things I've worked on


I currently work on methods to connect non-Java devices to Jini systems. Some of the work I did last year is archived here. I've done some work after that, and I've written it all up in my Master's Thesis.

There is a surrogate group at actively exploring many of the same issues, although I doubt they have a sample implementation out there. They have a home page listing draft standards and a pretty active mailing list. You might need to register with before you can access their links.

I have an implementation of what I call an RPS and the surrogate community call a surrogate. Since I wrote it before the surrogate group was set up, it does not conform to the surrogate architecture proposed by the group, although it has similar functionality. In my copious spare time ;-), I plan to rework this so that it fits the proposed surrogate architecture.

Meanwhile, I'm putting my code up for download in the hope that it benefits someone in the jini community. The code is reasonably clean and well-documented, but it might still require some effort to use and understand. If anybody who downloads this code converts it to fit in with the surrogate architecture, I would appreciate it if you would let me know so that I can make the revised version available.

After all that preamble, here's the actual code ( UcscRps.jar (500k)). On some browsers you may need to right click and select "Save Link As" to get it to download properly. For installation instructions, look here.


  • C. E. McDowell and K. Shankari, "Connecting non-Java devices to a Jini network", in Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 2000, Mont St. Michel, France, 5-8 June 2000. Paper, slides.
  • K. Shankari, ``How to connect non-Java devices to a Jini network'', Master's Theis, University of California, Santa Cruz, June 2000 (Download in .ps, .pdf format)
    Advisor: Charles McDowell

Graph decoder applet

One of the nicer class projects I've done is a graph based decoder for an Error Control Coding class (CMPE251) taught by R. Micheal Tanner. This applet has been written in Java 1.2, so you need the Java1.2 Plugin installed if you want to run it in Netscape or IE.

The explanation about graph based decoders is very sketchy because I don't have the time to write it up, but the animation is rather pretty. For the error-control buffs out there, it implements a sum-product algorithm and works on arbitrary graphs. The current example is a [15,5,6] graph with 6 weak errors.

UCSC RPS Installation Instructions

This jar file does not contain the classes in packaged, ready to use format. Instead, it contains source code, compiled classes, and scripts to get everything to work. I've released the package as a jar file to make it platform independent instead of providing a .zip file for Windows and a .tar.gz file for *NIX.

Extracting the package

  1. For Java-enabled systems: Extract using the built-in jar command.
    $ jar xvf UcscRps.jar
  2. For non Java-enabled users: (if there are any ;-). This can also be used as a convenience method for users who don't have Java in their path. Windows users can use a standard unzipping tool such as Winzip to open any .jar file. *NIX users can also use the unzip package(if installed) to extract the .jar file.
After extracting the package, read the README file for further instructions on running the associated programs. Be sure to check the Copyright file for copyright information.