Not all of the projects I am working on are ready for distribution, so this part of my web site gives you a sneak peak at the programs that are currently unavialable for download.
| Name | Description |
| XWord | A crossword applet |
| NeuralNet | A system capable of independant learning |
| ServiceLoader | Allows you to run several services inside one VM, to reduce memory requirements. |
| SkinnyServer | A simple web server |
| Towers Of Hanoi | A game of logic |
XWord
XWord is an applet that allows you to place a crossword puzzle on a webpage. This program is not ready for release yet, but you can try it for yourself on the test page that I have put up for the person I am writing it for.
NeuralNet
NeuralNet is a system that simulates the way the human brain learns.
A perceptron is a model of a neuron.
It has an arbitary number of inputs, which can be other perceptrons, or raw inputs (these represent things like optic nerve connections, and provide the actaul data to operate on).
Each input provides a value to the perceptron.
The percepron has a weight associated with each input, depending on the importance of the input.
The perceptron will output a value based on the weighted sum of all of it's inputs.
By setting up a network of perceptrons and raw inputs, you can train the network to learn simple, and hopefully complex functions. There are two types of learning, supervised, and unsupervised. Supervised is the most efficient. This method works by showing the network a pattern, then telling the network whether it got the right answer or not. If the wrong answer was obtained, then each perceptron will attempt to correct itself. By repeating this many (possibly hudreds of thousands) times, the network should eventually learn the correct result.
With unsepervised, a pattern is shown to a network, and the perceprton that provides the largest output wins, and increases its value. This way, by showing the network multiple patterns, it will identifiy its own pattern classes, and group similar patterns together.
So far, I have successfully modeled a perceptron, that is capable of correcting itself when told it has the wrong answer. I am currently updating the model of the perceptron so that it is capable of using back error propagation to correct itself,a s this is needed for mult-layered networks. Multi-layered networks are needed to learn non-linear functions.
ServiceLoader
ServiceLoader is a program that can be used to run multiple services in the same Java VM in order to save resources. For example, if you run a web server, a telnet server, a proxy server and and SSH server normally, you will have four versions of the JVM running, which both consumes resources, and takes up a lot of space in the task manager. The service loader is capable of dynamically loading services that are specified in a config file, and run them all in the same JVM, reducing memory requirements.
SkinnyServer
SkinnyServer is a simple web server, it currently responds to HTTP GET requests.
A 404 page is returned when the file cannot be found, and a 403 page is returned for attempts to access files outside of the web root.
Support is included to return the correct MIME type of a file based on it's extension.
The MIME database currently contains about 20 file types.
There is also a database manager for maintaining the database.
Towers of Hanoi
Tower's of Hanoi, also known as Brahmin's Towers is a game of logic. You have a tower made up of blocks of decreasing size. The object is to transer the tower from the left stand, to the right stand. There are only two rules;
- You can only move a block onto an adjacent stand.
- You cannot place a large block onto a smaller block.









