Personal Projects

 

Haskell RSA Implementation

Description:
        For the final project of UNM's cs485 course that I took in the Spring 2009 semester, I implemented the RSA encryption algorithm in Haskell. I decided to use Haskell both because I it's conciseness and its infinite-precision Integer type. Below is both the documentation and the source code for the program. I enjoyed leanring about the RSA algorithm and the number theory behind it. I also enjoyed working with Haskell, and it is quickly becoming one of my favorite programming languages... now if I could just figure out Monads (ugh!). They seem quite useful.
Documentation: here
Source: Zip Tar
 

CREWGAL-OAR

Description:
        When I was at Susquehanna I took a class during the Spring 2008 semester called Database Programming. The final project in the class was to create a database management system for a regatta using PHP with a MySQL backend for the database. My partner (Anurodh Joshi) and I created the website that can be found here. You can log into the site with the following username and password, selecting to log in as a participant.
username: mr_trialson@trial.com
password: normalpass
 

 

ALARM CLOCK

Description:
        After taking the course at Susquehanna entitled "Digital Electronics and Microcomputers" I became very interested in the possibilities of things that can be achieved with the use of digital electronics chips. This lead to my taking on a majority of the work for that particular class's group final project. This participation did not quench my thirst. Thus I further pursued a separate project of my own for my own personal enjoyment. With a donation of digital electronics parts from the Physics department at susquehanna, I am presently building an alarm clock. Features of the alarm clock include, snooze button, alarm on/off switch, ability to set both the clock and the alarm. The alarm clock will be powered by 120V wall power. Hopefully this project will be completed by the end of the Spring 2007 semester.
 
Pictures:

click on the above image to enlarge

 

SUDOKU SOLVING C++ PROGRAM

Description:
    This program utilizes a matrix of strings of the possible numbers that a particular cell can have as the actual number that belongs to that cell. The cells of the initial matrix contain a string of length 1 or a string of length 9. The strings of length one are the numbers that the user has inputed for the initial matrix. The cells of strings of length nine contain the string "123456789" which are the nine possibilities that the cell can have as a number. The program begins to eliminate the possibilites due to the rules of the game, eventually getting down to strings, of length one, per cell. Once each cell has a string of length one, the puzzle is solved. I am presently learning Java, and when school comes to an end for the semester I plan on making a GUI for this program using Java. Maybe I'll move on to word Jumbles, or any other puzzles common in most newspapers.

 

DIGITAL ELECTRONICS CLASS PROJECT

Description:
    This is not a personal project of mine, but I worked on this class project quite a bit, and I really liked how everything turned out. What was incorporated into the whole circuit were two microwave motion sensors, a computer, a disco ball (as can be seen in the picture), speakers, a light for the disco ball, and all the circuitry to make everything run properly. The goal of the project was to basically make a "disco corridor". When someone would walk through either end of the corridor he/she would set off a motion sensor that would give power to the disco ball, and an 18 second clip of the Fugees' "Stayin' Alive" would play through speakers in the ceiling. Tripping the motions sensors would make the mouse of a computer click the play button of a program on the computer used to play "Stayin' Alive", which would play through the speakers. The motion sensors would also give power to the disco ball. It turned out that using long wires between two far away bread boards would create fluctations in voltage that the circuit would pick up, thus mal-adjusted laser pointers and photon sensors were used in place of the long wires that were acting as antennas.
 
Pictures:
    This is a picture of the students in my Digital Electronics class that I completed. We are standing in the "Disco Corridor" itself. To the left on the other side of those windows is where class was held, and all the circuitry for the project was kept. I'm in the striped shirt to the right.


click on the above image to enlarge