Website for my personal projects.
These are open source projects that i have developed either in my personal account or in my employers (eSentire) open source account.
This page only contains a subset of the projects i have worked on. I will be adding more as time goes on.
The Grafana prototyping environment is a repository that provides a tool named grape that
enables you to easily create Grafana visualizations using Docker containers to create a Grafana server and
a PostgreSQL database on your laptop that can be saved and used in other environments without having
to install any Grafana or database specific software.
Grep-like tool written in Go that searches for files that match regular expressions using concurrency to improve performance.
A python command line tool name lock_files to lock (encrypt) or unlock (decrypt)
multiple files using the Advanced Encryption Standard (AES) algorithm and a common password.
This version works in python2 and python3 and can be compatible with openssl.
myVault is a user friendly secure records manager that is much easier to use
than qspm, has more features, is customizable and works better on mobile devices.
The quantum safe password manager (qspm) is a single page application (SPA) demonstration
webapp that shows how to build a simple password management system using symmetric key encryption
algorithms that are safe from currently known quantum attacks.
NOTE: see myvault for a user friendly replacement of qspm.
One of the interesting features of this project is the use of the Rust programming language to implement the algorithms that are then converted to WebAssembly for higher performance, secure encryption/decryption operations in the browser.
Another interesting feature is the ability to choose between different algorithms.
Yet another interesting feature is the use of the Github Workflow Actions service to test both the Rust code and the web interface using a headless chrome browser and pyleniumio.
PAM is a user friendly secure records manager that is much easier to
use than myvault and qspm, has more features, is customizable and
works better on mobile devices. It is intended to be the last version
of a password manager that i write.
This roject generates a wheel that contains tools to implement the RSA algorithm to help people understand how key generation, encryption and decryption work at a somewhat detailed level.
It provides tools that allow a user to generate public and private key files using keygen and then uses those files to encrypt and decrypt files. It also provides tools to read and dump the public and private key files.
One interesting feature is that it will encrypt and decrypt text of sizes greater than a single block. Another is that it uses the same key structure as production tools (PKCS#1 and ssh-rsa).
Ever wonder how Standard Normal and Student-t Distribution z-tables are generated?
This program shows how to generate z-tables for Standard Normal Distributions and Student-t Distributions. It also shows how to generate the z-values for specific probabilities from those distributions without using any special libraries.