I completed my PhD in Computer Science at the University of Washington in February 2014, and am now a principal engineer at Cray, Inc, where I design data analytics platforms that leverage Cray's HPC technologies. Previously I attended Dartmouth College, where I earned a BA in Mathematics (with a Computer Science minor) in 1999, and an MS in Computer Science in 2001. This page now contains links to papers I've written and information about projects I've worked on. I also occasionally teach computer science courses at the University of Washington. Links to these courses are also posted below.

mike at ringenburg dot org


Teaching

Publications

Copyright notice

  • Journal Articles:
  • Conference and Workshop Papers:
  • Theses:
  • Research

    • Past projects:
      • Approximate Computing, Advisors: Dan Grossman and Luis Ceze This project investigates how we can use approximation in a safe and principled manner in order to save energy. My work focuses on dynamic tools to help programmers investigate the Qualtiy of Result (QoR) impacts of approximation on their code. See my thesis for more details.
      • WASP: Washington Advanced Systems for Programming. Advisor: Dan Grossman As software systems become simultaneously more complex and more integrated into our daily lives, the need to eliminate errors and security vulnerabilities becomes more pronounced. My work on this project aimed to use programming language-based techniques to improve software quality. Some topics we investigated include coordinated data structures, security white-listing, and enforcing strong atomicity guarantees in concurrent programs.
      • Graphics, image & video compression, Advisors: Richard Ladner and Eve Riskin This project involved developing a new embedded video coder, and designing a global bit-allocation algorithm that achieves nearly constant quality across the entire video. We also looked briefly at image compression, animation compression, and 3D mesh compression. See the two DCC 2004 papers listed above for more details.
      • Out-of-core algorithms (my master's thesis). Advisor: Tom Cormen Out-of-core algorithms are algorithms designed to be efficient even when the size of the problem is greater than the size of the computer's main memory. We developed an out-of-core, parallel, high-dimensional vector radix FFT algorithm. We also analyzed our algorithm's complexity, as well as the communication complexity of a previously developed BMMC permutation algorithm that we used as a subroutine of the FFT algorithm. See my master's thesis for details.
      • Using simulated annealing to approximate crossing numbers of complete graphs. Advisor: John Mackey
    • Summer schools:

    mike at ringenburg dot org