Ka-Ping Yee

Berkeley, California, 94703


2007 UC Berkeley: Ph. D. in Computer Science (human-computer interaction and security, minor in education)
1998 U. of Waterloo: B. A. Sc. (Hons.) in Computer Engineering (top student in graduating class)


2008–present Google.org: software engineering for Google's philanthropic initiatives in energy and crisis response
2001–2007 UC Berkeley: research in usability, security, and electronic voting with Marti Hearst and David Wagner
2004 HP Labs: design and development of a virus-safe environment based on the Principle of Least Authority
2003 IBM Research: design and development of improvements to a next-generation e-mail client
2001 Opera Software: design and implementation of user interface enhancements to the Opera Web browser
2000 UC Berkeley: teaching assistant for CS 61A
1998–2000 Industrial Light and Magic: development and support of interactive graphics software used daily in feature film production by a community of expert artists
1997 Xerox PARC: development of a Web-based document services platform
1996 Alias|Wavefront Tokyo: development of 3-D design, animation, and rendering tools (shipped in Alias 8)
1995 U. of Waterloo Math Faculty Computing Facility: network and robotics lab hardware maintenance
1995 Canadian Space Agency: development of the Agency's first Web services and design of a haptic device control protocol
1994 Alias Research: development of new polygonal modelling and 2-D animation tools (shipped in Alias 6)


2002–2004 Recipient, IBM Ph. D. Fellowship
2000 Category Winner, Software Carpentry Open-Source Design Competition
1998 Gold Medal for Academic Achievement, Professional Engineers Ontario
1998 Governor General's Silver Medal
1996 Runner-up, Outstanding Undergraduate Award, Computing Research Association
1994 Member of World Champion Team, ACM International Programming Contest
1993 Gold Medal, International Mathematical Olympiad


I was the principal engineer of the following:

2010 Google Resource Finder: a mapping tool for tracking the status of hospitals and health clinics after the Haiti earthquake and Pakistan floods in 2010
2010 Google Person Finder: a database for locating people affected by natural disasters, based on PFIF (heavily used after the Haiti earthquake in 2010 and Japan earthquake in 2011)
2007 Pvote: small, high-assurance software for voting machines
2005 PFIF: a data model and format for locating people displaced by natural disasters (the prevailing interchange format for Hurricane Katrina survivor data)
2005 scrape.py: a Python library for spidering and scraping web pages
2003 Peephole Displays: an interactive, spatially aware handheld display
2003 SeismoSpin: an interactive visualization of earthquake data in time and space
2001 Fly Enhancer: a public search engine for clusters of binding sites in cis-regulatory DNA in the fly genome
2001 National survivor registry for victims of September 11 terrorist attacks
2001 Flamenco: a series of user interfaces for browsing large collections using faceted metadata
2000 pydoc: the documentation generator and interactive help system for Python
2000 inspect: the Python standard library module for introspecting function/method/class definitions, stack frames, etc.
1999 pyxi: the graphical browser released with the Xanadu hypertext system
1998 Roundup: the issue-tracking system now in daily production use at ILM and other sites
1997 crit.org: a zero-install, browser-independent, public, fine-grained annotation system for the Web (won Engelbart Hypertext Achievement Scholarship)
1996 MINSE: a simple, extensible notation and zero-install, browser-independent display system for mathematics in Web documents
1995 Shodouka: a transformation engine that displays Japanese pages on browsers and systems without font support (won ACM Webbie Prize)


In Print
2011 Ka-Ping Yee, Dieterich Lawson, Dominic König, Dale Zak. The Tablecast data publishing protocol. Proceedings of the Conference on Information Systems for Crisis Response and Management (ISCRAM 2011).
2007 Ka-Ping Yee. Building Reliable Voting Machine Software. Ph. D. dissertation. Technical Report 2007-167, EECS Department, UC Berkeley.
2007 Matt Blaze, Arel Cordero, Sophie Engle, Chris Karlof, Naveen Sastry, Micah Sherr, Till Stegers, Ka-Ping Yee. Source Code Review of the Sequoia Voting System. Commissioned by the California Secretary of State for its Top-to-Bottom Review of Electronic Voting Systems.
2007 Ka-Ping Yee. Extending prerendered-interface voting software to support accessibility and other ballot features. In Proceedings of the USENIX/ACCURATE Electronic Voting Technology Workshop, 2007.
2006 Marc Stiegler, Alan H. Karp, Ka-Ping Yee, Tyler Close, Mark S. Miller. Polaris: Virus-Safe Computing for Windows XP. In Communications of the ACM, September 2006.
2006 Ka-Ping Yee, David Wagner, Marti Hearst, Steven Bellovin. Prerendered User Interfaces for High-Assurance Electronic Voting. In Proceedings of the USENIX/ACCURATE Electronic Voting Technology Workshop, 2006.
2006 Ka-Ping Yee, Kragen Sitaker. Passpet: Convenient Password Management and Phishing Protection. In Proceedings of the Symposium on Usable Privacy and Security, 2006.
2006 Ka-Ping Yee. Firefighters and Engineers. In ACM Interactions, May–June 2006.
2005 Ka-Ping Yee. Guidelines and Strategies for Secure Interaction Design (Chapter 13). In Security and Usability: Designing Secure Systems that People Can Use, edited by Lorrie Faith Cranor, Simson Garfinkel. O'Reilly, 2005.
2004 Marc Stiegler, Alan H. Karp, Ka-Ping Yee, Mark S. Miller. Polaris: Virus Safe Computing for Windows XP. HP Labs Technical Report HPL-2004-221.
2004 Ka-Ping Yee. Aligning Usability and Security. In IEEE Security & Privacy, September 2004.
2004 M. Markstein, R. Zinzen, P. Markstein, Ka-Ping Yee, A. Erives, A. Stathopoulos, M. Levine. A regulatory code for neurogenic gene expression in the Drosophila embryo. In Development 131, 2387–2394, 2004.
2004 Ka-Ping Yee. Two-Handed Interaction on a Tablet Display. In Extended Abstracts of the ACM Conference on Computer-Human Interaction, 2004.
2003 L. Jean Camp, Ka-Ping Yee. Human implications of technology. In Practical Handbook of Internet Computing, edited by M. P. Singh, CRC Press, 2003.
2003 Ka-Ping Yee, Kirsten Swearingen, Kevin Li, Marti Hearst. Faceted Metadata for Image Search and Browsing. In Proceedings of the ACM Conference on Computer-Human Interaction, 2003.
2003 Ka-Ping Yee. Peephole Displays: Pen Interaction on Spatially Aware Handheld Computers. In Proceedings of the ACM Conference on Computer-Human Interaction, 2003.
2003 Mark McKelvin, Ragnhild Nestande, Leticia Valdez, Ka-Ping Yee, Maribeth Back, Steve Harrison. SeismoSpin: a Physical Instrument for Digital Data. In Extended Abstracts of the ACM Conference on Computer-Human Interaction, 2003.
2003 Mark Miller, Ka-Ping Yee, Jonathan Shapiro. Capability Myths Demolished. Technical Report SRL2003-02, Systems Research Laboratory, Johns Hopkins University.
2002 Ka-Ping Yee. CritLink: Advanced Hyperlinks Enable Public Annotation on the Web. Demonstration abstract. ACM Conference on Computer-Supported Co-operative Work, 2002.
2002 Ka-Ping Yee. Zest: Discussion Mapping for Mailing Lists. Demonstration abstract. ACM Conference on Computer-Supported Co-operative Work, 2002.
2002 Ka-Ping Yee. User Interaction Design for Secure Systems (ACM). In Proceedings of the 4th International Conference on Information and Communications Security (Lecture Notes in Computer Science 2513), 278–290, Springer-Verlag, 2002. An extended version of this paper is also available as UC Berkeley CS Technical Report CSD-02-1184.
2002 J. English, M. Hearst, R. Sinha, K. Swearingen, Ka-Ping Yee. Finding the Flow in Web Site Search. In Communications of the ACM, September 2002.
2002 J. English, M. Hearst, R. Sinha, K. Swearingen, Ka-Ping Yee. Hierarchical Faceted Metadata in Site Search Interfaces. In Proceedings of the ACM Conference on Computer-Human Interaction, 2002.
2001 Ka-Ping Yee. Operating an Emergency Information Service. In Communications of the ACM, Dec 2001.
2001 Ka-Ping Yee, D. Fisher, R. Dhamija, M. Hearst. Animated Exploration of Dynamic Graphs with Radial Layout. In Proceedings of the IEEE Symposium on Information Visualization, 2001.
2005 Ka-Ping Yee, Marti Hearst. A Visualization to Facilitate Productive Discussions. Position paper accepted to Beyond Threaded Conversation Workshop at the ACM Conference on Computer-Human Interaction, 2005.
2003 Ka-Ping Yee. Secure Interaction Design and the Principle of Least Authority. Position paper accepted to HCI and Security Workshop at the ACM Conference on Computer-Human Interaction, 2003.
2002 Jennifer English, Marti Hearst, Rashmi Sinha, Kirsten Swearingen, Ka-Ping Yee. Flexible Search and Navigation Using Faceted Metadata.
2000 Ka-Ping Yee. Roundup: An Issue-Tracking System for Knowledge Workers. Category Winner, Software Carpentry Open Source Design Competition.


2009 San Francisco Voting Systems Task Force: Committee Member
2008, 2009 USENIX/ACCURATE Electronic Voting Workshop: Program Committee Member
2007, 2008 Symposium on Usable Privacy and Security: Program Committee Member
2007 California Top-to-Bottom Review of Voting Systems: Source Code Reviewer
2007 Financial Cryptography, Usable Security Workshop: Program Committee Member
2001, 2002 Python Conference: Program Committee Member
2000 Alternative Computer Expo: Special Guest Speaker
2000 Shad Valley Summit: Keynote Speaker
1999 Shad Valley: Program Assistant (Acadia campus)
1992 Shad Valley: Participant (Waterloo campus)
Member, Association for Computing Machinery
2001–present Member, Python Software Foundation
Member, Electronic Frontier Foundation
Member, Free Software Foundation