Here are several things I wrote. Some may help you, but i take no responsibility for the results...

vt-ng

detects virus and worm like activity based on communication patterns; It can be used to (1) detect infected hosts within your internal network and (2) stop the spread of maleware.

Detection is based on the fact that maleware usually tries to initiate many connections to the out side network, for various reasons. May it be to "phone home", download further maleware or scan the net for other vulnerable hosts.

Usage example for the linux tuntap device

This is a simple code utilizing the universal tuntap device present in the linux kernel. The code creates a tun device and 2 pipes. It then forwards the data stream coming from the tun device into one pipe and forwards the data stream coming from the other pipe into the tun device. By utilizing some simple ssh magic a makeshift tunnel between two hosts can then be setup.

tun.c

xgestures

xgestures is a gesture recognition program for X11 desktops. One may use it to perform various operations like minimizing and killing windows, executing custom commands, etc. Once you get comfortable with xgestures, you will never want to give it up. I dont...

You can get the source from sourceforge at the sourceforge project page

xtranslate

xtranslate is a simple "translation" program, aimed at bi-lingual users. When using several input languages on the desktop, users often forget the language they are currently using (say A), and type text in a different language (say, B). xtranslate can be used to quickly translate the text as if the user has switched the keyboard layout to language B before typing the text.

You can get the source from sourceforge at the sourceforge project page

Srfs

As my graduate project, I wrote the kernel side components of a distributed, self stabilizing file system. The code was written for the linux 2.4 kernel, and is quite outdated now.

TemplateFs

This is a template of a file system i gave my student to work on. It can be used to create new file systems, as it implements a kind of skeleton code.
templatefs.tar.bz2

Car Control

I helped a friend of mine to implement a fuzzy logic controlled car. We hooked the car motors into the serial port of a linux box (running RTlinux), and implemented a vision based controller. As someone said, a picture is worth a thousand words, and a movie tenfold:

X Snooping software

Xspy

Xspy.c is an X spying program. It will open a connection to the requested X server, and log any key pressed in a human readable format. If the user was dumb enough to leave his X open, then nothing will prevent the snooping, even not a secure keyboard...
This can be used to teach users to ">xhost -" always.

user snoop

Xsnoop.c is a wrapper for users shells. If you want to spy on a particular user, replace his shell with this progi. The poor lamb will never know the difference.....
Basically, this program replicates the behavior of the unix "tee" command. It should work both on Solaris and Linux.

Distributed Simulator

Liquid is a distributed computation simulator i wrote some time ago. It is implemented in java, and has some nice features. The goal is to support user supplied classes as the distributed algorithm, thus enabling students to get some hands on experience with distributed computing.

Command Prompt Enabled Phone book

This is a phone book, implemented in perl, integrated into bash. Using programmable completion, you can ask for a phone number from the prompt.

the script

Next, add this into your .bash_profile:
complete -W "$(~/bin/phones -s)" phones

Phone numbers are to be placed in a file, and the script must be update accordingly. The format is as follows:
name1 blah | 1234, 4440
name2 blah3 ggg | 3333-0090

Circles: infant keyboard activity

Just start the Main class, and on each key press, you get a new, nicely colored circle on the screen. Kids love it.

circles.tar.bz2