My research develops mathematical and algorithmic methods for reliable data storage, distributed systems, and communication. Much of my work draws on coding theory, combinatorics, algorithms, and asymptotic analysis.
Coding and algorithmic techniques for reliable and efficient storage and computation, including Reed--Solomon code repair, distributed storage, coded computation, and private information retrieval.
Reconstruction of sequences from multiple noisy observations, error-correcting and constrained codes for DNA-based data storage, and related combinatorial problems.
Algorithmic and combinatorial problems arising in coding and information theory, with tools including optimization, generating functions, and analytic combinatorics.
For a complete and up-to-date list of publications, please see my Google Scholar profile.