# Projects

## Software

### SynCIPHER Web App

In the process of developing an R Shiny app to make analysis with DECIPHER and SynExtend simpler for end-users. Code is available at https://github.com/ahl27/SYNCIPHER-app, and the end results will be publicly released soon!

I wrote this script to discover more papers similar to what I’m currently reading. It takes as input a collection of PubMed ID’s and search terms, and then traverses the network of citations to find more papers containing the search query. It then uses TF-IDF to convert each paper’s abstract into a vector, and then clusters the result with K-means clustering. I wanted this to run on my iPad, so I used Pythonista, which unfortunately does not have access to most widely used libraries for NLP (such as pandas or scikit-learn). As a result, everything is implemented from scratch, including TF-IDF and K-means.

In the future I’m going to investigate hierarchical clustering methods (ex. UPGMA), using SciBERT for clustering, and having the script search for terms for you (removing the need for initial PubMed IDs to search from).

### Whitespace Interpreter

I’m a big fan of esoteric languages, and one that really caught my eye was Whitespace, a Turing-complete programming language using only whitespace characters (space, tab, and return). I wrote up this interpreter in Python for running Whitespace code, mainly as an exercise for learning how interpreters work. One of the big challenges was that popular text editor programs automatically reformat whitespace characters (ex. tabs to spaces), which immediately ruins Whitespace programs.

## Hardware

### Keyboards

I love building mechanical keyboards (and honestly I have too many at this point). My favorite at the moment is the Qull, a sub-40% keyboard with lots of key combos. Unless mentioned otherwise, all of my keyboards use linear switches (Cherry reds or blacks) and XDA caps (though the Corne is pictured with DSAs that look nicer).

QAZ/Qull

This board uses MT3 caps, with artisan caps from Asymplex!

Helidox Corne

OLKB Preonic

Big Dill Extended v2