Francis Chang
chang.francis@gmail.com • http://www.francischang.com
My professional goal is to research and develop the next generation software technologies for virtual worlds, multimedia streaming, distributed computing systems, mobile platforms and new user interface paradigms.
· Dissertation: “Towards Constructing Interactive Virtual Worlds”, 2014. Advisor: Dr. Wu-chi Feng
· Research involvement: multimedia visualization of 3D environments, network traffic analysis, packet classification algorithms, network processors and digital video analysis.
· Designed and instructed CS 199: Introduction to Video Game Development – an undergraduate course to teach non-CS majors basic video game development principles including computer programming, 3D modelling and animation and simulated physics using Second Life as a game development platform.
· Designed and instructed OMSE 510: Computing Foundations – a graduate level course teaching the fundamentals of computer architecture and operating systems.
· Instructed CS 510: Malicious Code and Forensics – a graduate level course focusing on techniques and examples of malicious code as well as forensic analysis of techniques and protection and recovery from malware.
· Recipient of the Outstanding Graduate Student award.
· Member of the PSU Brazilian Jiu-Jitsu and PSU Kickboxing clubs.
· Instructed CSE506/606 NWP: Network Practicum – a graduate level course in network processor development, focusing on the Intel IXP1200 platform. Received a class rating of 4.7/5.0, the second highest for an instructor teaching that quarter.
· Teaching Assistant: CSE58x: Network Practicum – Tasks involved creating assignment curriculum, lecturing, grading, assisting students and lab administration.
· Teaching Assistant: CSE513: Introduction to Operating Systems – Created the assignment curriculum, marking, conducting tutorials and general instruction in NACHOS operating system
· Recruiting, interviewing and management of undergraduate interns in SySL
· Undergraduate research work with real-time volumetric rendering in the Computer Graphics Lab under Dr. Michael McCool.
· Vice President of the Archery Club & Member of the Badminton Club
· Received various high school scholarships & awards
· Extracurricular work involved porting ssh to win32, development of portable 4-dimensional stereogram engine, contributor to the Linux on Laptops Survey, volunteer work for the Ronald McDonald House
· Set up, designed and maintained QEP's Internet website
· Instructed basic website development
· Teaching assistant for math and computer programming
· Extracurricular activities involved Oakville Youth Symphony Orchestra (violin) and local band (guitar)
· Huaiyu Liu, Mic Bowman, Francis Chang. “Survey of State Melding in Virtual Worlds”, ACM Computing Surveys (CSUR), Volume 44 Issue 4, Article No. 21, August 2012
· Francis Chang, Wu-chi Feng. "Streaming Terrains", Proceedings of NOSSDAV 2007, June 2007
· Francis Chang, Wu-chang Feng, Wu-chi Feng, Kang Li, "Efficient Packet Classification with Digest Caches", Network Processor Design: Issues and Practices, Editors: Patrick Crowley, Mark Franklin, Haldun Hadimioglu, Peter Onufryk, Morgan Kaufmann Publishers, 2005, ISBN: 0-12-088476-3
· Francis Chang, Wu-chang Feng, Wu-chi Feng, Kang Li, “Efficient Packet Classification of Digest Caches”, in Proc. of the Third Workshop on Network Processors & Applications (NP3), February 2004, Madrid, Spain.
· Francis Chang, Kang Li, Wu-chang Feng, “Approximate Caches for Packet Classification”, in Proc. IEEE INFOCOM 2004, March 2004, Hong Kong.
· Kang Li, Francis Chang, Damien Berger, Wu-chang Feng, “Architectures for Packet Classification Caching”, In proceedings of the 11th IEEE International Conference on Networks (ICON 2003)
· Francis Chang, Kang Li, Wu-chang Feng, "Approximate Caches for Packet Classification", ACM SIGCOMM (poster session), August 2003, Karlsruhe, Germany.)
· Game Network Traffic Measurement
· Francis Chang, Wu-chang Feng, “Modeling Player Session Times of On-line Games”, In Proceedings of NetGames 2003, May 2003.
· Wu-chang Feng, Francis Chang, Wu-chi Feng, Jonathan Walpole, "Provisioning On-line Games: A Traffic Analysis of a Busy Counter-Strike Server", In Proceedings of the Internet Measurement Workshop, November 2002.
· Francis Chang, Wu-chang Feng, Wu-chi Feng, Jonathan Walpole, "Provisioning On-line Games: A Traffic Analysis of a Busy Counter-Strike Server", ACM SIGCOMM (poster session), August 2002, Pittsburgh, Pennsylvania.
· Nick Yee, Jeremy N. Bailenson, Francis Chang, Dan Merget. (2006, in press). "The Unbearable Likeness of Being Digital: The Persistence of Nonverbal Social Norms in Online Virtual Environments". The Journal of CyberPsychology and Behavior.
· Engineer for the Google Experience team, designing interactive displays in physical spaces in Google Experience Centers
· Researched topics on metaverses and virtual worlds
· Designed & Developed XPU (Extremely Partitioned Universe), an metaverse architecture experiment framework written in C#
· Server development of OpenSimulator, an open-source virtual world in written in C#
· Virtual world content development - scripting, modelling and art
· Virtual content design & development including programming, 3D modeling, texture art, animations, cinematography, managing contractors, marketing and business development
· Clients include General Motors Company, Toyota Motor Corporation, Nissan Motor Company Ltd., The Electric Sheep Company, and Millions of Us LLC.
· Undergraduate level teaching and workshop instruction
· Popular projects include the Dominus Shadow, Seburo Compact-eXploder, Wet Ikon Roam and Franimation Overrider
· Charity work included campaign and event management, and content development for the Electronic Freedom Foundation, Heifer International, Red Cross, American Cancer Society and VERTU.
· Developed prototype real-time volume rendering software, based on nVidia GeForce 3 texture shader & register combiner technology, written in a mixture of Tcl/TK, C/C++ and OpenGL, with prototype nVidia specific extensions.
· Algorithms were based on fixed-grid cubic topology, with a static data-set. (MRI and CT data)
· Software development for a proxy-based wireless web browsing solution for mobile devices
· Web browsing thin client development targeting PalmOS using Codewarrior C and Motorola 68000 assembly
· Server development on Solaris, using the Mozilla rendering engine
· Designed & wrote specifications for the thin-client browsing system, image processing and transmission protocol
· Designed, developed & maintained UNIX/Java product branding system, including image manipulation, branded resources management and file validation utilities
· Designed, developed & maintained multi-threaded Java AFTP/TCP protocol sniffer & debugging tool
· Research involved raster image compression & processing research, general compression techniques, UNIX hashing programs, and data encryption/obfuscation
· Interviewed prospective software engineering candidates
· Worked in Visual Basic Projects Team, developing using MFC/ATL/COM with Visual C++
· Adding, Designing and Extending functionality to Win9x Unicode/API wrapper libraries
· Developed new COM utilities, including the VB7 Upgrade Wizard
· Check-in Suite design and Suite Library implementation
· Developed automated tests to validate ongoing changes to the codebase
· Miscellaneous internal utility development including maintenance, bug fixes and new features
· Development focussed on a library for raster image manipulation for Corel Draw and Corel Photo-Paint, targeting Win32 using MS Visual C++ and MFC
· Developed new image manipulation effects, including algorithms design and implementation, and user interface design
· General library maintenance, bug fixing and performance enhancements
· Designed and developed an internal C++ code analysis utility to aid programmers in identifying portability and interface compatibility issues
· Graphics challenges included concurrent programming, anti-aliasing primitives and colour space manipulation
· C/C++/YAY development, on various platform including WinNT, Win95, UNIX and GCOS
· Developed the C math libraries for the GCOS operating system (9-bit architecture) and Intel x86 machines
· Math library implementation involved designing mathematical approximations, resolving overflow/underflow and truncation errors and circumventing hardware limitations to comply with ANSI C 98 standards
· Developed a multi-threaded telnet application in Borland C++ using win32 multi-threaded constructs, with support for the Kermit file transfer protocol
· Worked on prepro, a precompiler that embedded a new macro language in C++, designed for compiler construction
· Developed a custom data-management application for Advanced Debt Technologies Ltd using Visual Basic
· Database design and manipulation using SQL, using MS Access databases
· Programming challenges included Microsoft Mail Merge, automated banking features, automated of MS Excel spreadsheets construction using OLE, and cross-platform compatibility.
· Started a small business providing consulting services in website development and BBS setup and maintenance
· Diagnosed, repaired, assembled and upgraded PC computers, attended to service calls
· Instructed coop students on PC maintenance and operation
· Developed programs to model the behavior of fractal and chaos algorithms for grad students studying fractals
· Created notes and summaries intended for graduate students studying chaos and fractals
My hobbies include photography, wristwatches, poker, boxing, kickboxing and Brazilian jiu-jitsu.
References are available on request.