To follow the links in this document, view it online at zesty.ca/cv.html
Work
2020–present | Tech For Campaigns: Director of Engineering at a progressive political non-profit, building tech for digital campaigning and voter turnout programs |
2022–present | Climate Clock: Lead Software Engineer on a CircuitPython-based portable LED countdown clock that shows stats and news about climate change |
2019 | Médecins Sans Frontières (Doctors Without Borders): Developed software and hardware for an electronic medical record system for Ebola Treatment Centers, and deployed the system in North Kivu, Democratic Republic of Congo |
2018–2019 | Nafundi: Android Developer on ODK, the open-source mobile data collection tool with 1M+ users worldwide |
2018–2019 | Symmetry Labs: Developer of firmware, control software, and generative animations for massive LED installations |
2017 | Humanitarian OpenStreetMap Team: Developer of Android apps and GIS tools for community open source mapping in Dar es Salaam |
2017 | West Africa Motorcycle Mapping: Designer and builder of software tools and human processes for epidemiological mapping in rural Sierra Leone |
2015–2017 | Wave.com: Full-Stack Engineer building a new mobile money transfer system for East Africa |
2010–2015 | Google Crisis Response: Co-founder of the Crisis Response team, building tools for disaster response and the Ebola crisis in West Africa |
2008–2010 | Google.org: Software Engineer on PowerMeter, an energy efficiency produdct |
2001–2007 | UC Berkeley: Researcher in human-computer interaction, data visualization, computer security, and electronic voting |
1998–2000 | Industrial Light and Magic: Developer and lead maintainer of 3-D paint software used in major feature films by expert artists |
Teaching and internships
2005 | UC Berkeley: Designed and taught UC Berkeley's first Python programming class, CS 9H: Beautiful Code |
2004 | HP Labs: Design and development of a virus-safe environment for Windows |
2003 | IBM Research: Design and development of a next-generation e-mail client |
2002 | UC Berkeley: Graduate instructor for CS 184, Computer Graphics |
2001 | Opera Software: Design and engineering of UI enhancements to the Opera Web browser |
2000 | UC Berkeley: Graduate instructor for CS 61A, Structure and Interpretation of Computer Programs |
1997 | Xerox PARC: Development of a Web-based document services platform |
1996 | Alias|Wavefront Tokyo: Development of new 3-D design, animation, and polygonal modelling tools |
1995 | University of Waterloo: Network and robotics lab hardware maintenance |
1995 | Canadian Space Agency: Development of the Agency's first Web services and a haptic device protocol |
1994 | Alias Research: Development of new 2-D animation and rendering tools |
Education
2007 | UC Berkeley: Ph. D., Computer Science (HCI, security, minor in education) |
1998 | University of Waterloo: B. A. Sc. (Hons.), Computer Engineering (top student in graduating class) |
Projects
Principal or lead engineer of the following:
2014–2019 | Project Buendia: A medical record system for MSF designed for extreme conditions in Ebola clinics |
2013 | RECAP for Chrome: Created a Chrome extension that helps users share and get free access to PACER court documents; now developed by Free Law Project |
2011–2014 | Google Crisis Map: Google's platform for building and publishing maps to help people in natural disasters |
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–2014 | 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: User interfaces for navigating large collections using faceted metadata |
2000 | pydoc: The documentation generator and interactive help system for Python |
2000 | inspect: The Python standard library module for introspection |
1999 | pyxi: The graphical browser for the Xanadu hypertext system |
1998 | Roundup: The issue-tracking system now in daily production use at ILM and other sites |
1997 | crit.org: A browser-independent fine-grained annotation system for the Web |
1996 | MINSE: An extensible notation and rendering system for mathematics in Web documents |
1995 | Shodouka: A transformation engine that displays Japanese Web pages in browsers without font support |
Publications
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. |
Online | |
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. |
Activities
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 |