Knowledge Canvas is a meta-productivity tool meant to make learning and research easier and more organized (screenshots). With Knowledge Canvas, you can import almost any digital resource and treat it as a knowledge-producing entity.
Apache Tika is used to extract text from Knowledge Sources. Once text is extracted, users can feed it into their own Machine Learning pipeline for training and inference.
Users can track their learning and research activity with event-driven logging.
Primary contributor on the TFv2 branch for Machine Learning with TensorFlow: 2nd Edition, published by Manning and written by my mentor and Chief Technology and Innovation Officer (CTIO) at JPL, Chris Mattmann. [The first time my name appeared in a published book!]
Custom CUDA implementations for GPU-accelerated Gibbs sampling. Used in GMM, LDA, NLP, topic modeling, and more. [In collaboration with Tyler Hackett @ UCLA, and Matin Ghavamizadeh @ MIT]
Custom CUDA kernels for running convolutional neural network operations — i.e. convolution and general matrix multiply.
A model for predicting inference time given a set of convolution or general matrix multiply configurations and GPU architecture.
USB-to-PS2 mouse controller for FPGAs written in Verilog. Performs clock division, signal sampling, processing, error checking, and validation. Includes Xilinx Basys 3 target configuration.
A custom built, half-precision FPGA neural network trained to recognize the MNIST data set. Displays the MNIST hand-written digits through a custom VGA controller and shows the predicted number on an onboard 7-segment display.
Ingest and validate EXT2 filesystem images. Performs consistency checks on binary data structures with various levels of indirection.
EXT2 Filesystem Audits — Performs block consistency, i-node allocation consistency, and directory consistency audits on a given EXT2 filesystem summary.