Notes & Practice Problems

Coding examples to illustrate proficiency

The purpose of this project is to have a single stored repository with solutions to common problems. Although it is meant to capture mostly C++ examples other semi-related examples may exist over time (e.g. Docker, PDF generation, protobuf implementation, etc.).

Microcontrollers

Arduino & ROS2 implementations & supporting 3D prints

This project contains several microcontroller solutions supporting both my openHab home automation project, as well as additional controller/robotics projects. Each controller has the source code, wiring diagrams, and supported 3D design/slice files.

Bubble Dynamics Stress Testing

Structural mass & topology optimization of the benchmark truss using naturally occuring objects

By reducing vehicular structural mass increased payload mass may be allocated. Structural optimization typically minimizes mass while assuming certain deflection and stress constraints. The benchmark optimization problem focuses on the cross-sectional area of each bar in the Ten-Bar truss. Here techniques such as geometric sizing, computational stress analysis, and evolutionary computation are used to determine the optimal topology of randomized Voronoi tessellations.

A Voronoi tessellation is a semi-regular tessellation of polygons such that every polygon, or Voronoi cell contains all points closest to the generating point (Voronoi center). The boundary of a Voronoi cell is constructed from the bisections between each Voronoi center.

In this project a Voronoi tessellation is mathematically generated using Matlab. Then, using geometric sizing, finite element analysis, and genetic algorithms the node structure mass, stress, and deflection are optimized with NASTRAN.

RSA Message Encryption

Number Theory message encryption and decryption

  • Link:
  • Language: C++

Encryption and decryption of messages is used to manage the transfer of sensitive data securely. In the banking industry this is typically implemented (at least partially) using the knowledge that it is difficult for humans/computers to decrypt a product of 2 large primes quickly. The solution has a few functions to represent the Euler Phi function, a binary encoder/decoder, a gcd calculator, and an extended division function to reverse the division algorithm.

Sustainable Living

Website with instructions for sustainable home design

  • Link:
  • Language: Python

The goal of this project is to provide a consolidated list of resources, instructions, and supporting publications that give the reader the power to implement sustainable home resource consumption and automation. The idea of living green is great in theory, but not much is done to help people do it in practice. As my openHab home automation project matures a supporting site with instructions, useful resource links, etc. will be exposed so that others may benefit from my specific implementation of openHab. This will range from home security, sensors (water, temp, motion, etc.), power, etc. to things like irrigation and farming.

IOT

openHab implementation

  • Link:
  • Language: Java
  • Related Topics:

Many smart home solutions available in the market today require a significant up front cost for hardware and a costly monthly subscription. In this project I use openHab with a RaspberryPi as the home automation server to run/manage common smart home devices. A mobile app is also developed to support user interfacing with the automation services.

Fluid Flow

Numerical partial differential equation study of aneurysms

Aneurysms are caused by localized weak blood vessel walls and increases the risk of rupture. Blood vessel rupture is especially dangerous in the brain and heart. There are few physical and mathematical ways to detect and rectify weak vessel walls.

This project will briefly introduce the study of cardiovascular fluids, and discuss current analytical and numerical solutions. The Hagen-Poiseulle profile will be discussed as an example of the difficulties in constructing analytical solutions to hemodynamical problems. Also, the Arbitrary Lagrangian-Eulerian numerical technique will be presented to demonstrate the value of numerical solutions to PDEs. Lastly, a numerical heatmap observation of an anuerysm will be considered.

Supporting material can be found with the project. This includes prerequisite calculus/differential equation notes, and published material on fluid flow.

ML Prediction

Trains and uses machine learning techniques to predict events

  • Link:
  • Language: Python

Machine learning algorithms have made a substaintial impact on the world. This project contains a handful of classifier algorithms trained from external data with a focus on climate prediction.