Information Technology Inventory System

 
Project visual aid

This project was created to help me better understand what technology had been deployed at an agency that had recently hired me. Given that I was in unknown territory, I wanted to create a clientless inventory system that would enable me to document my findings as well as be able to find information on systems by itself.

Although its intention was not to be deployed as a standalone web app, there was no reason to give it a subpar user experience. The interface is completely searchable and entries have sections that show the user what other entries are related to it.

The inventory system utilizes PowerShell to query systems for information such as isntalled software and hardware specifications. The data is stored in a Microsoft SQL database and can be accessed via a web browser after starting the Blazor server application.

 

Seeker

 

Lost a file? Windows search not finding something you need? I know exactly how that feels and is why Seeker was created.

Seeker was originally a project I wrote some years ago, but wanted to get better performance from. So I ported it from WinForms and Python to WPF and C++. The filesystem searching in Seeker has been achieved via C++17 std::filesystem within a Dynamic Link Library and .NET 5 is used for the remaining functionality. This was not the first time I had written a program using multiple languages, but was the first where I created my own DLL to house more performance-minded code.

Seeker includes its own query syntax that is used to express requirements to the search engine. A realtime translation is included on the user interface to help users better understand how their input is being interpretted. The user interface is written in XAML and utilizes the Model-View-ViewModel design pattern.

Project visual aid

Technologies Used

PatchBox

 
Project visual aid

PatchBox is an in-progress audio plugin to host other audio plugins. The goal of this project is to bring complex parallel signal processing and macro control to any Digital Audio Workstation that supports VST3 or Audio Unit formats.

Parallel processing is achieved through the creation of a signal graph where each plugin is a node. The input signal is replicated to each chain, where it is processed independent of the others. The chains terminate at a single, shared output which will playback the affected audio, hence giving the ability to parallel process without the need for additional auxiliary tracks.

In addition to parallel processing, the user is able to control parameters from any of the plugins in the graph by mapping to one of PatchBox's macro controls. This allows for complex effects to be controlled with the turn of a single knob, which can be particularly useful during a live performance.

PatchBox is written in C++ using the JUCE framework and utilizes a Model-View-Controller design pattern.

 

Technologies Used

AVTA PRR Digital Imager

 

PDI was created to aid AVTA's Records Management department with the transition into the age of distributing digital documents for public records requests (PRRs).

The tool utilizes the SHA-512 algorithm for both hashing and signing of files that are to be included in the PRR. To know which files to include and how to organize them, the Records Technician is able to make the desired directory structure within a designated folder using the familiar Windows File Explorer. PDI is able to recreate this structure when imaging removable media and within a ZIP archive. The folder chosen for the staging area is the local AppData folder. This ensures that even if the computer is connected to an enterprise network that utilizes Distributed File System or other network folder redirection, the staging area will be available to the user at all times. However, the staging area location is configurable.

PDI's user interface is written in XAML and utilizes WPF with a Model-View-ViewModel design pattern.

Project visual aid

Technologies Used