I'm a fifth-year graduate student in Computer Science at Cornell University. I'm interested in programming languages as a medium for human thought, expression and interaction with our existing (and developing) systems.
I previously studied Computer Science and Electrical Engineering at Lafayette College, a small liberal arts college in Pennsylvania.
10th International Conference on emerging Networking EXperiments and Technologies (CoNEXT ’14)
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks (HotNets-XII)
Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM 2010).
Proceedings of the National Conference on Undergraduate Research, 2009.
January 2016 -- Now
Software-Defined Networking has promised to herald a new era of programmable, commoditized networking infrastructure. However, there are still large legacy networks in operation with predefined topologies and policies and limited or non-existent SDN support. Thus, to make the most of their networks, administrators today must figure out how best to combine the flexibility of SDN-enabled edge switches and a rigid, existing forwarding fabric. SpecNetKAT allows users to write policies for a network assuming pervasive SDN capabilities. A compiler then rewrites such policies to work on an immutable fabric and an SDN-enabled edge, while preserving certain user-specified properties.
March 2013 -- September 2014
Modern networks are composed of many devices and must satisfy the needs of many users. Merlin is a project to develop high-level abstractions for programming such networks. The core of Merlin is a program that multiple administrators to control networks composed of heterogenous devices like switches, middleboxes and end-hosts.
February 2012 -- March 2013
A novel architecture for datacenter network management using end hosts to perform the majority of the packet processing work. A component of the Frenetic project.
January -- May 2011
Threaded, concurrent Actors in Ruby using a prototype-based programming style. Makes extensive use of Ruby's metaprogramming abilities