With the exception of the tours, the earliest projects are listed at the top |
tour |
|
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. |