C++ Physics Programmer Jean Belanger
**** ******* *********, ******** (Quebec) Canada H3W 1P7 514-***-**** abpm7m@r.postjobfree.com
Summary
Professional with a strong background in simulation (physics 3D and numerical simulation). During a
15+ years career as a system-analyst, programmer, software developer and scientific programmer, results
in know-how in simulation software development and practices. The last 6 years worked as a contractor
developing technology for the sawmill industry, art, aerospace, simulation, and financial application.
Key Areas of Expertise
Physics Programming Skills
o Scientific library: MTL (Matrix Template Library), Boost Ublas, Numerical Recipes in C++;
o Performance issues such as Expression templates, scientific data structure, meta programming;
o Physics 3D with physics middleware engine such as: ODE: Open Dynamics Engine ;
o Algorithm development (finite difference/volume) for mathematically intensive problems;
Software Development Practices
o Object-Oriented programming, UML, and input related to C++ idioms and patterns;
Languages: (beginner to advanced): Dot Net, C#, C, FORTRAN77/95, C++;
o
Experience of computer graphics and scene graphs such as OSG and physics engine (ODE);
o
Programming techniques: generic programming, design pattern, Boost, STL, unit test;
o
Modeling & Simulation (Distributed Simulation/HLA), Network and client-server experience;
o
Strengths
Expert at designing and programming scientific application with C++ and code optimization;
Scientific programming by using modern software paradigm and practices;
Knowledge of advanced mathematics and numerical analysis;
Achievements
Integrated a real-time network applications, serves as a backbone in sawmill facil ity (transformation
of logs into boards) to find an optimal solution to select cuts that maximize profit;
Ported a client-server application for a credit card/bank payment transactions from Win API to
Unix IBM AIX (project with critical deadlines);
Designed and implemented an object-oriented library to detect wane on rough hardwood lumber.
This library featured an open architecture, improving drastically on traditional technique;
Worked as a software developer (3D modeling) and technical lead for a world leader in simulation .
Result in a know-how in developing software and practice (life -cycle development, all phases);
Set up a collaborative work effort (University-Industry) for cautioning mathematical models in the
hydraulics field (computational physics/numerical simulation);
Worked as a scientific programmer (university-industry research center) with senior scientific
programmer. Result in a know-how in scientific programming;
Developed graphics software with visualization capabilities of a circuit model from an input file,
thus greatly simplifying the task of manipulating, visualizing and testing the circuit components
(http://www.sestech.com/Products/SoftUtil/GRSplits.htm);
Re-factored (API) package for an optimization problem (non-linear shape fitting). The algorithm
was more than twice as fast as the original;
Developing a scientific framework (physics modeling) based on modern software paradigm with
emphasis on reusability and extensibility of software components (www.elligno.com);
Developed a physics library used to validate numerical scheme on the well-known Dam-Break
problem ((www.elligno.com);
Developed a physis3D simulator library (feature a math3D and rigid-body libraries);
www.elligno.com Page 1 of 3
C++ Physics Programmer Jean Belanger
4875 Edouard Montpetit, Montreal (Quebec) Canada H3W 1P7 514-***-**** abpm7m@r.postjobfree.com
Professional Experience
Elligno Inc. (June 2006 Present) Senior C++ Programmer (self-employed)
Montreal, Quebec (Canada)
Elligno Inc. is a Montreal-based consulting and software development company. It specializes in the applied
use of information technology and scientific modeling in industrial application.
Industrial Consultant/Contractor
1. Migration of code legacy on different operating system (Windows and Unix) and languages;
2. Maintaining, and supporting a real-time (client-server/multi-thread) Windows-based sawmill
optimization system (algorithm development, bug fixing, testing, code optimization;
3. GUI development, and implemented graphical user interface (validation/debugging);
4. Vision programming for industrial application (image processing for default tracking);
5. Program numerical algorithm problem such as: shape fitting, numerical integration;
6. Real-time network application programming (Windows to Unix-based client-server);
Simulation/Scientific Developer
1. Develop a 3D simulation framework (environment) for real-time physics;
2. Implemented a math3D library (feature optimization technique) and a rigid-body library;
3. Integrated third party libraries such as OSG and ODE in the simulation environment;
4. Numerical simulation, program algorithm to solve PDE used in CFD (Fluid Dynamics);
5. Re-factored a simulation code to obtain a more scalable and maintainable new generation;
6. Design, develop, debugs, performance, optimization, and integrate third party library ;
7. Review, research, analyze, and evaluate new software techniques, tools for simulation;
Software Architect/Technical Lead (Scientific Simulation Framework)
A collection of C++ classes organized in libraries based on Object-Oriented framework, using classes at
a high abstraction level that can be easily extended to accelerate the development of physics simulator .
Application Development Environment: MS Visual Studio (2003, 2005, 2008), Linux Kdevelop
Defect Management and Problem Reporting: bugzilla, Nunit, Boost unit test, VS2008 unit test
Programming Languages/Technologie: C++, OO idioms and patterns, C#, C, FORTRAN77/95, UML
Third Party Library: Newton Dynamics, ODE, NR in C/C++, OSG, OIV, Boost, STL, Net (2005)
Oerlikon Contraves Inc. (October 2005 June 2006) Software Systems Analyst
St-Jean-Sur-Richelieu, Quebec (Canada)
Analyzed an existing software (rigid-body library) and made recommendations regarding re -use of some parts
(based on budget and time line). I worked in the integration of this library in CAE STRIVE framework.
Programmed new class (cross-language: call FORTRAN routine from C++) by using new features of
FORTRAN95 language.
Application Development Environment: Visual Sudio 2003, CAE STRIVE framework, Doors, Together
Software Configuration, Version Control: Rational Clear Case
Programming Languages/Technologie: C++, OO idioms and patterns, FORTRAN77/95, UML
ART Inc. (February 2005 September 2005) Applied Research Physicist (Molecular Imaging)
Ville St-Laurent, Quebec (Canada)
Re-designed the curve fit library (optimization problem) architecture and promoted modular approach by
developing an easy-to-use object oriented programming API. This new version of the library featured: efficient
and robust optimization for fast floating point operation, extensible class hierarchies that let user readily
implement new algorithms.
Application Development Environment Visual Sudio (2003)
Programming Languages/Technologies: OO, C++, Boost, STL, UML, performance issues,
www.elligno.com Page 2 of 3
C++ Physics Programmer Jean Belanger
4875 Edouard Montpetit, Montreal (Quebec) Canada H3W 1P7 514-***-**** abpm7m@r.postjobfree.com
CAE Inc. (November 2000 May 2004) Software Developer
Ville St-Laurent, Quebec (Canada)
Worked on the company new product STRIVE. This is the software/framework that is used across the
company (development teams) as a basis for developing and delivering new capabilities to the users via se rvices
and plug-ins. In charge of the development of 3D engine library and the mathematical library used for Global
Positioning System. Acted as a technical lead to define database format for terrain representation. Coordinated
meetings across department in regard with schedule, planning and work plan. Develop prototype and
architecture for new concepts and technology that would eventually be used by other department.
Application Development Environment Visual Sudio (6.0, 2003)
Software Configuration, Version Control Visual SourceSafe, Starteam
Programming Languages/Technologies C++, OO, performance issues, UML, Doors, Together
Consulting Programmer-Analyst (1994 2000)
1. Software analyst: Y2K certification of a real-time software used to detect alarm from Teleglobe
equipment (Teleglobe Canada Inc.);
2. Software and product architect: designed a new application (graphics) suited for SES customers
(SES Ltd.);
3 . Scientific programmer/Cfd Developer: coded advanced numerical algorithms for a variety of CFD
(Computational Fluid Dynamics) applications (CERCA and Softkit Technologies Inc);
Application Development Environment Visual Sudio 6.0, Unix (SGI), C, FORTRAN 77/90/95
Software Configuration, Version Control RCS
Communication
Scientific Projects in Industrial Applications, CD-Adapco (Lebanon, NH, USA)
September 2008
Lessons Learned from a Simulation of the Shallow-Water Equations in an Industrial
Application, EXA Corporation, Boston (MA), August 2007
Technical Reports
1. A Short Review of Basic Concepts in Physics 3D, - J. Belanger (in preparation)
Elligno Inc.
Validating Shock Capturing Schemes On The Dam Break Problem, - J. Belanger
2.
Elligno Inc. Technical report no. TR1-2007-01 (March 2007)
3. A C++ Differential Equations Solver using Object-Oriented Numeric - J. Belanger
Elligno Inc. Technical Report no. TR-2006-01 (September 2006)
4. On the Re-Use of the ADATS Missile Model for the CAT Simulator, Technical Note
Oerlikon Contraves Inc. (November 2005)
A Test Field Calibration to Validate Shallow-Water Codes: the Case of the Ste-
5.
Marguerite River with AquaDyn, CERCA,Technical Report no. TR-2006-01
(September 2000) J. Belanger, M. Carreau (Hydrosoft inc.) and A. Vincent (UofM)
Education
Bachelor in physics, B. Sc. University of Montreal (1990)
Master s Degree in Nuclear Physics, M. Sc. University of Montreal (1993)
www.elligno.com Page 3 of 3