Projects


Index


With the exception of the tours, the earliest projects are listed at the top
tour
  • a tour through my xlib projects
  • a tour through some of my work with Mesa (OpenGL)
xannounce This was my very first complete working xlib program! When you invoke this program from the command line and give it a string, a window pops up and that string scrolls continuously from right to left until the window is clicked.

More information on xannounce available here.

xbrick This is a program that is like a really old game we used to have for the Apple//e called Brick Out. Everyone whos been in computers for more than a couple of years will probably have seen some form of this game, and probably know it by some other name.

You have a paddle that moves up and down, a ball that bounces around, and several walls of bricks that you have to knock out one brick at a time by getting the ball to hit the bricks. The ball is deflected from your paddle at an angle that is related to where on the paddle the ball struck.

Ironically, because i don't care for games, the intent wasn't to make it fully functional with levels and fancy pictures, i just wanted to see if the basics would work and that's good enough for me.

The project page for xbrick is here.

xatm This is a program that mimicks the functionality of an ATM (automated teller machine) or ABM (automatic banking machine) or whatever you call it where you're from.

Structurally, in order to handle both the banking functions and managing the GUI, this program is broken into two processes which interract through a pipe. Additionally, in order to solve one problem, i ended up creating an "N-tier" application.

I think there are a lot of good ideas in this project, i certanly learned a lot from it! You can find out more about it here.

xcommsim This program was created to be a very basic computer communications simulator. You have two end-points (a sender and a receiver) and some sort of interface between them. You either type in the data for the sender or indicate a file from which to take the data. When the transfer is taking place you can inject errors into the communications stream.

This was another project that used many of the same ideas from the xatm project. It was a good second similar project to have in order to practice what i did with xatm, and to make sure xatm wasn't just a fluke.

Here is it's project page.

excimer The "excimer" is a minimal system board designed by Motorola around a PowerPC 604e microprocessor. I acquired this board because i was interested in embedded devices and also because i was even more interested in learning assembly languages of processors other than the intel chips. The device came with a couple dozen or more tools from different vendors, all for use with the excimer... all for Windows!

Insteading of taking it the way it was i downloaded gcc sources, created a cross-compiler, and developped a little terminal application for interfacing with the board and for uploading executables to it.

More information here.

xyview When it came time to pick a thesis topic i knew i wanted to find something to do with xlib programming, but i was also hoping to pick up on something different and new. I then found an opportunity to write an application for visualizing 2D data. I decided to use OpenGL to help with the transformations between object and device coordinate systems.

But the project came with a little catch: the two professors who wanted this code wanted to be able to write programs to use the viewer, but they wanted to be able to control the application from the command-line! The challenge was to create an object that could be controlled from a non-GUI type of main() but at the same time react to and process GUI events. My solution was to make use of pthreads.

The project page is located here.

proj2web After creating many of the above projects i wanted to display them online and provide some nice documentation for them. But the best way to provide documentation is to supply plain-text ascii files. But maintaining two sets of documentation files (one for online and one for inclusion in the distribution) was more than i wanted to deal with -- too much maintenance, especially considering that both sets of documentation were documenting the same thing!

I started mulling this over in my head and decided it would be nice if there were a tool which i could use to create one documentation source-base, and the simply "compile" into both an on-line form and a text based form.

In this project i create some scripts which work to create and help maintain a project's documentation. I've added a number of features that i think will appeal to other people in my situation. I hope you find this tool useful!

Click here for more information.


$Id: index.html,v 1.11 2001/02/14 06:15:11 trevor Exp $
Vanessa & Trevor