Ross Cohen 1262 Fulton St San Francisco, CA 94117 (650) 400-1529 rcohen@snurgle.org Objective Architect or Senior Software Engineering position in OS development, networking, distributed systems, filesystems, application frameworks or something completely different. Education September 1995-May 1999, Carnegie Mellon University (CMU) BS Double Major in Mathematics/Computer Science Work Experience February 2006-Present, Mosuki LLC Architect * Design and implementation of new features * Maintain custom web application framework and Object-Relational Mapper * Database programming, administration and optimization March 2005-February 2006, BitTorrent, Inc. CTO * Hiring and management of engineering team February 2003-October 2003, There, Inc. Senior Software Engineer, Core Engineering team * Features and bugfixing on the servers and client of the 3D world. October 1999-October 2002, Akamai Technologies, Inc. Software Engineer, Linux Kernel team, October 1999-October 2001 * Worked with small team to maintain kernel tree for distributed network of 13,000 servers. * Added linux kernel features for performance, statistics reporting and hardware support, including multi-threaded coredumps and per-connection TCP statistics. * Wrote stable and efficient TCP traffic splitter for testing of new server software, including comparison of HTTP responses between production and test server to check for equivalence. See patents section for more details. * Wrote memory allocator used in several internal projects. * Wrote user-space timer code capable of handling tens of thousands of concurrent outstanding timers. Manager, Linux Kernel Team, October 2001-March 2002 * Interviewed, hired and provided orientation for entirely new 4 person kernel team in 3 physical locations around the country. Tech Lead, Kernel Team, March 2002-October 2002 * Reworked development model to make tracking 3rd party codelines and adding and upgrading externally maintained features significantly easier. Similar to recent quilt software. * Made high level and low level design decisions, including participation in many code reviews. * Tracked current Linux development projects to identify work which was relevant or useful. * Coordinated with other groups to gather requirements and design new features. July 1999-August 1999, Quantum Corporation Software Engineer * Wrote support tools for team working on programmable network storage. Summer 1998, Quantum Corporation Internship * Worked on hard drive simulation and optimization which exploit performance details of modern hard drives and applications. Added drive models and trace replay features to disksim package available at http://www.ece.cmu.edu/~ganger/disksim/ See patent 6,412,042. Summer 1997-1999, Parallel Data Labs, Carnegie Mellon University Undergraduate Programmer * Worked under Professors Garth Gibson and Greg Ganger. Wrote massive parallel FFT implementation as test suite for experimental parallel file system API. * Maintained hard drive and I/O subsystem simulator "disksim". 1995-1997, Computing Services, Carnegie Mellon University Cluster Consultant, Assistant Manager * Assisted in use of various platforms: several forms of UNIX, Windows NT, Mac. Patents "Method and apparatus for testing request-response service using live connection traffic", patent 6,981,180. Describes a method for splitting live web traffic at the TCP level to a test server in order to verify stability, performance and correctness from the IP layer up through the application layer. This is done through passive snooping of the live traffic so end users are completely unaffected. Personal Projects * The Neighborhood Project: Using Craigslist data, define neighborhoods according to popular opinion. Using blobbies. Webpage at http://hood.theory.org/ * Python-Epoll: Drop-in replacement for Python's select module using the more efficient epoll system call. Available at http://sourceforge.net/project/showfiles.php?group_id=163263 * Codeville: Distributed version control system. Supports arbitrary branching and merging between different servers, first class directories, ops: add, rename, delete. Written purely in Python. Webpage at http://codeville.org/ * Restructured Gronk! (mp3 playlist software in perl with a web interface, available at http://www.jwz.org/gronk/) to make the code cleaner and work well with mod_perl. Also integrated with ices/icecast to allow streaming and eliminate pause between tracks. * Wrote simple NAT-aware identd for Linux firewall. Rather than requiring a broken identd to be run on all client machines behind the firewall, it forges a connection from the origin. This allows any identd server to be run on machines behind the firewall. * Wrote ray tracer with 1 other person. Used a cache-coherent intersection storage method and heirarchical bounding volumes. Supported standard primitives such as triangles (using barycentric coordinates), spheres, meshes and bezier patches. Also supported arbitrary linear transformations on objects in the scene graph, CSG and depth of field. * Implemented multi-realm for Kerberos v4 and modified Kerberos PAM module to take advantage of it. * Modified XDM to use Kerberos v4 authentication as a compile option. System Experience Known Well: Linux Some Knowledge: Windows 95/NT, major Unix variants, Mac. Languages Known well: C, Python, SQL Some Knowledge: C++, Scheme, Java, bash, tcsh, Pascal, Perl 5. Tools Experience gcc, make, perforce, cvs, emacs, gdb, tcpdump, ethereal, kerberos, X, apache, lighttpd, mod_perl, mod_python, postgresql, screwdriver