Ka-Hing Cheung (408) 368 0785 khc@hxbc.us 1525 Clay Street #8, http://hxbc.us/ San Francisco, CA 94109 Summary: Software engineer experienced in Linux application/system programming, with interest in Free Software. Programming Languages: C, C++, Python, Java, Perl, JavaScript Experience with: libevent, GTK2, Swing, HTML, CSS, DOM Work/Free Software Experience: ========================== 2006 - present: Riverbed Technology - Member of Technical Staff Working in the Central Management Console group which develops a central management solution for the Steelhead appliances. Designed and developed a configuration system to inter-operate with appliances running dozens of different versions. Parallelized a computation intensive part of a non-thread-safe code base with a process-based design for better performance. Analyzed and fixed many performance and interactivity problems to make the system more scalable. Rewrote many 1.0 era components to handle more complex needs. Supervised other new hires. 2002 - present: Pidgin Instant Messenger (formerly called Gaim) Developer with commit access. Contributed to many areas including UI, subsystem and protocols. Not very active anymore but still participating in some discussions and contributing some small fixes. 2003 - 2005: Statistical Computing Facility - Computer Assistant Responsibilities include routine system backup, develop and maintain a web-based grading database (JSP/Servlet), other programming tasks (perl, shell scripts), and provide general support to faculties and students Education: ========== 2002 - 2005: University of California, Berkeley Major: Computer Science at College of Letters and Science 1998 - 2002: Milpitas High School Course works: ============= Operating System: Implemented thread scheduler, TCP-like protocol, system calls, virtual memory within the nachos framework (Java) Database: Worked on buffer manager, query processing with PostgreSQL. Implemented SQL web-frontend using PHP. (Mostly C) Networking: Implemented a P2P file transfer system with searching (C) Compiler: Worked on a x86 compiler for a Java-like language (Java) Distributed Networking: Implemented RMI through XML-RPC, distributed locking protocol, distributed auction system (Java) Computer Security: Designed and implemented a secure instant messaging protocol (Java) Theory classes: Efficient algorithm and Intractable Problems (Introduction to CS theory) Combinatorics and Discrete Probability