(If you’re looking for my  music and theater related activites, try here.)

I’m a Professor-in-Residence in the UC Berkeley EECS Department, one of the best places in the universe to work if you’re in computer science. My affiliations are:

I also teach undergraduate and graduate courses in these areas, I have an irrational interest in the history of computing and retrocomputing, and I have a non-work  life involving music, musical theater, backpacking, scuba, skiing and more.

Teaching Software Engineering

  • I regularly teach CS169 Software Engineering, often with Prof. David Patterson.  Our reinvented version of the course teaches software engineering for Software as a Service (SaaS) using Agile & Extreme Programming techniques and the Rails framework.
  • Twelve weeks of that material are available as free MOOCs (massive open online courses) CS169.1x/CS169.2x at EdX.  Over 100,000 students have enrolled and over 10,000 have received certificates of completion.  This was the first MOOC offered by Berkeley and (before Berkeley became an EdX partner) the first MOOC to launch on Coursera.

Current & recent research projects & papers

Although you can get a list of most of my papers in PDF format, if you’re looking for recent stuff, it’s probably faster to look at the RAD Lab publications list, the Par Lab publications list, or the project-specific pages below. For earlier stuff (Stanford iRoom, Recovery-Oriented Computing, GloMop/Daedalus, NOW) see the under-construction annotated bibliographies of past projects.  Also check my profile on ResearchGate, a service that seems to be getting better all the time.

  • Online education: in addition to being an online instructor, I’m interested in the exciting new research possibilities op
  • SEJITS: Selective, embedded, just-in-time specialization bridges the gap between productivity programming and efficiency programming, taking advantage of the introspection and metaprogramming features of modern scripting languages and providing a novel delivery vehicle for autotuning technology.
  • Cloud computing : investigating the scalability limits, bottlenecks, and developing best practices for development & deployment in Cloud Computing environments.
  • Console log mining: combining text mining techniques with source code analysis to find markers for hard-to-find bugs in the console logs of complex applications.
  • Internet service modeling & understanding via machine learning: using machine learning to simultaneously predict multiple aspects of resource utilization of long-running workloads (joint work with HP Labs) and characterize/identify datacenter performance crises (joint work with Microsoft Research).
  • SCADS: a new data/query model (PIQL) for horizontally-scalable interactive applications that bounds the amount of work any one query must do, allowing its use in latency-sensitive interactive applications, and an elastic storage system (SCADS) controlled by machine learning that supports it.

Recent Alumni

  • Jeffrey Morlan, MS
  • Dr. Michael Armbrust (2012), now postdoc at Google
  • Dr. Shoaib Kamil (2012), now postdoc at MIT
  • Dr. Wei Xu (2010), now Assistant Professor at Tsinghua University
  • Dr. Archana Ganapathi (2011), now at Splunk

Current Advisees

All these students are co-advised with other {Par|AMP} Lab or PI’s.  Undergraduates typically work closely with one or more graduate students (whose names are in parens after the undergrad’s name).