Welcome to my website. This site serves the dual roles of permitting me to present my projects to others, and further, merely as a way for me to organize my life.

I hail from Chapel Hill, North Carolina, actually a small town next to Chapel Hill called Carrboro which you probably haven't heard of. I received a B.A. in Psychology from the University of Maryland in December, 1997, focusing on biopsychology and other neuro-related aspects of Psychology. After graduating I worked as a Mac programmer for The Institute for Genomic Research and soon thereafter moved to New Mexico to pursue a PhD in Computer Science. I completed an M.S. in 2003 and a PhD in July, 2006. I currently live and work in Seattle.

I am interested in several areas of computer science. First, I am fascinated by artificial life, genetic algorithms, emergent behavior, collective behavior, distributed agents, evolutionary simulations, and behavioral robotics. Second, I am interested in is image processing, frequency domain processing (Fourier and wavelets), and CCD image acquisition and processing. Third, I am interested in computer-assisted art software and efficient human computer interfaces, both of which were the subject of my PhD research. Fourth, my career has covered massively distributed processing with tools such as Hadoop, and then later veered into more general data science as I traverse the employment landscape.

My PhD research focused on the intersection of my artistic and computer programming interests. My research develops a new kind of vector drawing program, like Adobe Illustrator or CorelDraw. My program however, called Druid, makes it easy to construct and manipulate images of interwoven surfaces. Celtic knots are a common example, but Druid can represent any arrangement of surfaces, only a subset of which are knots. It is traditionally very difficult to construct images of interwoven surfaces with conventional drawing programs because they represent surfaces in distinct layers which prevent interweaving. In addition to being capable of naturally representing interwoven surfaces, Druid also provides an extremely efficient user interface for working with any scene of surfaces, including, clearly, scenes of interwoven surfaces.

I am an avid, if not prolific, artist. I have been known to draw in copious quantities, paint a little bit, render 3D computer images, and do a little photography. From a musical perspective, I play piano, and write both electronic and piano music. Of the pen I have dabbled in poetry and have written a number full novels...to various degrees of completion. I hike quite a bit, backpack some, travel when I can. I like to build things. I like to tinker with microelectronics, and then program them, and then collect data with them. Heck, I've done lots of stuff, as exploring this website will attest.

Cheers!