Currculum vitae CV (Angļu valodā)

Curriculum Vitae

Curriculum Vitae

June 7, 2008

Name: Han-Wen Nienhuys

Sex: Male

Nationality: Dutch

Driving license: yes

E-mail: hanwen@xs4all.nl

WWW: http://www.xs4all.nl/~hanwen/

Objective

To take on new challenges.

To simplify complex problems.

To share knowledge.

Professional interests

Software design and implementation, mathematical modeling techniques, numerical algorithms, linear algebra, music representation, digital typography.

Education

Formal education

PhD, Institute for Information and Computing Sciences, Utrecht University. 2003.

Engineering degree in applied mathematics (MSc equivalent, cum laude). Technical University Eindhoven, 1998. Graduation topic: analysis.

Courses

ASCI Course on Visualization and Virtual Reality, 2001. (ASCI is a Dutch graduate school)

Skills

Expert in: program design, coding and software engineering.

Programming language experience: C (1991-now), C++ (1996-now), Python (1998-now), Scheme (2000-now), Java (2000-2002) years, Quill (2004; Certified Quintiq Specialist).

Working knowledge of: Unix programming, Emacs, OpenGL, Java3D, Autoconf, Make, HTML, (Fedora) Linux, CVS, darcs, LATEX, METAFONT, Cocoa development, PostScript, Pango, SVG, PDF, LISP, Unicode.

Proficient at: giving presentations, scientific writing, and technical writing.

Languages: Dutch (native), English (fluent, readingand writing), Portuguese (speaking fluently, reasonable reading) German (reasonable reading), French (basic reading).

Work experience

March 2007-present

Software Engineer, at Google Engineering Brazil.

March 2005-August 2006

Freelance consultant, owner of LilyPond Software Design (http://lilypond-design.com)

April 2004-February 2005

Consultant Advanced Planning & Scheduling and Software Engineer, at Quintiq Applications B.V.

Mar-Jun, 2003

Junior researcher at Utrecht University, Institute of Information and Computing Sciences.

1998-2003

Research assistant/PhD. student at Utrecht University, Institute of Information and Computing Sciences.

1996

Intern at the R&D department of Océ-Nederland B.V., writing software to simulate heat diffusion.

Teaching assistant for undergraduate courses in imperative programming and data structures (1998-2001).

Co-supervised MSc. student thesis-work. (2002 and 2005/2006)

Refereed for Algorithmica, special issue on shape algorithmics (2002), IEEE Transactions on Visualization and Computer Graphics (2004).

Software written

Open source:

1996-now

LilyPond, http://lilypond.org: automated professional music typography. Design, implementation (80kloc C++, 23kloc Scheme, Python, METAFONT), cooperative development, automated testing, quality assurance, user support, documentation, web-site design, and scientific dissemination.

I am the main author in this team project.

2006

GUB, a cross-compilation environment under Unix for creating and distributing binaries for MacOS, Windows and Unix. Design, implementation, cooperative development, quality assurance. (Python, autotools, darcs, git).

I am one of the two authors.

1999-2002

Salmon, Bazzoen, Artisjokke: interactive finite element simulations for tetrahedral meshes using non-linear elasticity. Design, implementation (C++, OpenGL), and validation. Sole author.

2002

A rewrite of a mark & sweep garbage collector for a Scheme interpreter (C). Accepted into GNU GUILE distribution. Sole author.

2002

Meshugge: cutting in Delaunay triangulations. Design, implementation (C++, OpenGL) and scientific dissemination. Sole author.

1999

Reimplementing Makefile function-calls (C), adding support for $(call) and $(if) functions. Accepted into GNU Make distribution. Sole author.

1993-1995

Rayce: a ray tracer. Design, implementation (C and C++) and documentation. Sole author.

Miscellaneous tools and patches: darcs2git (convert Darcs to git repositories), mftrace (trace Metafont bitmaps into scalable fonts).

Proprietary software:

2004

Quintiq Logistics Planner Industry Solution. (Quill, Quintiq Application Suite)

Adapting a prototype OO model for road-transport to a real world situation, and successful roll-out with a customer. OO Design, performance troubleshooting, customer contact, UI design. Work in cooperation with a Business Consultant.

1996

Waddif: simulation of heat-diffusion in layered media. Design, implementation (C and LINPACK) and validation. Sole author.