Compute the frequency distribution of a search term in a series of texts. For example, Arthur Conan Doyle wrote a total of 60 Sherlock Holmes stories, comprised of 54 short stories and 4 longer novels. I wanted to test my own subjective impression that, in many of the stories, Sherlock Holmes' popularity was used as bait to induce the reader to read a story that is essentially not primarily a Sherlock Holmes story. I used the term "Holmes" as a search pattern, since Watson would frequently address him by name, or use his name to describe something that he was doing. My hypothesis is that the frequency distribution of the search pattern "Holmes" is a good proxy for the degree to which a story is or is not truly a Sherlock Holmes story. The results are presented in a manuscript that is available as a vignette and online at <https://barryzee.github.io/Concordance/index.html>.

A template system based on 'AdminLTE3' 
    (<https://adminlte.io/themes/v3/>)
    theme. Comes with default theme that can be easily customized. 
    Developers can upload modified templates on 'Github', and users can 
    easily download templates with 'RStudio' project wizard.
    The key features of the default template include light and dark theme 
    switcher, resizing graphs, synchronizing inputs across sessions, 
    new notification system, fancy progress bars, and card-like flip 
    panels with back sides, as well as various of 'HTML' tool widgets.

Implements S3 classes for storing dates and date-times based on the Jalali calendar. 
    The main design goal of 'shide' is consistency with base R's 'Date' and 'POSIXct'.
    It provide features such as: date-time parsing, formatting and arithmetic.

An exact method for computing the Poisson-Binomial Distribution (PBD). The package provides a function for generating a random sample from the PBD, as well as two distinct approaches for computing the density, distribution, and quantile functions of the PBD. The first method uses direct-convolution, or a dynamic-programming approach which is numerically stable but can be slow for a large input due to its quadratic complexity. The second method is much faster on large inputs thanks to its use of Fast Fourier Transform (FFT) based convolutions. Notably in this case the package uses an exponential shift to practically guarantee the relative accuracy of the computation of an arbitrarily small tail of the PBD -- something that FFT-based methods often struggle with. This ShiftConvolvePoiBin method is described in Peres, Lee and Keich (2020) <arXiv:2004.07429> where it is also shown to be competitive with the fastest implementations for exactly computing the entire Poisson-Binomial distribution.