The best way to learn how to use the WebCore is by example. See the documentation for more information.
The requested URL is always shown first; if a page uses one or more WebCore templates, those are shown afterwards.
00 <?php
01 include_once ('webcore/init.php');
02
03 /** @var THEMED_PAGE $page */
04 $page = $Page;
05
06 $Page->title->subject = "Marco Von Ballmoos - Curriculum Vitae";
07 $Page->template_options->title = "C.V.";
08
09 $Page->location->add_root_link ();
10 $Page->location->append ("Marco", "../");
11 $Page->location->append ("Curriculum Vitae", './');
12 $Page->location->append ("June 2016");
13
14 $Page->theme->font_name_CSS_file_name = '{styles}/fonts/forum';
15 $Page->theme->font_size_CSS_file_name = '{styles}/core/medium';
16 $Page->theme->main_CSS_file_name = './styles/resume_2016_6.css';
17 $Page->start_display ();
18 ?>
19 <style type="text/css">
20 <?php
21
22 $first_year = 1985;
23 $last_year = date("Y");
24 $year_count = $last_year - $first_year;
25 $one_year_percent = 100 / $year_count;
26 $minimum_width=0;
27
28 function get_left_margin($year)
29 {
30 global $first_year;
31 global $one_year_percent;
32 global $minimum_width;
33
34 return ($year - $first_year - $minimum_width) * $one_year_percent;
35 }
36
37 function get_right_margin($year)
38 {
39 global $last_year;
40 global $one_year_percent;
41
42 return ($last_year - $year) * $one_year_percent;
43 }
44
45 function get_width($years)
46 {
47 global $one_year_percent;
48 global $minimum_width;
49
50 return ($years + $minimum_width) * $one_year_percent;
51 }
52
53 for ($i = $first_year; $i <= $last_year; $i++)
54 {
55 $left_margin = get_left_margin($i);
56 $right_margin = get_right_margin($i);
57 $mid_right_margin = get_right_margin($i + 0.5);
58
59 echo ".start_$i { margin-left: {$left_margin}% }\n";
60 echo ".end_$i { margin-right: {$right_margin}% }\n";
61 echo ".end_mid_$i { margin-right: {$mid_right_margin}% }\n";
62 }
63
64 for ($i = 1; $i <= 40; $i++)
65 {
66 $width = get_width($i);
67 $mid_width = get_width($i + 0.5);
68
69 echo ".years_$i { width: {$width}% }\n";
70 echo ".years_{$i}_5 { width: {$mid_width}% }\n";
71 }
72
73 $current_year = date('Y');
74 ?>
75 </style>
76 <div class="main-box">
77 <div class="text-flow">
78 <section>
79 <h2>Contact</h2>
80 <div class="contact">
81 <div>
82 <h1>Marco Von Ballmoos</h1>
83 <h2>Software Architect & Developer</h2>
84 </div>
85 <ul>
86 <li><a href="mailto:marco@earthli.com">marco@earthli.com</a></li>
87 <li><a href="https://earthli.com">https://earthli.com</a></li>
88 </ul>
89 </div>
90 </section>
91
92 <section>
93 <h2>Profile</h2>
94 <div class="content">
95 <p>I have more than two decades of experience as a professional software developer, systems architect and technical project manager. I'm interested in high-quality solutions to tough problems. I co-founded Encodo Systems AG almost a dozen years ago.</p>
96 <p>My focus has always been on generalization and DRY using metadata and common libraries. I've written four frameworks over the years, in C#, C++, Delphi and PHP.</p>
97 </div>
98 </section>
99
100 <section>
101 <h2>Skills</h2>
102 <div class="grid small-tiles">
103 <div>
104 <h3>Systems Architect</h3>
105 <p>Design back-end and front-systems. Integration with existing systems. Maintainable. Extendable. Understandable.</p>
106 </div>
107 <div>
108 <h3>Full Stack Developer</h3>
109 <p>Comfortable and experienced in writing high-performance, readable code in various languages and with various frameworks, libraries and technologies.</p>
110 </div>
111 <div>
112 <h3>Technical Project Manager</h3>
113 <p>Collect and create requirements. Manage issues and releases.</p>
114 </div>
115 <div>
116 <h3>Trainer & Educator</h3>
117 <p>Plan and execute trainings for small- to medium-sized teams. Write technical documentation and share knowledge via code reviews and frequent blogging.</p>
118 </div>
119 </div>
120 </section>
121
122 <section>
123 <h2>Employment & Education</h2>
124
125 <div class="content grid small-tiles">
126 <div class="project">
127 <h3><a href="http://encodo.com">Encodo Systems AG</a></h3>
128 <h4>Winterthur, Switzerland</h4>
129 <h5 title="<?php echo $current_year - 2005; ?> years"><time datetime="2005-09">Sep 2005</time>—present</h5>
130 <ul class="details">
131 <li class="skills">Founding Partner, Technical Project Manager, Architect, Lead Developer, Support</li>
132 </ul>
133 </div>
134 <div class="project">
135 <h3><a href="http://opus.ch">Opus Software AG</a></h3>
136 <h4>Wetzikon, Switzerland</h4>
137 <h5 title="3 years"><time datetime="2002-10">Oct 2002</time>—<time datetime="2005-08">Aug 2005</time></h5>
138 <ul class="details">
139 <li class="skills">Architect, Lead Developer, Support</li>
140 </ul>
141 </div>
142 <div class="project">
143 <h3>Logicat, Inc.</h3>
144 <h4>New York, New York</h4>
145 <h5 title="8 years"><time datetime="1994-08">Aug 1994</time>—<time datetime="2002-08">Aug 2002</time></h5>
146 <ul class="details">
147 <li class="skills">Architect, Lead Developer</li>
148 </ul>
149 </div>
150 <div class="project">
151 <h3><a href="http://www.hamilton.edu">Hamilton College</a></h3>
152 <h4>Clinton, New York</h4>
153 <h5 title="4 years"><time datetime="1990-08">Aug 1990</time>—<time datetime="1994-05">May 1994</time></h5>
154 <ul class="details">
155 <li class="skills">Bachelor of Arts in Mathematics (minor in physics; undeclared major in computer science)</li>
156 </ul>
157 </div>
158 </div>
159 </section>
160
161 <section>
162 <h2>Personal</h2>
163 <div>
164 <div class="content grid small-tiles">
165 <div>
166 <h3>Languages</h3>
167 <p>English, German: fluent (speaking, reading, writing)</p>
168 </div>
169 <div>
170 <h3>Interests</h3>
171 <p>Cycling, Hiking, Programming, Writing, Books, Movies</p>
172 </div>
173 </div>
174 </div>
175 </section>
176
177 <section>
178 <h2>Project History</h2>
179 <div>
180 <h3><a href="http://encodo.com">Encodo Systems AG</a></h3>
181 <h4 title="<?php echo $current_year - 2005; ?> years">September 2005—present</h4>
182 <p>Our goal at Encodo is to build interesting and useful software. I've worked on many projects with a wide range
183 of technologies and target platforms. Our emphasis is on using the best, most appropriate tools for the job.</p>
184 <div class="grid small-tiles">
185 <div class="project">
186 <h4><a href="http://encodo.com/en/quino.php">Quino</a></h4>
187 <h5><time datetime="2007-09">Sep 2007</time>—present</h5>
188 <ul class="details">
189 <li class="skills">Technical PM, Architect, Lead Developer</li>
190 <li class="technologies">C#, Winforms, WPF, Web API, TypeScript, Less, React</li>
191 <li class="description">A metadata-centric framework to develop client and service applications. Includes an ORM, automated schema-migration, generated user interfaces and much more.</li>
192 </ul>
193 </div>
194 <div class="project">
195 <h4>Alps Handoff Training</h4>
196 <h5><time datetime="2015-10">Oct 2015</time></h5>
197 <ul class="details">
198 <li class="skills">Architect</li>
199 <li class="technologies">C#, Quino, Web API, TypeScript, Less, Knockout</li>
200 <li class="description">Created presentations and tutorials and presented a 5-day training to onboard a small team.</li>
201 </ul>
202 </div>
203 <div class="project">
204 <h4><a href="https://apps.apexclearing.com/alps">Alps</a></h4>
205 <h5><time datetime="2013-06">Jun 2013</time>—present</h5>
206 <ul class="details">
207 <li class="skills">Technical PM, Architect, Developer</li>
208 <li class="technologies">C#, Quino, Web API, TypeScript, Less, Knockout</li>
209 <li class="description">Services and web front-end for processing, overview and management of ACATS for <a href="http://apexclearing.com">Apex Clearing Corporation</a>.</li>
210 </ul>
211 </div>
212 <div class="project">
213 <h4><a href="https://qontis.ch">Qontis</a></h4>
214 <h5><time datetime="2013-03">Mar 2013</time>—<time datetime="2014-09">Sep 2014</time></h5>
215 <ul class="details">
216 <li class="skills">Architect, Developer</li>
217 <li class="technologies">C#, WCF, Meniga, JavaScript, Less, jQuery</li>
218 <li class="description">A personal finance manager with integration into various online banking systems.</li>
219 </ul>
220 </div>
221 <div class="project">
222 <h4>Crealogix MUX Training</h4>
223 <h5><time datetime="2014-08">Aug 2014</time></h5>
224 <ul class="details">
225 <li class="skills">Architect</li>
226 <li class="technologies">HTML 5, JavaScript, Less/Css</li>
227 <li class="description">Created a framework recommendation for a web-based project. Created presentations and tutorials and presented a 5-day training to onboard a small team.</li>
228 </ul>
229 </div>
230 <div class="project">
231 <h4>Roche HTML5 Training</h4>
232 <h5><time datetime="2013-11">Nov 2013</time></h5>
233 <ul class="details">
234 <li class="skills">Architect</li>
235 <li class="technologies">HTML 5, JavaScript, Less/Css</li>
236 <li class="description">Created presentations and tutorials and presented a 3-day, HTML5 introduction and training with a focus on architecture.</li>
237 </ul>
238 </div>
239 <div class="project">
240 <h4>Roche MUA</h4>
241 <h5><time datetime="2012-10">Oct 2012</time>—<time datetime="2013-06">Jun 2013</time></h5>
242 <ul class="details">
243 <li class="skills">Developer</li>
244 <li class="technologies">HTML 5, JavaScript, Less/Css</li>
245 <li class="description">A full-fledged port of a Silverlight user-assistance application to HTML for mobile devices.</li>
246 </ul>
247 </div>
248 <div class="project">
249 <h4><a href="http://peak6.com">Peak6 Launchpad</a></h4>
250 <h5><time datetime="2010-07">Jul 2010</time>—<time datetime="2012-09">Sep 2012</time></h5>
251 <ul class="details">
252 <li class="skills">Architect, Developer</li>
253 <li class="technologies">C#, Winforms, Quino</li>
254 <li class="description">A highly concurrent and high-performance query and display client for options traders.</li>
255 </ul>
256 </div>
257 <div class="project">
258 <h4>M9</h4>
259 <h5><time datetime="2013-03">Mar 2013</time>—<time datetime="2014-09">Sep 2014</time></h5>
260 <ul class="details">
261 <li class="skills">Architect, Developer</li>
262 <li class="technologies">C#, Winforms, Entity Framework</li>
263 <li class="description">A large-scale and high-volume contact bulk mail/campaign manager.</li>
264 </ul>
265 </div>
266 <div class="project">
267 <h4><a href="http://www.zag.zh.ch">eZag Admin</a></h4>
268 <h5><time datetime="2007-03">Mar 2007</time>—present</h5>
269 <ul class="details">
270 <li class="skills">Architect, Developer, Support</li>
271 <li class="technologies">C#, Winforms, Quino, ASP.Net, Exchange integration</li>
272 <li class="description">A product for managing a school, including basic data, curriculum and lesson planning software.</li>
273 </ul>
274 </div>
275 <div class="project">
276 <h4><a href="http://fides.ch">POC Raiffeisen</a></h4>
277 <h5><time datetime="2007-05">May 2007</time>—<time datetime="2007-08">Aug 2007</time></h5>
278 <ul class="details">
279 <li class="skills">Architect, Developer</li>
280 <li class="technologies">Java, Eclipse RCP</li>
281 <li class="description">A POC to wrap legacy software in a SOAP API with a Java client prototype.</li>
282 </ul>
283 </div>
284 <div class="project">
285 <h4><a href="http://fides.ch">Fides Client</a></h4>
286 <h5><time datetime="2006-06">Jun 2006</time>—<time datetime="2014-06">Jun 2014</time></h5>
287 <ul class="details">
288 <li class="skills">Architect, Developer, Support</li>
289 <li class="technologies">Delphi Pascal, VCL</li>
290 <li class="description">A client/server component to communicate in parallel and asynchronously via a custom, secure XML-based protocol.</li>
291 </ul>
292 </div>
293 <div class="project">
294 <h4><a href="http://fides.ch">Fides Reporting</a></h4>
295 <h5><time datetime="2006-06">Jun 2006</time>—<time datetime="2014-06">Jun 2014</time></h5>
296 <ul class="details">
297 <li class="skills">Architect, Lead Developer, Support</li>
298 <li class="technologies">Delphi Pascal, VCL</li>
299 <li class="description">A reporting engine and full-fledged designer for fixed-width text, HTML and PDF reports.</li>
300 </ul>
301 </div>
302 <div class="project">
303 <h4><a href="http://www.zag.zh.ch">ZAG Entlastungkontrolle</a></h4>
304 <h5><time datetime="2005-10">Oct 2005</time>—<time datetime="2014-10">Oct 2014</time></h5>
305 <ul class="details">
306 <li class="skills">Architect, Developer, Support</li>
307 <li class="technologies">Java, Tapestry</li>
308 <li class="description">A product for teachers and administrators to manage compensated and continuing eductation time.</li>
309 </ul>
310 </div>
311 <div class="project">
312 <h4><a href="http://www.zag.zh.ch">Q-ZAG</a></h4>
313 <h5><time datetime="2005-12">Dec 2005</time>—<time datetime="2014-10">Oct 2014</time></h5>
314 <ul class="details">
315 <li class="skills">Architect, Developer, Support</li>
316 <li class="technologies">Java, Tapestry</li>
317 <li class="description">A document management system for organizing materials related to the Quintessenz system.</li>
318 </ul>
319 </div>
320 </div>
321 </div>
322 </section>
323
324 <section>
325 <div>
326 <table class="basic left-labels legend">
327 <tr>
328 <th>Architect</th>
329 <td class="architect"></td>
330 </tr>
331 <tr>
332 <th>Lead</th>
333 <td class="lead-developer"></td>
334 </tr>
335 <tr>
336 <th>Developer</th>
337 <td class="developer"></td>
338 </tr>
339 <tr>
340 <th>Technical PM</th>
341 <td class="project-manager"></td>
342 </tr>
343 <tr>
344 <th>Support</th>
345 <td class="support"></td>
346 </tr>
347 </table>
348 </div>
349 <div>
350 <div class="timeline">
351 <div class="encodo">
352 <div class="content">
353 <div class="years">
354 <div>1985</div>
355 <div>1990</div>
356 <div>1995</div>
357 <div>2000</div>
358 <div>2005</div>
359 <div>2010</div>
360 <div>2015</div>
361 </div>
362 <div class="projects">
363 <div class="start_2005 end_present years_<?php echo $current_year - 2005; ?> employee"></div>
364 <div class="start_2007 end_present project-manager architect lead-developer">Quino</div>
365 <div class="start_2013 end_present project-manager architect developer">Alps</div>
366 <div class="start_2013 end_2014 architect developer">Qontis</div>
367 <div class="start_2012 end_2013 developer">Roche UA</div>
368 <div class="start_2010 end_2012 project-manager architect lead-developer">Peak6 Launchpad</div>
369 <div class="start_2009 end_2010 project-manager architect developer">M9</div>
370 <div class="single-line">
371 <div class="start_2007 end_2009 developer">eZagAdmin</div>
372 <div class="start_2009 end_present developer support">eZagAdmin</div>
373 </div>
374 <div class="start_2007 end_2008 developer">PoC Raiffeisen</div>
375 <div class="single-line">
376 <div class="start_2006 end_2007 architect lead-developer">Fides Reporting Engine</div>
377 <div class="start_2007 end_2011 lead-developer support">Fides Reporting Engine</div>
378 </div>
379 <div class="single-line">
380 <div class="start_2006 end_2007 lead-developer">Fides Client</div>
381 <div class="start_2007 end_2014 developer support">Fides Client</div>
382 </div>
383 <div class="single-line">
384 <div class="start_2005 end_2006 lead-developer">Q-ZAG</div>
385 <div class="start_2006 end_2014 project-manager lead-developer support">Q-ZAG</div>
386 </div>
387 <div class="single-line">
388 <div class="start_2005 end_2006 developer">Entlastungskontrolle</div>
389 <div class="start_2006 end_2014 project-manager support">Entlastungskontrolle</div>
390 </div>
391 </div>
392 </div>
393 </div>
394 </div>
395
396 <div>
397 <h3>Opus Software GmbH</h3>
398 <h4 title="3 years">October 2002—August 2005</h4>
399 <p>I moved from New York City to Switzerland to work for Opus, where I went back to working with Object Pascal and Delphi.</p>
400 <div class="grid small-tiles">
401 <div class="project">
402 <h4>Atlas</h4>
403 <h5><time datetime="2002-10">Oct 2002</time>—<time datetime="2005-08">Aug 2005</time></h5>
404 <ul class="details">
405 <li class="skills">Architect, Lead Developer</li>
406 <li class="technologies">Delphi Pascal, VCL</li>
407 <li class="description">A metadata-centric framework to develop client and service applications. Included an ORM, automated schema-migration, generated user interfaces and much more.</li>
408 </ul>
409 </div>
410 <div class="project">
411 <h4>SQL Server Data Driver</h4>
412 <h5><time datetime="2005-01">Jan 2005</time>—<time datetime="2005-08">Aug 2005</time></h5>
413 <ul class="details">
414 <li class="skills">Lead Developer</li>
415 <li class="technologies">Delphi Pascal, SQL Server 2000</li>
416 <li class="description">A data driver for Atlas for SQL Server databases.</li>
417 </ul>
418 </div>
419 <div class="project">
420 <h4>Allbase Data Driver</h4>
421 <h5><time datetime="2004-06">Jun 2004</time>—<time datetime="2004-12">Dec 2004</time></h5>
422 <ul class="details">
423 <li class="skills">Lead Developer</li>
424 <li class="technologies">Delphi Pascal, HP Allbase</li>
425 <li class="description">A data driver for Atlas for HP Allbase databases.</li>
426 </ul>
427 </div>
428 <div class="project">
429 <h4>Dialba 2000</h4>
430 <h5><time datetime="2003-06">Jun 2003</time>—<time datetime="2005-08">Aug 2005</time></h5>
431 <ul class="details">
432 <li class="skills">Developer</li>
433 <li class="technologies">Delphi Pascal, VCL, Btrieve/Powerflex</li>
434 <li class="description">Support and enhancements for a feature-rich and powerful banking front-end written with Atlas.</li>
435 </ul>
436 </div>
437 <div class="project">
438 <h4>Atlas Startup</h4>
439 <h5><time datetime="2003-02">Feb 2003</time>—<time datetime="2003-06">Jun 2003</time></h5>
440 <ul class="details">
441 <li class="skills">Lead Developer</li>
442 <li class="technologies">Delphi Pascal</li>
443 <li class="description">A flexible and declarative configuration and startup system for Atlas applications.</li>
444 </ul>
445 </div>
446 <div class="project">
447 <h4>Atlas Logging</h4>
448 <h5><time datetime="2003-04">Apr 2003</time>—<time datetime="2003-06">Jun 2003</time></h5>
449 <ul class="details">
450 <li class="skills">Lead Developer</li>
451 <li class="technologies">Delphi Pascal</li>
452 <li class="description">Add configurable and semantic/information-rich logging for Atlas applications.</li>
453 </ul>
454 </div>
455 <div class="project">
456 <h4>earthli Projects 2.5</h4>
457 <h5><time datetime="2002-11">Nov 2002</time>—<time datetime="2003-01">Jan 2003</time></h5>
458 <ul class="details">
459 <li class="skills">Lead Developer</li>
460 <li class="technologies">PHP 4</li>
461 <li class="description">Install and support earthli Projects as issue-tracker for Opus. Improve emails and subscriptions. Enrich job/issue data with multiple branch statuses.</li>
462 </ul>
463 </div>
464 </div>
465 </div>
466
467 <div class="timeline">
468 <div class="opus">
469 <div class="content">
470 <div class="years">
471 <div>1985</div>
472 <div>1990</div>
473 <div>1995</div>
474 <div>2000</div>
475 <div>2005</div>
476 <div>2010</div>
477 <div>2015</div>
478 </div>
479 <div class="projects">
480 <div class="start_2002 end_2005 years_3 employee"></div>
481 <div class="start_2005 end_mid_2005 developer">Sql Server Data Driver</div>
482 <div class="start_2004 end_mid_2004 developer">Allbase Data Driver</div>
483 <div class="start_2003 end_2005 developer">Dialba 2000</div>
484 <div class="start_2003 end_mid_2003 developer">Atlas Startup</div>
485 <div class="start_2003 end_mid_2003 developer">Atlas Logging</div>
486 <div class="single-line">
487 <div class="start_2002 end_2003 developer">Atlas</div>
488 <div class="start_2003 end_2005 architect lead-developer">Atlas</div>
489 </div>
490 <div class="start_2002 end_mid_2002 developer">earthli Projects 2.5</div>
491 </div>
492 </div>
493 </div>
494 </div>
495
496 <div>
497 <h3>Logicat, Inc.</h3>
498 <h4 title="8 years">August 1994—August 2002</h4>
499 <p>I moved from upstate New York to New York City to start my professional career at Logicat as a developer.</p>
500 <div class="grid small-tiles">
501 <div class="project">
502 <h4><a href="https://cemanager.micronapps.com">Logicat Course Administrator</a></h4>
503 <h5><time datetime="2002-05">May 2002</time>—<time datetime="2002-08">Aug 2002</time></h5>
504 <ul class="details">
505 <li class="skills">Project Manager, Architect, Lead Developer</li>
506 <li class="technologies">Visual Basic, ASP.Net, IIS 5, SQL Server 2000</li>
507 <li class="description">Added multi-tenancy to CE Manager with features/permissions per customer and improved evaluation, reporting and views.</li>
508 </ul>
509 </div>
510 <div class="project">
511 <h4><a href="https://cemanager.micronapps.com">Logicat CE Manager</a></h4>
512 <h5><time datetime="2001-04">Apr 2001</time>—<time datetime="2002-04">Apr 2002</time></h5>
513 <ul class="details">
514 <li class="skills">Project Manager, Architect, Lead Developer</li>
515 <li class="technologies">Visual Basic, ASP.Net, IIS 5, SQL Server 2000</li>
516 <li class="description">A web-based application with reports, reminders and statements for lawyers to track and manage continuing-education credits and licenses.</li>
517 </ul>
518 </div>
519 <div class="project">
520 <h4>Logicat Online Testing</h4>
521 <h5><time datetime="2001-02">Feb 2001</time>—<time datetime="2001-04">Apr 2001</time></h5>
522 <ul class="details">
523 <li class="skills">Lead Developer</li>
524 <li class="technologies">Visual C++ 6, IIS 5, SQL Server 2000, HTML/CSS/JS</li>
525 <li class="description">An HTML-based testing platform for online learning solutions.</li>
526 </ul>
527 </div>
528 <div class="project">
529 <h4>One-on-One with the SAT 2</h4>
530 <h5><time datetime="1999-01">Jan 1999</time>—<time datetime="2001-02">Feb 2001</time></h5>
531 <ul class="details">
532 <li class="skills">Project Manager, Architect, Lead Developer</li>
533 <li class="technologies">Visual C++ 6, MFC, Win32, Metrowerks CodeWarrior 5, Macintosh Toolbox</li>
534 <li class="description">Add full cross-platform support for Mac OS 9/Windows 95/98 for the Logicat Test Engine (including full renderer and file-format abstraction). Authors had significant scripting/formatting/layouting control.</li>
535 </ul>
536 </div>
537 <div class="project">
538 <h4>Logicat Test Engine</h4>
539 <h5><time datetime="1997-11">Nov 1997</time>—<time datetime="1998-12">Dec 1998</time></h5>
540 <ul class="details">
541 <li class="skills">Project Manager, Architect, Lead Developer</li>
542 <li class="technologies">Visual C++ 6, MFC, Win32</li>
543 <li class="description">Extended ELF with sounds, images, videos, forms and event-based scripting to build a feature-rich and powerful testing framework. Initial content was for a BNL (Brookhaven National Labs) training manual.</li>
544 </ul>
545 </div>
546 <div class="project">
547 <h4>Logicat CPA Review Software Live Courses</h4>
548 <h5><time datetime="1997-05">May 1997</time>—<time datetime="1997-11">Nov 1997</time></h5>
549 <ul class="details">
550 <li class="skills">Architect, Lead Developer</li>
551 <li class="technologies">Visual C++ 5, MFC, Win32, Delphi 3, OLE/COM</li>
552 <li class="description">Integrate study plan, calendar and PowerPoint presentations to support/enhance live instruction.</li>
553 </ul>
554 </div>
555 <div class="project">
556 <h4>Performance Transfer Utility</h4>
557 <h5><time datetime="1997-02">Feb 1997</time>—<time datetime="1997-04">Apr 1997</time></h5>
558 <ul class="details">
559 <li class="skills">Lead Developer</li>
560 <li class="technologies">Delphi 2.0, Wise 5.0, HTML/CSS</li>
561 <li class="description">A hardware copy-protection utility for Logicat CPA Review with custom installer and detailed (100-page) manual.</li>
562 </ul>
563 </div>
564 <div class="project">
565 <h4>Logicat CPA Review</h4>
566 <h5><time datetime="1996-08">Aug 1996</time>—<time datetime="1997-01">Jan 1997</time></h5>
567 <ul class="details">
568 <li class="skills">Architect, Lead Developer</li>
569 <li class="technologies">Visual C++ 4.1/5, MFC, Win32, ELF</li>
570 <li class="description">A rewrite of the popular PassMaster DOS program for Windows 95 using ELF.</li>
571 </ul>
572 </div>
573 <div class="project">
574 <h4>ELF (Extended Logicat Format)</h4>
575 <h5><time datetime="1996-02">Feb 1996</time>—<time datetime="1996-08">Aug 1996</time></h5>
576 <ul class="details">
577 <li class="skills">Architect, Lead Developer</li>
578 <li class="technologies">Borland Delphi 2, Microsoft Visual C++ 4.1</li>
579 <li class="description">A content pipeline and rendering library that included a markup language, RTF parser and structured binary document format/database.</li>
580 </ul>
581 </div>
582 <div class="project">
583 <h4>PassMaster CPA Review Web Site</h4>
584 <h5><time datetime="1995-12">Dec 1995</time>—<time datetime="1996-01">Jan 1996</time></h5>
585 <ul class="details">
586 <li class="skills">Lead Developer</li>
587 <li class="technologies">JavaScript, HTML, Delphi</li>
588 <li class="description">An online demonstration of some of the functionality of the DOS-based PassMaster CPA review software.</li>
589 </ul>
590 </div>
591 <div class="project">
592 <h4>One-on-One with the SAT Counselor Utility</h4>
593 <h5><time datetime="1995-09"><time datetime="1995-09">Sep 1995</time></time>—<time datetime="1995-11">Nov 1995</time></h5>
594 <ul class="details">
595 <li class="skills">Lead Developer</li>
596 <li class="technologies">Borland Object Pascal 7, Win32</li>
597 <li class="description">A management and reporting utility for multi-user, networked school distributions of One-on-One with the SAT.</li>
598 </ul>
599 </div>
600 <div class="project">
601 <h4>One-on-One with the SAT</h4>
602 <h5><time datetime="1994-08">Aug 1994</time>—<time datetime="1995-09">Sep 1995</time></h5>
603 <ul class="details">
604 <li class="skills">Developer</li>
605 <li class="technologies">Borland Object Pascal 7, Win32</li>
606 <li class="description">The official College Board SAT-preparation tool for Windows 3.1/95.</li>
607 </ul>
608 </div>
609 </div>
610 </div>
611
612 <div class="timeline">
613 <div class="logicat">
614 <div class="content">
615 <div class="years">
616 <div>1985</div>
617 <div>1990</div>
618 <div>1995</div>
619 <div>2000</div>
620 <div>2005</div>
621 <div>2010</div>
622 <div>2015</div>
623 </div>
624 <div class="projects">
625 <div class="start_1994 end_mid_2002 years_8_5 employee"></div>
626 <div class="start_2002 end_mid_2002 project-manager architect lead-developer">Course Administrator</div>
627 <div class="start_2001 end_2002 project-manager architect lead-developer">Logicat CE Manager</div>
628 <div class="start_2001 end_mid_2001 lead-developer">Online Testing</div>
629 <div class="start_1999 end_2001 project-manager architect lead-developer">One-on-One with the SAT 2.0</div>
630 <div class="start_1997 end_1998 project-manager architect lead-developer">Logicat Test Engine</div>
631 <div class="start_1997 end_mid_1997 architect lead-developer">CPA Live Courses</div>
632 <div class="start_1997 end_mid_1997 lead-developer">Performance Transfer</div>
633 <div class="start_1996 end_1997 architect lead-developer">Logicat CPA Review</div>
634 <div class="start_1996 end_mid_1996 architect lead-developer">ELF</div>
635 <div class="start_1995 end_1996 lead-developer">PassMaster Web</div>
636 <div class="start_1995 end_mid_1995 lead-developer">Counselor Utility</div>
637 <div class="start_1994 end_1995 developer">One-on-One with the SAT</div>
638 </div>
639 </div>
640 </div>
641 </div>
642 <div>
643 <h3>Personal Projects</h3>
644 <h4 title="<?php echo $current_year - 1998; ?> years">January 1998—present</h4>
645 <p>I built and continue to maintain all of the software to run my web site. I've also started and participated in open-source projects over the years.</p>
646 <div class="grid small-tiles">
647 <div class="project">
648 <h4><a href="https://www.earthli.com/software/webcore/">earthli WebCore 3.x</a></h4>
649 <h5><time datetime="2002-04">Aug 2002</time>—present</h5>
650 <ul class="details">
651 <li class="skills">Project Manager, Architect, Lead Developer</li>
652 <li class="technologies">PHP 5, MySQL, HTML5, LESS/ CSS, JS</li>
653 <li class="description">Continued maintenance (migrated to PHP5) as well as introducing features (newsfeeds/social optimization).</li>
654 </ul>
655 </div>
656 <div class="project">
657 <h4><a href="https://www.earthli.com/news/view_article.php?id=1428">TuneSync</a></h4>
658 <h5><time datetime="2004-12">Dec 2004</time>—<time datetime="2005-12">Dec 2005</time></h5>
659 <ul class="details">
660 <li class="skills">Project Manager, Architect, Lead Developer</li>
661 <li class="technologies">Delphi 7</li>
662 <li class="description">An application for comparing and syncing iTunes libraries (ID3 tags, ratings, play counts, etc.).</li>
663 </ul>
664 </div>
665 <div class="project">
666 <h4><a href="https://www.phpdoc.org">PHPDocumentor</a></h4>
667 <h5><time datetime="2003-04">Apr 2003</time>—<time datetime="2010-12">Dec 2010</time></h5>
668 <ul class="details">
669 <li class="skills">Developer</li>
670 <li class="technologies">PHP 4/5</li>
671 <li class="description">A documentation generator for PHP. Enhanced data and templates (HTML4/CSS valid) and fixed bugs.</li>
672 </ul>
673 </div>
674 <div class="project">
675 <h4><a href="https://www.earthli.com/software/webcore/">earthli WebCore 2</a></h4>
676 <h5><time datetime="2002-04">Apr 2002</time>—<time datetime="2002-08">Aug 2002</time></h5>
677 <ul class="details">
678 <li class="skills">Architect, Lead Developer</li>
679 <li class="technologies">PHP, MySQL 4</li>
680 <li class="description">A refactoring of the framework to centralize common logic. Migration of all applications.</li>
681 </ul>
682 </div>
683 <div class="project">
684 <h4><a href="https://www.earthli.com/software/webcore/app_projects.php">earthli Projects</a></h4>
685 <h5><time datetime="2002-03">Mar 2002</time>—<time datetime="2002-07">Jul 2002</time></h5>
686 <ul class="details">
687 <li class="skills">Lead Developer</li>
688 <li class="technologies">PHP, MySQL, WebCore</li>
689 <li class="description">An issue-tracker and version/release manager built with the earthli WebCore.</li>
690 </ul>
691 </div>
692 <div class="project">
693 <h4><a href="https://www.earthli.com/software/webcore/app_news.php">earthli News</a></h4>
694 <h5><time datetime="2002-01">Jan 2002</time>—<time datetime="2002-02">Feb 2002</time></h5>
695 <ul class="details">
696 <li class="skills">Lead Developer</li>
697 <li class="technologies">PHP, MySQL, WebCore</li>
698 <li class="description">A blogging platform built with the earthli WebCore (replaced Forums).</li>
699 </ul>
700 </div>
701 <div class="project">
702 <h4><a href="https://www.earthli.com/software/webcore/app_recipes.php">earthli Recipes</a></h4>
703 <h5><time datetime="2002-01">Jan 2002</time>—<time datetime="2002-02">Feb 2002</time></h5>
704 <ul class="details">
705 <li class="skills">Lead Developer</li>
706 <li class="technologies">PHP, MySQL, WebCore</li>
707 <li class="description">A recipe-management application built with the earthli WebCore.</li>
708 </ul>
709 </div>
710 <div class="project">
711 <h4><a href="https://earthli.com/software/webcore">earthli WebCore</a></h4>
712 <h5><time datetime="2001-10">Oct 2001</time>—<time datetime="2001-12">Dec 2001</time></h5>
713 <ul class="details">
714 <li class="skills">Architect, Lead Developer</li>
715 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
716 <li class="description">Built a web-application framework with themes, security, search, an ORM, an email publication engine and more. Rebuilt Albums with this framework.</li>
717 </ul>
718 </div>
719 <div class="project">
720 <h4>earthli Themes</h4>
721 <h5><time datetime="2001-06">Jun 2001</time>—<time datetime="2001-09">Sep 2001</time></h5>
722 <ul class="details">
723 <li class="skills">Lead Developer</li>
724 <li class="technologies">HTML, CSS</li>
725 <li class="description">Rewrote web front-end with CSS to support multiple color schemes.</li>
726 </ul>
727 </div>
728 <div class="project">
729 <h4>earthli Forums</h4>
730 <h5><time datetime="2000-10">Oct 2000</time>—<time datetime="2000-12">Dec 2000</time></h5>
731 <ul class="details">
732 <li class="skills">Architect, Lead Developer</li>
733 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
734 <li class="description">Bulletin board with full-text search, nested commenting and ACL-based permissions.</li>
735 </ul>
736 </div>
737 <div class="project">
738 <h4><a href="https://www.earthli.com/software/webcore/app_albums.php">earthli Albums</a></h4>
739 <h5><time datetime="1999-10">Oct 1999</time>—<time datetime="2000-07">Jul 2000</time></h5>
740 <ul class="details">
741 <li class="skills">Architect, Lead Developer</li>
742 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
743 <li class="description">Albums with journal entries, photos, a calendar and support for multiple users.</li>
744 </ul>
745 </div>
746 </div>
747 </div>
748
749 <div class="timeline">
750 <div class="personal">
751 <div class="content">
752 <div class="years">
753 <div>1985</div>
754 <div>1990</div>
755 <div>1995</div>
756 <div>2000</div>
757 <div>2005</div>
758 <div>2010</div>
759 <div>2015</div>
760 </div>
761 <div class="projects">
762 <div class="start_1998 end_present years_<?php echo $current_year - 1998; ?> employee"></div>
763 <div class="start_2004 end_2005 project-manager architect lead-developer">TuneSync</div>
764 <div class="start_2003 end_2010 developer">PHPDocumentor</div>
765 <div class="start_2002 end_mid_2002 lead-developer">earthli Projects</div>
766 <div class="start_2002 end_mid_2002 lead-developer">earthli News</div>
767 <div class="start_2002 end_mid_2002 lead-developer">earthli Recipes</div>
768 <div class="start_2001 end_present project-manager architect lead-developer">earthli WebCore</div>
769 <div class="start_2001 end_mid_2001 lead-developer">earthli Themes</div>
770 <div class="start_2000 end_mid_2000 architect lead-developer">earthli Forums</div>
771 <div class="start_1999 end_2000 architect lead-developer">earthli Albums</div>
772 </div>
773 </div>
774 </div>
775 </div>
776 </div>
777 </section>
778
779 <section>
780 <h2>Skills History</h2>
781 <div><h3>Techniques</h3></div>
782 </section>
783
784 <section>
785 <div>
786 <table class="basic left-labels legend">
787 <tr>
788 <th>Expert</th>
789 <td class="level-expert"></td>
790 </tr>
791 <tr>
792 <th>Proficient</th>
793 <td class="level-proficient"></td>
794 </tr>
795 <tr>
796 <th>Competent</th>
797 <td class="level-competent"></td>
798 </tr>
799 </table>
800 </div>
801
802 <div>
803 <div class="timeline">
804 <div class="years">
805 <div>1985</div>
806 <div>1990</div>
807 <div>1995</div>
808 <div>2000</div>
809 <div>2005</div>
810 <div>2010</div>
811 <div>2015</div>
812 </div>
813 <div class="projects">
814 <div class="start_2008 end_present level-expert">Functional Programming</div>
815 <div class="start_2005 end_present level-proficient">Project Management</div>
816 <div class="start_2002 end_present level-proficient">Technical Documentation</div>
817 <div class="start_2001 end_present level-expert">Technical Writing/Blogging</div>
818 <div class="start_1995 end_present level-expert">Architecture</div>
819 <div class="start_1992 end_present level-expert">OO Programming</div>
820 <div class="start_1984 end_1994 level-proficient">Procedural Programming</div>
821 </div>
822 </div>
823
824 <h3>Languages</h3>
825 <div class="timeline">
826 <div class="years">
827 <div>1985</div>
828 <div>1990</div>
829 <div>1995</div>
830 <div>2000</div>
831 <div>2005</div>
832 <div>2010</div>
833 <div>2015</div>
834 </div>
835 <div class="projects">
836 <div class="start_2015 end_present level-competent">SASS</div>
837 <div class="start_2014 end_present level-competent">TypeScript</div>
838 <div class="start_2013 end_present level-expert">LESS</div>
839 <div class="start_2007 end_present level-expert">C#</div>
840 <div class="start_2005 end_2014 level-competent">Java</div>
841 <div class="start_2002 end_2014 level-expert">Delphi Pascal</div>
842 <div class="start_2002 end_present level-competent">Bash</div>
843 <div class="start_2000 end_2002 level-competent">VB</div>
844 <div class="start_1998 end_present level-expert">CSS</div>
845 <div class="start_1998 end_2002 level-proficient">C++</div>
846 <div class="start_1998 end_present level-expert">PHP</div>
847 <div class="start_1996 end_2003 level-competent">Eiffel</div>
848 <div class="start_1996 end_1997 level-competent">Delphi Pascal</div>
849 <div class="start_1995 end_present level-proficient">JavaScript</div>
850 <div class="start_1995 end_present level-expert">HTML</div>
851 <div class="start_1994 end_1996 level-expert">Object Pascal</div>
852 <div class="start_1992 end_1994 level-proficient">Pascal</div>
853 <div class="start_1990 end_1994 level-proficient">HyperTalk</div>
854 <div class="start_1984 end_1990 level-expert">Basic</div>
855 </div>
856 </div>
857
858 <h3>Libraries & Frameworks</h3>
859 <div class="timeline">
860 <div class="years">
861 <div>1985</div>
862 <div>1990</div>
863 <div>1995</div>
864 <div>2000</div>
865 <div>2005</div>
866 <div>2010</div>
867 <div>2015</div>
868 </div>
869 <div class="projects">
870 <div class="start_2014 end_present level-competent">Knockout</div>
871 <div class="start_2010 end_present level-competent">AntLR</div>
872 <div class="start_2008 end_present level-expert">ASP.NET</div>
873 <div class="start_2007 end_present level-expert">.NET</div>
874 <div class="start_2005 end_2014 level-proficient">Java Runtime</div>
875 <div class="start_2002 end_2014 level-expert">Delphi VCL</div>
876 <div class="start_2000 end_2002 level-competent">ASP.NET</div>
877 <div class="start_1999 end_2001 level-proficient">Metrowerks PowerPlant</div>
878 <div class="start_1999 end_2001 level-competent">MacOS Toolbox</div>
879 <div class="start_1998 end_present level-proficient">PHP Runtime</div>
880 <div class="start_1995 end_2002 level-competent">MFC</div>
881 <div class="start_1995 end_2002 level-proficient">STL</div>
882 <div class="start_1994 end_present level-proficient">Win32</div>
883 <div class="start_1992 end_1994 level-proficient">Think Pascal</div>
884 <div class="start_1990 end_1994 level-expert">HyperCard</div>
885 </div>
886 </div>
887
888 <h3>Administration & Tools</h3>
889 <div class="timeline">
890 <div class="years">
891 <div>1985</div>
892 <div>1990</div>
893 <div>1995</div>
894 <div>2000</div>
895 <div>2005</div>
896 <div>2010</div>
897 <div>2015</div>
898 </div>
899 <div class="projects">
900 <div class="start_2013 end_present level-competent">TeamCity</div>
901 <div class="start_2011 end_present level-competent">Mongo</div>
902 <div class="start_2011 end_2014 level-competent">Sqlite</div>
903 <div class="start_2010 end_2014 level-competent">Jenkins</div>
904 <div class="start_2010 end_present level-expert">Git</div>
905 <div class="start_2007 end_present level-proficient">PostgreSql</div>
906 <div class="start_2004 end_present level-proficient">Sql Server</div>
907 <div class="start_2004 end_present level-expert">Jira</div>
908 <div class="start_2002 end_2007 level-proficient">Sybase</div>
909 <div class="start_2002 end_present level-competent">Linux administration</div>
910 <div class="start_1999 end_present level-competent">MySql</div>
911 <div class="start_1997 end_2010 level-proficient">Perforce</div>
912 <div class="start_1995 end_present level-proficient">Windows administration</div>
913 <div class="start_1990 end_present level-proficient">Mac OS/OS X administration</div>
914 </div>
915 </div>
916 </div>
917 </section>
918 </div>
919 </div>
920 <?php
921 $Page->finish_display ();
922 ?>