*****
*****
*****
(***) ***-****
Portland State Univ.
francis@francischang.com http://www.francischang.com
Languages: C/C++, Java, Haskell, Visual C++/Basic, Basic,
Pascal, Modula-3, HTML,
Scheme, Assembly, Win32/MFC/COM/OpenGL Programming,
LSL
Operating
Systems: Linux,
various UNIXes, Windows NT/2k, DOS, GCOS, PalmOS
Hardware: Understanding
of Digital Design theory and Fundamental Electronics,
Constructing, Maintaining, Repairing and Upgrading
PCs
Courses
& Projects: Compiler Construction, Computer Graphics, Real-time
Operating Systems,
Concurrent Programming, Digital Design,
Computer Vision,
Networking/Internet Technology/Multimedia,
Systems Security
Packet Classification
·
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,
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,
Virtual Human Interaction
·
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.
Grad Student, Oregon Graduate Institute at OHSU/Systems Software Lab (SySL)
Portland State
University/Systems & Networking (SyN)
2001-Present
·
Research
Involvement:
·
Multimedia visualization of 3D environments, Network traffic analysis,
packet classification algorithms, IXP network platform development, MPEG video
·
Other
responsibilities:
·
Taught CS 510:
Malicious Code and Forensics, Fall 2004, Winter 2005,
Winter 2006, Fall 2006, a graduate level course focusing on techniques and
examples of malicious code as well as forensic analysis of techniques for
protection and recovery from such malicious code.
·
Taught
CSE506/606 NWP – Network Practicum, Fall 2003, a
graduate level course in network processor development, focusing on the the Intel IXP1200 platform. Received a class rating of
4.7/5.0, the second highest for an instructor teaching that quarter.
·
TAing CSE58x – Network Practicum. Tasks involved creating
assignment curriculum, lecturing, grading, assisting
students, lab administration.
·
TAing CSE513 - Introduction to Operating Systems. Tasks
involved creating assignment curriculum, marking, giving tutorials and general
instruction in NACHOS operating system
·
Recruiting and
management of undergraduate interns in SySL
Research Assistant, University of Waterloo/Computer Graphics Laboratory
Summer 2000
·
Developed
prototype volume rendering software, based on nVidia GeForce 3 texture shader &
register combiner technology. (Now known as nfiniteFX
engine)
·
Algorithms were
based on fixed-grid cubic topology, with a static data-set. (MRI and CT data)
·
The end result
was fully shaded, real-time rendered volume, written in a mixture of Tcl/TK, C/C++ and OpenGL, with nVidia
specific extensions.
Software Designer, Proxinet/Puma Technology
Winter 2000, Fall 2000
·
Worked in the
Thin Client team, developing a wireless Web Browser for the PalmOS platform
·
Designed,
developed & maintained UNIX/Java branding system
·
Designed,
developed & maintained multi-threaded Java AFTP/TCP protocol sniffer
·
Work involved
raster image processing and research, interviewing, compression research, UNIX
hashing programs, transmission and data encryption/obfuscation
·
Developed a
wireless web browsing system on PalmOS, using Codewarrior
C and gcc
·
Research,
involving image processing, compression and mathematical functions
·
Designed,
advised & wrote specs of the browsing system, image processing and
transmission protocol
·
Interviewing
prospective software engineering candidates
·
Experience in
Linux/Solaris and WinNT/2k:
·
File and Data
transfer mechanisms using TCP/IP and Internet technologies
·
Developing java
file and image manipulation, validation and processing utilities
Software Design Engineer, Microsoft Corporation
Summer 1999
·
Worked in
Visual Basic Projects Team, developing using MFC/ATL/COM with Visual C++
·
Experience
included:
·
Adding,
Designing and Extending functionality to Win9x Unicode/API wrapper libraries
·
Developing new
COM implementations, including the VB7 Upgrade Wizard
·
Check-in Suite
Design and Suite Library implementation
·
Miscellaneous
internal utility development/bug fixes/features
Software Developer, Corel Corporation
Fall 1998
·
Worked in the
Bitmap Effects Team, developing for Win32 with MFC and MS Visual C++
·
Development
included:
·
User interface
design and implementation with MFC
·
Image
processing and bitmap effect algorithm analysis, design and implementation
·
Interfaces with
Corel Draw and Corel Photo-Paint
·
Graphics
challenges included concurrent programming, anti-aliasing primitives and colour space manipulation
Software
Designer, Thinkage Ltd.
Summer 1997, Winter 1998
·
C/C++/YAY
development, on various platform including WinNT, Win95, UNIX and GCOS
·
Worked on the C
math libraries for the GCOS operating system, and Intel x86 machines
·
Involved
designing mathematical approximations, resolving overflow/underflow and
truncation errors and hardware limitations
·
Developed new
functionality in compliance with ANSI C 98 standards
·
Developed a
win32 telnet application in Borland C++
·
Programming
included designing win32 multi-threaded constructs, macro programming and
implementing the Kermit file transfer protocol
·
Worked on prepro, a precompiler that
embedded a new macro language in C++
·
prepro was used as a
tool for compiler construction and table construction/maintenance
Computer
Programmer, Adnet Information Systems
Summer 1996
·
Used Visual
Basic 3.0 & 4.0 to develop a custom data-management application for
Advanced Debt Technologies Ltd.
·
Programming
included:
·
SQL, using MS
Access Databases
·
Microsoft Mail
Merge
·
Automated
banking
·
OLE
implementation for the generation of MS Excel spreadsheets
·
Cross-platform
programming
·
Set up and
designed QEP's Internet website, and performed
related tasks, including:
·
Website
management and development coordination
·
Instructing and
assisting the learning and writing of HTML
Summer – Fall 1995
·
Started a small
business providing services in networking and consulting, Internet website
development and shareware programs
Systems Jr. Technician, Region of Halton
·
Diagnosed,
repaired, assembled and upgraded PC computers, Attended to service calls
·
Instructed coop
students on PC maintenance and operation
Computer Programmer & Summary Writer,
Summer 1994
·
Developed
programs to model the behavior of fractal and chaos algorithms for grad
students
·
Created notes
and summaries intended for education purposes for graduate students studying
chaos and fractals
2002-Present
·
Graduate
Student, Instructor and Teaching Assistant, Computer Science & Engineering
Dept.
·
Candidate for
Ph.D. in Systems Software research
·
Board of
directors of VERTU (www.vertuous.org), an organization that seeks to raise
funds for real-world charities and non-profit organizations in virtual worlds
1996-2001
·
Honours Co-Op Bachelor
of Mathematics in Computer Science
·
Former Vice
President of the Archery Club & Member of the Badminton Club
·
Received
various highschool scholarships & awards
·
Extracurricular
work & projects includes
·
Graphics
Algorithm Development
·
Ported ssh 1.2.26 to Win32
·
Design and
implementation of a portable 4-dimensional stereogram engine
·
Wrote
documentation for the Linux on Laptops Survey
·
Volunteered for
the Ronald McDonald House
·
Musical
interests include guitar and violin