Curriculum Vitae (Latin for shit I've done)
Education
- 09/2008 - Present (In progress)
- Doctor of Philosophy (Ph.D.) in Computer Science
University of California, Santa Barbara - 09/2004 - 06/2008
- Bachelor of Science (B.S.) in Computer Science with
Honors
University of California, Santa Barbara
Publications
- Conferences
- Fear the EAR: Discovering and Mitigating
Execution After Redirect Vulnerabilities
(pdf)
Adam Doupé, Bryce Boe, Christopher Kruegel, and Giovanni Vigna
Proceedings of the 18th ACM Conference on Computer and Communications Security (CCS 2011). Chicago, IL, October 2011. - Organizing Large Scale Hacking
Competitions
(pdf)
Nick Childers, Bryce Boe, Lorenzo Cavallaro, Ludovico Cavedon, Marco Cova, Manuel Egele and Giovanni Vigna
Proceedings of the Seventh Conference on Detection of Intrusions and Malware & Vulnerability Assessment (DIMVA 2010). Bonn, Germany, July 2010. - User Interactions in Social Networks and
their Implications
(pdf)
Christo Wilson, Bryce Boe, Alessandra Sala, Krishna P. N. Puttaswamy and Ben Y. Zhao
Proceedings of ACM EuroSys 2009. Nuremberg, Germany, April 2009. - Workshops
- Do Social Networks Improve e-Commerce?: A
Study on Social Marketplaces
(pdf)
Gayatri Swamynathan, Christo Wilson, Bryce Boe, Kevin C. Almeroth and Ben Y. Zhao
Proceedings of First Workshop on Online Social Networks (WOSN 2008). Seattle, WA, August 2008.
Teaching History
- Winter 2012 -- Problem Solving with Computers II (CS24)
- ...to write...
Student Evaluations -- 24 responses (1-5, 1 is best)
Overall evaluation of the TA: 1.3 (cs department average: 1.6)
- 2011-2012 Academic Year -- Computer Science Lead TA
- Participated in the
2011 Lead TA
Institute. Responsible for training first year teaching assistants in
the fall through the CS501 seminar covering topics such as confidence in
the classroom, grading, ethics, and teaching pedagogy. Additionally
responsible for providing TA consulting, and ensuring all new TAs are video
taped and attend a video consultation in the winter quarter. Finally each
quarter I conducted midterm TA evaluations for all the courses.
Notable additions to the TA training program include the addition of a TA pairing program in which students of CS501 had to attend a current TAs laboratory, or discussion section as well as requiring CS501 students to create a Teaching Philosophy statement. - Spring 2011 -- Operating Systems (CS170)
- An upper division course required for both Computer Science and Computer
Engineering majors with 52 students. The projects were similar to when I
taught the class in Spring 2009.
I was responsible for teaching one project oriented section a week and handling half the project grading.
Student Evaluations -- 10 responses (1-5, 1 is best)
Overall evaluation of the TA: 1.4 (cs department average: 1.6)
- 2009-2010 Academic Year -- Computer Science Lead TA
- Participated in the 2011 2009 Lead TA Institute. Responsible for training first year teaching assistants in the fall through the CS501 seminar covering topics such as confidence in the classroom, grading, ethics, and teaching pedagogy. Additionally responsible for providing TA consulting, and ensuring all new TAs are video taped and attend a video consultation in the winter quarter. Finally each quarter I conducted midterm TA evaluations for all the courses. In attempt to make the midterm TA evaluation process more efficient I implemented an online system, taevals, which I launched in the spring quarter.
- Spring 2009 -- Operating Systems (CS170)
- An upper division course required for both Computer Science and Computer
Engineering majors with 42 students. The projects involved writing a user
level shell for Linux, adding real-time processes to the Minix scheduler,
adding a semaphore server (service) to Minix, implementing the core dump
functionality in Minix and finally adding immediate files to Minix's file
system.
As the sole TA, I was responsible for teaching one project oriented section a week, in addition to handling the grading of the projects. Additionally I presented the lecture on memory management.
Student Evaluations -- 32 responses (1-5, 1 is best)
Overall evaluation of the TA: 1.3 (cs department average: 1.8)
- Winter 2009 -- Compilers (CS160)
- An upper division course required for Computer Science majors with 25
students. The projects had the students write a recursive decent parser for
a calculator, followed by a much larger project where the students wrote
a compiler for a language similar to C utilizing the tools flex and bison.
The assembly produced by their compiler was for x86 machines.
I instructed one section a week, and graded 5 projects. During the course I wrote both a simple utility, turnin_helper and a more sophisticated automatic grading utility, auto_grade to reduce the time spent grading. The latter utility was tremendously beneficial to the students as they received immediate feedback for their submitted projects.
Student Evaluations -- 10 responses (1-5, 1 is best)
Overall evaluation of TA: 1.1 (cs department average: 1.9)
Organization
- 2010 Graduate Student Workshop on Computing -- Chair
- Ensured the success of the 2010 GSWC by securing $4000 in funding and delegating tasks where appropriate. Improved organization efficiency by setting up both a HotCRP review service, and by creating a Google Sites page with all organizational information for future GSWC program committees.
- 2009 Graduate Student Workshop on Computing -- Co-Chair
- Secured $3000 in funding for the event as well as participated in the paper review process and other conference organization subtleties.
Awards
- Academic Senate Outstanding Teaching Assistant Award, UCSB, 2010-2011 Academic Year
- Award Info
- Outstanding Computer Science Teaching Assistant Award, College of Engineering -- 2008-2009 Academic Year
- Outstanding CS Teaching Assistant Award, Computer Science Department -- Spring 2009
- Outstanding CS Teaching Assistant Award, Computer Science Department -- Winter 2009
Outreach Activities
- Planned: Summer 2012, Animal Tlatoque
- Animal Tlatoque is a two-week, NSF funded, summer camp targeted towards middle school students that incorporates Latin American Culture, animals and computer science. As the graduate student organizer I will be responsible for refining the scratch-based activities and ensuring the undergraduates' day-to-day preparation.
- November 2011, Programming Competition Teams' Coach
- As the coach for the three UCSB teams competing in the 2011 Southern California Region ACM International Collegiate Programming Contest, I was primarily responsible for ensuring the teams' preparation on the day of the competition. This task involved ensuring they were familiar with the official submission process as well as the process for asking for any needed clarifications. Additionally I was responsible for transporting the majority of the UCSB student participants between Santa Barbara and Riverside for the competition.
- February 2011, FUSE (Family Ultimate Science Exploration) Volunteer
- As a FUSE volunteer, I was tasked with leading the Homemade Speakers activity. In addition to experiment preparation and providing a general overview of the activity, I assisted the three groups of fifteen to twenty middle school students (plus their parents) in the construction of a speaker. I took great delight in observing the students' awe when they first heard music from their paper plate speakers.
Industry Work Experience
- Appfolio -- June 2011 - Sept. 2011
- Assisted in the redesign and re-implementation of the production level network architecture to reduce the application level memory overhead. Positive side affects of such changes resulted in a simpler deployment configuration, and lower network latencies between the client and application server.
- Appfolio -- June 2009 - Sept. 2009
- Improved continuous integration performance through parallelization for the purpose of reducing the time to run the entire test suite.
- Google -- July 2008 - Sept. 2008
- As a Platforms Engineering Intern I worked on writing multi-machine network tests for the autotest framework. This heavily involved core autotest modifications as it was not designed for multi-machine tests.
- VCEL (sold to fotochatter.com) -- Aug. 2005 - Nov. 2006
- Involved in the design and start-up of a first generation mobile social network service. Wrote a custom query based protocol for communication between J2ME enabled phones and the web server.
- WorldViz -- Apr. 2005 - Present
- Hired contractor primarily for web development, and web server maintenance. Also contracted for physical network support, and Microsoft Active Directory and Exchange support, though I loathe supporting Microsoft products.
- Northrop Grumman -- Nov. 2003 - Sept. 2004
- As a Computer Support Intern I helped support Windows 2000 and XP machines, printers, and other general technical problems.
- Henry's Farmers Market -- Sept. 2003 - Jan. 2004
- Paper or plastic?
Open Source Projects
- CRAWL-E (source)
- CRAWL-E is a web crawling framework that seamlessly supports distributed crawling across multiple threads as well as multiple machines. One of the primary advantages of CRAWL-E over other distributed crawlers is its continued use of a single socket to perform many HTTP requests thus drastically reducing the number of TCP handshakes required. I wrote CRAWL-E in order to collect data from both Overstock.com and Facebook when I was working in Professor Ben Zhao's lab. Since that time, I have continued to improve CRAWL-E as issues appear and features are requested.
- Python Reddit API Wrapper (source)
- The Python Reddit API Wrapper (PRAW) is python library that interfaces with the API provided the the social news site Reddit. PRAW has been officially installed over six thousand times and is watched on github by over 150 developers. As the package maintainer and primary developer I regularly monitor Reddit's source code for changes in order to add support for new API functionality when available. I also often communicate with users of PRAW to get a sense of what may be lacking or could use improvement. As a result of such communications I have personally contributed a number of improvements to Reddit's source. These improvements in turn led to improvements in PRAW's source.

