Dan Barowy is a PhD candidate in the PLASMA Lab at the University of Massachusetts Amherst, supervised by Professor Emery Berger. His research interests are in new language abstractions, end user programming, and new debugging techniques, particularly for spreadsheets and with crowdsourcing. Daniel regularly collaborates with industry researchers, and has ongoing collaborations at Microsoft Research and IBM T.J. Watson. His work has appeared at PL (PLDI and OOPSLA) and HCI (CHI) venues and was selected as a Research Highlight for the June 2016 issue of Communications of the ACM. Daniel’s work on FlashRelate was also awarded PLDI 2015’s top honor for software artifacts, the Distinguished Artifact Award. Nearly all of Daniel’s research is available as open-source software (http://people.cs.umass.edu/~dbarowy).
A little Q & A with Dan:
How did you become interested in CS? Or in your area of study specifically?
I’ve dabbled in programming as long as I can remember, but I did not find my way into CS until after college. One of my hobbies at the time was brewing beer. Like many homebrewers, I wanted to control every aspect of the process, and that required doing a lot of calculations. I thought “a computer should be doing this,” so I set out to write a program to handle the details for me. But the program did not behave the way I expected. To my horror, I found that when I added 0.1 and 0.2 on a computer, the result was not 0.3. At some point, I discovered a paper titled “What Every Computer Scientist Should Know About Floating-Point Arithmetic” by David Goldberg that explained the problem. I had never considered before that the way one represents a number in a computer might affect the way you can use it. After that I was hooked.
What will you bring to Williams Computer Science Department?
The thing that drives all of my research and teaching is the idea that computing should be available to everyone. Computational devices are ubiquitous now. Nearly everyone has a cellphone. But unlocking the power of those machines requires years of dedicated effort studying programming. Such an undertaking is out of reach for most people. I want to enable people to program a computer without all that studying.
Radically simplifying programming tasks usually involves a tradeoff, though: the computer needs to be more autonomous. Much of my work involves trying to infer what you, as a computer user, want to do without having to pester you with all of the details. For example, you might want to transform some data in a spreadsheet. Usually, you have a to write a program to do that. I designed a tool–think of it as a kind of computerized programming buddy–that writes that program for you. All you need to do is to give it examples of what you want. This kind of work requires that we blend programming language research with AI, machine learning, and human interface design. It’s a lot of fun because few people have explored these combinations before.
I hope I can share my enthusiasm about these topics with Williams students. I find that interacting with undergraduates is energizing, because they often pose profound questions that longtime computer scientists unconsciously suppress, like “Is this good?” or “Why do we do this?” Sometimes I don’t have a good answer! Yet these questions are central to my research. Before coming to Williams, I crossed paths with many exceptional Williams CS alums, and their positive sentiments toward the college played an important role in my decision to pursue a career here. I am looking forward to working with students who might want to parlay questions like these into scholarly activities.
What are some of your favorite things?
My wife and I bonded over a shared interest in hiking and backpacking. We hiked the entire Appalachian Trail together after college, and we both love to explore new outdoor places together. She told me that living someplace with mountains was “non-negotiable.” Fortunately, I love mountains too, so the decision to work at Williams was easy to make because it is totally surrounded by mountains.
I also love good bread, and one of the activities I do to relax is baking. People who can bake bread that is both delicious and beautiful really amaze me. It seems that I am only able to accomplish one of those attributes at any given time, despite years of effort. But I will happily eat other people’s beautiful creations.
Finally, I would be remiss if I did not mention that I am an avid coffee drinker.
Are you excited about any specific aspect of living in the Berkshires or working at Williams?
I grew up in small towns. I am attracted to the idea that I can live someplace where people know and greet me when they see me. Nearly everyone I’ve spoken to at Williams says that this is one of the things that they like best about Williamstown. In fact, during my interview at Williams, one of the faculty took me to dinner at The Log, and during this, a number of people stopped by to say hello. It strikes me as a good fit.
Finally, if one has the opportunity to spend their life doing good and important work, I think they have an obligation to do so. The faculty at Williams College thinks broadly about computer science and its impact on the world, and the mission of the college is to instill such values in its students. This fact deeply resonates with me. I am thrilled to be joining the faculty at Williams, because I think that teaching and research are among some of the most important things that a person can do.