Frederic Dang Ngoc .fr

It is implemented in Java using GemFire, the Oracle database and ActiveMQ. ... PDF Box and OCR and save them in the DB and on the file system. ... Development of price index and historical values storage, alert management. ... Coursework: summer school on distributed algorithms, seminars on peer to peer systems, ...
80KB taille 15 téléchargements 340 vues
Frederic Dang Ngoc PhD in CS, Senior Software Engineer, IT Consultant 200E 119th St, Apt 1C New York, NY, 10035 USA

Email: [email protected] Phone: 347-213-1403 Website:http://www.chimpler.com http://www.tuxigloo.org/

French Citizen Canadian Permanent Resident

H1-B Visa Holder

Objectives I am interested in working on innovative and challenging applications related to web 2.0, finances and on distributed systems.

Experiences Associate Director, UBS AG(July 2010 - Present) Stamford, CT, USA

● ●

Design and implementation of a distributed cache store of financial data replicated across 3 regions: US, UK and Hong Kong. The system handles bi-temporal queries, and derivation rules. It is implemented in Java using GemFire, the Oracle database and ActiveMQ. Design and development of a prototype using a distributed cache (Oracle Coherence and Hazelcast) and the distributed database MongoDB to evaluate the use of those technologies for a datastore of derivative products. Implemented a UI interface using Jide to fetch derivative products and display charts, grids, derivation rules.

Senior Software Engineer, AdmitOne LLC/Yoonew(May 2007 - July 2010) New York, NY, USA ● Design and development of an application to monitor ticket listings of concert, theater and sporting events from 10 merchant websites using web scraping and web services. The application provides analytic tools to help market makers to improve their sales by browsing current and past ticket offering. The application scans more than 1.5 millions tickets per day. It is using Java, Spring, Hibernate, SQL Server, Tomcat and jQuery. ● Design and implementation of a Point Of Sale application to manage events, tickets, invoices and purchase orders using Java, GWT/Smart GWT, FOP(to generate invoices and purchase order in PDF format). It automatically extracts data from electronic ticket using PDF Box and OCR and save them in the DB and on the file system. ● Development of a market exchange platform for sport tickets using a distributed/replicated architecture. I was leading the development of the front-end. The UI features prices of tickets updated in real time on the web page using Lightstreamer (Comet Push Server), price history graph using Flex Library similarly to Google Finance, purchase/sale of tickets, and transaction history. It uses jQuery, Flex/LCDS and XHTML/MP. ● Design and development of load stress tests to simulate several users placing orders on the market exchange using Grinder. Use JProfiler to spot bottlenecks and optimize code. ● Development of price index and historical values storage, alert management. ● Development of an administration console in Flex using Flex 2 SDK, Adobe LCDS and JMS. Contractor at Maralis (Feb 2007 – Jan 2009 - part time) Ottawa, ON, Canada. (Telecommuting from Vancouver, BC, Canada) ● Development and design of a registration and administration panel using the Symfony framework and the jQuery library. The site heavily uses AJAX and the JSON format and provides a single page user interface with tabs and modal windows. IT Consultant, Bloodhound Search Technologies Inc (Aug 2006 - Feb 2007) Sugar Land, Texas, US (tele-commuting from Vancouver, BC, Canada) ● Design of an editor in PHP/MySQL using javascript/AJAX to allow users to define the profile of their portal (similarly to Google News)

● ●

Development of animated banners in Javascript mixing news and ads. Implemented system to track the clicks. Developing a new personalised portal system using Python, Turbogears, Lucene, and MySQL to fetch news from different RSS sources and present them in a portal page.

R&D Engineer, PhD, France Telecom R&D (Oct. 2002 - Oct 2005) Issy-Les-Moulineaux, France ● Design of a personalized search engine decentralised on user’s computer (P2P architecture). Each computer acts as a search engine on its local data. Collaborative searches are done using self learning algorithms to query the most relevant computers and rank results according to the requester profile. Implementation of a simulator(C, GLIB) and a prototype (Python, Cheetah template and MySQL) Master Thesis, INRIA (Apr 2002 - Sep 2002) Rocquencourt, France ● Conception of an XML Schema extension for type checking dynamic XML documents with embedded web service calls. ● Implementation of an extended XML Schema parser using the Java language and Oracle XML Developer’s Kit. My master thesis results in 3 papers published in international conferences.

Summer jobs

● ● ●

Verte Ma Valley, Inc (Jul-Sep 2001): development of a complete survey application including client and administrator side using PHP, the GD graphical library and Informix. SNAZ, Inc (Jul-Sep 2000): e-commerce application development using WebMethods, PHP Formitel, Inc (Jul-Aug 1999): Development in of a survey application including client and server side. The application was written in Java using servlet, swing and JDBC.

Other significant projects ● ● ● ● ● ● ● ● ● ● ●

www.chimply.com, a website to generate customizable animated gifs, buttons and badges developed using Tomcat7, Spring3, Hibernate, DWR3(with Comet) and Java2D. kivadroid (http://www.chimpler.com/kivadroid): an android application to browse and checkout loans. It uses the Kiva API. www.statlog.com, a website to value a website and retrieve statistics from various websites to show the visibility of a website on the web and the technology it is using. It is developed in Java using Tomcat 7, Lucene 3.0, Hibernate, Spring 3 and DWR 3. stockchaos (http://chimpler.com/stockchaos): android app to manage stock portfolio. Sync with Google finance account and allow to post on Facebook, twitter and LinkedIn Wrote a puzzle game in C for the open source firmware rockbox (http://www.rockbox.org) Implementation of a Java application to play animated scenes (ala Macromedia Flash) described in a XML language that we had specified. Development of an application to play an animated 3D scene described in a POV Ray like language using OpenGL and the Lex & Yacc parser. Implementation of a Napster client in C using the curses library Development of a RPG game (ala Final Fantasy 4) and its editor in C Development of several Java game applets (http://tuxigloo.org/wiki/Java) Conception of a library to manage computations of huge numbers in C

Education PhD thesis in CS (graduated in Feb. 2006) University of Paris-Sud, Orsay, France The thesis is entitled "Decentralised and personalised search engine" (in french) and had been done in the Research Laboratory (LRI) at the University of Paris-Sud and France Telecom R&D Division under the supervision of Pierre Fraigniaud and Joaquín Keller. Coursework: summer school on distributed algorithms, seminars on peer to peer systems, seminars on huge network interactions Results in the publication of 2 articles in international conferences (PDPTA, IEEE SAINT). Awarded at France Telecom as one of the Most Remarkable PhD Thesis of the Year.

Master Degree in CS (graduated in Sep. 2002) University of Pierre and Marie Curie, Paris, France. Average score of 15.5 out of 20 Coursework : Agent and Framework ; Distributed Databases ; Specification and Validation of

Concurrent Applications ; Network Architectures and Protocols ; Distributed System Architectures ; Parallel Programming ; XML

Bachelor Degree in CS (graduated in Jul. 2000) University of Versailles, Versailles, France, Average score of 16.3 out of 20 (ranked first) Coursework: Processor Architecture ; Design of Operating System ; Graph Theory ; Applied

Mathematics ; Simulation ; Automata and Language Theory ; Cryptography ; Network Architecture ; Relational Databases ; Compilation ; Java and Multimedia Programming.

Skills ●



● ●



Programming Language: ○ Java: Java 6, Android SDK, Apache Tomcat 6, Spring Framework, HttpClient, Regular Expression, Eclipse, Lucene 3, log4j, Hibernate, JDBC, Swing, Xerces, JMX, RMI, GWT, SmartGWT, Apache FOP, Apache POI, Jprofiler, Tag Soup, Ant Maven ○ Distributed Cache: Gemfire, Oracle Coherence, HazelCast ○ Testing: JUnit, TestNG, Grinder 3, JSUnit, FIT tests, TeamCity ○ Mobile: Android SDK, J2ME, J2ME Polish ○ Python: Python 2.4, Turbogears, PyLucene ○ Misc Languages: C, Visual Basic, Shell Script, Pascal Web Technologies: ○ Languages: XHTML, XHTML MP, CSS, RSS, WML ○ Javascript: jQuery, MochiKit, Lightstreamer(Comet Push Server), DWR(Ajax and Comet), JSON, OOP ○ PHP: PHP5, GD, Symfony framework, Propel, Smarty ○ Flash: Flex 2 (MXML, AS3), Live Cycle Data Service, Flex Chart Library Database: MySQL, MySQL Cluster, SQLite, MS SQL Server 2005, Oracle 9i Tools Administration: ○ Linux: Ubuntu, Debian, Fedora, Gentoo ○ Windows: Windows XP, Windows Vista, Windows 2000 ○ Apache, Samba, MySQL, IPtables Misc: ○ Version Control System: CVS, SVN ○ Bug tracking tools: Atlassian Jira, Redmine, BugZilla ○ Wiki: MediaWiki, Atlassian Confluence ○ Compilation: Lex & Yacc, ANTLR ○ Graphics: OpenGL, Gimp, XFIG, DIA, InkScape

Selected Publications ● ● ●

F. Dang Ngoc, J. Keller, G. Simon. MAAY: A decentralized personalized search engine . Proceedings of the IEEE/IPJS International Symposium on Applications and the Internet (SAINT). January 2006. T. Milo, S. Abiteboul, B. Amann, O. Benjelloun, F. Dang Ngoc. Exchanging Intentional XML Data . ACM Transactions on Database Systems (TODS), Volume 30 , March 2005. T. Milo, S. Abiteboul, B. Amann, O. Benjelloun, F. Dang Ngoc. Exchanging Intensional XML Data . Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data. June 2003.

Miscellaneous ● ● ●

Language: French (Mother Tongue), English: Advanced, basics of German and Mandarin Sports: Rollerblade, Jogging, Aikido, Karate Hobbies: Guitar, Reading (SF, thrillers, fantasy)