Timothy Myers














































































Projects and Presentations

Capstone

The Key and Inventory Assistant or KIA is a project that I am creating for the Computer Science Secretary, Ms. Valerie Nash. It will help her keep the assignment of physical keys as well as the assignment of card key groups in a centralized location, as well as making these records easier to locate. The system will also have the ability to add and remove other simple inventory categories at run time. For example, if the department wished to keep an inventory of books, you could add "Books" as a category and begin to add, remove and check-out items that fall under the category of "Books." Later if the department did not want to keep a library, then a user could remove the books category from the system.

The binary link above will not work "out of the box." It requires a database to use and assumes "cscinventory" as the database name.

C and C++ in Unix

Line Editor
While getting my first exposure to programming in C, I wrote a very simple line based text editor which has the ability to pipe the file through to several different Unix commands.

ACM Programming Competition

I have participated for the last two years in the ACM International Collegiate Programming Competition, both times the team that I was a part of captured second place at the TTU competition site, and we came in at least 25th place in the entire Mid-Central Region both years. This experience has greatly helped my ability to work with others as a team, both in getting to know my team-mates and their strengths and weaknessess and in knowing when to just allow my team-mates to work and trust that they will have their part of the work done. The competition has helped me to think quickly about which possible solutions may be workable and which might just be competely unfeasible.

Distributed and Network Centric Computing

Unix Shell
This is a very simple, but functional, command shell that was created to exemplify inter-process communication. It will search the system's path to find the requested executables and will then fork a child process to run that executable. This shell even allows for pipelining commands.

Systems Programming

Systems Programming
The link above will give a gZipped Tar file with scripts, papers, and a presentation over my team's work in Systems Programming. In Systems Programming, Ahmed Almohsoin, Justin Groce, and myself were tasked to work together in order to "marry" a Windows 2008 server and an Ubuntu server. This involved using ntp to keep them synchronized, setting up DNS to broadcast their host names, setting up active directory to allow for users with accounts on the Windows server to login into the Ubuntu server, and setting up an NFS share to allow the users access to their data on both servers. This was mostly successfull, except for the NFS share which even the system administrator was unable to fix.

Operating Systems

Operating System
In operating systems we used the Bochs simulator in order to make small, but functional, operating systems. They did not do much, infact there were only ten "processes" and they were simulated by functions with infinite loops inside them. However at the end of the semester we were able to use pre-emptive multitasking in order to switch our processes on and off the processor in an round-robin fashion.

Database Management Systems

Musical Instrument Inventory
This semester long project involved creating an inventory system for various musical instruments. There are three levels of permissions within the system and it can hold pictures of the instruments being inventoried. I realize that it does not look very pretty, but all of the functionality is there, and that was the primary aim of the project.