Interests

Applied Generative AI

Generative AI creates new content by learning patterns from existing data. The results are simply derivatives of existing data but can be surprising and appear original. Having accepted AI for what it is, the interesting question is how to apply it to solve problems in novel and meaningful ways.

Logistics as a Problem Domain

Logistics is the backbone of our economy and the foundation of modern life yet the full impact of emerging disruptive technologies has not yet transformed this industry. It's time to rethink and reimagine how we move goods around the country and the globe.

A "How Things Work" Lifestyle

There's a term called a "design pattern". It's a reusable solution to a problem. It turns out that most things in the world match a finite set of patterns...whether it's machines,governments, businesses, or even how people think. There is leverage in learning to recognize these patterns.

Money Supply as a Concept

Very few people understand that all money is debt. The only difference between money and debt is the interest rate. It turns out some monies are better than others and most fiat money has a very high hidden interest rate.

Projects

Symmetric Cryptography

How does symmetric cryptography work? Generate a random shared symmetric key to encrypt and decrypt a message. This is the simplest form of cryptography and is prevalent in modern encryption.

Asymmetric Cryptography

How is asymmetric cryptography different from symmetric cryptography? Use a generated asymmetric public key to encrypt messages that can only be decrypted with the corresponding private key.

Squat Form Analyzer

While you're busy not skipping leg day, this tool will help you analyze your squat form and improve your technique.

Collision Detection Demonstration

A project to demonstrate collision detection and projection in 2D space. Use the arrow keys to add and remove balls and to control the speed of the balls. This was tricky because projection looks into the future. D toggles the collision prediction on and off. HTML, Canvas, and JavaScript.

Basic Snake Game

A simple snake game built with HTML, JavaScript, and CSS. Arrow keys move the snake to eat the apples. The snake grows longer when it eats apples. Uses the Howler.js library for sound effects. r for restart, p for pause, s for start, [ for slower, ] for faster.

Car Headed Snake Game

Basically the same game as the basic snake game but the snake is a car. Uses the same controls as snake but the snake is a car...get it? Oh, and the background is a different color. Getting the car to rotate around the correct axis is a challenge.

Basic Gravity Bouncer

Here we use basic physics to simulate a ball bouncing on a surface. The ball is affected by gravity and friction. The ball can receive energy with arrow keys and the window frame resizes smoothly with the browser window. HTML and JavaScript only.

Sphere Swarm

This simulates a swarm of randomly colored and sized spheres flying around each other and bouncing off screen edges. Originally this was slow with only HTML & JavaScript but is much smoother now using Canavas. R to reset the swarm, P to pause. HTML, Canvas, and JavaScript.

Icon Browser for Font Awesome

Font Awesome is a library of icons that can be used in web projects and is used on this website. This project is a simple browser for finding icons from their large library. Saved me a lot of time.