I enjoy solving difficult problems while improving my design and programming skills.
Aug 2007 - Present
University of Florida - Survey Research Center
I learned how to develop both desktop and web user interfaces, as well as use both SQL and object-relational mapping, while developing software for managing a call center.
- Created a budget tracking system that determined on a daily basis how close each job was to completion, so budget estimates were available every day instead of just at the end of a fiscal year.
- Improved the efficiency of call monitoring by automatically identifying calls with a high likelihood of mistakes or policy violations.
- Designed and implemented a new attendance system that was both more fair and easier to understand than the previous system.
- Created a tool called geo-dispersion for analyzing social network data in which addresses are available for members of the network. The tool looks up each address in Yahoo Geosearch and calculates a measure of geographic dispersion for each social network.
- Created Egoweb for questionnaire authoring and personal network interviewing. Includes support for skip-logic, visualization, and calculating network measures.
- Created leiningen-run to add a run task to Leiningen, the most popular Clojure build tool. My plugin was the first prototype for the run task that was eventually included in Leiningen itself.
- Contributed several small improvements for Clojure web development tools: hiccup and lein-ring.
- Taught two novice programmers how to solve Tic-Tac-Toe with depth-first search in Clojure.
- Learned about upcoming improvements to the Clojure programming language at the first Clojure conference in Durham, NC.
- Learned about pair programming and test-driven development by shadowing programmers at Hashrocket, in Jacksonville, FL, and by participating in a 'Code Dojo' in Orlando, FL.
- Studied web application development in Rails by attending a series of four full-day workshops taught by Tom Rossi, founder of http://themolehill.com.
- Sought out advice from expert Drupal programmers at Drupal Camp in Orlando, FL.
Graduate research assistant
Aug 2004 - Aug 2007
University of Florida - Nuclear Engineering department
I earned a Masters of Science degree in Nuclear Engineering Sciences while developing software for analyzing radiation measurements.
- Invented a method, based on chi-squared analysis, that reduced stochastic noise in radiation measurements.
- Refined an algorithm for separating overlapping signals and identifying special nuclear materials. Created a GUI for ease-of-use, which is unusual in nuclear engineering.
- Ported Erlisp, an Erlang-style concurrency library for Common Lisp, to work with the Allegro and Carnegie Mellon compilers.
- Worked with Dr. Neuss on a Common Lisp implementation for one of the Computer Language Shootout benchmarks.
- Contributed a patch for the Torque Game Engine to allow projectiles to follow the terrain within a fixed altitude range.
- Wrote computer programs for radiation simulation and nuclear reactor simulation using methods such as Monte Carlo, Gauss-Seidel, and Runge-Kutta.
- Experienced Lisp programmers reviewed my code and taught me how to write simpler, faster, and more concise applications.
- Explored a wide variety of programming languages, including Common Lisp, Fortran, Java, Mathematica, OCaml, Python, R, Ruby, and TK Solver.