Joe Linoff

Website for my personal projects.


Project maintained by jlinoff Hosted on GitHub Pages — Theme by mattgraham

jlinoff.github.io

Table of Contents

  1. Overview
  2. Grafana Prototyping Enviromment (grape)
  3. Grok
  4. Lock Files
  5. myVault - a user friendly replacement of qspm
  6. Quantum Safe Password Manager (qspm)
  7. PAM - a user friendly replacement of myvault and qspm_
  8. RSA Demo
  9. z-tables

Overview

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.

Grafana Prototyping Environment

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.

Grok

Grep-like tool written in Go that searches for files that match regular expressions using concurrency to improve performance.

Lock Files

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

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.

Quantum Safe Password Manager

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

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.

RSA Demo

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).

z-Tables

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.