OpenMindCapital Inc (February 2019 – current)
Title: Scientific and Technical Consultant
Project: Financial application (programming and simulation)
OpenMindCapital is a quantitative and technology driven portfolio manager. Company develop an application called Timeo, a risk management and simulation platform designed to assist in the construction of efficient portfolios. It is written in Java and provides UI modules for easy navigation and report creation.
As a consultant, I am responsible for all technical aspects of the project related to the software application or package this include support, maintenance and development of new functionalities. Below tasks summary:
• Design, implementation and tests of algorithmic trading programs;
• Develop simple or complex software functionality but with limited scope;
• Collaborate with the team to define, design, and ship new features;
• Help maintain code quality, organization, documentation and automatization;
Scientific Programming and Simulation (R package development)
Currently developing a library (package), written with R language, that will automate the creation of financial report. Goal is to provides a set of services that will help trader or operation to execute their task of creating report. The package provides services to transfer of statistical data by automatically read data in Timeo program format and will then transfer it to another program format (R environment), which is more easily manageable to compute, plot of statistical data. User can create a report with pre-defined set of functions to extract, visualize and make graphical output.
Financial Algorithmic development
• Implemented/Integrated a new algorithm that compute the rank of a stock portfolio (measuring portfolio performance);
• shell cmd function to calculate some stock parameter value by simply writing functions … strategy );
• Refactored the FTP library (implemented in the Timeo application): re-design new class to support multiple connection and data provider in more modularity approach;
• UI programming to the main application (added new report functionalities to main app). Implemented new functionnalty in the report builder;
Technologies: R, Java, MatLab, Swing UI, Git, NetBeans, algorithm development, RStudio, VScode
Centum Adetel Solution (May 2018 – February 2019)
Project: Major Porting/upgrade streaming engine (video surveillance)
MPM10 CCTV (Control Console Television Video) console is a real-time complete video surveillance solution with real-time video/audio analytics capabilities, playback live and record video streams. It is used by Montreal public transit transportation (STM).
Operators in the control room console can watch remotely constant stream of information from CCTV and surveillance cameras through access of the so-called NVR (“network video recorder”) and to be able to monitor, search, playback, camera viewer, remote live video, recording, and video file verification tool.
To migrate (porting) the application to a newer version of GStreamer to fix issues addressed by the customer. GStreamer library (GNU) is an open source multimedia framework which provides services for editing, rendering video/audio content. Purpose of the migration (upgrade) was to support new type of cameras for new Azure vehicle cars they bought. Also, to fix issues addressed by STM with the original version of the application.
• C/C++ programming in the GLib framework of GNome;
• Perform Code analysis;
• Script programming for install process;
• Upgrade some external lib and drivers;
• Fix issues and bugs;
• Programmed new features … provided by the latest version of GStreamer;
• Adapt code to support GStreamer newer version;
• Test and validate;
• Planification (schedule) and workload estimate;
Technologies: C, C++, GStreamer, GLib (GNome framework), SVN, Git, multi-thread, inno setup, Visual Studio 2010 environment programming, BOOST Unit Test, Jira (Scrum)
Technology 20-20 (June 16 – Feb 17)
Title: Consultant Software Developer C++/3D
Project: IKEA Virtual Reality Extract
IKEA prototyped the feasibility of using virtual reality to achieve higher truly three-dimensional (3D) of the interior design of a kitchen. This will allow people to not only experience a full 360° view, but to also experience walking around the virtual models and feel measurement
Mandate was to create an application that takes a 3D model in the proprietary format and convert it to Autodesk FBX format that can be visualized by a virtual reality engine such as UNREAL. The prototype was released in February 2017 in 3 different stores (Canada, Asia and Europe).
• Extracted scene graph data model from proprietary format 3D environment information needed to reproduce the whole 3D environment (meshing with polygons) in the new FBX Autodesk format;
• Developed a library for reading/writing 3D scene graph and convert to FBX;
• Adapted algorithm for parsing scene graph;
• Refactored some of the algorithm in a modular approach (API);
Technologies: Boost, STL, 3D math., C++11/14, Autodesk FBX, algorithm programming
CAE Inc. September 15 – April 16
Title: System Software Engineer
Project: Modeling And Simulation of Electro-Optical Sensor Systems
System Engineer in the Electro-Optics group to support the integration of new sensor models in the simulation environment designed for use in (UAS: Unnamed Aerospace System) training system. My responsibilities include participation in the, contributions to software development, system simulation and analysis.
• Integrate new sensor model in the programming simulation environment (OO framework);
• Refactored packages for better integration to support new features of image sensor;
Technologies: C++, Boost, STL, Real-Time, Object-Oriented, Distributed System, unit test
Elligno Inc. (Scientific Programmer) March 2014 to August 2015
Title: Scientific Programming Environment
Project: Physics Modeling
Worked on physics software project for rapid prototyping in industrial project. It accelerates the prototyping phase in industrial project mainly validate them on the Dam-Break problem.
• Migrated prototype to C++11 code to obtain a more scalable and maintainable new generation;
• Set up guidelines and policies for automation (unit testing, documentation);
• Working on the development of a GUI to facilitate testing and visualizing simulation result;
Technologies: C++, Boost, STL, real-time, Qt, (OpenGL), threading, unit test, Matlab
Morgan Stanley (Software System Engineer) Nov. 2012 to Feb. 2014
Member of trade-support group, provide real-time front trade-support working directly with the trading desks and operation team to understand and react to issues as they arise during the trading day. Participate to the development and maintenance of the group’s application stack (writing script to monitor, including database load, cache requests, server requests, and outgoing bandwidth).
Technologies: Unix (IBM AIX), Perl, C++, SQL (Sybase), threading
L3-COMM MAPPS (April 2012 — November 2012)
Title: Technical Consultant
Project: Computer-generated real-time surgical simulation
I was hired as a consultant to develop and implement data gathering to provide objective metrics for assessing the technical skills of trainees. Surgery simulator is a networking client-server application (client collecting the data and sending a TCP/IP packet to server to perform analysis by running algorithm. Algorithm run in a different thread (asynchronously) and scheduled every time interval. system to quantitatively measure surgeon motor behavior in the operating room
• Developed a XML utility(library) for reading/writing input and output data;
• Test and validate;
• implemented and integrated a library of validated metrics algorithms, including the time needed to complete a task, errors, economy of motion, and psychomotor tracking, thus recording overall and task-specific scores for each student’s performance.
Technologies: C++, OO, real-time, client/server, TCP/IP, Boost (asio library threading), STL, XML
Programmer C++ (real-time network)
Integrated a real-time network applications, serves as a backbone in sawmill facility (transformation of logs into boards) to find an optimal solution to select cuts that maximize profit;
Ported an client-server application for a credit card/bank payment transactions from Win API to Unix IBM AIX (project with critical deadlines);
Technical lead (3D modeling)
Worked on 3D software (3D modeling of a set) that helps art director in the creation of theatrical scenery. The product was written in C++ and use OpenGL library (Open Inventor API). My role was to give support to solve quality issues and prepare the product for final release (bugs fix, requirements definitions, design).
GUI (Graphic User Interface) Developer
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.
Teleglobe Canada Inc (September 1998 — September 1999)
Project: Y2K certification
FMS (Fault Management System) is a real-time software which control alarm flow (possible failure of the telecom equipment) coming from telecommunication equipment. This software was originally developed by the company on VAX-VMS platform in C and FORTRAN languages.
I have configured of a test environment for Y2K certification of the software, this include source code analysis, programming build procedure and test (validate simulated a real life situation (simulation of alarms) and check the response of the program;
Technologies: OpenGL, Open Scene Graph (OSG), Open Dynamic Engine (ODE), C++, OO
CERCA (Center of Research on Computation And its Application) 1994 — 1998
CFD Developer (Computational Fluid Dynamics)
Set up a collaborative work effort (University-Industry) for cautioning mathematical models in the hydraulics field (Technology Transfer Initiative for the hydro-electricity industry). Solve a complex problem in industry (river flow) to validate mathematical model on a real-case (river located in the north of Quebec) in the field of Open Channel Flow. The flow in a river at different conditions may be simulated on the computer. That means that the key features of the physical phenomena involved may be studied under a wide range of conditions by performing numerical simulations for a corresponding range of parameters values, such as discharge.
more details «Application»
Technologies: numerical simulation using Finite Element/Finite Difference programming techniques