mhowison <at> brown (dot) edu
As an Application Scientist, I collaborate on computational projects with life sciences faculty at Brown. These collaborations involve researching and improving bioinformatics methods, algorithms and software, and analyzing their performance, mainly on Next Generation Sequencing data produced by the Illumina sequencers at Brown's Genomics Core facility. Currently, I work with three professors in Ecology and Evolutionary Biology:
In addition, I support scientific applications and develop software utilities, documentation, training materials, and new services that improve the usability and efficiency of Brown's research computing platform. To this end, I am designing and piloting Brown's Certificate Program in High-Performance Computing.
My previous high-performance computing research has included profiling and optimizing parallel I/O, tuning image processing filters for multi-core processors and GPUs, and studying parallelization strategies for petascale visualization algorithms. I have also fabricated mathematical artwork, designed and evaluated visualization tools, and investigated how people use technology to learn about mathematics and science.
I have published in journals and conferences across multiple disciplines (computer science, bioinformatics, and education research) and am the author and maintainer of several open-source software packages.
SeqDB — storage model for Next Generation Sequencing data.
Agalma — automated de novo transcriptome assembly pipeline tailored to paired-end Illumina sequence data.
BioLite — bioinformatics framework in Python/C++ with automated tracking of diagnostics and provenance.
H5Part — high-performenace, parallel I/O library in C for particle physics simulations.
jmEscher — a constrained Delauney triangulation library in Java using adaptive-precision arithmetic for robustness.
WiiKinemathics — WiiRemote-enabled learning tool that uses gesture to teach 5th graders about proportion and ratio.
3D Escher Tiles
For my master's degree, I designed and implemented CAD tools for creating decorative solids that tile 3-space in a regular, isohedral manner. These 3D tilings come in two flavors. The simpler method is to extrude and offset a 2D tiling. These are more like 2.5D tilings:
The second method is to derive true 3D tilings from cubic lattices:
This work involved several interesting algorithmic problems. To create offset 2.5D tilings, I designed an algorithm for cutting Delaunay triangulations by an arbitrary Jordan polygon. I also improved an existing algorithm for Delaunay triangulation (Lawson's incremental algorithm) by tuning its search heuristic to use the inherent symmetry of the tiles, and by applying adaptive-precision arithmetic to solve issues with numerical robustness. While developing these algorithms, I also invented visual debugging methods to overcome the difficulties of inspecting geometric data with standard text-based debuggers.
For full details, see my article in CAD & Applications:
Howison, M., & Sèquin, C.H. (2009). CAD Tools for the Construction of 3D Escher Tiles. Computer-Aided Design and Applications, 6(6), 737-748. doi:10.3722/cadaps.2009.737-748
Or my master's thesis:
Howison, M. (2009). CAD Tools for Creating Space-filling 3D Escher Tiles (Master's thesis). University of California, Berkeley. (No. UCB/EECS-2009-56)