Purpose
This page serves as a deployment space for easy access to some of my
personal programming projects and tool ports. If you're in search of my
github details,
go here.
Personal Programming Projects
Data Science
Titanic Survivor Analysis
This project is directly inspired by the ongoing Titanic competition at
Kaggle.com. It was my first dive into both R as well as classification
ML, resulting in approximately 79% accuracy for predicting which people
would live and die on the Titanic, resulting in a placement in the top
10% of current participants (~17,000). Keep in mind this project, which
was used for learning, apparently has the "answers" out there somewhere
so the leaderboards for this competition aren't particularly meaningful.
This was a great learning experience nevertheless.
Mathematics
AsciiMath Tool
This tool makes it possible to cleanly produce LaTex-like math formulas
by leveraging two JavaScript libraries: AsciiMath, and MathJax. This
project includes several core features I wrote on top of the base
libraries, including my own responsive version of the asciiMath demo
site, added support for multi-line output, a dark zen editor mode,
ability to comment out lines of formula, animation simulation on a
per-line basis, as well as the ability to directly share links to your
rendered math formulas.
Math Formulas Explained
This project is on-going and highlights in my own words (although I may
reference diagrams where helpful), in-depth analysis of math formulas,
often times specific to data-science (primarily of the statistical
nature). The goal here is to breakdown and truly understand common math
formulas. So in the case of statistics, examples might include RMSE and
Adjusted R-Squared for example.
Linguistics
Kanji Voyager
This tool has been a passion project that I had contemplated for quite
some time. Lovingly handcrafted after countless hours of manual labor,
with the sole purpose of helping Japanese language learners. The goal
was to be able to visually identify any of the 2,136 常用漢字 (jouyou
kanji), particularly in books, even when you don't know how to write nor
pronounce them.
Kanji Radical Explorer
This is a simplified comprehensive representation of all classic Kanji
radicals, based on KanjiAlive's open sourced data. Of special note here
is the content within this table uses a custom font specifically built
to natively render kanji sub-components that don't necessarily get
first-class treatment as standard radicals (but are in fact variants of
standard radicals).
Kana Handwriting
Showcases how handwritten kana characters should look.
Tech
Network Visualizer
This is custom-built network graphing tool based on the vis.js
vis-network library which offers the ability to draw graphs using the
DOT language. I wrote a ton of customization on top, including the
following new functionality: fullscreen mode, fit-to-center, canvas
scaling for high-quality large-scale (bigger than browser) image saving
with white backing, case-insensitive multi-node searching based on
substring, and support for custom DOT network loading. I have also built
and pre-loaded this tool with a (nearly) complete network graph for the
amazing book and tv series:
The Last Kingdom.
Tool Ports
Linguistics
Kanji Reverse Lookup
This is a straight tool port of a highly useful search tool for
reverse-looking up Kanji by their containing parts (radicals in the case
of Wanikani, primitives in the case of Remembering the Kanji by James
Heisig).
Genki Study Resources
This is a straight tool port of a study tool for the Genki book
series.
Tobira Study Resources
This is a straight tool port of a study tool for the Tobira book series.
Tech
Sequence Diagram Editor
This is a straight tool port, brought over with the sole intention of
preserving a working copy, as it's a very helpful diagramming tool for
design work that I use all the time.
Steganography
This is a straight tool port of an old JavaScript-based image
steganography tool. It not only hides data randomly across the image,
but applies encryption before doing so.
Graph Toy
This is a straight tool port with minor modifications for the purposes
of visualizing graph plots for GLSL shader programming.
Pdf.js Viewer
This is a straight tool port (with one feature I created for inverting
colors) that I use for viewing PDF files in the browser so that I can
leverage browser extensions in combination with PDF files.