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 ("October 2021");
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 = '{themes}/resume';
17 $page->start_display ();
18  
19 // To release for a new year (e.g. 01.01.2022), do the following:
20 // Update the grid-template-columns to include the new half-years since it was last updated
21  
22 $first_year = 1985;
23 $current_year = 2021;
24 $first_professional_year = 1994;
25 $first_encodo_year = 2005;
26 $full = read_var ('full', 1);
27  
28 function year_label($start)
29 {
30   echo "style=\"grid-column: 1 / $start\"";
31 }
32  
33 function year_bar($start, $end = null)
34 {
35   global $current_year;
36  
37   if ($end == null)
38   {
39     $end = "year" . ($current_year + 1);
40   }
41  
42   echo "style=\"grid-column: $start / $end\"";
43 }
44  
45 function employee_area($start, $end = null)
46 {
47   echo "<span ";
48   year_label($start);
49   echo "></span><span ";
50   year_bar($start, $end);
51   echo "></span>";
52 }
53  
54 function project_line($label, $skills, $start, $end = null)
55 {
56   $chars = array(" ", "#", "-", "/", ".", "!");
57   $anchor = str_replace($chars, "", $label);
58  
59   skill_line ("<a href=\"#$anchor\">$label</a>", $skills, $start, $end);
60 }
61  
62 function skill_line($label, $skills, $start, $end = null)
63 {
64   echo "<span ";
65   year_label($start);
66   echo ">$label</span><span class=\"$skills\"";
67   year_bar($start, $end);
68   echo "></span>";
69 }
70  
71 function skill_line_right($label, $skills, $start, $end = null)
72 {
73   echo "<span class=\"$skills\"";
74   year_bar($start, $end);
75   echo "></span><span style=\"grid-column: $end / year2022\">$label</span>";
76 }
77  
78 ?>
79 <style>
80   .projects tbody tr td:nth-child(2), .years
81   {
82     display: grid;
83     grid-template-columns:
84       [year1985] 1fr
85       [mid1985] 1fr
86       [year1986] 1fr
87       [mid1986] 1fr
88       [year1987] 1fr
89       [mid1987] 1fr
90       [year1988] 1fr
91       [mid1988] 1fr
92       [year1989] 1fr
93       [mid1989] 1fr
94       [year1990] 1fr
95       [mid1990] 1fr
96       [year1991] 1fr
97       [mid1991] 1fr
98       [year1992] 1fr
99       [mid1992] 1fr
100       [year1993] 1fr
101       [mid1993] 1fr
102       [year1994] 1fr
103       [mid1994] 1fr
104       [year1995] 1fr
105       [mid1995] 1fr
106       [year1996] 1fr
107       [mid1996] 1fr
108       [year1997] 1fr
109       [mid1997] 1fr
110       [year1998] 1fr
111       [mid1998] 1fr
112       [year1999] 1fr
113       [mid1999] 1fr
114       [year2000] 1fr
115       [mid2000] 1fr
116       [year2001] 1fr
117       [mid2001] 1fr
118       [year2002] 1fr
119       [mid2002] 1fr
120       [year2003] 1fr
121       [mid2003] 1fr
122       [year2004] 1fr
123       [mid2004] 1fr
124       [year2005] 1fr
125       [mid2005] 1fr
126       [year2006] 1fr
127       [mid2006] 1fr
128       [year2007] 1fr
129       [mid2007] 1fr
130       [year2008] 1fr
131       [mid2008] 1fr
132       [year2009] 1fr
133       [mid2009] 1fr
134       [year2010] 1fr
135       [mid2010] 1fr
136       [year2011] 1fr
137       [mid2011] 1fr
138       [year2012] 1fr
139       [mid2012] 1fr
140       [year2013] 1fr
141       [mid2013] 1fr
142       [year2014] 1fr
143       [mid2014] 1fr
144       [year2010] 1fr
145       [mid2010] 1fr
146       [year2015] 1fr
147       [mid2015] 1fr
148       [year2016] 1fr
149       [mid2016] 1fr
150       [year2017] 1fr
151       [mid2017] 1fr
152       [year2018] 1fr
153       [mid2018] 1fr
154       [year2019] 1fr
155       [mid2019] 1fr
156       [year2020] 1fr
157       [mid2020] 1fr
158       [year2021] 1fr
159       [mid2021] 1fr;
160       [year2022] 1fr;
161   }
162  
163   .years div[title="1985"]
164   {
165     grid-column: 1 / year1990;
166   }
167  
168   .years div[title="1990"]
169   {
170     grid-column: year1990 / year1995;
171   }
172  
173   .years div[title="1995"]
174   {
175     grid-column: year1995 / year2000;
176   }
177  
178   .years div[title="2000"]
179   {
180     grid-column: year2000 / year2005;
181   }
182  
183   .years div[title="2005"]
184   {
185     grid-column: year2005 / year2010;
186   }
187  
188   .years div[title="2010"]
189   {
190     grid-column: year2010 / year2015;
191   }
192  
193   .years div[title="2015"]
194   {
195     grid-column: year2015 / year2020;
196   }
197  
198   .years div[title="2020"]
199   {
200     grid-column: year2020 / year2022;
201   }
202 </style>
203 <div class="main-box">
204   <div class="text-flow">
205     <section>
206       <h1>Contact</h1>
207       <div class="contact">
208         <div>
209           <h2>Marco von Ballmoos</h2>
210           <ul><li><a href="mailto:&#109;&#97;&#114;&#99;&#111;&#64;&#101;&#97;&#114;&#116;&#104;&#108;&#105;&#46;&#99;&#111;&#109;">&#109;&#97;&#114;&#99;&#111;&#64;&#101;&#97;&#114;&#116;&#104;&#108;&#105;&#46;&#99;&#111;&#109;</a></li>
211             <li><a href="https://www.linkedin.com/in/marco-von-ballmoos/">https://www.linkedin.com/in/marco-von-ballmoos/</a></li></ul>
212         </div>
213         <ul>
214           <li>Langfurrenstrasse 31<br>8623 Wetzikon<br>Switzerland</li>
215         </ul>
216       </div>
217     </section>
218  
219     <section>
220       <h1>Profile</h1>
221       <div class="content">
222         <p>I've been designing and building software professionally since <?php echo $first_professional_year; ?> (over <?php echo $current_year - $first_professional_year; ?> years).
223           My focus is on using automated testing and libraries/frameworks (and applying <abbr title="Don't Repeat Yourself">DRY</abbr> and <abbr title="You Ain't Gonna Need It">YAGNI</abbr>)
224           to meet customer and product <b>requirements</b>: functional, UX, performance, maintainability, scalability, etc.</p>
225       </div>
226     </section>
227  
228     <section>
229       <h1>Roles</h1>
230       <div class="grid employment">
231         <div>
232           <h2>Full-stack Developer</h2>
233           <p>Design and build software in various languages and with various frameworks, libraries and technologies for servers and clients. Major recent experience using <b>.NET</b> and <b>TypeScript/React</b>.</p>
234         </div>
235         <div>
236           <h2>Systems Architect</h2>
237           <p>Design and document back-end and front-end systems. Integrate with existing systems. <b>Understandable</b>, <b>Maintainable</b>, and <b>Extendable</b>.</p>
238         </div>
239         <div>
240           <h2>DevOps</h2>
241           <p>Design and configure processes with quality gates to take code from dev machines to build servers and into deployment. Major recent experience with <b>Azure</b>, <b>Jenkins</b>, and <b>TeamCity</b>.</p>
242         </div>
243         <div>
244           <h2>Trainer &amp; Educator</h2>
245           <p>Plan and deliver trainings. Teach <b>JavaScript</b> and <b>Mobile-App Development</b> at a <a href="https://www.hbu.ch/index.html?id=10008">local university</a>. Write technical documentation and share knowledge via code reviews and frequent <a href="https://www.earthli.com/news/view_folder.php?id=18">blogging</a>.</p>
246         </div>
247         <div>
248           <h2>Project Manager</h2>
249           <p>Analyze, collect, refine, and specify <b>requirements</b>. Coordinate with customers. Manage backlog, sprints, and releases. Major recent experience with <b>Jira</b> and <b>Azure Boards</b>.</p>
250         </div>
251       </div>
252     </section>
253  
254     <section>
255       <h1>Skills Summary</h1>
256       <div>
257         <div>
258           <div class="content grid">
259             <div>
260               <table class="list">
261                 <tr>
262                   <th>Skill</th>
263                   <th>Years/Level</th>
264                 </tr>
265                 <tr class="expert">
266                   <th>TypeScript</th>
267                   <td>7+ years/expert</td>
268                 </tr>
269                 <tr class="expert">
270                   <th>React</th>
271                   <td>5+ years/expert</td>
272                 </tr>
273                 <tr class="expert">
274                   <th>JavaScript</th>
275                   <td>10+ years/expert</td>
276                 </tr>
277                 <tr class="expert">
278                   <th>C#</th>
279                   <td>10+ years/expert</td>
280                 </tr>
281                 <tr class="expert">
282                   <th>HTML/CSS</th>
283                   <td>10+ years/expert</td>
284                 </tr>
285                 <tr class="proficient">
286                   <th>Less/SCSS</th>
287                   <td>8+ years/proficient</td>
288                 </tr>
289                 <tr class="competent">
290                   <th>Angular</th>
291                   <td>2+ years/competent</td>
292                 </tr>
293               </table>
294               <?php if ($full) { ?>
295                 <p class="notes">See <a href="#skillsDetails">details below</a> for a full listing of skills.</p>
296               <?php } else { ?>
297                 <p class="notes">See <a href="https://www.earthli.com/users/marco/cv/2021_10.php#skillsDetails">details online</a> for a full listing of skills.</p>
298               <?php } ?>
299             </div>
300             <div>
301               <table class="list">
302                 <tr>
303                   <th>Skill</th>
304                   <th>Years/Level</th>
305                 </tr>
306                 <tr class="expert">
307                   <th>CI/CD</th>
308                   <td>8+ years/expert</td>
309                 </tr>
310                 <tr class="expert">
311                   <th>ASP.NET (Core)</th>
312                   <td>10+ years/expert</td>
313                 </tr>
314                 <tr class="expert">
315                   <th>.NET/.NET Core</th>
316                   <td>10+ years/expert</td>
317                 </tr>
318                 <tr class="expert">
319                   <th>PHP</th>
320                   <td>10+ years/expert</td>
321                 </tr>
322                 <tr class="expert">
323                   <th>Automated Testing</th>
324                   <td>10+ years/expert</td>
325                 </tr>
326                 <tr class="proficient">
327                   <th>iOS/Swift</th>
328                   <td>5+ years/proficient</td>
329                 </tr>
330                 <tr class="proficient">
331                   <th>Android/Java</th>
332                   <td>5+ years/proficient</td>
333                 </tr>
334               </table>
335             </div>
336           </div>
337           <?php if ($full) { ?>
338             <h2>Certifications</h2>
339             <p><a href="https://docs.microsoft.com/en-us/learn/certifications/exams/70-483">Programming in C#</a> (2019)</p>
340             <?php
341           }?>
342         </div>
343       </div>
344     </section>
345  
346     <section <?php if (!$full) { ?>class="page-break"<?php } ?>>
347       <h1>Personal</h1>
348       <div>
349         <div class="content grid">
350           <div>
351             <h2>Languages</h2>
352             <table class="list">
353               <tr>
354                 <th>Language</th>
355                 <th>Level</th>
356               </tr>
357               <tr class="native">
358                 <th>English</th>
359                 <td>Native</td>
360               </tr>
361               <tr class="fluent">
362                 <th>German</th>
363                 <td>Fluent</td>
364               </tr>
365               <tr class="fluent">
366                 <th>Swiss-German</th>
367                 <td>Fluent</td>
368               </tr>
369               <tr class="mixed">
370                 <th>Italian</th>
371                 <td>Mixed</td>
372               </tr>
373               <tr class="mixed">
374                 <th>French</th>
375                 <td>Mixed</td>
376               </tr>
377             </table>
378             <p class="notes">Mixed: Intermediate (listening/reading comprehension); Basic (speaking, writing)</p>
379           </div>
380           <div>
381             <h2>Interests</h2>
382             <ul>
383               <li><a href="https://www.earthli.com/albums/view_folder.php?id=362">Cycling</a></li>
384               <li><a href="https://www.earthli.com/albums/search.php?search_form_submitted=1&debug=0&id=&quick_search=0&type=picture&search_text=hiking&title=1&description=1&state=1&folder_search_type=context_none&creator_id_search_type=constant&creator_id=marco&time_created_search_type=constant&time_created_after=&time_created_before=&modifier_id_search_type=constant&modifier_id=&time_modified_search_type=constant&time_modified_after=&time_modified_before=&sort_1=&sort_direction_1=desc&sort_2=&sort_direction_2=asc&sort_3=&sort_direction_3=asc#search-results">Hiking</a></li>
385               <li><a href="https://www.earthli.com/news/view_folder.php?id=18">Programming</a></li>
386               <li><a href="https://www.earthli.com/news/view_user.php?name=marco">Writing</a></li>
387               <li><a href="https://www.earthli.com/news/view_folder.php?id=34">Books</a></li>
388               <li><a href="https://www.earthli.com/news/view_folder.php?id=45">Movies</a></li>
389               <li><a href="https://www.earthli.com/news/view_folder.php?id=44">Current Events</a></li>
390             </ul>
391           </div>
392         </div>
393       </div>
394     </section>
395  
396     <section>
397       <h1>Employment &amp; Education</h1>
398  
399       <div class="content grid employment">
400         <div>
401           <h2><a href="https://www.hbu.ch/index.html?id=10008">HFU</a></h2>
402           <h3>Uster, Switzerland</h3>
403           <h4 title="<?php echo $current_year - 2020; ?> years"><time datetime="2020-11">Nov 2020</time>&mdash;present</h4>
404           <ul class="employment">
405             <li>Instructor</li>
406             <li>Lead Developer</li>
407           </ul>
408         </div>
409         <div>
410           <h2><a href="https://encodo.com">Encodo Systems AG</a></h2>
411           <h3>Winterthur, Switzerland</h3>
412           <h4 title="<?php echo $current_year - 2005; ?> years"><time datetime="2005-09">Sep 2005</time>&mdash;present</h4>
413           <ul class="employment">
414             <li>Founding Partner</li>
415             <li>Project Manager</li>
416             <li>Architect</li>
417             <li>Lead Developer</li>
418             <li>Support</li>
419           </ul>
420         </div>
421         <div>
422           <h2><a href="https://opus.ch">Opus Software AG</a></h2>
423           <h3>Wetzikon, Switzerland</h3>
424           <h4 title="3 years"><time datetime="2002-10">Oct 2002</time>&mdash;<time datetime="2005-08">Aug 2005</time></h4>
425           <ul class="employment">
426             <li>Architect</li>
427             <li>Lead Developer</li>
428             <li>Support</li>
429           </ul>
430         </div>
431         <div>
432           <h2>Logicat, Inc.</h2>
433           <h3>New York, New York</h3>
434           <h4 title="8 years"><time datetime="1994-08">Aug 1994</time>&mdash;<time datetime="2002-08">Aug 2002</time></h4>
435           <ul class="employment">
436             <li>Architect</li>
437             <li>Lead Developer</li>
438           </ul>
439         </div>
440         <div>
441           <h2><a href="https://www.hamilton.edu">Hamilton College</a></h2>
442           <h3>Clinton, New York</h3>
443           <h4 title="4 years"><time datetime="1990-08">Aug 1990</time>&mdash;<time datetime="1994-05">May 1994</time></h4>
444           <ul class="employment">
445             <li>BA in mathematics</li>
446             <li>Minor in physics</li>
447             <li>Undeclared major in computer science</li>
448           </ul>
449         </div>
450       </div>
451     </section>
452  
453     <?php if ($full) { ?>
454
455     <section>
456       <h1>Publications</h1>
457       <div>
458         <div class="content grid">
459           <div>
460             <h2>Handbooks &amp; Specifications</h2>
461             <ul>
462               <li><a href="https://github.com/mvonballmo/CSharpHandbook">C# Handbook</a></li>
463               <li><a href="https://encodo.com/media/1018/encodo-git-handbook.pdf">Git Handbook</a></li>
464               <li><a href="https://encodo.com/media/2726/encodo-qql-handbook.pdf">QQL Specification</a></li>
465             </ul>
466           </div>
467           <div>
468             <h2><a href="https://www.earthli.com/news/">Blogs</a></h2>
469             <ul>
470               <li><a href="https://www.earthli.com/news/view_folder.php?id=18">Programming</a></li>
471               <li><a href="https://www.earthli.com/news/view_folder.php?id=13">Technology</a></li>
472               <li><a href="https://www.earthli.com/news/view_folder.php?id=31">Design</a></li>
473             </ul>
474           </div>
475         </div>
476       </div>
477     </section>
478       <?php
479     }?>
480
481     <section>
482       <h1>Recent Experience</h1>
483       <div>
484         <h2>HFU (Höhere Fachschule Uster)</h2>
485         <h3 title="<?php echo $current_year - 2020; ?> years">November 2020&mdash;present</h3>
486         <?php if ($full) { ?>
487           <p>I teach introductory <b>JavaScript</b> in the winter and <b>Mobile-App Development</b> in the early summer.</p>
488         <?php
489     }?>
490         <div class="content grid projects">
491           <div>
492             <h3>Introductory JavaScript</h3>
493             <h4><time datetime="2020-11">Nov 2020</time>&mdash;present</h4>
494             <ul class="details">
495               <li class="skills">Instructor</li>
496               <li class="technologies">JavaScript, HTML, CSS, NPM, Node</li>
497               <li class="description">Programming principles with JavaScript in a web browser.</li>
498             </ul>
499           </div>
500           <div>
501             <h3>Mobile App Development</h3>
502             <h4><time datetime="2021-05">May 2021</time>&mdash;present</h4>
503             <ul class="details">
504               <li class="skills">Instructor</li>
505               <li class="technologies">Xamarin, C#, .NET, iOS, Android</li>
506               <li class="description">Cross-platform mobile applications with Xamarin for iOS and Android.</li>
507             </ul>
508           </div>
509         </div>
510         <h2 <?php if (!$full) { ?>class="page-break"<?php } ?>><a href="https://encodo.com">Encodo Systems AG</a></h2>
511         <h3 title="16 years">September 2005&mdash;January 2022</h3>
512 <?php if ($full) { ?>
513   <p>Encodo's emphasis is on using the best, most appropriate tools for the job. I've worked on many projects with a wide range
514           of technologies and target platforms. Generally, <b>ASP.NET Core</b> on the back-end, with <b>React/TypeScript</b> on the
515           front-end.</p>
516   <?php
517 }?>
518         <div class="grid projects">
519           <div>
520             <h3><a href="https://encodo.com/quino">Quino</a></h3>
521             <h4><time datetime="2007-09">Sep 2007</time>&mdash;present</h4>
522             <ul class="details">
523               <li class="skills">Technical PM, Architect, Lead Developer</li>
524               <li class="technologies">C#, <?php if ($full) { ?>Winforms, WPF, <?php } ?>Web API, TypeScript, Less, React</li>
525               <li class="description">Designed, built and supported a powerful, flexible, modular and modern metadata
526                 framework for .NET (API servers, SPAs, Winform, WPF).</li>
527             </ul class="details">
528           </div>
529           <div>
530             <h3>Crealogix MAP CI/CD</h3>
531             <h4><time datetime="2020-05">May 2020</time>&mdash;<time datetime="2020-10">Oct 2020</time></h4>
532             <ul class="details">
533               <li class="skills">Architect, Developer</li>
534               <li class="technologies">Jenkins/Ruby, TypeScript, Java, Swift</li>
535               <li class="description">Built CI/CD deployment pipelines for a framework and multiple projects, with iOS/Android targets, SauceLabs, Artifactory, Vault, and SonarQube integration.</li>
536             </ul>
537           </div>
538           <div>
539             <h3>Roche LabCore Web Modules</h3>
540             <h4><time datetime="2019-10">Oct 2019</time>&mdash;<time datetime="2020-03">Mar 2020</time></h4>
541             <ul class="details">
542               <li class="skills">Architect, Developer</li>
543               <li class="technologies">TypeScript, React, Angular, SCSS</li>
544               <li class="description">Designed an architecture for a multi-technology web framework/library.</li>
545             </ul>
546           </div>
547           <div>
548             <h3>Crealogix Digital Banking Demo Days</h3>
549             <h4><time datetime="2019-03">Mar 2019</time>&mdash;<time datetime="2019-05">May 2019</time></h4>
550             <ul class="details">
551               <li class="skills">Architect, Developer</li>
552               <li class="technologies">TypeScript, React, CSS/LESS</li>
553               <li class="description">Wrote a chat-robot prototype against a UI/UX concept for a demonstration.</li>
554             </ul>
555           </div>
556           <div <?php if ($full) { ?>class="page-break"<?php } ?>>
557             <h3>Aplix Logistik</h3>
558             <h4><time datetime="2018-03">Mar 2018</time>&mdash;<time datetime="2018-08">Aug 2018</time></h4>
559             <ul class="details">
560               <li class="skills">Architect, Technical PM, Developer</li>
561               <li class="technologies">C#, React, Redux, TypeScript</li>
562               <li class="description">Supervised, provided guidance and helped develop the back-end for a mobile-based, "picker" app for food warehouses (SwissBio).</li>
563             </ul>
564           </div>
565           <div>
566             <h3>Micron Top Performance</h3>
567             <h4><time datetime="2016-09">Sep 2016</time>&mdash;<time datetime="2018-11">Nov 2018</time></h4>
568             <ul class="details">
569               <li class="skills">Architect, Technical PM, Developer</li>
570               <li class="technologies">C#, TypeScript, React, Redux</li>
571               <li class="description">Designed and developed employee-managed, -evaluation and performance-review software with PL in New Jersey and a team in Philippines, deployed on AWS.</li>
572             </ul>
573           </div>
574           <div>
575             <h3>Crealogix MAP</h3>
576             <h4><time datetime="2016-09">Sep 2016</time>&mdash;<time datetime="2018-01">Jan 2018</time> </h4>
577             <ul class="details">
578               <li class="skills">Architect, Developer</li>
579               <li class="technologies">Java, Swift, TypeScript, React, Android &amp; iOS SDKs</li>
580               <li class="description">Designed and built a cross-platform mobile-banking solution for Android and iOS.</li>
581             </ul>
582           </div>
583           <div>
584             <h3><a href="https://www.apexclearing.com/">Apex Clearing</a> <a href="https://apps.apexclearing.com/alps">Alps</a></h3>
585             <h4><time datetime="2013-06">Jun 2013</time>&mdash;<time datetime="2016-06">Sep 2016</time></h4>
586             <ul class="details">
587               <li class="skills">Technical PM, Architect, Developer</li>
588               <li class="technologies">C#, Web API, TypeScript, Less, Knockout</li>
589               <li class="description">Services and web front-end for processing, overview and management of ACATS for <a href="https://apexclearing.com">Apex Clearing Corporation</a>.</li>
590             </ul>
591           </div>
592           <div>
593             <h3>Qontis</h3>
594             <h4><time datetime="2013-03">Mar 2013</time>&mdash;<time datetime="2015-02">Feb 2015</time></h4>
595             <ul class="details">
596               <li class="skills">Architect, Developer</li>
597               <li class="technologies">C#, WCF, Meniga, JavaScript, Less, jQuery</li>
598               <li class="description">A personal finance manager with integration into various online banking systems.</li>
599             </ul>
600           </div>
601         </div>
602  
603         <?php if ($full) {
604           ?>
605           <p class="notes">See <a href="#experience">details below</a> for a full listing of experience.</p>
606           <?php
607         } else {
608           ?>
609           <p class="notes">See <a href="https://www.earthli.com/users/marco/cv/2021_10.php#experience">details online</a> for a full listing of experience.</p>
610           <?php
611         }?>
612       </div>
613     </section>
614  
615     <?php if ($full) { ?>
616     <section class="page-break">
617       <h1 id="skillsDetails">Skills Details</h1>
618       <div>
619         <h2>Languages</h2>
620         <div class="timeline">
621           <table class="basic left-labels legend">
622             <caption title="Legend"></caption>
623             <tr>
624               <th title="Expert"></th>
625               <td class="level-expert"></td>
626             </tr>
627             <tr>
628               <th title="Proficient"></th>
629               <td class="level-proficient"></td>
630             </tr>
631             <tr>
632               <th title="Competent"></th>
633               <td class="level-competent"></td>
634             </tr>
635           </table>
636           <div class="timeline-box">
637             <div class="years">
638               <div title="1985"></div>
639               <div title="1990"></div>
640               <div title="1995"></div>
641               <div title="2000"></div>
642               <div title="2005"></div>
643               <div title="2010"></div>
644               <div title="2015"></div>
645               <div title="2020"></div>
646             </div>
647             <table class="projects">
648               <thead>
649               <tr>
650                 <th>Years</th>
651                 <th>Technology</th>
652                 <th>Level</th>
653               </tr>
654               </thead>
655               <tbody>
656               <tr><th></th><td class="employee"><?php employee_area ("year1985"); ?></td><td></td></tr>
657               <tr><th>2019&ndash;present</th><td><?php skill_line ("Groovy", "level-proficient", "year2019", "mid2020"); ?></td><td>Proficient</td></tr>
658               <tr><th>2019&ndash;present</th><td><?php skill_line ("Ruby", "level-competent", "year2019", "mid2020"); ?></td><td>Competent</td></tr>
659               <tr><th>2019</th><td><?php skill_line ("XSLT", "level-competent", "year2019", "mid2019"); ?></td><td>Competent</td></tr>
660               <tr><th>2016&ndash;present</th><td><?php skill_line ("Swift", "level-proficient", "year2016"); ?></td><td>Proficient</td></tr>
661               <tr><th>2015&ndash;present</th><td><?php skill_line ("SCSS", "level-proficient", "year2015"); ?></td><td>Proficient</td></tr>
662               <tr><th>2014&ndash;present</th><td><?php skill_line ("TypeScript", "level-expert", "year2014"); ?></td><td>Expert</td></tr>
663               <tr><th>2013&ndash;present</th><td><?php skill_line ("LESS", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
664               <tr><th>2019&ndash;present</th><td><?php skill_line ("Delphi Pascal", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
665               <tr><th>2002&ndash;present</th><td><?php skill_line ("PowerShell", "level-proficient", "year2010"); ?></td><td>Proficient</td></tr>
666               <tr><th>2007&ndash;present</th><td><?php skill_line ("C#", "level-expert", "year2007"); ?></td><td>Expert</td></tr>
667               <tr><th>2005&ndash;present</th><td><?php skill_line ("Java", "level-proficient", "year2005"); ?></td><td>Proficient</td></tr>
668               <tr><th>2002&ndash;present</th><td><?php skill_line ("Bash", "level-proficient", "year2002"); ?></td><td>Proficient</td></tr>
669               <tr><th>2002&ndash;2014</th><td><?php skill_line ("Delphi Pascal", "level-expert", "year2002", "year2014"); ?></td><td>Expert</td></tr>
670               <tr><th>2000&ndash;2002</th><td><?php skill_line ("VB", "level-competent", "year2000", "year2002"); ?></td><td>Competent</td></tr>
671               <tr><th>1998&ndash;present</th><td><?php skill_line ("CSS", "level-expert", "year1998"); ?></td><td>Expert</td></tr>
672               <tr><th>1998&ndash;present</th><td><?php skill_line ("PHP", "level-expert", "year1998"); ?></td><td>Expert</td></tr>
673               <tr><th>1998&ndash;2002</th><td><?php skill_line ("C++", "level-proficient", "year1998", "year2002"); ?></td><td>Proficient</td></tr>
674               <tr><th>1996&ndash;1997</th><td><?php skill_line ("Delphi Pascal", "level-competent", "year1996", "year1997"); ?></td><td>Competent</td></tr>
675               <tr><th>1996&ndash;2006</th><td><?php skill_line ("Eiffel", "level-competent", "year1996", "year2006"); ?></td><td>Competent</td></tr>
676               <tr><th>1995&ndash;present</th><td><?php skill_line ("JavaScript", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
677               <tr><th>1995&ndash;present</th><td><?php skill_line ("HTML", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
678               <tr><th>1994&ndash;present</th><td><?php skill_line ("MS-DOS Batch", "level-proficient", "year1994"); ?></td><td>Proficient</td></tr>
679               <tr><th>1994&ndash;1996</th><td><?php skill_line ("Object Pascal", "level-expert", "year1994", "year1996"); ?></td><td>Expert</td></tr>
680               <tr><th>1992&ndash;1994</th><td><?php skill_line ("Pascal", "level-proficient", "year1992", "year1994"); ?></td><td>Proficient</td></tr>
681               <tr><th>1990&ndash;1994</th><td><?php skill_line ("HyperTalk", "level-proficient", "year1990", "year1994"); ?></td><td>Proficient</td></tr>
682               <tr><th>1985&ndash;1990</th><td><?php skill_line_right ("Basic", "level-expert", "year1985", "year1990"); ?></td><td>Expert</td></tr>
683               </tbody>
684             </table>
685           </div>
686         </div>
687  
688         <h2 class="page-break">Libraries &amp; Frameworks</h2>
689         <div class="timeline">
690           <table class="basic left-labels legend">
691             <caption title="Legend"></caption>
692             <tr>
693               <th title="Expert"></th>
694               <td class="level-expert"></td>
695             </tr>
696             <tr>
697               <th title="Proficient"></th>
698               <td class="level-proficient"></td>
699             </tr>
700             <tr>
701               <th title="Competent"></th>
702               <td class="level-competent"></td>
703             </tr>
704           </table>
705           <div class="timeline-box">
706             <div class="years">
707               <div title="1985"></div>
708               <div title="1990"></div>
709               <div title="1995"></div>
710               <div title="2000"></div>
711               <div title="2005"></div>
712               <div title="2010"></div>
713               <div title="2015"></div>
714               <div title="2020"></div>
715             </div>
716             <table class="projects">
717               <thead>
718               <tr>
719                 <th>Years</th>
720                 <th>Technology</th>
721                 <th>Level</th>
722               </tr>
723               </thead>
724               <tbody>
725               <tr><th></th><td class="employee"><?php employee_area ("year1990"); ?></td><td></td></tr>
726               <tr><th>2019&ndash;2021</th><td><?php skill_line ("Groovy/Gradle", "level-expert", "year2019", "year2021"); ?></td><td>Expert</td></tr>
727               <tr><th>2019&ndash;2020</th><td><?php skill_line ("Angular", "level-proficient", "year2019", "mid2020"); ?></td><td>Proficient</td></tr>
728               <tr><th>2019&ndash;present</th><td><?php skill_line ("Java Runtime", "level-proficient", "year2019"); ?></td><td>Proficient</td></tr>
729               <tr><th>2019&ndash;present</th><td><?php skill_line ("Delphi VCL", "level-expert", "year2019"); ?></td><td>Expert</td></tr>
730               <tr><th>2018&ndash;2021</th><td><?php skill_line ("Unity", "level-proficient", "year2018", "year2021"); ?></td><td>Proficient</td></tr>
731               <tr><th>2018&ndash;present</th><td><?php skill_line (".NET Core", "level-expert", "year2018"); ?></td><td>Expert</td></tr>
732               <tr><th>2017&ndash;2019</th><td><?php skill_line ("Material UI", "level-competent", "year2017", "mid2019"); ?></td><td>Competent</td></tr>
733               <tr><th>2017&ndash;present</th><td><?php skill_line ("Xamarin", "level-competent", "year2017"); ?></td><td>Competent</td></tr>
734               <tr><th>2017&ndash;2020</th><td><?php skill_line ("MobX", "level-proficient", "year2017", "mid2020"); ?></td><td>Proficient</td></tr>
735               <tr><th>2016&ndash;2020</th><td><?php skill_line ("React", "level-expert", "year2016"); ?></td><td>Expert</td></tr>
736               <tr><th>2016&ndash;2020</th><td><?php skill_line ("iOS/XCode", "level-proficient", "year2016", "mid2020"); ?></td><td>Proficient</td></tr>
737               <tr><th>2016&ndash;2020</th><td><?php skill_line ("Android", "level-proficient", "year2016", "mid2020"); ?></td><td>Proficient</td></tr>
738               <tr><th>2014&ndash;2017</th><td><?php skill_line ("Knockout", "level-competent", "year2014", "mid2017"); ?></td><td>Competent</td></tr>
739               <tr><th>2010&ndash;present</th><td><?php skill_line ("AntLR", "level-competent", "year2010"); ?></td><td>Competent</td></tr>
740               <tr><th>2008&ndash;present</th><td><?php skill_line ("ASP.NET", "level-expert", "year2008"); ?></td><td>Expert</td></tr>
741               <tr><th>2007&ndash;present</th><td><?php skill_line (".NET Framework", "level-expert", "year2007"); ?></td><td>Expert</td></tr>
742               <tr><th>2005&ndash;2014</th><td><?php skill_line ("Java Runtime", "level-proficient", "year2005", "mid2014"); ?></td><td>Proficient</td></tr>
743               <tr><th>2002&ndash;2014</th><td><?php skill_line ("Delphi VCL", "level-expert", "year2002", "mid2014"); ?></td><td>Expert</td></tr>
744               <tr><th>2000&ndash;2002</th><td><?php skill_line ("ASP", "level-competent", "year2000", "mid2002"); ?></td><td>Competent</td></tr>
745               <tr><th>1999&ndash;2001</th><td><?php skill_line ("Metrowerks PowerPlant", "level-proficient", "year1999", "mid2001"); ?></td><td>Proficient</td></tr>
746               <tr><th>1999&ndash;2001</th><td><?php skill_line ("MacOS Toolbox", "level-competent", "year1999", "mid2001"); ?></td><td>Competent</td></tr>
747               <tr><th>1998&ndash;present</th><td><?php skill_line ("PHP Runtime", "level-proficient", "year1998"); ?></td><td>Proficient</td></tr>
748               <tr><th>1995&ndash;2002</th><td><?php skill_line ("MFC", "level-competent", "year1995", "mid2002"); ?></td><td>Competent</td></tr>
749               <tr><th>1995&ndash;2002</th><td><?php skill_line ("STL", "level-proficient", "year1995", "mid2002"); ?></td><td>Proficient</td></tr>
750               <tr><th>1994&ndash;present</th><td><?php skill_line ("Win32", "level-proficient", "year1994"); ?></td><td>Proficient</td></tr>
751               <tr><th>1992&ndash;1994</th><td><?php skill_line ("Think Pascal", "level-proficient", "year1992", "mid1994"); ?></td><td>Proficient</td></tr>
752               <tr><th>1990&ndash;1994</th><td><?php skill_line ("Hyper&shy;Card", "level-expert", "year1990", "mid1994"); ?></td><td>Expert</td></tr>
753               </tbody>
754             </table>
755           </div>
756         </div>
757  
758         <h2>Techniques</h2>
759         <div class="timeline">
760           <table class="basic left-labels legend">
761             <caption title="Legend"></caption>
762             <tr>
763               <th title="Expert"></th>
764               <td class="level-expert"></td>
765             </tr>
766             <tr>
767               <th title="Proficient"></th>
768               <td class="level-proficient"></td>
769             </tr>
770             <tr>
771               <th title="Competent"></th>
772               <td class="level-competent"></td>
773             </tr>
774           </table>
775           <div class="timeline-box">
776             <div class="years">
777               <div title="1985"></div>
778               <div title="1990"></div>
779               <div title="1995"></div>
780               <div title="2000"></div>
781               <div title="2005"></div>
782               <div title="2010"></div>
783               <div title="2015"></div>
784               <div title="2020"></div>
785             </div>
786             <table class="projects">
787               <thead>
788               <tr>
789                 <th>Years</th>
790                 <th>Technology</th>
791                 <th>Level</th>
792               </tr>
793               </thead>
794               <tbody>
795               <tr><th></th><td class="employee"><?php employee_area ("year1985"); ?></td><td></td></tr>
796               <tr><th>2013&ndash;present</th><td><?php skill_line ("CI/CD", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
797               <tr><th>2012&ndash;present</th><td><?php skill_line ("IOC", "level-expert", "year2012"); ?></td><td>Expert</td></tr>
798               <tr><th>2010&ndash;present</th><td><?php skill_line ("SOLID", "level-expert", "year2010"); ?></td><td>Expert</td></tr>
799               <tr><th>2008&ndash;present</th><td><?php skill_line ("Functional", "level-expert", "year2008"); ?></td><td>Expert</td></tr>
800               <tr><th>2005&ndash;present</th><td><?php skill_line ("Project Management", "level-proficient", "year2005"); ?></td><td>Proficient</td></tr>
801               <tr><th>2002&ndash;present</th><td><?php skill_line ("Technical Documentation", "level-expert", "year2002"); ?></td><td>Expert</td></tr>
802               <tr><th>2002&ndash;present</th><td><?php skill_line ("Automated Testing", "level-expert", "year2002"); ?></td><td>Expert</td></tr>
803               <tr><th>2001&ndash;present</th><td><?php skill_line ("Technical Writing/Blogging", "level-expert", "year2001"); ?></td><td>Expert</td></tr>
804               <tr><th>1995&ndash;present</th><td><?php skill_line ("Architecture", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
805               <tr><th>1992&ndash;present</th><td><?php skill_line ("OO", "level-expert", "year1992"); ?></td><td>Expert</td></tr>
806               <tr><th>1985&ndash;1994</th><td><?php skill_line_right ("Procedural", "level-proficient", "year1985", "year1994"); ?></td><td>Proficient</td></tr>
807               </tbody>
808             </table>
809           </div>
810         </div>
811  
812         <h2 class="page-break">Administration &amp; Tools</h2>
813         <div class="timeline">
814           <table class="basic left-labels legend">
815             <caption title="Legend"></caption>
816             <tr>
817               <th title="Expert"></th>
818               <td class="level-expert"></td>
819             </tr>
820             <tr>
821               <th title="Proficient"></th>
822               <td class="level-proficient"></td>
823             </tr>
824             <tr>
825               <th title="Competent"></th>
826               <td class="level-competent"></td>
827             </tr>
828           </table>
829           <div class="timeline-box">
830             <div class="years">
831               <div title="1985"></div>
832               <div title="1990"></div>
833               <div title="1995"></div>
834               <div title="2000"></div>
835               <div title="2005"></div>
836               <div title="2010"></div>
837               <div title="2015"></div>
838               <div title="2020"></div>
839             </div>
840             <table class="projects">
841               <thead>
842               <tr>
843                 <th>Years</th>
844                 <th>Technology</th>
845                 <th>Level</th>
846               </tr>
847               </thead>
848               <tbody>
849               <tr><th></th><td class="employee"><?php employee_area ("year1985"); ?></td><td></td></tr>
850               <tr><th>2018&ndash;present</th><td class="years_mid_2018_present"><?php skill_line ("Azure DevOps", "level-expert", "year2018"); ?></td><td>Expert</td></tr>
851               <tr><th>2017&ndash;present</th><td class="years_2017_present"><?php skill_line ("Docker", "level-expert", "year2017"); ?></td><td>Expert</td></tr>
852               <tr><th>2017&ndash;present</th><td class="years_2017_present"><?php skill_line ("ProxMox", "level-competent", "year2017"); ?></td><td>Competent</td></tr>
853               <tr><th>2016&ndash;present</th><td class="years_2016_present"><?php skill_line ("GitHub", "level-proficient", "year2016"); ?></td><td>Proficient</td></tr>
854               <tr><th>2015&ndash;present</th><td class="years_2015_present"><?php skill_line ("GitLab", "level-proficient", "year2015"); ?></td><td>Proficient</td></tr>
855               <tr><th>2013&ndash;present</th><td class="years_2013_present"><?php skill_line ("TeamCity", "level-proficient", "year2013"); ?></td><td>Proficient</td></tr>
856               <tr><th>2011&ndash;2016</th><td class="years_2011_2016"><?php skill_line ("Mongo", "level-competent", "year2011", "mid2016"); ?></td><td>Competent</td></tr>
857               <tr><th>2011&ndash;2014</th><td class="years_2011_2014"><?php skill_line ("Sqlite", "level-competent", "year2011", "mid2014"); ?></td><td>Competent</td></tr>
858               <tr><th>2010&ndash;present</th><td class="years_2010_present"><?php skill_line ("Jenkins", "level-expert", "year2010", "mid2020"); ?></td><td>Expert</td></tr>
859               <tr><th>2010&ndash;present</th><td class="years_2010_present"><?php skill_line ("Git", "level-expert", "year2010"); ?></td><td>Expert</td></tr>
860               <tr><th>2007&ndash;present</th><td class="years_2007_present"><?php skill_line ("PostgreSql", "level-proficient", "year2007"); ?></td><td>Proficient</td></tr>
861               <tr><th>2004&ndash;present</th><td class="years_2004_present"><?php skill_line ("Sql Server", "level-proficient", "year2004"); ?></td><td>Proficient</td></tr>
862               <tr><th>2004&ndash;present</th><td class="years_2004_present"><?php skill_line ("Jira", "level-expert", "year2004"); ?></td><td>Expert</td></tr>
863               <tr><th>2002&ndash;2007</th><td class="years_2002_2007"><?php skill_line ("Sybase SQLAnywhere", "level-proficient", "year2002", "mid2007"); ?></td><td>Proficient</td></tr>
864               <tr><th>2002&ndash;present</th><td class="years_2002_present"><?php skill_line ("Ubuntu/Debian", "level-proficient", "year2002"); ?></td><td>Proficient</td></tr>
865               <tr><th>1999&ndash;present</th><td class="years_1999_present"><?php skill_line ("MySql", "level-proficient", "year1999"); ?></td><td>Proficient</td></tr>
866               <tr><th>1997&ndash;2010</th><td class="years_1997_2010"><?php skill_line ("Perforce", "level-proficient", "year1997", "mid2010"); ?></td><td>Proficient</td></tr>
867               <tr><th>1994&ndash;present</th><td class="years_1995_present"><?php skill_line ("Windows", "level-expert", "year1994"); ?></td><td>Expert</td></tr>
868               <tr><th>1990&ndash;present</th><td class="years_1990_present"><?php skill_line ("MacOS", "level-expert", "year1990"); ?></td><td>Expert</td></tr>
869               <tr><th>1985&ndash;1995</th><td class="years_1985_1995"><?php skill_line_right ("MS-DOS", "level-expert", "year1985", "year1995"); ?></td><td>Expert</td></tr>
870               </tbody>
871             </table>
872           </div>
873         </div>
874       </div>
875     </section>
876  
877     <section class="page-break">
878       <h1 id="experience">All Experience</h1>
879  
880       <div>
881         <h2>HFU (Höhere Fachschule Uster)</h2>
882         <h3 title="<?php echo $current_year - 2020; ?> years">November 2020&mdash;present</h3>
883         <p>I teach introductory <b>JavaScript</b> in the winter and <b>Mobile-App Development</b> in the early summer.</p>
884         <h3>Overview</h3>
885         <div class="timeline">
886           <table class="basic left-labels legend">
887             <caption title="Legend"></caption>
888             <tr>
889               <th title="Instructor"></th>
890               <td class="instructor"></td>
891             </tr>
892           </table>
893           <div class="timeline-box">
894             <div class="years">
895               <div title="1985"></div>
896               <div title="1990"></div>
897               <div title="1995"></div>
898               <div title="2000"></div>
899               <div title="2005"></div>
900               <div title="2010"></div>
901               <div title="2015"></div>
902               <div title="2020"></div>
903             </div>
904             <table class="projects">
905               <thead>
906               <tr>
907                 <th>Years</th>
908                 <th>Product</th>
909                 <th>Roles</th>
910               </tr>
911               </thead>
912               <tbody>
913               <tr><th></th><td class="employee"><?php employee_area ("mid2020"); ?></td><td></td></tr>
914               <tr><th>2020&ndash;present</th><td><?php project_line ("Introductory JavaScript", "instructor", "mid2020"); ?></td><td>Instructor</td></tr>
915               <tr><th>2021&ndash;present</th><td><?php project_line ("Mobile App Development", "instructor", "year2021"); ?></td><td>Instructor</td></tr>
916               </tbody>
917             </table>
918           </div>
919         </div>
920  
921         <h3>Details</h3>
922         <div class="grid projects">
923           <div>
924             <h3>Introductory JavaScript</h3>
925             <h4><time datetime="2020-11">Nov 2020</time>&mdash;present</h4>
926             <ul class="details">
927               <li class="skills">Instructor</li>
928               <li class="technologies">JavaScript, HTML, CSS, NPM, Node</li>
929               <li class="description">Teach basic programming principles with JavaScript in a browser environment.</li>
930             </ul>
931           </div>
932           <div>
933             <h3>Mobile App Development</h3>
934             <h4><time datetime="2021-05">May 2021</time>&mdash;present</h4>
935             <ul class="details">
936               <li class="skills">Instructor</li>
937               <li class="technologies">Xamarin, C#, .NET, iOS, Android</li>
938               <li class="description">Teach building cross-platform mobile applications. Integrate platform-specific features on both iOS and Android.</li>
939             </ul>
940           </div>
941         </div>
942  
943         <div class="page-break">
944           <h2><a href="https://encodo.com">Encodo Systems AG</a></h2>
945           <h3 title="16 years">September 2005&mdash;January 2022</h3>
946           <p>Encodo's emphasis is on using the best, most appropriate tools for the job. I've worked on many projects with a wide range
947             of technologies and target platforms. Generally, <b>ASP.NET Core</b> on the back-end, with <b>React/TypeScript</b> on the
948             front-end.</p>
949  
950           <h3>Overview</h3>
951           <div class="timeline">
952             <table class="basic left-labels legend">
953               <caption title="Legend"></caption>
954               <tr>
955                 <th title="Technical PM"></th>
956                 <td class="project-manager"></td>
957               </tr>
958               <tr>
959                 <th title="Instructor"></th>
960                 <td class="instructor"></td>
961               </tr>
962               <tr>
963                 <th title="Author"></th>
964                 <td class="author"></td>
965               </tr>
966               <tr>
967                 <th title="Lead Dev"></th>
968                 <td class="lead-developer"></td>
969               </tr>
970               <tr>
971                 <th title="Developer"></th>
972                 <td class="developer"></td>
973               </tr>
974               <tr>
975                 <th title="Support"></th>
976                 <td class="support"></td>
977               </tr>
978               <tr>
979                 <th title="Architect"></th>
980                 <td class="architect"></td>
981               </tr>
982               <tr>
983                 <th title="Reviewer"></th>
984                 <td class="reviewer"></td>
985               </tr>
986             </table>
987             <div class="timeline-box">
988               <div class="years">
989                 <div title="1985"></div>
990                 <div title="1990"></div>
991                 <div title="1995"></div>
992                 <div title="2000"></div>
993                 <div title="2005"></div>
994                 <div title="2010"></div>
995                 <div title="2015"></div>
996                 <div title="2020"></div>
997               </div>
998               <table class="projects">
999                 <thead>
1000                 <tr>
1001                   <th>Years</th>
1002                   <th>Product</th>
1003                   <th>Roles</th>
1004                 </tr>
1005                 </thead>
1006                 <tbody>
1007                 <tr><th></th><td class="employee"><?php employee_area ("mid2005", "year2022");?></td><td></td></tr>
1008                 <tr><th>2007&ndash;2021</th><td><?php project_line ("Quino", "project-manager architect lead-developer support", "mid2007", "year2022"); ?></td><td>Project manager, Architect, Lead developer, Support</td></tr>
1009                 <tr><th>2020</th><td><?php project_line ("WowLab Tower", "architect developer", "mid2020", "year2021"); ?></td><td>Architect, Developer</td></tr>
1010                 <tr><th>2020&ndash;2021</th><td><?php project_line ("FutureLab SmartPolice", "developer", "year2020", "year2021"); ?></td><td>Developer</td></tr>
1011                 <tr><th>2019&ndash;2021</th><td><?php project_line ("Crealogix MAP CI/CD", "architect project-manager developer", "mid2019", "year2021"); ?></td><td>Architect, Project manager, Developer</td></tr>
1012                 <tr><th>2018&ndash;2021</th><td><?php project_line ("Roche UA", "architect reviewer", "mid2018", "year2022"); ?></td><td>Architect, Reviewer</td></tr>
1013                 <tr><th>2018&ndash;2021</th><td><?php project_line ("Performa CRM", "developer support", "mid2018", "year2022"); ?></td><td>Developer, Support</td></tr>
1014                 <tr><th>2007&ndash;2021</th><td><?php project_line ("IT", "support", "mid2007", "year2022"); ?></td><td>Support</td></tr>
1015                 <tr><th>2019&ndash;2020</th><td><?php project_line ("Roche LabCore Web Modules", "architect developer", "mid2019", "mid2020"); ?></td><td>Architect, Developer</td></tr>
1016                 <tr><th>2019&ndash;2020</th><td><?php project_line ("Aplix Spooler", "developer", "mid2019", "year2021"); ?></td><td>Developer</td></tr>
1017                 <tr><th>2019</th><td><?php project_line ("Crealogix Digital Banking Demo Days", "architect, developer", "year2019", "mid2019"); ?></td><td>Architect, Developer</td></tr>
1018                 <tr><th>2019-2020</th><td><?php project_line ("Aplix Logistik", "reviewer", "year2019", "year2021"); ?></td><td>Reviewer</td></tr>
1019                 <tr><th>2019</th><td><?php project_line ("Hensoldt MTSC", "reviewer", "year2019", "year2020"); ?></td><td>Reviewer</td></tr>
1020                 <tr><th>2018&ndash;2019</th><td><?php project_line ("Crealogix TimeWarp", "developer", "mid2018", "year2019"); ?></td><td>Developer</td></tr>
1021                 <tr><th>2018&ndash;2019</th><td><?php project_line ("Insite FAK", "architect lead-developer project-manager", "year2018", "year2021"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1022                 <tr><th>2018</th><td><?php project_line ("Insite .NET/C#/Quino Trainings", "instructor", "mid2018", "year2019"); ?></td><td>Trainer</td></tr>
1023                 <tr><th>2018&ndash;2019</th><td><?php project_line ("Daylight Quino Upgrade", "project-manager lead-developer", "year2018", "year2020"); ?></td><td>Project manager, Lead developer</td></tr>
1024                 <tr><th>2018</th><td><?php project_line ("Aplix Logistik", "project-manager architect developer", "year2018", "year2019"); ?></td><td>Project manager, Architect, Developer</td></tr>
1025                 <tr><th>2017&ndash;2018</th><td><?php project_line ("Micron Hand-off Trainings", "instructor", "mid2017", "year2018"); ?></td><td>Instructor</td></tr>
1026                 <tr><th>2016&ndash;2018</th><td><?php project_line ("Micron Top Performance", "project-manager architect developer support", "mid2016", "year2019"); ?></td><td>Project manager, Architect, Developer</td></tr>
1027                 <tr><th>2016</th><td><?php project_line ("MULTIVAC Polymer Training", "instructor", "mid2016", "year2017"); ?></td><td>Instructor</td></tr>
1028                 <tr><th>2016&ndash;2018</th><td><?php project_line ("Crealogix MAP", "project-manager architect lead-developer", "mid2016", "year2018"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1029                 <tr><th>2015</th><td><?php project_line ("Alps Hand-off Training", "instructor", "mid2015", "year2016"); ?></td><td>Instructor</td></tr>
1030                 <tr><th>2013&ndash;2016</th><td><?php project_line ("Alps", "project-manager architect developer", "year2013", "year2017"); ?></td><td>Project manager, Architect, Developer</td></tr>
1031                 <tr><th>2013&ndash;2015</th><td><?php project_line ("Qontis", "architect developer", "year2013", "mid2015"); ?></td><td>Architect, Developer</td></tr>
1032                 <tr><th>2014</th><td><?php project_line ("Crealogix MUX Training", "instructor", "mid2014", "mid2014"); ?></td><td>Instructor</td></tr>
1033                 <tr><th>2013</th><td><?php project_line ("Roche HTML5 Training", "architect", "mid2013", "year2014"); ?></td><td>Instructor</td></tr>
1034                 <tr><th>2012&ndash;2013</th><td><?php project_line ("Roche MUA", "developer", "year2012", "year2013"); ?></td><td>Developer</td></tr>
1035                 <tr><th>2011&ndash;2012</th><td><?php project_line ("QQL Specification", "author", "year2012", "year2013"); ?></td><td>Author</td></tr>
1036                 <tr><th>2011&ndash;2015</th><td><?php project_line ("Git Handbook", "author", "year2011", "year2015"); ?></td><td>Author</td></tr>
1037                 <tr><th>2010&ndash;2012</th><td><?php project_line ("Peak6 Launchpad", "project-manager architect lead-developer", "mid2010", "mid2012"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1038                 <tr><th>2009&ndash;2010</th><td><?php project_line ("M9", "project-manager architect developer", "year2009", "mid2010"); ?></td><td>Project manager, Architect, Developer</td></tr>
1039                 <tr><th>2009&ndash;present</th><td><?php project_line ("eZagAdmin", "developer support", "mid2007", "year2022"); ?></td><td>Developer, Support</td></tr>
1040                 <tr><th>2007&ndash;2009</th><td><?php project_line ("eZagAdmin", "developer", "mid2007", "year2009"); ?></td><td>Developer</td></tr>
1041                 <tr><th>2008&ndash;2017</th><td><?php project_line ("C# Handbook", "author", "mid2007", "mid2017"); ?></td><td>Lead developer</td></tr>
1042                 <tr><th>2007</th><td><?php project_line ("PoC Raiffeisen", "developer", "year2007", "mid2007"); ?></td><td>Developer</td></tr>
1043                 <tr><th>2007&ndash;2011</th><td><?php project_line ("Fides Reporting Engine", "lead-developer support", "mid2007", "year2011"); ?></td><td>lead-developer, Support</td></tr>
1044                 <tr><th>2006&ndash;2007</th><td><?php project_line ("Fides Reporting Engine", "architect lead-developer", "mid2006", "mid2007"); ?></td><td>Architect, Lead developer</td></tr>
1045                 <tr><th>2007&ndash;2014</th><td><?php project_line ("Fides Client", "developer support", "year2007", "year2014"); ?></td><td>Developer, Support</td></tr>
1046                 <tr><th>2006&ndash;2007</th><td><?php project_line ("Fides Client", "lead-developer", "year2006", "year2007"); ?></td><td>Lead developer</td></tr>
1047                 <tr><th>2007&ndash;2014</th><td><?php project_line ("Q-ZAG", "project-manager lead-developer support", "year2007", "year2014"); ?></td><td>Project manager, Lead developer, Support</td></tr>
1048                 <tr><th>2006&ndash;2007</th><td><?php project_line ("Q-ZAG", "lead-developer", "mid2006", "mid2007"); ?></td><td>Lead developer</td></tr>
1049                 <tr><th>2006&ndash;2014</th><td><?php project_line ("ZAG Entlastungskontrolle", "project-manager support", "year2006", "year2014"); ?></td><td>Project manager, Support</td></tr>
1050                 <tr><th>2005&ndash;2006</th><td><?php project_line ("ZAG Entlastungskontrolle", "developer", "mid2005", "mid2006"); ?></td><td>Developer</td></tr>
1051                 </tbody>
1052               </table>
1053             </div>
1054           </div>
1055  
1056           <div class="page-break">
1057             <h3>Details</h3>
1058             <div class="grid projects">
1059               <div>
1060                 <h3 id="Quino"><a href="https://encodo.com/quino">Quino</a></h3>
1061                 <h4><time datetime="2007-09">Sep 2007</time>&mdash;present</h4>
1062                 <ul class="details">
1063                   <li class="skills">Technical PM, Architect, Lead Developer</li>
1064                   <li class="technologies">C#, Winforms, WPF, Web API, TypeScript, Less, React</li>
1065                   <li class="description">Designed, built and supported a powerful, flexible, modular and modern metadata
1066                     framework for .NET (API servers, SPAs, Winform, WPF).</li>
1067                 </ul class="details">
1068               </div>
1069               <div>
1070                 <h3 id="WowLabTower">WowLab Tower</h3>
1071                 <h4><time datetime="2020-06">June 2020</time>&mdash;<time datetime="2020-09">Sep 2020</time></h4>
1072                 <ul class="details">
1073                   <li class="skills">Architect, Developer</li>
1074                   <li class="technologies">C#, Unity, ARKit, iOS</li>
1075                   <li class="description">Designed and developed an iOS app that displays financial data using AR; data and metadata provided in JSON configuration.</li>
1076                 </ul>
1077               </div>
1078               <div>
1079                 <h3 id="FutureLabSmartPolice">FutureLab SmartPolice</h3>
1080                 <h4><time datetime="2020-01">Jan 2020</time>&mdash;present</h4>
1081                 <ul class="details">
1082                   <li class="skills">Architect, Developer</li>
1083                   <li class="technologies">C#, C++</li>
1084                   <li class="description">Maintenance, refactoring, and stabilization for a WebDav integration in Windows Explorer with a Twain data-import driver.</li>
1085                 </ul>
1086               </div>
1087               <div>
1088                 <h3 id="CrealogixMAPCICD">Crealogix MAP CI/CD</h3>
1089                 <h4><time datetime="2020-05">May 2020</time>&mdash;<time datetime="2020-10">Oct 2020</time></h4>
1090                 <ul class="details">
1091                   <li class="skills">Architect, Developer</li>
1092                   <li class="technologies">Ruby, Groovy, Fastlane, Jenkins, Gradle, TypeScript, Java, Swift</li>
1093                   <li class="description">Built CI/CD deployment pipelines for a framework and multiple projects, with iOS/Android targets, SauceLabs, Artifactory, Vault, and SonarQube integration.</li>
1094                 </ul>
1095               </div>
1096               <div>
1097                 <h3 id="GemdatArchitecturConsulting">Gemdat Architecture Consulting</h3>
1098                 <h4><time datetime="2018-04">Apr 2020</time></h4>
1099                 <ul class="details">
1100                   <li class="skills">Architect</li>
1101                     <li class="technologies">Angular, NX, TypeScript</li>
1102                   <li class="description">Conducted a 1-day architecture review and consulting for an set of Angular projects.</li>
1103                 </ul>
1104               </div>
1105               <div>
1106                 <h3>Crealogix MAP</h3>
1107                 <h4><time datetime="2019-09">Sep 2019</time>&mdash;<time datetime="2020-04">Apr 2020</time></h4>
1108                 <ul class="details">
1109                   <li class="skills">Architect, Developer</li>
1110                   <li class="technologies">Java, Swift, TypeScript, Android &amp; iOS SDKs</li>
1111                   <li class="description">Maintained and improved a cross-platform mobile-banking solution for Android and iOS.</li>
1112                 </ul>
1113               </div>
1114               <div>
1115                 <h3 id="RocheUA">Roche User Assistance</h3>
1116                 <h4><time datetime="2018-10">Oct 2018</time>&mdash;present</h4>
1117                 <ul class="details">
1118                   <li class="skills">Reviewer</li>
1119                   <li class="technologies">TypeScript, React, MobX, LESS</li>
1120                   <li class="description">Provided architecture, quality control and reviews for an upgrade, cleanup, refactoring, and modernization of an existing product.</li>
1121                 </ul>
1122               </div>
1123               <div>
1124                 <h3 id="PerformaCRM">Performa CRM</h3>
1125                 <h4><time datetime="2018-03">Sep 2018</time>&mdash;present</h4>
1126                 <ul class="details">
1127                   <li class="skills">Architect, Developer</li>
1128                     <li class="technologies">C#, ASP.Net Core, React, TypeScript</li>
1129                   <li class="description">Worked on a server to transform metadata and data from Microsoft Dynamics CRM to Quino for delivery to a generic Quino web client.</li>
1130                 </ul>
1131               </div>
1132               <div>
1133                 <h3 id="IT">Encodo IT</h3>
1134                 <h4><time datetime="2007-10">Oct 2007</time>&mdash;present</h4>
1135                 <ul class="details">
1136                   <li class="skills">Support</li>
1137                   <li class="technologies">Ubuntu, Proxmox, Windows Server</li>
1138                   <li class="description">Worked with IT chief to set up and maintain Encodo's infrastructure and network, including on-prem CI/CD (now mostly in Azure), a fleet of Ubuntu and Windows VMs, firewall, DNS, Samba, and so much more over the years.</li>
1139                 </ul>
1140               </div>
1141               <div>
1142                 <h3 id="RocheLabCoreWebModules">Roche LabCore Web Modules</h3>
1143                 <h4><time datetime="2019-10">Oct 2019</time>&mdash;<time datetime="2020-03">Mar 2020</time></h4>
1144                 <ul class="details">
1145                   <li class="skills">Architect, Developer</li>
1146                   <li class="technologies">TypeScript, React, Angular, SCSS</li>
1147                   <li class="description">Designed an architecture for a multi-technology web framework/library.</li>
1148                 </ul>
1149               </div>
1150               <div>
1151                 <h3 id="AplixSpooler">Aplix Spooler</h3>
1152                 <h4><time datetime="2019-08">Aug 2019</time>&mdash;<time datetime="2019-12">Dec 2019</time></h4>
1153                 <ul class="details">
1154                   <li class="skills">Developer</li>
1155                     <li class="technologies">C#, ASP.Net, React, TypeScript, Delphi Pascal</li>
1156                   <li class="description">Retrofitted a Windows desktop application to work with a command line and integrated it into a C# service.</li>
1157                 </ul>
1158               </div>
1159               <div>
1160                 <h3 id="CrealogixDigitalBankingDemoDays"><a href="https://crealogix.com">Crealogix</a> Digital Banking Demo Days</h3>
1161                 <h4><time datetime="2019-03">Mar 2019</time>&mdash;<time datetime="2019-05">May 2019</time></h4>
1162                 <ul class="details">
1163                   <li class="skills">Architect, Developer</li>
1164                   <li class="technologies">TypeScript, React, CSS/LESS</li>
1165                   <li class="description">Wrote a chat-robot prototype against a UI/UX concept for a demonstration.</li>
1166                 </ul>
1167               </div>
1168               <div>
1169                 <h3 id="AplixLogistik">Aplix Logistik</h3>
1170                 <h4><time datetime="2019-03">Mar 2019</time>&mdash;<time datetime="2019-12">Dec 2019</time></h4>
1171                 <ul class="details">
1172                   <li class="skills">Reviewer</li>
1173                     <li class="technologies">C#, ASP.Net, React</li>
1174                   <li class="description">Supervised, provided guidance and helped develop the back-end for a mobile-based, "picker" app for food warehouses (SwissBio).</li>
1175                 </ul>
1176               </div>
1177               <div>
1178                 <h3 id="HensoldtMTSC"><a href="https://www.hensoldt.net/">Hensoldt</a> Train-Simulator Content-Delivery System</h3>
1179                 <h4><time datetime="2019-03">Mar 2019</time>&mdash;<time datetime="2019-08">Aug 2019</time></h4>
1180                 <ul class="details">
1181                   <li class="skills">Reviewer</li>
1182                   <li class="technologies">XSLT, XML</li>
1183                   <li class="description">Provided design/architecture and reviews for a content-delivery system based on Web Flow.</li>
1184                 </ul>
1185               </div>
1186               <div>
1187                 <h3 id="CrealogixTimeWarp"><a href="https://crealogix.com">Crealogix</a> <a href="https://finovate.com/videos/finovateeurope-2019-crealogix/">TimeWarp</a></h3>
1188                 <h4><time datetime="2018-11">Nov 2018</time>&mdash;<time datetime="2019-02">Feb 2019</time></h4>
1189                 <ul class="details">
1190                   <li class="skills">Developer</li>
1191                     <li class="technologies">C#, Unity</li>
1192                   <li class="description">Wrote the data model and game-world algorithm for a 3D financial-planner prototype.</li>
1193                 </ul>
1194               </div>
1195               <div>
1196                 <h3 id="InsiteFAK"><a href="https://insite.ch">Insite</a> FAK</h3>
1197                 <h4><time datetime="2018-03">Mar 2018</time>&mdash;present</h4>
1198                 <ul class="details">
1199                   <li class="skills">Architect, Technical PM, Developer</li>
1200                   <li class="technologies">C#, .NET</li>
1201                   <li class="description">Rewrite an existing line-of-business application using Quino, connecting to a legacy database.</li>
1202                 </ul>
1203               </div>
1204               <div>
1205                 <h3 id="InsiteNETCQuinoTrainings"><a href="https://insite.ch">Insite</a> <a href="https://data.encodo.ch/presentations/20180719_dotnet_csharp_training_1/">.NET/C#/Quino Trainings</a></h3>
1206                 <h4><time datetime="2018-06">Jun 2018</time>&mdash;<time datetime="2018-09">Sep 2018</time></h4>
1207                 <ul class="details">
1208                   <li class="skills">Architect, Technical PM, Developer</li>
1209                   <li class="technologies">C#</li>
1210                   <li class="description">Conducted a 3-day training and onboarding for .NET, C# and Quino, starting from fundamentals to building a simple, but full-fledged Quino desktop application.</li>
1211                 </ul>
1212               </div>
1213               <div>
1214                 <h3 id="DaylightQuinoUpgrade"><a href="https://daylight.ch">Daylight</a> Quino Upgrade</h3>
1215                 <h4><time datetime="2018-03">Mar 2018</time>&mdash;<time datetime="2018-12">Dec 2018</time></h4>
1216                 <ul class="details">
1217                   <li class="skills">Architect, Technical PM, Developer</li>
1218                   <li class="technologies">C#</li>
1219                   <li class="description">Upgraded a sophisticated event-management/school-management product based on Quino 1.13 to Quino 6 (latest).</li>
1220                 </ul>
1221               </div>
1222               <div>
1223                 <h3 id="AplixLogistikInitial">Aplix Logistik</h3>
1224                 <h4><time datetime="2018-03">Mar 2018</time>&mdash;<time datetime="2018-08">Aug 2018</time></h4>
1225                 <ul class="details">
1226                   <li class="skills">Architect, Technical PM, Developer</li>
1227                     <li class="technologies">C#, React, Redux, TypeScript</li>
1228                   <li class="description">Supervised, provided guidance and helped develop the back-end for a mobile-based, "picker" app for food warehouses (SwissBio).</li>
1229                 </ul>
1230               </div>
1231               <div>
1232                 <h3 id="MicronHandoffTrainings">Micron Hand-off Trainings</h3>
1233                 <h4><time datetime="2017-09">Sep 2017</time>&mdash;<time datetime="2018-04">Apr 2018</time></h4>
1234                 <ul class="details">
1235                   <li class="skills">Trainer</li>
1236                   <li class="technologies">C#, Quino, Web API, TypeScript, Less, Material UI</li>
1237                   <li class="description">Created presentations and tutorials and presented 10 90-minute trainings to on-board a medium-sized team.</li>
1238                 </ul>
1239               </div>
1240               <div>
1241                 <h3 id="MULTIVACPolymerTraining"><a href="https://multivac.com/en/">MULTIVAC HTML/Polymer Training</a></h3>
1242                 <h4><time datetime="2016-10">Oct 2016</time></h4>
1243                 <ul class="details">
1244                   <li class="skills">Architect, Trainer</li>
1245                   <li class="technologies">HTML 5, JavaScript, Less/Css, Polymer</li>
1246                   <li class="description">Created presentations and tutorials and presented a 2-day, JS/Polymer training with a focus on architecture.</li>
1247                 </ul>
1248               </div>
1249               <div>
1250                 <h3 id="MicronTopPerformance"><a href="https://www.micronsystems.com/introducing-top-performance">Micron Top Performance</a></h3>
1251                 <h4><time datetime="2016-09">Sep 2016</time>&mdash;<time datetime="2018-11">Nov 2018</time></h4>
1252                 <ul class="details">
1253                   <li class="skills">Architect, Technical PM, Developer</li>
1254                   <li class="technologies">C#, TypeScript, React, Redux</li>
1255                   <li class="description">Designed and developed employee-managed, -evaluation and performance-review software with PL in New Jersey and a team in Philippines, deployed on AWS.</li>
1256                 </ul>
1257               </div>
1258               <div>
1259                 <h3 id="CrealogixMAP"><a href="https://crealogix.com">Crealogix MAP</a></h3>
1260                 <h4><time datetime="2016-09">Sep 2016</time>&mdash;<time datetime="2018-01">Jan 2018</time> </h4>
1261                 <ul class="details">
1262                   <li class="skills">Architect, Developer</li>
1263                   <li class="technologies">Java, Swift, TypeScript, React, Android &amp; iOS SDKs</li>
1264                   <li class="description">Designed and built a cross-platform mobile-banking solution for Android and iOS.</li>
1265                 </ul>
1266               </div>
1267               <div>
1268                 <h3 id="AlpsHandoffTraining">Alps Hand-off Training</h3>
1269                 <h4><time datetime="2015-10">Oct 2015</time></h4>
1270                 <ul class="details">
1271                   <li class="skills">Architect</li>
1272                   <li class="technologies">C#, Quino, Web API, TypeScript, Less, Knockout</li>
1273                   <li class="description">Created presentations and tutorials and presented a 5-day training to on-board a small team.</li>
1274                 </ul>
1275               </div>
1276               <div>
1277                 <h3 id="Alps"><a href="https://www.apexclearing.com/">Apex Clearing</a> <a href="https://apps.apexclearing.com/alps">Alps</a></h3>
1278                 <h4><time datetime="2013-06">Jun 2013</time>&mdash;<time datetime="2016-06">Sep 2016</time></h4>
1279                 <ul class="details">
1280                   <li class="skills">Technical PM, Architect, Developer</li>
1281                   <li class="technologies">C#, Quino, Web API, TypeScript, Less, Knockout</li>
1282                   <li class="description">Services and web front-end for processing, overview and management of ACATS for <a href="https://apexclearing.com">Apex Clearing Corporation</a>.</li>
1283                 </ul>
1284               </div>
1285               <div>
1286                 <h3 id="Qontis">Qontis (<a href="https://crealogix.com">Crealogix </a>)</h3>
1287                 <h4><time datetime="2013-03">Mar 2013</time>&mdash;<time datetime="2015-02">Feb 2015</time></h4>
1288                 <ul class="details">
1289                   <li class="skills">Architect, Developer</li>
1290                   <li class="technologies">C#, WCF, <a href="https://www.meniga.com">Meniga</a>, JavaScript, Less, jQuery</li>
1291                   <li class="description">A personal finance manager with integration into various online banking systems.</li>
1292                 </ul>
1293               </div>
1294               <div>
1295                 <h3 id="CrealogixMUXTraining"><a href="https://crealogix.com">Crealogix </a> MUX Training</h3>
1296                 <h4><time datetime="2014-08">Aug 2014</time></h4>
1297                 <ul class="details">
1298                   <li class="skills">Architect, Trainer</li>
1299                   <li class="technologies">HTML 5, JavaScript, Less/Css</li>
1300                   <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>
1301                 </ul>
1302               </div>
1303               <div>
1304                 <h3 id="RocheHTML5Training"><a href="https://www.roche.ch/">Roche</a> HTML5 Training</h3>
1305                 <h4><time datetime="2013-11">Nov 2013</time></h4>
1306                 <ul class="details">
1307                   <li class="skills">Architect, Trainer</li>
1308                   <li class="technologies">HTML 5, JavaScript, Less/Css</li>
1309                   <li class="description">Created presentations and tutorials and presented a 3-day, HTML5 introduction and training with a focus on architecture.</li>
1310                 </ul>
1311               </div>
1312               <div>
1313                 <h3 id="RocheMUA"><a href="https://www.roche.ch/">Roche</a> MUA</h3>
1314                 <h4><time datetime="2012-10">Oct 2012</time>&mdash;<time datetime="2013-06">Jun 2013</time></h4>
1315                 <ul class="details">
1316                   <li class="skills">Developer</li>
1317                   <li class="technologies">HTML 5, JavaScript, Less/Css</li>
1318                   <li class="description">A full-fledged port of a Silverlight user-assistance application to HTML for mobile devices.</li>
1319                 </ul>
1320               </div>
1321               <div>
1322                 <h3 id="QQLSpecification"><a href="https://encodo.com/media/2726/encodo-qql-handbook.pdf">QQL Specification</a></h3>
1323                 <h4><time datetime="2011-11">Nov 2011</time>&mdash;<time datetime="2012-10">Oct 2012</time></h4>
1324                 <ul class="details">
1325                   <li class="skills">Architect</li>
1326                   <li class="technologies">QQL</li>
1327                   <li class="description">Wrote a detailed specification for the Quino Query Language (QQL), which defines a syntax and semantics for formulating data requests
1328                     against hierarchical data structures.</li>
1329                 </ul>
1330               </div>
1331               <div>
1332                 <h3 id="GitHandbook"><a href="https://encodo.com/media/1018/encodo-git-handbook.pdf">Git Handbook</a></h3>
1333                 <h4><time datetime="2011-06">Jun 2011</time>&mdash;<time datetime="2015-07">Jul 2015</time></h4>
1334                 <ul class="details">
1335                   <li class="skills">Writer</li>
1336                   <li class="technologies">Git</li>
1337                   <li class="description">Wrote a detailed handbook for using Git at Encodo, with best practices, a branching model and development process.</li>
1338                 </ul>
1339               </div>
1340               <div>
1341                 <h3 id="Peak6Launchpad"><a href="https://peak6.com">Peak6 Launchpad</a></h3>
1342                 <h4><time datetime="2010-07">Jul 2010</time>&mdash;<time datetime="2012-09">Sep 2012</time></h4>
1343                 <ul class="details">
1344                   <li class="skills">Architect, Developer</li>
1345                   <li class="technologies">C#, Winforms, Quino</li>
1346                   <li class="description">A highly concurrent and high-performance query and display client for options traders.</li>
1347                 </ul>
1348               </div>
1349               <div>
1350                 <h3 id="M9">M9</h3>
1351                 <h4><time datetime="2009-03">Mar 2009</time>&mdash;<time datetime="2010-09">Sep 2010</time></h4>
1352                 <ul class="details">
1353                   <li class="skills">Architect, Developer</li>
1354                   <li class="technologies">C#, Winforms, Entity Framework</li>
1355                   <li class="description">A large-scale and high-volume contact bulk mail/campaign manager.</li>
1356                 </ul>
1357               </div>
1358               <div>
1359                 <h3 id="eZagAdmin"><a href="https://www.zag.zh.ch">eZag Admin</a></h3>
1360                 <h4><time datetime="2007-03">Sep 2007</time>&mdash;present</h4>
1361                 <ul class="details">
1362                   <li class="skills">Architect, Developer, Support</li>
1363                     <li class="technologies">C#, Winforms, Quino, ASP.Net, jQuery, Exchange integration</li>
1364                   <li class="description">A product for managing a school, including basic data, curriculum and lesson planning software.</li>
1365                 </ul>
1366               </div>
1367               <div>
1368                 <h3 id="CHandbook"><a href="https://github.com/mvonballmo/CSharpHandbook">C# Handbook</a></h3>
1369                 <h4><time datetime="2007-03">Mar 2007</time>&mdash;<time datetime="2007-06">Jun 2017</time></h4>
1370                 <ul class="details">
1371                   <li class="skills">Writer</li>
1372                   <li class="technologies">Markdown, C#</li>
1373                   <li class="description">Wrote a detailed reference for composing C#. It includes naming, structural and formatting conventions as well as best practices for writing clean, safe and maintainable code.</li>
1374                 </ul>
1375               </div>
1376               <div>
1377                 <h3 id="PoCRaiffeisen">POC <a href="https://www.raiffeisen.ch/">Raiffeisen</a></h3>
1378                 <h4><time datetime="2007-05">May 2007</time>&mdash;<time datetime="2007-08">Aug 2007</time></h4>
1379                 <ul class="details">
1380                   <li class="skills">Architect, Developer</li>
1381                   <li class="technologies">Java, Eclipse RCP</li>
1382                   <li class="description">A POC to wrap legacy software in a SOAP API with a Java client prototype.</li>
1383                 </ul>
1384               </div>
1385               <div>
1386                 <h3 id="FidesReportingEngine"><a href="https://fides.ch">Fides</a> Reporting Engine</h3>
1387                 <h4><time datetime="2006-06">Jun 2006</time>&mdash;<time datetime="2014-06">Jun 2014</time></h4>
1388                 <ul class="details">
1389                   <li class="skills">Architect, Lead Developer, Support</li>
1390                   <li class="technologies">Delphi Pascal, VCL</li>
1391                   <li class="description">A reporting engine and full-fledged designer for fixed-width text, HTML and PDF reports.</li>
1392                 </ul>
1393               </div>
1394               <div>
1395                 <h3 id="FidesClient"><a href="https://fides.ch">Fides Client</a></h3>
1396                 <h4><time datetime="2006-06">Jun 2006</time>&mdash;<time datetime="2014-06">Jun 2014</time></h4>
1397                 <ul class="details">
1398                   <li class="skills">Architect, Developer, Support</li>
1399                   <li class="technologies">Delphi Pascal, VCL</li>
1400                   <li class="description">A client/server component to communicate in parallel and asynchronously via a custom, secure XML-based protocol.</li>
1401                 </ul>
1402               </div>
1403               <div>
1404                 <h3 id="QZAG"><a href="https://www.zag.zh.ch">Q-ZAG</a></h3>
1405                 <h4><time datetime="2005-12">Dec 2005</time>&mdash;<time datetime="2014-10">Oct 2014</time></h4>
1406                 <ul class="details">
1407                   <li class="skills">Architect, Developer, Support</li>
1408                     <li class="technologies">Java, Tapestry, JavaScript</li>
1409                   <li class="description">A document management system for organizing materials related to the Quintessenz system.</li>
1410                 </ul>
1411               </div>
1412               <div>
1413                 <h3 id="ZAGEntlastungskontrolle"><a href="https://www.zag.zh.ch">ZAG Entlastungkontrolle</a></h3>
1414                 <h4><time datetime="2005-10">Oct 2005</time>&mdash;<time datetime="2014-10">Oct 2014</time></h4>
1415                 <ul class="details">
1416                   <li class="skills">Architect, Developer, Support</li>
1417                     <li class="technologies">Java, Tapestry, JavaScript</li>
1418                   <li class="description">A product for teachers and administrators to manage compensated and continuing-education time.</li>
1419                 </ul>
1420               </div>
1421             </div>
1422           </div>
1423         </div>
1424  
1425         <div class="page-break">
1426           <h2>Opus Software GmbH</h2>
1427           <h3 title="3 years">October 2002&mdash;August 2005</h3>
1428           <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>
1429  
1430           <h3>Overview</h3>
1431           <div class="timeline">
1432             <table class="basic left-labels legend early">
1433               <caption title="Legend"></caption>
1434               <tr>
1435                 <th title="Lead Dev"></th>
1436                 <td class="lead-developer"></td>
1437               </tr>
1438               <tr>
1439                 <th title="Developer"></th>
1440                 <td class="developer"></td>
1441               </tr>
1442               <tr>
1443                 <th title="Architect"></th>
1444                 <td class="architect"></td>
1445               </tr>
1446             </table>
1447             <div class="timeline-box">
1448               <div class="years">
1449                 <div title="1985"></div>
1450                 <div title="1990"></div>
1451                 <div title="1995"></div>
1452                 <div title="2000"></div>
1453                 <div title="2005"></div>
1454                 <div title="2010"></div>
1455                 <div title="2015"></div>
1456                 <div title="2020"></div>
1457               </div>
1458               <table class="projects">
1459                 <thead>
1460                 <tr>
1461                   <th>Years</th>
1462                   <th>Product</th>
1463                   <th>Roles</th>
1464                 </tr>
1465                 </thead>
1466                 <tbody>
1467                 <tr><th></th><td class="employee"><?php employee_area ("mid2002", "mid2005");?></td><td></td></tr>
1468                 <tr><th>2003&ndash;2005</th><td><?php project_line ("Dialba 2000", "developer", "year2003", "mid2005"); ?></td><td>Developer</td></tr>
1469                 <tr><th>2003&ndash;2005</th><td><?php project_line ("Atlas", "architect lead-developer", "mid2003", "mid2005"); ?></td><td>Architect, Lead developer</td></tr>
1470                 <tr><th>2002&ndash;2003</th><td><?php project_line ("Atlas", "developer", "mid2002", "mid2003"); ?></td><td>Developer</td></tr>
1471                 <tr><th>2005</th><td><?php project_line ("Sql Server Data Driver", "developer", "year2005", "mid2005"); ?></td><td>Developer</td></tr>
1472                 <tr><th>2004</th><td><?php project_line ("Allbase Data Driver", "developer", "mid2004", "year2005"); ?></td><td>Developer</td></tr>
1473                 <tr><th>2003</th><td><?php project_line ("Atlas Startup", "developer", "year2003", "year2004"); ?></td><td>Developer</td></tr>
1474                 <tr><th>2003</th><td><?php project_line ("Atlas Logging", "developer", "year2003", "year2004"); ?></td><td>Developer</td></tr>
1475                 <tr><th>2002</th><td><?php project_line ("earthli Projects 2.5", "developer", "mid2002", "year2003"); ?></td><td>Developer</td></tr>
1476                 </tbody>
1477               </table>
1478             </div>
1479           </div>
1480  
1481           <h3>Details</h3>
1482           <div class="grid projects">
1483             <div>
1484               <h3 id="Atlas">Atlas</h3>
1485               <h4><time datetime="2002-10">Oct 2002</time>&mdash;<time datetime="2005-08">Aug 2005</time></h4>
1486               <ul class="details">
1487                 <li class="skills">Architect, Lead Developer</li>
1488                 <li class="technologies">Delphi Pascal, VCL</li>
1489                 <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>
1490               </ul>
1491             </div>
1492             <div>
1493               <h3 id="SqlServerDataDriver">SQL Server Data Driver</h3>
1494               <h4><time datetime="2005-01">Jan 2005</time>&mdash;<time datetime="2005-08">Aug 2005</time></h4>
1495               <ul class="details">
1496                 <li class="skills">Lead Developer</li>
1497                 <li class="technologies">Delphi Pascal, SQL Server 2000</li>
1498                 <li class="description">A data driver for Atlas for SQL Server databases.</li>
1499               </ul>
1500             </div>
1501             <div>
1502               <h3 id="AllbaseDataDriver">Allbase Data Driver</h3>
1503               <h4><time datetime="2004-06">Jun 2004</time>&mdash;<time datetime="2004-12">Dec 2004</time></h4>
1504               <ul class="details">
1505                 <li class="skills">Lead Developer</li>
1506                 <li class="technologies">Delphi Pascal, HP Allbase</li>
1507                 <li class="description">A data driver for Atlas for HP Allbase databases.</li>
1508               </ul>
1509             </div>
1510             <div>
1511               <h3 id="Dialba2000">Dialba 2000</h3>
1512               <h4><time datetime="2003-06">Jun 2003</time>&mdash;<time datetime="2005-08">Aug 2005</time></h4>
1513               <ul class="details">
1514                 <li class="skills">Developer</li>
1515                 <li class="technologies">Delphi Pascal, VCL, Btrieve/Powerflex</li>
1516                 <li class="description">Support and enhancements for a feature-rich and powerful banking front-end written with Atlas.</li>
1517               </ul>
1518             </div>
1519             <div>
1520               <h3 id="AtlasStartup">Atlas Startup</h3>
1521               <h4><time datetime="2003-02">Feb 2003</time>&mdash;<time datetime="2003-06">Jun 2003</time></h4>
1522               <ul class="details">
1523                 <li class="skills">Lead Developer</li>
1524                 <li class="technologies">Delphi Pascal</li>
1525                 <li class="description">A flexible and declarative configuration and startup system for Atlas applications.</li>
1526               </ul>
1527             </div>
1528             <div>
1529               <h3 id="AtlasLogging">Atlas Logging</h3>
1530               <h4><time datetime="2003-04">Apr 2003</time>&mdash;<time datetime="2003-06">Jun 2003</time></h4>
1531               <ul class="details">
1532                 <li class="skills">Lead Developer</li>
1533                 <li class="technologies">Delphi Pascal</li>
1534                 <li class="description">Add configurable and semantic/information-rich logging for Atlas applications.</li>
1535               </ul>
1536             </div>
1537             <div class="page-break">
1538               <h3 id="earthliProjects25">earthli Projects 2.5</h3>
1539               <h4><time datetime="2002-11">Nov 2002</time>&mdash;<time datetime="2003-01">Jan 2003</time></h4>
1540               <ul class="details">
1541                 <li class="skills">Lead Developer</li>
1542                 <li class="technologies">PHP 4</li>
1543                 <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>
1544               </ul>
1545             </div>
1546           </div>
1547         </div>
1548  
1549         <div class="page-break">
1550           <h2>Logicat, Inc.</h2>
1551           <h3 title="8 years">August 1994&mdash;August 2002</h3>
1552           <p>I moved from upstate New York to New York City to start my professional career at Logicat as a developer.</p>
1553           <h3>Overview</h3>
1554           <div class="timeline">
1555             <table class="basic left-labels legend early">
1556               <caption title="Legend"></caption>
1557               <tr>
1558                 <th title="Technical PM"></th>
1559                 <td class="project-manager"></td>
1560               </tr>
1561               <tr>
1562                 <th title="Lead Dev"></th>
1563                 <td class="lead-developer"></td>
1564               </tr>
1565               <tr>
1566                 <th title="Developer"></th>
1567                 <td class="developer"></td>
1568               </tr>
1569               <tr>
1570                 <th title="Architect"></th>
1571                 <td class="architect"></td>
1572               </tr>
1573             </table>
1574             <div class="timeline-box">
1575               <div class="years">
1576                 <div title="1985"></div>
1577                 <div title="1990"></div>
1578                 <div title="1995"></div>
1579                 <div title="2000"></div>
1580                 <div title="2005"></div>
1581                 <div title="2010"></div>
1582                 <div title="2015"></div>
1583                 <div title="2020"></div>
1584               </div>
1585               <table class="projects">
1586                 <thead>
1587                 <tr>
1588                   <th>Years</th>
1589                   <th>Product</th>
1590                   <th>Roles</th>
1591                 </tr>
1592                 </thead>
1593                 <tbody>
1594                 <tr><th></th><td class="employee"><?php employee_area ("mid1994", "mid2002");?></td><td></td></tr>
1595                 <tr><th>2002</th><td class="years_2002_mid_2002"><?php project_line ("Logicat Course Administrator", "project-manager architect lead-developer", "year2002", "mid2002"); ?></td><td>Project-manager, Architect, Lead developer</td></tr>
1596                 <tr><th>2001&ndash;2002</th><td class="years_2001_2002"><?php project_line ("Logicat CE Manager", "project-manager architect lead-developer", "year2001", "mid2002"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1597                 <tr><th>2001</th><td class="years_2001_mid_2001"><?php project_line ("Online Testing", "lead-developer", "year2001", "mid2001"); ?></td><td>lead-developer</td></tr>
1598                 <tr><th>1999&ndash;2001</th><td class="years_1999_2001"><?php project_line ("One-on-One with the SAT 2.0", "project-manager architect lead-developer", "year1999", "year2001"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1599                 <tr><th>1998&ndash;1999</th><td class="years_1998_1999"><?php project_line ("Logicat Test Engine", "project-manager architect lead-developer", "year1998", "year1999"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1600                 <tr><th>1997</th><td class="years_mid_1997_1998"><?php project_line ("CPA Live Courses", "architect lead-developer", "mid1997", "year1998"); ?></td><td>Architect, Lead developer</td></tr>
1601                 <tr><th>1997</th><td class="years_1997_mid_1997"><?php project_line ("Performance Transfer", "lead-developer", "year1997", "mid1997"); ?></td><td>Lead developer</td></tr>
1602                 <tr><th>1996&ndash;1997</th><td class="years_1996_1997"><?php project_line ("Logicat CPA Review", "architect lead-developer", "year1996", "year1997"); ?></td><td>Architect, Lead developer</td></tr>
1603                 <tr><th>1996</th><td class="years_1996_mid_1996"><?php project_line ("ELF", "architect lead-developer", "year1996", "year1997"); ?></td><td>Architect, Lead developer</td></tr>
1604                 <tr><th>1995&ndash;1996</th><td class="years_1995_1996"><?php project_line ("PassMaster CPA Review Web Site", "lead-developer", "year1995", "year1996"); ?></td><td>Lead developer</td></tr>
1605                 <tr><th>1995</th><td class="years_1995_mid_1995"><?php project_line ("Counselor Utility", "lead-developer", "year1995", "mid1995"); ?></td><td>Lead developer</td></tr>
1606                 <tr><th>1994&ndash;1995</th><td class="years_mid_1994_mid_1995"><?php project_line ("One-on-One with the SAT", "developer", "mid1994", "mid1995"); ?></td><td>Developer</td></tr>
1607                 </tbody>
1608               </table>
1609             </div>
1610           </div>
1611  
1612           <h3>Details</h3>
1613           <div class="grid projects">
1614             <div>
1615               <h3 id="LogicatCourseAdministrator"><a href="https://cemanager.micronapps.com">Logicat Course Administrator</a></h3>
1616               <h4><time datetime="2002-05">May 2002</time>&mdash;<time datetime="2002-08">Aug 2002</time></h4>
1617               <ul class="details">
1618                 <li class="skills">Project Manager, Architect, Lead Developer</li>
1619                 <li class="technologies">Visual Basic, ASP.Net, IIS 5, SQL Server 2000</li>
1620                 <li class="description">Added multi-tenancy to CE Manager with features/permissions per customer and improved evaluation, reporting and views.</li>
1621               </ul>
1622             </div>
1623             <div>
1624               <h3 id="LogicatCEManager"><a href="https://cemanager.micronapps.com">Logicat CE Manager</a></h3>
1625               <h4><time datetime="2001-04">Apr 2001</time>&mdash;<time datetime="2002-04">Apr 2002</time></h4>
1626               <ul class="details">
1627                 <li class="skills">Project Manager, Architect, Lead Developer</li>
1628                 <li class="technologies">Visual Basic, ASP.Net, IIS 5, SQL Server 2000</li>
1629                 <li class="description">A web-based application with reports, reminders and statements for lawyers to track and manage continuing-education credits and licenses.</li>
1630               </ul>
1631             </div>
1632             <div>
1633               <h3 id="OnlineTesting">Online Testing</h3>
1634               <h4><time datetime="2001-02">Feb 2001</time>&mdash;<time datetime="2001-04">Apr 2001</time></h4>
1635               <ul class="details">
1636                 <li class="skills">Lead Developer</li>
1637                 <li class="technologies">Visual C++ 6, IIS 5, SQL Server 2000, HTML/CSS/JS</li>
1638                 <li class="description">An HTML-based testing platform for online learning solutions.</li>
1639               </ul>
1640             </div>
1641             <div>
1642               <h3 id="OneonOnewiththeSAT20">One-on-One with the SAT 2</h3>
1643               <h4><time datetime="1999-01">Jan 1999</time>&mdash;<time datetime="2001-02">Feb 2001</time></h4>
1644               <ul class="details">
1645                 <li class="skills">Project Manager, Architect, Lead Developer</li>
1646                 <li class="technologies">Visual C++ 6, MFC, Win32, Metrowerks CodeWarrior 5, Macintosh Toolbox</li>
1647                 <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>
1648               </ul>
1649             </div>
1650             <div>
1651               <h3 id="LogicatTestEngine">Logicat Test Engine</h3>
1652               <h4><time datetime="1997-11">Nov 1997</time>&mdash;<time datetime="1998-12">Dec 1998</time></h4>
1653               <ul class="details">
1654                 <li class="skills">Project Manager, Architect, Lead Developer</li>
1655                 <li class="technologies">Visual C++ 6, MFC, Win32</li>
1656                 <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>
1657               </ul>
1658             </div>
1659             <div>
1660               <h3 id="CPALiveCourses">Logicat CPA Review Software Live Courses</h3>
1661               <h4><time datetime="1997-05">May 1997</time>&mdash;<time datetime="1997-11">Nov 1997</time></h4>
1662               <ul class="details">
1663                 <li class="skills">Architect, Lead Developer</li>
1664                 <li class="technologies">Visual C++ 5, MFC, Win32, Delphi 3, OLE/COM</li>
1665                 <li class="description">Integrate study plan, calendar and PowerPoint presentations to support/enhance live instruction.</li>
1666               </ul>
1667             </div>
1668             <div>
1669               <h3 id="PerformanceTransfer">Performance Transfer Utility</h3>
1670               <h4><time datetime="1997-02">Feb 1997</time>&mdash;<time datetime="1997-04">Apr 1997</time></h4>
1671               <ul class="details">
1672                 <li class="skills">Lead Developer</li>
1673                 <li class="technologies">Delphi 2.0, Wise 5.0, HTML/CSS</li>
1674                 <li class="description">A hardware copy-protection utility for Logicat CPA Review with custom installer and detailed (100-page) manual.</li>
1675               </ul>
1676             </div>
1677             <div>
1678               <h3 id="LogicatCPAReview">Logicat CPA Review</h3>
1679               <h4><time datetime="1996-08">Aug 1996</time>&mdash;<time datetime="1997-01">Jan 1997</time></h4>
1680               <ul class="details">
1681                 <li class="skills">Architect, Lead Developer</li>
1682                 <li class="technologies">Visual C++ 4.1/5, MFC, Win32, ELF</li>
1683                 <li class="description">A rewrite of the popular PassMaster DOS program for Windows 95 using ELF.</li>
1684               </ul>
1685             </div>
1686             <div>
1687               <h3 id="ELF">ELF (Extended Logicat Format)</h3>
1688               <h4><time datetime="1996-02">Feb 1996</time>&mdash;<time datetime="1996-08">Aug 1996</time></h4>
1689               <ul class="details">
1690                 <li class="skills">Architect, Lead Developer</li>
1691                 <li class="technologies">Borland Delphi 2, Microsoft Visual C++ 4.1</li>
1692                 <li class="description">A content pipeline and rendering library that included a markup language, RTF parser and structured binary document format/database.</li>
1693               </ul>
1694             </div>
1695             <div>
1696               <h3 id="PassMasterCPAReviewWebSite">PassMaster CPA Review Web Site</h3>
1697               <h4><time datetime="1995-12">Dec 1995</time>&mdash;<time datetime="1996-01">Jan 1996</time></h4>
1698               <ul class="details">
1699                 <li class="skills">Lead Developer</li>
1700                 <li class="technologies">JavaScript, HTML, Delphi</li>
1701                 <li class="description">An online demonstration of some of the functionality of the DOS-based PassMaster CPA review software.</li>
1702               </ul>
1703             </div>
1704             <div>
1705               <h3 id="CounselorUtility">One-on-One with the SAT Counselor Utility</h3>
1706               <h4><time datetime="1995-09">Sep 1995</time>&mdash;<time datetime="1995-11">Nov 1995</time></h4>
1707               <ul class="details">
1708                 <li class="skills">Lead Developer</li>
1709                 <li class="technologies">Borland Object Pascal 7, Win32</li>
1710                 <li class="description">A management and reporting utility for multi-user, networked school distributions of One-on-One with the SAT.</li>
1711               </ul>
1712             </div>
1713             <div>
1714               <h3 id="OneonOnewiththeSAT">One-on-One with the SAT</h3>
1715               <h4><time datetime="1994-08">Aug 1994</time>&mdash;<time datetime="1995-09">Sep 1995</time></h4>
1716               <ul class="details">
1717                 <li class="skills">Developer</li>
1718                 <li class="technologies">Borland Object Pascal 7, Win32</li>
1719                 <li class="description">The official College Board SAT-preparation tool for Windows 3.1/95.</li>
1720               </ul>
1721             </div>
1722           </div>
1723         </div>
1724  
1725         <div class="page-break">
1726           <h2>Personal Projects</h2>
1727           <h3 title="<?php echo $current_year - 1997; ?> years">January 1997&mdash;present</h3>
1728           <p>This list includes open-source projects and the software running this web site.</p>
1729  
1730           <h3>Overview</h3>
1731           <div class="timeline">
1732             <table class="basic left-labels legend early">
1733               <caption title="Legend"></caption>
1734               <tr>
1735                 <th title="Technical PM"></th>
1736                 <td class="project-manager"></td>
1737               </tr>
1738               <tr>
1739                 <th title="Lead Dev"></th>
1740                 <td class="lead-developer"></td>
1741               </tr>
1742               <tr>
1743                 <th title="Developer"></th>
1744                 <td class="developer"></td>
1745               </tr>
1746               <tr>
1747                 <th title="Architect"></th>
1748                 <td class="architect"></td>
1749               </tr>
1750             </table>
1751             <div class="timeline-box">
1752               <div class="years">
1753                 <div title="1985"></div>
1754                 <div title="1990"></div>
1755                 <div title="1995"></div>
1756                 <div title="2000"></div>
1757                 <div title="2005"></div>
1758                 <div title="2010"></div>
1759                 <div title="2015"></div>
1760                 <div title="2020"></div>
1761               </div>
1762               <table class="projects">
1763                 <thead>
1764                 <tr>
1765                   <th>Years</th>
1766                   <th>Product</th>
1767                   <th>Roles</th>
1768                 </tr>
1769                 </thead>
1770                 <tbody>
1771                 <tr><th></th><td class="employee"><?php employee_area ("year1997");?></td><td></td></tr>
1772                 <tr><th>2004&ndash;2005</th><td><?php project_line ("TuneSync", "project-manager architect lead-developer", "year2004", "year2005"); ?></td><td>Architect, Lead developer</td></tr>
1773                 <tr><th>2003&ndash;2010</th><td><?php project_line ("PHPDocumentor", "developer", "year2003", "year2010"); ?></td><td>Developer</td></tr>
1774                 <tr><th>2002</th><td><?php project_line ("earthli Projects", "lead-developer", "year2002", "mid2002"); ?></td><td>Lead developer</td></tr>
1775                 <tr><th>2002</th><td><?php project_line ("earthli News", "lead-developer", "year2002", "mid2002"); ?></td><td>Lead developer</td></tr>
1776                 <tr><th>2002</th><td><?php project_line ("earthli Recipes", "lead-developer", "year2002", "mid2002"); ?></td><td>Lead developer</td></tr>
1777                 <tr><th>2001&ndash;present</th><td><?php project_line ("earthli WebCore", "project-manager architect lead-developer", "year2001"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1778                 <tr><th>2001</th><td><?php project_line ("earthli Themes", "lead-developer", "year2001", "mid2001"); ?></td><td>Lead developer</td></tr>
1779                 <tr><th>2000</th><td><?php project_line ("earthli Forums", "architect lead-developer", "year2000", "mid2000"); ?></td><td>Architect, Lead developer</td></tr>
1780                 <tr><th>1999&ndash;2000</th><td><?php project_line ("earthli Albums", "architect lead-developer", "year1999", "year2000"); ?></td><td>Architect, Lead developer</td></tr>
1781                 <tr><th>1997&ndash;present</th><td><?php project_line ("earthli.com", "project-manager architect lead-developer", "year1997"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1782                 </tbody>
1783               </table>
1784             </div>
1785           </div>
1786  
1787           <h3>Details</h3>
1788           <div class="grid projects">
1789             <div>
1790               <h3 id="earthliWebCore"><a href="https://www.earthli.com/software/webcore/">earthli WebCore 3.x</a></h3>
1791               <h4><time datetime="2002-04">Aug 2002</time>&mdash;present</h4>
1792               <ul class="details">
1793                 <li class="skills">Project Manager, Architect, Lead Developer</li>
1794                 <li class="technologies">PHP 5, MySQL, HTML5, LESS/ CSS, JS</li>
1795                 <li class="description">Continued maintenance (migrated to PHP5 and PHP7) as well as introducing features (newsfeeds, social optimization and mobile/responsive support).</li>
1796               </ul>
1797             </div>
1798             <div>
1799               <h3 id="TuneSync"><a href="https://www.earthli.com/news/view_article.php?id=1428">TuneSync</a></h3>
1800               <h4><time datetime="2004-12">Dec 2004</time>&mdash;<time datetime="2005-12">Dec 2005</time></h4>
1801               <ul class="details">
1802                 <li class="skills">Project Manager, Architect, Lead Developer</li>
1803                 <li class="technologies">Delphi 7</li>
1804                 <li class="description">An application for comparing and syncing iTunes libraries (ID3 tags, ratings, play counts, etc.).</li>
1805               </ul>
1806             </div>
1807             <div>
1808               <h3 id="PHPDocumentor"><a href="https://www.phpdoc.org">PHPDocumentor</a></h3>
1809               <h4><time datetime="2003-04">Apr 2003</time>&mdash;<time datetime="2010-12">Dec 2010</time></h4>
1810               <ul class="details">
1811                 <li class="skills">Developer</li>
1812                 <li class="technologies">PHP 4/5</li>
1813                 <li class="description">A documentation generator for PHP. Enhanced data and templates (HTML4/CSS valid) and fixed bugs.</li>
1814               </ul>
1815             </div>
1816             <div>
1817               <h3><a href="https://www.earthli.com/software/webcore/">earthli WebCore 2</a></h3>
1818               <h4><time datetime="2002-04">Apr 2002</time>&mdash;<time datetime="2002-08">Aug 2002</time></h4>
1819               <ul class="details">
1820                 <li class="skills">Architect, Lead Developer</li>
1821                 <li class="technologies">PHP, MySQL 4</li>
1822                 <li class="description">A refactoring of the framework to centralize common logic. Migration of all applications.</li>
1823               </ul>
1824             </div>
1825             <div>
1826               <h3 id="earthliProjects"><a href="https://www.earthli.com/software/webcore/app_projects.php">earthli Projects</a></h3>
1827               <h4><time datetime="2002-03">Mar 2002</time>&mdash;<time datetime="2002-07">Jul 2002</time></h4>
1828               <ul class="details">
1829                 <li class="skills">Lead Developer</li>
1830                 <li class="technologies">PHP, MySQL, WebCore</li>
1831                 <li class="description">An issue-tracker and version/release manager built with the earthli WebCore.</li>
1832               </ul>
1833             </div>
1834             <div>
1835               <h3 id="earthliNews"><a href="https://www.earthli.com/software/webcore/app_news.php">earthli News</a></h3>
1836               <h4><time datetime="2002-01">Jan 2002</time>&mdash;<time datetime="2002-02">Feb 2002</time></h4>
1837               <ul class="details">
1838                 <li class="skills">Lead Developer</li>
1839                 <li class="technologies">PHP, MySQL, WebCore</li>
1840                 <li class="description">A blogging platform built with the earthli WebCore (replaced Forums).</li>
1841               </ul>
1842             </div>
1843             <div>
1844               <h3 id="earthliRecipes"><a href="https://www.earthli.com/software/webcore/app_recipes.php">earthli Recipes</a></h3>
1845               <h4><time datetime="2002-01">Jan 2002</time>&mdash;<time datetime="2002-02">Feb 2002</time></h4>
1846               <ul class="details">
1847                 <li class="skills">Lead Developer</li>
1848                 <li class="technologies">PHP, MySQL, WebCore</li>
1849                 <li class="description">A recipe-management application built with the earthli WebCore.</li>
1850               </ul>
1851             </div>
1852             <div>
1853               <h3><a href="https://www.earthli.com/software/webcore">earthli WebCore</a></h3>
1854               <h4><time datetime="2001-10">Oct 2001</time>&mdash;<time datetime="2001-12">Dec 2001</time></h4>
1855               <ul class="details">
1856                 <li class="skills">Architect, Lead Developer</li>
1857                 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
1858                 <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>
1859               </ul>
1860             </div>
1861             <div>
1862               <h3 id="earthliThemes">earthli Themes</h3>
1863               <h4><time datetime="2001-06">Jun 2001</time>&mdash;<time datetime="2001-09">Sep 2001</time></h4>
1864               <ul class="details">
1865                 <li class="skills">Lead Developer</li>
1866                 <li class="technologies">HTML, CSS</li>
1867                 <li class="description">Rewrote web front-end with CSS to support multiple color schemes.</li>
1868               </ul>
1869             </div>
1870             <div>
1871               <h3 id="earthliForums">earthli Forums</h3>
1872               <h4><time datetime="2000-10">Oct 2000</time>&mdash;<time datetime="2000-12">Dec 2000</time></h4>
1873               <ul class="details">
1874                 <li class="skills">Architect, Lead Developer</li>
1875                 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
1876                 <li class="description">Bulletin board with full-text search, nested commenting and ACL-based permissions.</li>
1877               </ul>
1878             </div>
1879             <div>
1880               <h3 id="earthliAlbums"><a href="https://www.earthli.com/software/webcore/app_albums.php">earthli Albums</a></h3>
1881               <h4><time datetime="1999-10">Oct 1999</time>&mdash;<time datetime="2000-07">Jul 2000</time></h4>
1882               <ul class="details">
1883                 <li class="skills">Architect, Lead Developer</li>
1884                 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
1885                 <li class="description">Albums with journal entries, photos, a calendar and support for multiple users.</li>
1886               </ul>
1887             </div>
1888             <div>
1889               <h3 id="earthlicom"><a href="https://www.earthli.com/">earthli.com</a></h3>
1890               <h4><time datetime="1999-10">Oct 1997</time>&mdash;present</h4>
1891               <ul class="details">
1892                 <li class="skills">Architect, Lead Developer</li>
1893                 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
1894                 <li class="description">Personal web site that integrates several PHP applications.</li>
1895               </ul>
1896             </div>
1897           </div>
1898         </div>
1899  
1900         <div class="page-break">
1901           <h2>Hamilton College</h2>
1902           <h3 title="4 years">September 1990&mdash;June 1994</h3>
1903           <p>This list includes teaching jobs and larger projects I did for various computer-science courses.</p>
1904  
1905           <h3>Overview</h3>
1906           <div class="timeline">
1907             <table class="basic left-labels legend early">
1908               <caption title="Legend"></caption>
1909               <tr>
1910                 <th title="Technical PM"></th>
1911                 <td class="project-manager"></td>
1912               </tr>
1913               <tr>
1914                 <th title="Instructor"></th>
1915                 <td class="instructor"></td>
1916               </tr>
1917               <tr>
1918                 <th title="Lead Dev"></th>
1919                 <td class="lead-developer"></td>
1920               </tr>
1921               <tr>
1922                 <th title="Author"></th>
1923                 <td class="author"></td>
1924               </tr>
1925             </table>
1926             <div class="timeline-box">
1927               <div class="years">
1928                 <div title="1985"></div>
1929                 <div title="1990"></div>
1930                 <div title="1995"></div>
1931                 <div title="2000"></div>
1932                 <div title="2005"></div>
1933                 <div title="2010"></div>
1934                 <div title="2015"></div>
1935                 <div title="2020"></div>
1936               </div>
1937               <table class="projects">
1938                 <thead>
1939                 <tr>
1940                   <th>Years</th>
1941                   <th>Product</th>
1942                   <th>Roles</th>
1943                 </tr>
1944                 </thead>
1945                 <tbody>
1946                 <tr><th></th><td class="employee"><?php employee_area ("mid1990", "mid1994");?></td><td></td></tr>
1947                 <tr><th>1994</th><td><?php project_line ("Halcyon 5", "project-manager author", "year1994", "mid1994"); ?></td><td>Project manager, Developer</td></tr>
1948                 <tr><th>1994</th><td><?php project_line ("SICLY", "lead-developer", "year1994", "mid1994"); ?></td><td>Lead developer</td></tr>
1949                 <tr><th>1993-1994</th><td><?php project_line ("Chemistry Tutor", "instructor", "mid1993", "mid1994"); ?></td><td></td></tr>
1950                 <tr><th>1992-1994</th><td><?php project_line ("Comp. Sci. TA", "instructor", "mid1992", "mid1994"); ?></td><td></td></tr>
1951                 <tr><th>1992-1994</th><td><?php project_line ("Radio Station Engineer", "developer", "mid1992", "mid1994"); ?></td><td></td></tr>
1952                 <tr><th>1992</th><td><?php project_line ("FIGHT!", "lead-developer", "year1992", "mid1992"); ?></td><td>Lead developer</td></tr>
1953                 </tbody>
1954               </table>
1955             </div>
1956           </div>
1957  
1958           <h3>Details</h3>
1959           <div class="grid projects">
1960             <div>
1961               <h3 id="Halcyon5">Halcyon 5</h3>
1962               <h4><time datetime="1994-01">Jan 1994</time>&mdash;<time datetime="1994-05">May 1994</time></h4>
1963               <ul class="details">
1964                 <li class="skills">Project Manager, Developer, Writer, Designer</li>
1965                 <li class="technologies"></li>
1966                 <li class="description">Developed a timeline as well a energy and transportation systems for a hypothetical space colony as part of a team participating in a feasibility study; Coordinated and edited final draft as well as all graphics.</li>
1967               </ul>
1968             </div>
1969             <div>
1970               <h3 id="ChemistryTutor">Chemistry Tutor</h3>
1971               <h4><time datetime="1993-09">Sep 1993</time>&mdash;<time datetime="1994-05">May 1994</time></h4>
1972               <ul class="details">
1973                 <li class="skills">Instructor</li>
1974                 <li class="technologies">N/A</li>
1975                 <li class="description">Private tutoring for beginning chemistry students.</li>
1976               </ul>
1977             </div>
1978             <div>
1979               <h3 id="CompSciTA">Computer Science Teaching Assistant</h3>
1980               <h4><time datetime="1992-09">Sep 1992</time>&mdash;<time datetime="1994-05">May 1994</time></h4>
1981               <ul class="details">
1982                 <li class="skills">Instructor</li>
1983                 <li class="technologies">Hypercard</li>
1984                 <li class="description">Graded papers and projects; ran labs; tutoring and support.</li>
1985               </ul>
1986             </div>
1987             <div>
1988               <h3 id="RadioStationEngineer"><a href="http://www.whcl.org">WHCL</a> Radio Station Engineer</h3>
1989               <h4><time datetime="1992-09">Sep 1992</time>&mdash;<time datetime="1994-05">May 1994</time></h4>
1990               <ul class="details">
1991                 <li class="skills">Engineer</li>
1992                 <li class="technologies">N/A</li>
1993                 <li class="description">Electronics repair for various station equipment for a 24h campus radio station; assisted in installing, setting up, and configuring a whole new studio in the Bristol building basement.</li>
1994               </ul>
1995             </div>
1996             <div>
1997               <h3 id="SICLY">SICLY</h3>
1998               <h4><time datetime="1994-01">Jan 1994</time>&mdash;<time datetime="1994-05">May 1994</time></h4>
1999               <ul class="details">
2000                 <li class="skills">Lead Developer</li>
2001                 <li class="technologies">Apple Basic</li>
2002                 <li class="description">Extended and finished a compiler/assembly/runtime for a little language with a visual editor and debugger.</li>
2003               </ul>
2004             </div>
2005             <div>
2006               <h3 id="FIGHT">FIGHT!</h3>
2007               <h4><time datetime="1992-01">Jan 1992</time>&mdash;<time datetime="1992-02">Feb 1992</time></h4>
2008               <ul class="details">
2009                 <li class="skills">Lead Developer</li>
2010                 <li class="technologies">HyperCard</li>
2011                 <li class="description">Designed and built a two-player 2D fighting game in Apple HyperCard with an optional computer opponent (homage to <i>Karateka</i>).</li>
2012               </ul>
2013             </div>
2014           </div>
2015         </div>
2016  
2017         <div class="page-break">
2018           <h2>Ilion High School</h2>
2019           <h3 title="4 years">September 1986&mdash;June 1990</h3>
2020           <p>This list includes larger projects I did for computer-science courses.</p>
2021  
2022           <h3>Overview</h3>
2023           <div class="timeline">
2024             <table class="basic left-labels legend early">
2025               <caption title="Legend"></caption>
2026               <tr>
2027                 <th title="Lead Dev"></th>
2028                 <td class="lead-developer"></td>
2029               </tr>
2030             </table>
2031             <div class="timeline-box">
2032               <div class="years">
2033                 <div title="1985"></div>
2034                 <div title="1990"></div>
2035                 <div title="1995"></div>
2036                 <div title="2000"></div>
2037                 <div title="2005"></div>
2038                 <div title="2010"></div>
2039                 <div title="2015"></div>
2040                 <div title="2020"></div>
2041               </div>
2042               <table class="projects">
2043                 <thead>
2044                 <tr>
2045                   <th>Years</th>
2046                   <th>Product</th>
2047                   <th>Roles</th>
2048                 </tr>
2049                 </thead>
2050                 <tbody>
2051                 <tr><th></th><td class="employee"><?php employee_area ("mid1986", "mid1990");?></td><td></td></tr>
2052                 <tr><th>1990</th><td><?php project_line ("Checkers", "lead-developer", "mid1989", "year1990"); ?></td><td>Lead developer</td></tr>
2053                 </tbody>
2054               </table>
2055             </div>
2056           </div>
2057  
2058           <h3>Details</h3>
2059           <div class="grid projects">
2060             <div>
2061               <h3 id="Checkers">Checkers</h3>
2062               <h4><time datetime="1989-10">Oct 1989</time>&mdash;<time datetime="1989-12">Dec 1989</time></h4>
2063               <ul class="details">
2064                 <li class="skills">Lead Developer</li>
2065                 <li class="technologies">Apple Basic</li>
2066                 <li class="description">Designed and built a two-player checkers game in Apple Basic with 16-color, 2D graphices on the Apple IIE with a rudimentary computer opponent (capable of playing only a few moves).</li>
2067               </ul>
2068             </div>
2069           </div>
2070         </div>
2071       </div>
2072     </section>
2073     <?php } ?>
2074   </div>
2075 </div>
2076 <?php
2077 $Page->finish_display ();
2078 ?>