-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
executable file
·337 lines (301 loc) · 22.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
<!DOCTYPE html>
<html lang="en">
<head>
<title>Florian Poulin - CV</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="font-awesome-4.2.0/css/font-awesome.min.css" rel="stylesheet">
<link href="js/prettyPhoto/prettyPhoto.css" rel="stylesheet">
<link href="style.css" rel="stylesheet">
<link href="skins/skin-6.css" rel="stylesheet">
<!-- Integrated Adobe Edge Fonts starts here -->
<script src="http://use.edgefonts.net/squada-one:n4.js"></script>
<script src="http://use.edgefonts.net/bebas-neue:n4.js"></script>
<!-- Integrated Adobe Edge Fonts ends here -->
</head>
<body>
<div class="container">
<div class="row page-wrap">
<div class="span12">
<h4 class="intro-slogan css3-gradient">Hi,<br/>This is me in a nutshell</h4>
</div>
<!-- begin .vcard -->
<div class="span4 vcard">
<div class="vcard-wrap">
<!-- begin .vcard-photo -->
<div class="vcard-photo">
<img src="images/avatar.jpg" title="Hi, this is me in pixels"/>
</div>
<!-- end .vcard-photo -->
<!-- begin .vcard-bio -->
<div class="vcard-bio">
<h2 class="vcard-name">Florian Poulin</h2>
<hr/>
<p>Software Engineer specialized in J2EE backend development. Team leader in an Agile startup environment delivering various services around Licensing, Monetization and e-Commerce.</p>
<hr/>
<p><small>Skills keywords:</small></p>
<code>J2EE</code> <code>Java</code> <code>MySql</code> <code>EclipseLink</code> <code>REST</code> <code>Jersey</code> <code>Jackson</code> <code>EHCache</code> <code>Spring-core</code> <code>Spring-security</code> <code>Spring-webflow</code> <code>Selenium</code> <code>OAuth2.0</code> <code>Jasper</code> <code>Mondrian</code> <code>OLAP</code> <code>RAML</code> <code>Scrum</code> <code>Jira</code> <code>Git</code> <code>SVN</code> <code>Bootstrap</code> <code>HTML</code> <code>CSS</code> <code>Photoshop</code>
<hr/>
<!-- begin info -->
<span class="vcard-info"><i class="fa fa-home"></i>Swiss, currently in Singapore (EP)</span><br/>
<span class="vcard-info"><i class="fa fa-envelope"></i>
<!-- I only want quality spam in my mailbox -->
<script type="text/javascript" language="javascript">
<!--
// Email obfuscator script 2.1 by Tim Williams, University of Arizona
// Random encryption key feature by Andrew Moulden, Site Engineering Ltd
// This code is freeware provided these four comment lines remain intact
// A wizard to generate this code is at http://www.jottings.com/obfuscator/
{ coded="[email protected]";key="eswNVCY3TXrDlPof7gbKE5avR92AZFiBkJSzWpQndULGmxH8h0jytIM6qOu41c";shift=coded.length;link=""; for (i=0; i<coded.length; i++) {if (key.indexOf(coded.charAt(i))==-1) {ltr = coded.charAt(i);link += (ltr);} else {ltr = (key.indexOf(coded.charAt(i))-shift+key.length) % key.length;link += (key.charAt(ltr))}}
document.write("<a href='mailto:"+link+"'>"+link+"</a>");}
//-->
</script>
</span><br/>
<span class="vcard-info"><i class="fa fa-signal"></i>(+65) 8344 9176</span><br/>
<br/>
<span class="vcard-info"><i class="fa fa-github"></i><a href="https://github.com/fpoulin" target="_blank">Github</a></span><br/>
<span class="vcard-info"><i class="fa fa-flickr"></i><a href="https://www.flickr.com/photos/fpoulin/" target="_blank">FlickR</a></span><br/>
<span class="vcard-info"><i class="fa fa-linkedin"></i><a href="http://sg.linkedin.com/in/florianpoulin/" target="_blank">LinkedIn</a></span><br/>
<!-- end info -->
<hr/>
<p><i class="fa fa-file-pdf-o"></i><a href="Florian-Poulin-Resume.pdf">Download as PDF</a> <small>(short version)</small></p>
</div>
<!-- end .vcard-bio -->
</div>
</div>
<!-- end .vcard -->
<!-- begin .main-wrap -->
<div class="span8 main-wrap">
<!-- begin .section-work -->
<div class="section section-work section-first row">
<h3 class="css3-gradient-2">Work experience</h3>
<div class="section-work-list row-fluid">
<div class="span6 work-item">
<h4><i class="fa fa-users"></i>Head of Product Engineering <br/><small>@ Forbes Digital Commerce, Singapore, 2013 — now</small></h4>
<p>Leader of a 15 engineers team distributed across three countries (Switzerland, Singapore and Romania). Architect for an E-Commerce platform (see <a href="#dco">Digital Commerce</a>) delivering catalog management and payments capabilities.</p>
</div>
<div class="span6 work-item">
<h4><i class="fa fa-institution"></i>Software Architect <br/><small>@ Lotaris SA, Switzerland, 2011 — 2013</small></h4>
Responsible for the design and implementation of an in-app monetization service for mobile app developers (see <a href="#iac">In-App Commerce</a>). Scrum master and Agile evangelist in a team of 10 engineers based in Switzerland and Romania.
</div>
</div>
<div class="section-work-list row-fluid">
<div class="span6 work-item">
<h4><i class="fa fa-file-code-o"></i>Senior Developer <br/><small>@ Lotaris SA, Switzerland, 2009 — 2011</small></h4>
Member of the core development team of a B2B service for Mobile app monetization (see <a href="#lme">LiME</a>). Key technical contributor from a blank page to a Level 1 PCI-compliant service used by major ISVs (including Fortune 500).
</div>
<div class="span6 work-item">
<h4><i class="fa fa-superscript"></i>Research Assistant <br/><small>@ IICT / HEIG-VD, Switzerland, 2007 — 2009</small></h4>
Research assistant with a focus on Data-Mining and Information Retrieval (see <a href="#lsvam">LSVAM</a>). Teaching assistant in various courses including Data-Mining, Information Retrieval and Computational Complexity Theory.
</div>
</div>
</div>
<!-- end .section-work -->
<!-- begin .section-education -->
<div class="section section-education row">
<h3 class="css3-gradient-2">Education</h3>
<div class="section-education-list row-fluid">
<div class="span6 education-item">
<h4><i class="fa fa-graduation-cap"></i>B.Sc. Software Engineering <br/><small>@ HEIG-VD, Switzerland, 2003 — 2007</small></h4>
Thesis: "Gametes: Genetic Engine Towards Evolutionary Software". Ranking A (top 10% of the promoted students).</div>
<div class="span6 education-item">
<h4><i class="fa fa-desktop"></i>Diploma in Mediamatics <br/><small>@ CPNV, Switzerland, 2000 — 2003</small></h4>
Multimedia studies, with combined professional maturity. CPNV Best Student Award 2003.</div>
</div>
</div>
<!-- end .section-education -->
<!-- begin .section-projects -->
<div class="section section-projects section-last row">
<h3 class="css3-gradient-2">Projects & Contributions</h3>
<!-- begin .projects-item -->
<div class="section-projects-item row-fluid">
<div class="projects-item-thumbnail span4">
<div class="projects-item-thumbnail-wrap">
<div data-title="Digital Commerce" class="portfolio-item-thumbnail-wrap">
<img src="images/dco.jpg"/>
</div>
</div>
</div>
<div class="projects-item-excerpt span8" id="dco">
<h4>Digital Commerce<br/><small>Head of Product Engineering @ Forbes Digital Commerce, Singapore</small></h4>
<p>E-Commerce service to sell digital goods and manage their lifecycle.</p>
<div id="tgl-dco" class="toggleable">
<h5>About the project</h5>
<p>Digital Commerce is a service allowing application developers to sell any type of goods and manage their lifecycle in a flexible, scalable and secure way. Besides providing a catalog management system and checkout capabilities, it offers the possibility to manage the inventory of (consumable) goods on a per consumer basis. Being exposed as a RESTful API, it can be used by any connected application.</p>
<p>After 7 months of development Digital Commerce is eventually feature-complete and validated with a real-life use case demonstrator but is currently not being operated in production. For more details you can refer to the <a href="https://demo2.onlotaris.com/doc/" target="_blank">documentation</a>.</p>
<h5>Some contributions</h5>
<ul>
<li>Early stage specifications and design of the service</li>
<li>API Design, following RESTful good practices</li>
<li>Definition of the product roadmap and day-by-day follow-up with the delivery team, with a technical Product Owner cap (that is, doing backlog grooming, daily progress follow-up and code reviews)</li>
<li>Design of a robust and flexible authentication model for the API (using OAuth 2.0)</li>
<li>Extraction of reusable components from the final product, now re-used in different projects and solutions in the company</li>
<li>Documentation (definition of the process, design of <a href="https://github.com/lotaris/apidoc-seed" target="_blank">a tool</a> to support the process and redaction of both internal and public content)</li>
</ul>
</div>
<p><a href="#tgl-dco" class="moreInfo-tgl">More info</a></p>
</div>
</div>
<!-- end .projects-item -->
<!-- begin .projects-item -->
<div class="section-projects-item row-fluid">
<div class="projects-item-thumbnail span4">
<div class="projects-item-thumbnail-wrap">
<div data-title="in-appCommerce" class="portfolio-item-thumbnail-wrap">
<img src="images/inappcommerce.jpg"/>
</div>
</div>
</div>
<div class="projects-item-excerpt span8" id="iac">
<h4>Lotaris <i>in-app</i>Commerce<br/><small>Software Architect @ Lotaris SA, Switzerland</small></h4>
<p>Self-service portal for cross-platform licensing.</p>
<div id="tgl-iac" class="toggleable">
<h5>About the project</h5>
<p>Lotaris <i>in-app</i>Commerce is a self-service portal helping developers to monetize their (Mobile) applications. It is essentially a B2C adaptation of <a href="#lme">LiME</a>. It was initially developed as an alternative licensing / payment platform for the Windows 8 ecosystem and later evolved to a more general store-independant licensing service (also for Android).</p>
<p>The service consists of a number of client SDKs (for Android, Windows 8, Windows Phone 8 and Windows Desktop) and a collection of Web tools allowing app developers to register, configure a licensing model for their app (with perpetual, time-limited and subscription licenses), access the integration guides and track their sales. The client SDKs expose an API to control access to premium features and trigger payment processes based on the licensing model configured on the Web tool.</p>
<p>For more information, you can check out the <a href="https://www.lotaris.com/overview" target="_blank">marketing documentation</a>, have a look at the <a href="https://www.lotaris.com/payment-demo/" target="_blank">interactive demo</a> or dig into the <a href="https://tools.onlotaris.com/en/dc/devcenter/" target="_blank">integration guides</a>.</p>
<h5>Some contributions</h5>
<ul>
<li>Early-stage specification and design of the product (how to transform an existing B2B service to a B2C service, what is needed)</li>
<li>Detailed planning and follow-up of the delivery throughout the project following a very aggressive schedule, as the Scrum Master</li>
<li>Various contributions to the backend development including integration to payment gateways, item purchase, user account management, multi-device handling, automated UI testing, ...</li>
<li>Maintenance and support of the platform in production</li>
<li>Hiring, coaching and team-building of a growing development crew, with developers in Switzerland and Romania</li>
</ul>
</div>
<p><a href="#tgl-iac" class="moreInfo-tgl">More info</a></p>
</div>
</div>
<!-- end .projects-item -->
<!-- begin .projects-item -->
<div class="section-projects-item row-fluid">
<div class="projects-item-thumbnail span4">
<div class="projects-item-thumbnail-wrap">
<div data-title="LiME" class="portfolio-item-thumbnail-wrap">
<img src="images/lme.jpg"/>
</div>
</div>
</div>
<div class="projects-item-excerpt span8" id="lme">
<h4>Licensed Mobile Environment (LiME)<br/><small>Senior Developer @ Lotaris SA, Switzerland</small></h4>
<p>B2B service to license Mobile Applications.</p>
<div id="tgl-lme" class="toggleable">
<h5>About the project</h5>
<p>LiME is a service providing flexible licensing and in-app payment capabilities for Mobile applications. It was built and operated as a managed service to help major Software companies monetize their Mobile applications through various distribution channels (retail, OEM, mobile operators, app-stores), using various payment methods (credit card, premium SMS, mobile operator billing, retail scratch cards) and following various licensing models (fremium, perpetual licenses, fixed-length licenses, subscriptions).</p>
<p>The service, built for Android and iOS, uses a server-driven native UI payment experience. It means that from the consumer point of view, the UI is platform specific (using the platform native UI controls, not a Web view) but the screens are driven from the backend, which allows to dynamically change the payment process based on server configurations.</p>
<p>At the time of writing this (11/14), companies like Symantec and Capcom are still relying on LiME to monetize some of their Mobile applications.</p>
<h5>Some contributions</h5>
<ul>
<li>Automation of the build and deployment process (on the development environments), using Maven and Jenkins</li>
<li>Design and implementation of an internal State Machine framework to facilitate the modelisation of various business models (eventually used essentially for subscriptions and their automatic renewal)</li>
<li>Various contributions on partner integrations (including payment gateways and Mobile operators)</li>
<li>Design and implementation of a generic mock system, allowing LiME to be tested in isolation from integrated partners (required for automated tests and performance test campaigns)</li>
<li>Definition and execution of performance tests campaigns (setting-up the test environment, writing the load injection scripts using JMeter, execution and documentation of the test campaigns and follow-up optimizations at applicative and database levels)</li>
<li>Suggestion, specification, planning and implementation of a major platform refactoring from a three servers / three databases architecture (with lots of inter-server REST communications) to a one server / one database architecture. This implied the merge of the business logic in the backends and complex SQL migration scripts to merge the three MySQL databases (with millions of records in each database). The resulting architecture allowed for reduced operational costs, largely improved performance, more stability and faster development</li>
</ul>
</div>
<p><a href="#tgl-lme" class="moreInfo-tgl">More info</a></p>
</div>
</div>
<!-- end .projects-item -->
<!-- begin .projects-item -->
<div class="section-projects-item row-fluid">
<div class="projects-item-thumbnail span4">
<div class="projects-item-thumbnail-wrap">
<div data-title="LSVAM" class="portfolio-item-thumbnail-wrap">
<img src="images/lsvam.jpg"/>
</div>
</div>
</div>
<div class="projects-item-excerpt span8" id="lsvam">
<h4>Large Scale Video Annotation Mining (LSVAM)<br/><small>Research Assistant @ IICT / HEIG-VD, Switzerland</small></h4>
<p>Data-Mining techniques applied to content-based video retrieval systems.</p>
<div id="tgl-lsvam" class="toggleable">
<h5>Abstract</h5>
<p>In order to achieve true content-based information retrieval on video we should analyse and index video with high-level semantic concepts in addition to using user-generated tags and structured metadata like title, date, etc. However the range of such high-level semantic concepts, detected either manually or automatically, is usually limited compared to the richness of information content in video and the potential vocabulary of available concepts for indexing. Even though there is work to improve the performance of individual concept classifiers, we should strive to make the best use of whatever partial sets of semantic concept occurrences are available to us. We describe in this paper our method for using association rule mining to automatically enrich the representation of video content through a set of semantic concepts based on concept co-occurrence patterns. We describe our experiments on the TRECVid 2005 video corpus annotated with the 449 concepts of the LSCOM ontology. The evaluation of our results shows the usefulness of our approach.</p>
<h5>Publication</h5>
<p><i>N. Fatemi, F. Poulin, L. Raileanu, A. Smeaton, “Using association rule mining to enrich semantic concepts for video retrieval”, International Conference on Knowledge Discovery and Information Retrieval: KDIR’09, Funchal, Madeira, October 2009.</i></p>
<h5>Some contributions</h5>
<ul>
<li>Active participation in the research process (participation to conferences, digestion of a number of state-of-the-art research papers in the field, elaboration and validation of ideas around semantic concept enrichments)</li>
<li>Numerous ETL algorithms on the large metadata corpus of TRECVid 2005 (using plain Java and crosstab SQL queries to build a database optimized for analysis)</li>
<li>Efficient implementation of various well-known Data-Mining algorithms such as <i>Apriori</i>, <i>FP-Growth</i> to explore Frequent Pattern Trees and <i>gen-Rules</i> to create decision rules</li>
<li>Adaptation and optimization of those algorithms to match the project requirements (considered one of the major contribution to the research paper)</li>
<li>Production of all sorts of output graphs (using <i>R</i> and Java) using a cross-validation process to validate and fine-tune the models</li>
<li>Co-writing of the published paper</li>
</ul>
</div>
<p><a href="#tgl-lsvam" class="moreInfo-tgl">More info</a></p>
</div>
</div>
<!-- end .projects-item -->
</div>
<!-- end .section-projects -->
<!-- begin .section-portfolio -->
<div class="section section-portfolio row">
<h3 class="css3-gradient-2"><span style="text-decoration: line-through">No</span> Life</h3>
<h4><i class="fa fa-camera"></i>Landscape Photography
<br/><small>Checkout my <a href="http://www.flickr.com/photos/fpoulin" target="_blank">Flickr Page</a> for the full portfolio</small></h4>
<!-- begin .portfolio-row -->
<div class="section-portfolio-row-wrap row-fluid">
<div class="portfolio-item-thumbnail span6">
<div data-title="Indonesia - Mount Bromo (2014)" class="portfolio-item-thumbnail-wrap">
<a href="images/13695484695_4eb0fd0861_o.jpg" rel="prettyPhoto"><img src="images/13695484695_4eb0fd0861_s.jpg"/></a>
</div>
</div>
<div class="portfolio-item-thumbnail span6">
<div data-title="Singapore - Henderson Wave (2014)" class="portfolio-item-thumbnail-wrap">
<a href="images/14730241768_df2f3da3cd_o.jpg" rel="prettyPhoto"><img src="images/14730241768_df2f3da3cd_s.jpg"/></a>
</div>
</div>
</div>
<!-- end .portfolio-row -->
<!-- begin .portfolio-row -->
<div class="section-portfolio-row-wrap row-fluid">
<div class="portfolio-item-thumbnail span6">
<div data-title="Iceland - Northern Lights (2012)" class="portfolio-item-thumbnail-wrap">
<a href="images/8418685618_32a0778618_o.jpg" rel="prettyPhoto"><img src="images/8418685618_32a0778618_s.jpg"/></a>
</div>
</div>
<div class="portfolio-item-thumbnail span6">
<div data-title="Switzerland - Gorges de l'Areuse (2012)" class="portfolio-item-thumbnail-wrap">
<a href="images/6903742865_1422cb8570_o.jpg" rel="prettyPhoto"><img src="images/6903742865_1422cb8570_s.jpg"/></a>
</div>
</div>
</div>
<!-- end .portfolio-row -->
<h4><i class="fa fa-music"></i>Music
<br/><small>Stuff I have been listening to lately</small></h4></h4>
<!-- begin .portfolio-row -->
<div class="section-portfolio-row-wrap row-fluid">
<div class="portfolio-item-thumbnail span6">
<span>Recently played tracks:<br/></span>
<a href="http://www.last.fm/user/dobfatch/?chartstyle=thenorm"><img src="http://imagegen.last.fm/thenorm/recenttracks/dobfatch.gif"/></a>
</div>
<div class="portfolio-item-thumbnail span6">
<span>Favourite artists:<br/></span>
<a href="http://www.last.fm/user/dobfatch/?chartstyle=thenorm"><img src="http://imagegen.last.fm/thenorm/oartists/dobfatch.gif"/></a>
</div>
</div>
<!-- end .portfolio-row -->
</div>
<!-- end .section-portfolio -->
</div>
<!-- end .main-wrap -->
<!-- start .footer -->
<div class="span12 footer">
<div class="row">
<p><small>Adapted from a <a href="http://getbootstrap.com/">Twitter Bootstrap</a> template, using the awesome <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a> and a few lines of <a href="http://jquery.com/">JQuery</a></small></p>
</div>
</div>
<!-- end .footer -->
</div>
</div>
<script src="js/jquery.latest.min.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
<script src="js/prettyPhoto/jquery.prettyPhoto.js"></script>
<script src="js/custom.js"></script>
</body>
</html>