Don Hsi-Yun Yang


    Work Experience    

2005 - 2023

Google (www.google.com): Software Engineer
Datacenter Software team.

  • Reduced total cost of ownership of datacenters (2005 - 2023).
  • Created and maintained dashboards for code change and review stats (2009 - 2023).
  • Created and maintained tool for tracking office moves (2010 - 2023).
  • Maintained internal code golf contest (2016 - 2023).
  • Maintained cpplint (2007 - 2023).
  • Member of the C++ readability team (2007 - 2016).
  • Patents: US11288440B1, US8725862B1, US8700997B1, US8510342B1, US8327330B1, US8311953B1, US8504984B1

2003 - 2005

BitRaker: Software Engineer
Creating library to process and patch ARM and Thumb binaries, instrumenting ELF executables for static and runtime analysis. Intimate knowledge of assembly and runtime libraries for ARM and Thumb architectures.

  • Instrument binaries at instruction level.
    • Return detailed information for static analysis.
      • Debug symbols.
      • Register input/output dependencies.
      • Memory addressing mode.
      • Callgraph data.
    • Feedback register and memory information to analysis code during runtime.
      • Effective addresses.
      • Predicate state.
      • Arbitrary user-supplied data.
  • Creating an environment for analysis.
    • Design and implement customizable emulation cores.
    • Transition between original code and analysis code.
    • Transition between simulation and host environments.
    • Real time control over analysis code through sockets.
    • Maintain portability between Windows and Linux environments.
  • Modifying execution behavior.
    • Relocating runtime heap and stack.
  • Create customized development tools for automation.
    • Automated test environments.
    • Strong encryption/decryption of analysis data.
    • License protection.

Co-author of patent: System and method of analyzing interpreted programs

2001 - 2003

Entropia: Software Engineer
Creating and maintaining low-level (NT Native API) code to extend Windows kernel functionalities, to provide safe and secure execution environment for applications. Extensive experience in Windows file system. Knowledge of grid computing platform and applications.

  • Intercepting and modifying behavior of various file / registry / memory / winsock / GUI API functions.
    • Provide transparent file encryption / isolation.
    • Registry isolation / hide existing keys / emulate missing keys.
    • Swap file isolation / pagefault management.
    • GUI hiding / capturing.
    • Blocking network access.
    • Making all product features configurable.
  • Debug and modify application behavior at binary level, without source code.
    • Trace / capture program behavior.
    • Modify program execution paths.
    • Dynamically control application environment.
  • Compensate for functional and behavioral differences between different versions and releases of Windows.
    • Address space / handle management differences.
    • Error handling / recovery.
    • Undocumented APIs such as CreateProcessInternalW.
  • Windows / Linux intergration
    • Created NFS server for file sharing.
    • Customizing VMware GSX server / Connectix VirtualServer for automated management.
  • Create customized development tools to automate testing and build process.

2000 - 2001

Professor Kube (UCSD CS department): Proctor for CSE 11 / 12 / 100
Answer students' questions about assignments, courses, and often the curriculum in general. Also responsible for grading exams and assignments.

  • Grade exams / assignments.
  • Resolve ambiguities in course assignments.
  • Guide students to proper engineering practices.


Professor Nelson (3D ultrasound imaging group): Software Engineer
Creating tools to examine and visualize animated 3D volume data in real time, for high-end PCs with OpenGL and specialized hardware.

  • Load / save standardized volume formats.
  • Implement / optimize 3D filters.
  • Organize interface widgets for functional use.
  • Optimize for responsiveness and memory usage.

1998 - 2001

IST Diving Equipment: Webmaster
Maintaining online catalog for a multi-national sport equipments company, creating automated management tools.



Experienced in creating and implementing clean, elegant programs and solutions in an efficient manner. Work well under time and resource constraints, and able to learn the latest technologies and protocols in minimum amount of time. Also capable of maintaining poorly written code.

  • Prefers C++, but has done work in Assembly (x86/ARM), Perl, Python, Ruby, and various other languages.
  • Prefers VIM, but also familiar with ed.
  • Has experience developing for Linux and Windows.

Fluent in English, Mandarin Chinese, and Japanese.

    Programming Contests    

2001-2023 ICFP Programming Contest
2000-2020 International Obfuscated C Coding Contest - best layout (2000), best utility (2004), best of show (2011), most surreptitious (2012), most catty (2013), best choice of optimization (2014), most pointed reaction (2015), most shifty (2018), most in need of transparency (2019), best abuse of CPP (2020)
2015 Transcendental Ruby Imbroglio Contest for rubyKaigi - most illusionistic (2015), most solvable (2018), most playable (2022)
2001 ACM International Collegiate Programming Contest (World Finals)
1999-2000 ACM Regional Programming Contest - 16th place (1999), 2nd place (2000)
1999-2000 UCSD Programming Contest - 1st place (1999), 8th place (2000)
1997 ENIX Game Contest II


  University of California at San Diego
Degree: Bachelor of Science
Honors: Cum Laude graduate, Provost's Honors (all quarters)