This library describes the Pushbullet API as a type and provides functions created with Servant to call the API. It also provides some miscellaneous functions for dealing with particulars of the Pushbullet API, such as pagination of results.

This library depends on another one I wrote which simply describes the types of objects returned by the Pushbullet API.

Ultimately, the reason I wrote these libraries was to write tpb, an application to interact with the Pushbullet API on the command-line. On top of this application, I wrote a number of scripts for sending and receiving SMS on the command-line.

This is my first published Haskell library. It implements Servant combinators to represent routes that are meant to service GitHub webhooks. These combinators provide routing based on webhook type and automatic verification of GitHub digital signatures.

Vent over Tea

Publications

The Great Migration and African-American genomic diversity

In 2014 as a research assistant in the lab of Simon Gravel, I contributed to tracts, which is a tool for modelling local ancestry patterns along the genome. Simply put, given a model of migration and the ancestry proportions of individuals in a present population, tracts evaluates the likelihood of the migration described by that model having occurred.

Tracts had an issue when presented with large populations that would arise due to an averaging of the present population’s ancestry proportions. I resolved this by implementing a new demographic model in tracts that performs a model evaluation on multiple subpopulations and combines the results of those evaluations. By splitting the population in this way, tracts can avoid discarding the information given by the variance in the present population’s ancestry proportions.