I did a lot of academic research when I was in graduate school. Since then academic research has become more of a hobby, but I've found I can do essentially the same work on applied problems. I've worked on problems in a number of areas, but most focus has been on novel applications of probability theory. Here is a sampling of what I've been up to :

A side project of mine at Carnegie Mellon was to produce a stochastic model of computer hard disks and, under a range of mathematical assumptions, calculate a closed formula for the average access time of the disk. While this problem is rather old the math is surprisingly subtle; many of the first papers made mathematical errors, and it was only by making things much more complicated that people eventually got it right. I wrote a paper, with Yi Zhuang and Mor Harchol-Balter, presenting the first elementary derivation of the correct formula. It was published in the International Journal of Stochastic Analysis, and is available for free here.

Google digitizes a LOT of book. While there, I worked on automatic correction of errors in the digitizations. We used a variant of hidden markov models to guage how likely each group of letters was to be a particular word; the "correct" word is the hidden state, the computer's guess is an observation, and and transition probabilities are known from studying the English language. Since there is sometimes ambiguity about where one word ends and another begins, a traditional hidden markov model isn't enough; I worked out the theoretical details of the variant we used, and did a lot of the implementation and making it scalable.

While at Carnegie Mellon I worked on the Claytronics project. Claytronics is a hypothetical large distributed system made of many miniscule robots. If the robots synchronize their motion, the ensemble resembles a self-reshaping "clay". The hardware for Claytronics doesn't exist yet, but people are already developing algorithms for it.

I developed a resource allocation algorithm which works by assigning each robot a "voltage", and having available resources move down the gradient of this voltage, like charged particles in an electric field - the algorithm was designed with Claytronics in mind, but is completely general. My work introduces a new paradigm for distributed systems; many classic problems can be translated into solving linear systems of equations. My algorithm is actually just a distributed, asynchronous version of the Gauss-Seidel method, a well-known technique for solving linear systems.

I am slowly working on a paper describing how a number of distributed systems problems can be reduced to distributed linear algebra; resource allocation and my algorithm is just one example.

While at the University of Washington, I studied the thermodynamics of DNA replication. The mutation rate in DNA replication is extremely low (i.e. lower than the equilibrium mutation rate by many orders of magnitude), but conventional explanations for the low error rate make no reference to whether a biological system is at equilibrium. Working with professor Hong Qian I showed, using continuous time markov processes, that the conventional explanations are only valid when the cellular environment is far from equilibrium, having a lot of free energy in the form of nucleotide tripohophate molecules. The paper we wrote is available here. Currently I am working on a paper which presents the mechanism we found in a more general context. This is kind of a fun area in that the work can very legitimately be classified as math, physics, biochemistry or biology.

**Computer performance modeling**A side project of mine at Carnegie Mellon was to produce a stochastic model of computer hard disks and, under a range of mathematical assumptions, calculate a closed formula for the average access time of the disk. While this problem is rather old the math is surprisingly subtle; many of the first papers made mathematical errors, and it was only by making things much more complicated that people eventually got it right. I wrote a paper, with Yi Zhuang and Mor Harchol-Balter, presenting the first elementary derivation of the correct formula. It was published in the International Journal of Stochastic Analysis, and is available for free here.

**Statistical text recognition**Google digitizes a LOT of book. While there, I worked on automatic correction of errors in the digitizations. We used a variant of hidden markov models to guage how likely each group of letters was to be a particular word; the "correct" word is the hidden state, the computer's guess is an observation, and and transition probabilities are known from studying the English language. Since there is sometimes ambiguity about where one word ends and another begins, a traditional hidden markov model isn't enough; I worked out the theoretical details of the variant we used, and did a lot of the implementation and making it scalable.

**Large Distributed Systems**While at Carnegie Mellon I worked on the Claytronics project. Claytronics is a hypothetical large distributed system made of many miniscule robots. If the robots synchronize their motion, the ensemble resembles a self-reshaping "clay". The hardware for Claytronics doesn't exist yet, but people are already developing algorithms for it.

I developed a resource allocation algorithm which works by assigning each robot a "voltage", and having available resources move down the gradient of this voltage, like charged particles in an electric field - the algorithm was designed with Claytronics in mind, but is completely general. My work introduces a new paradigm for distributed systems; many classic problems can be translated into solving linear systems of equations. My algorithm is actually just a distributed, asynchronous version of the Gauss-Seidel method, a well-known technique for solving linear systems.

I am slowly working on a paper describing how a number of distributed systems problems can be reduced to distributed linear algebra; resource allocation and my algorithm is just one example.

**DNA replication**While at the University of Washington, I studied the thermodynamics of DNA replication. The mutation rate in DNA replication is extremely low (i.e. lower than the equilibrium mutation rate by many orders of magnitude), but conventional explanations for the low error rate make no reference to whether a biological system is at equilibrium. Working with professor Hong Qian I showed, using continuous time markov processes, that the conventional explanations are only valid when the cellular environment is far from equilibrium, having a lot of free energy in the form of nucleotide tripohophate molecules. The paper we wrote is available here. Currently I am working on a paper which presents the mechanism we found in a more general context. This is kind of a fun area in that the work can very legitimately be classified as math, physics, biochemistry or biology.

**Publications and Talks**- Cady, F., Ashley-Rollman, M., Goldstein, S. and Miller, G. ``Harmonic Functions for Resource Allocation'' (in preparation)
- Cady, F., Zhuang, Y. and Harchol-Balter, M. ``A Stochastic Analysis of Hard Disks'' International Journal of Stochastic Analysis, 2011
- Cady, F. and Qian, H. ``Thermodynamic Analysis of DNA Polymerase Specificity'' Physical Biology, 2009
- Cady, F. and Qian, H. ``A Novel Method for Error Regulation in Biological Systems'' 2008 SIAM Conference on Life Sciences
- Vaughan, D., Armstrong, D., and Cady, F. ``Noise and Blur Removal From Proton %Radiographs With Total Variation Regularization'' 2007 INFORMS International Meeting (July 2007, Rio Grande, Puerto Rico).
- Dalton, L. R. et al. ``Organic electro-optic materials'' Proc. SPIE, 2004, 5621, in press.