My Work

I have completed various projects and update this page regularly as projects are finished. Some projects are hosted here, while others are hosted on my GitHub account.

  • All

    Tic-Tac-Toe App

    This project is an Android App programmed in Java that offers three variants of Tic-Tac-Toe -- Numerical, Wild, and Notacto. The app implements certain features such as saving progression on closing the app, multiple activities, and intents. This project was solely developed by Ethan McCrary and Tanner Jones.

    Order and Chaos App

    This project is an Android App that allows the users to play a variant of Tic-Tac-Toe called Order and Chaos. The game consists of a 5x5 gameboard in which the players can choose whether to place an X or an O. One player, Order, attempts to keep the other player, Chaos, from getting five in a row of either Xs or Os. This app implements features of Android such as intents, webviews, and Google Flexbox. This app was created completely by Ethan McCrary.

    Meal Planner App

    This project is an Android app connected to an API. It allows the user to search through the API using a comfortable user interface to add meals to a meal plan. Nutrient facts are comipled together to give the user an idea as to how their meals will stack up. This app was developed by myself and Tanner Jones.

    Simon Says App

    This Android app is a recreation of the original Simon Says handheld game. It is complete with minigames and an accurate scoring system. This app was developed by myself and Tanner Jones.

    Weather App

    This app is a small weather app that connects and downloads information from the OpenWeatherMap API. This information is displayed not only in-app, but also on the home screen of the device on a widget if the user so chooses. The widget is resizable and repositionable. This app was developed by myself and Tanner Jones.

    Text-Based Word-Cloud Generator

    The user has the option to sort the word cloud alphabetically or by the number of times a word appears throughout the text. Once the user has gone through the proper motions, any .txt file can be used to generate an HTML file containing every word (unless the user chose to filter stopwords) in the file ordered by their preference.

    GnuPlot with C++

    This program allows the user to input values that define several different curve stitchings. The user can choose to draw an Epicycloid, Hypotrochoid, Butterfly Curve, and more.

    SVG Shape Generator in C++

    This program allows the user to input values that define a mural of shapes. The user can define the mural to be circles, triangles, squares, stars or a combination of all of these. The user can define the size of the image as well as how many shapes will appear.

    Survival Builder App in C#

    This application allows the user to save and load games, create and delete characters, collect resources, and more. This game is programmed in C# on a WPF platform. It utilizes serialization, multithreading, and more.

    First Presbyterian Church of Clarksville, TN

    During my time working for FPC as an information technology specialist, I was given the opportunity to completely redesign the FPC website. I utilized PHP, HTML, CSS, JavaScript/JQuery to create a modern, sleek user interface.

    DevDiscussion.org

    As a small side project, I developed a website named DevDiscussion.org. It was meant to be a forum where developers could congregate and converse about problems or questions, similar to stackoverflow.com. The site is no longer functioning, but the website featured user accounts/profiles, creating/deleting posts, commenting, and more. I utilized PHP and SQL to manage backend features, while I designed the layout with HTML, Materialize CSS, and JavaScript/JQuery.

    Analysis of MyDoom.A

    Discussed in this paper are several types of analysis done with MyDoom.A. The analysis consisted of three parts: static, dynamic, and code analysis. For static analysis, a live copy of the MyDoom.A virus was taken. From there, hash values were checked and the executable was analyzed using hex editors. In dynamic analysis, MyDoom.A was ran in a virtual environment. From this, accessed files and generated processes were observed. For code analysis, the source code of myDoom.A was analyzed and several key functions used to initiate MyDoom.A's attacks were recorded. This project is a demonstration of the skills and techniques that were acquired in studying malware analysis.

    Micro-Benchmarking Algorithmic Sorting

    We created micro-benchmarking utilities for each test language: C++, Java, and Python, the three highest rated programming languages according to the TIOBE index. The utility was used to analyze each language’s ability to efficiently and quickly execute hard-coded sorting algorithms.
  • Java

    Tic-Tac-Toe App

    This project is an Android App programmed in Java that offers three variants of Tic-Tac-Toe -- Numerical, Wild, and Notacto. The app implements certain features such as saving progression on closing the app, multiple activities, and intents. This project was solely developed by Ethan McCrary and Tanner Jones.

    Order and Chaos App

    This project is an Android App that allows the users to play a variant of Tic-Tac-Toe called Order and Chaos. The game consists of a 5x5 gameboard in which the players can choose whether to place an X or an O. One player, Order, attempts to keep the other player, Chaos, from getting five in a row of either Xs or Os. This app implements features of Android such as intents, webviews, and Google Flexbox. This app was created completely by Ethan McCrary.

    Meal Planner App

    This project is an Android app connected to an API. It allows the user to search through the API using a comfortable user interface to add meals to a meal plan. Nutrient facts are comipled together to give the user an idea as to how their meals will stack up. This app was developed by myself and Tanner Jones.

    Simon Says App

    This Android app is a recreation of the original Simon Says handheld game. It is complete with minigames and an accurate scoring system. This app was developed by myself and Tanner Jones.

    Weather App

    This app is a small weather app that connects and downloads information from the OpenWeatherMap API. This information is displayed not only in-app, but also on the home screen of the device on a widget if the user so chooses. The widget is resizable and repositionable. This app was developed by myself and Tanner Jones.
  • C++

    Text-Based Word-Cloud Generator

    The user has the option to sort the word cloud alphabetically or by the number of times a word appears throughout the text. Once the user has gone through the proper motions, any .txt file can be used to generate an HTML file containing every word (unless the user chose to filter stopwords) in the file ordered by their preference.

    GnuPlot with C++

    This program allows the user to input values that define several different curve stitchings. The user can choose to draw an Epicycloid, Hypotrochoid, Butterfly Curve, and more.

    SVG Shape Generator in C++

    This program allows the user to input values that define a mural of shapes. The user can define the mural to be circles, triangles, squares, stars or a combination of all of these. The user can define the size of the image as well as how many shapes will appear.
  • C#

    Survival Builder App in C#

    This application allows the user to save and load games, create and delete characters, collect resources, and more. This game is programmed in C# on a WPF platform. It utilizes serialization, multithreading, and more.
  • PHP

    First Presbyterian Church of Clarksville, TN

    During my time working for FPC as an information technology specialist, I was given the opportunity to completely redesign the FPC website. I utilized PHP, HTML, CSS, JavaScript/JQuery to create a modern, sleek user interface.

    DevDiscussion.org

    As a small side project, I developed a website named DevDiscussion.org. It was meant to be a forum where developers could congregate and converse about problems or questions, similar to stackoverflow.com. The site is no longer functioning, but the website featured user accounts/profiles, creating/deleting posts, commenting, and more. I utilized PHP and SQL to manage backend features, while I designed the layout with HTML, Materialize CSS, and JavaScript/JQuery.
  • MISC

    Analysis of MyDoom.A

    Discussed in this paper are several types of analysis done with MyDoom.A. The analysis consisted of three parts: static, dynamic, and code analysis. For static analysis, a live copy of the MyDoom.A virus was taken. From there, hash values were checked and the executable was analyzed using hex editors. In dynamic analysis, MyDoom.A was ran in a virtual environment. From this, accessed files and generated processes were observed. For code analysis, the source code of myDoom.A was analyzed and several key functions used to initiate MyDoom.A's attacks were recorded. This project is a demonstration of the skills and techniques that were acquired in studying malware analysis.

    Micro-Benchmarking Algorithmic Sorting

    We created micro-benchmarking utilities for each test language: C++, Java, and Python, the three highest rated programming languages according to the TIOBE index. The utility was used to analyze each language’s ability to efficiently and quickly execute hard-coded sorting algorithms.