Resume Skills

Software Projects

These are a collection of software projects that I have contributed to which I feel are a good representation of the depth and breadth of my programming capabilities. Some of them are personal projects of my own and others are group projects.

Below you will find a brief description of each project and a copy of the source code to the project if available. Additional software dependencies required in order to compile and run the provided source code are listed as well.

 
Simple UNIX Shell

This is a basic UNIX command shell. It supports the assignment and interpolation of both local and environment variables, input/output redirection, pipes, backticked strings, single as well as double quoted strings, changing directories, and execution of commands. The syntax is based on that of the Bourne Again Shell (BASH) and is defined using lex and yacc. The project is written in C and was developed under Solaris and Linux.

Software Dependencies: Yacc and Lex (Solaris yacc/lex, BSD yacc, GNU Bison, and GNU Flex are known to work).

Jungle Simulation

This was a group project that I worked on with 3 other students. The project includes a multithreaded server which acts as the 'Jungle' and several autonomous clients which act as the 'animals'. The client and server communicate via Sun RPC. Clients can use RPCs to query the server for information and to take actions (move around the world, eat grass, eat other animals, etc.) I was personally responsible for development of the display and main threads of the server. The display thread give the server user a visualization of the jungle world. It uses the Evas 1 graphics library which supports several rendering backends such as Xlib, Imlib 2, and OpenGL. Event handling is abstracted using the ECore library. The project is written in C and was developed under Linux.

Software Dependencies: Evas 1 (with a combination of either Xlib, Imlib 2, or OpenGL libraries), Ecore (>= 0.0.2), Sun RPC compliant facilities (properly mapped via portmap).

Read-only EXT2 Filesystem Library

This is the start of a library for the read-only access of a file image of an EXT2 filesystem. It is currently only capable of reading in the super block, group descriptors, and directory entries of the filesystem. This project is written in C and was developed under Linux and Solaris.

*References Available Upon Request