What have I done?

Keep in mind, these are just some of the more noteworthy projects.

More work history can be found on my Linkedin portfolio - links to which are located in the page footer. I have the ability to produce working demos with some of my larger projects that are not under licensing/NDA restrictions.

TechGroove CMS

Custom Content Management System

I am one of the founders of TechGroove.Net and as such have taken on a large role in the production of our custom CMS. What has been designed so far?

  • Media Ingestion - Image uploading (drag n' drop) and automatic resizing, tagging, descriptions, etc.
  • Article Creation - Fully featured, including multi-author editing, edit-locking, categorization, featured image selection, tagging, Search Engine Optimization tags and Publication status (Draft, Pending Review, Published)
  • Discussion System - Authors, editors and other users have the ability to private message in groups or one-to-one
  • Media/Article Viewing - Fully featured, sorting and paginated listings...Media thumbnails are shown in the gallery
  • User Settings - This includes First and Last name, password changes, featured image info, timezone and dashboard widget options.
  • Permission System - Apply restrictions upon particular users ensuring a secure and controlled environment. This can be managed by administrators within the CMS.

At this time our custom CMS goes unused at TechGroove.Net. The CMS back-end development can be demonstrated to interested parties upon contact. Check out a few screengrabs: [Article List Featuring Post-Lock] [Create Article Page] [Media Library Page]


Build, Launch, Utilize and Educate - CubeSat for Middle/High School

CubeSats are small satellites used for research, and provide students and educators an opportunity for hands-on scientific and engineering experiences. BLUECUBE Aerospace helps to make this opportunity a reality. [a]

My primary objective in the development of the BLUECUBE involves engineering scripts to interface with the emulator kit and the client's terminal. The terminal can be a smartphone, tablet, PC, Mac or all of the above. This is due to another portion of the project I have developed ‒ Web interface that is friendly to interact with for Middle/High school students.

[a] Extracted from BLUECUBE AEROSPACE LLC.

JAVA University Assignments

Fall 2016 - COP4710 (Data Modeling w/ Dr. Behrooz Seyed-Abbassi)

Throughout the course, we expanded our knowledge and foundational understanding of Relational Databases and how they can be engineered.

As a semester capstone project, we were assigned into groups with a period of nearly 3 weeks to build a modified SQL Parser which also formats the returned information into an XML file. We decided to build our Parser using a Finite State Machine, in order to manually handle every situation possible. Utilizing loops and recursion, we managed to meet the deadline with no obvious issues. Source code and documentation can be found at my GitHub account.

NOTE: Documentation and conceptual drawings are located here, while additional information on the project specifications can be found here.

My involvement in the project primarily included, but was not solely limited to:

  • Engineering/Refining the Parser concept designs
  • Quality control testing the Parser's state machine
  • Building the menu system
  • Engineering the methods used within the SQLParser Class
  • Debugging interaction between the SQLParser and the XMLFormat class
  • Quality Control for final testing phases
  • Generating instructional portions of the documentation

Fall 2016 - COP4620 (Compilers w/ Dr. Roger Eggen)

During the compilers course, we were assigned 4 projects that I chose to write in Java. The goal was to reinforce an understanding of the procedures that a compiler follows and how it works. Project 1 - 4 are listed in chronological order. Project 3 and 4 were built individually separate, but are dependant on Project's 1 and 2.

  • Lexical Analyzer - Read in a file passed as a command argument, recognize special symbols, identifiers, etc. and generate a list of tokens to be passed to the Parser.

  • LL(1) Parser - Given a grammar, we were required to remove left recursion, generate first and follow sets to produce an LL(1) parsable grammar. The parser analyzes a list of tokens and determines if the passed file is syntactically correct.

  • Semantic Analyzer - Additional to Project 1 & 2. Verifies that the tokens are semantically correct, eg: correct number of arguments and types in a function call/array index can only be an integer.

  • Code Generation (Quadruples) - Additional to Project 1 & 2. Produces intermediate code in a quadruple format (Operator, Operand1, Operand2, and Result) for the file that was originally passed.

Spring 2016 - COP3530 (Data Structures) Assignments

Throughout the course of the semester we received a number of assignments to help build our knowledge of Data Structures, tree algorithms, linked lists and sort procedures. Among these assignments were the following:

  • Huffman Tree Project - The primary purpose of this project was to read in a test file and build a Huffman Tree based upon the given information. Later we would use this information to re-encode the file based upon this Huffman Tree. We realized the importance of this type of data structure as it could be used as a form of data compression.

  • Knapsack Problem (Recursion) - The primary purpose of this project was to re-enforce an understanding of recursion while solving the infamous "Knapsack Problem." The problem in question determines each possible combination of items, based upon weight, that can be carried by a knapsack with a given maximum weight rating.

Fall 2015 - COP3503 (Computer Science II) Assignments

Throughout the course of the semester we received a number of assignments to help build our knowledge of Object Oriented Programming. Among these assignments were the following:

  • JavaFX Drawing Custom Panes - Developed (non-updating) 2D clock, a hangman pane as well as some odd shapes.
    • Hangman Pane - Implemented functions to draw each element of the man piece-by-piece, just as the game.
    • Clock Pane - The clock did not update after loaded, although the functions were implemented to do so down the road.

  • JavaFX Graphical User Interface - Using custom panes, extended classes and action event handlers. This includes loading external media, text editing and window/pane manipulation.
    • Bouncing Rectangle - The only pane that should be necessary to describe is the Bouncing Rectangle. It involves a red rectangle bouncing around the screen changing directions when it hits the edge appropriately. The slider underneath controls the speed at which it moves.
    • Up/Down Buttons - Control the text manipulated, “Brandon White”, on the left-hand side of the screen .

Author Discussions

WordPress Plugin. Designed for Author Communications

Fully developed a plugin for WordPress designed to help authors and editors, etc. communicate inside of the panel. This was actually my first custom WordPress plugin as well.

"Author Discussions" allows authors, editors and administrators to communicate within the dashboard. Administrators are able to grant which roles are granted access in the settings page. The users will be allowed to communicate with each other using the built in WYSIWYG editor (TinyMCE). Users are then able to communicate with their team without needing any external services.