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.
me
email
Twitter @bboe
Google+
Google Scholar
My SSH Public Key
My GPG Public Key
Star Trek Quotes:
"It is possible to commit no errors and still lose. That is not a weakness. That is life." -- Jean-Luc Picard

"Believing oneself to be perfect is often the sign of a delusional mind." -- Data

"Mr. Spock, the women on your planet are logical. That's the only planet in the galaxy that can make that claim." -- James Tiberius Kirk

"Computer, compute to the last digit the value of pi." -- Mr. Spock

"I signed aboard this ship to practice medicine, not to have my atoms scattered back and forth across space by this gadget." -- Dr. Leonard "Bones" McCoy

"The best diplomat that I know is a fully-loaded phaser bank." -- Montgomery "Scotty" Scott

Links

Valid XHTML 1.1 Valid CSS!