OpenPGP key updated.
[www.jankratochvil.net.git] / resume / Resume-JanKratochvil.html.pl
index 5cc3c7f..deb36f8 100755 (executable)
@@ -48,12 +48,14 @@ A[href].project { text-decoration: underline; }
 table.referees td.com { text-align: center; }
 .techs { white-space: nowrap; }
 caption  { caption-side: top; }
+table.jobs td { padding: 1ex; }
 ",
                "args_check"=>{
                                "referees"=>'', # Do not bother with '^(?:(?i)referees)?$'
                                "print"=>'^(?:print)?$',
                                },
                );
+$W->{"args"}{"Wabs"}=1;
 My::Web->heading();
 
 
@@ -74,7 +76,18 @@ my $project=sub
 {
 my($name,%args)=@_;
 
-       return &{$projectref}($name).($args{"bare"} ? '' : ': '.$item{$name}{"summary"});
+       my $r=&{$projectref}($name);
+       if (!$args{"bare"}) {
+               my $summary=$item{$name}{"summary"};
+               $summary=~s#(?:<a\s[^>]*>|</a>)##gi;    # if $args{"unhref"};
+               if (!$args{"parenthesis"}) {
+                       $r.=": $summary";
+                       }
+               else {
+                       $r.=" ($summary)";
+                       }
+               }
+       return $r;
 };
 
 my $free_projects=sub (@)
@@ -121,101 +134,110 @@ my $now=(localtime())[5]+1900;
 
 print <<"HERE";
 <table width="100%" style="border-style: none;"><tr><td align="center"><table>
-<tr><td rowspan="10" style="padding: 10px; vertical-align: middle;">
-                               @{[ img "/resume/Resume-JanKratochvil","face" ]}</td>
-               <td class="tab-head">Name    </td><td>Jan Kratochvil</td></tr>
+<tr><td class="tab-head">Name    </td><td>Jan Kratochvil</td></tr>
 <tr><td class="tab-head">English </td><td>technical: fluent, general: communicable</td></tr>
 <tr><td class="tab-head">Born    </td><td>1979</td></tr>
 <tr><td class="tab-head">Sex     </td><td>male</td></tr>
-<tr><td class="tab-head">Status  </td><td>single</td></tr>
 <tr><td class="tab-head">Licenses</td><td>motorcycle, car</td></tr>
 <tr><td class="tab-head">eMail   </td><td>$mailme</td></tr>
-<tr><td class="tab-head">WWW     </td><td>@{[ a_href('http://www.jankratochvil.net/') ]}</td></tr>
+<tr><td class="tab-head">Projects</td><td>@{[ a_href('http://www.jankratochvil.net/project/') ]}</td></tr>
 <tr><td class="tab-head">Resume  </td><td>@{[ a_href('http://www.jankratochvil.net/resume/') ]}<br />
-                                          [ @{[ a_href('/resume/Resume-JanKratochvil.txt','plain text') ]} ]</td></tr>
+                                          [ @{[ a_href '/resume/Resume-JanKratochvil.pdf','PDF' ]} ]</td></tr>
 <tr><td class="tab-head">OpenPGP </td><td style="font-family: monospace;">@{[ a_href '/pgp-JanKratochvil.txt',''
-               .'pub  1024D/44FC7632 2002-10-07 Jan Kratochvil &lt;pgp-44FC7632@jankratochvil.net&gt;<br />'
-               .'sub  2048g/D9F5F44B 2002-10-07 [expires 2004-10-06]' ]}</span></td></tr>
+               .'pub  1024D/26A802B2 2004-01-17 Jan Kratochvil &lt;lace@jankratochvil.net&gt;'.'<br />'
+               .'sub  2048g/A74DF86D 2004-01-17 [expires: 2007-01-16]'
+               ]}</span></td></tr>
 </table></td></tr></table>
 
 @{[ vskip "3ex" ]}
 
-<p style="font-size: larger;">Looking for a fulltime job. Relocation around the world expected.</p>
+<table border="1" frame="border" rules="rows" class="jobs">
+<caption>Fulltime Job</caption>
+<tr><th>Date</th><th>Company</th>
+               <th>Description</th></tr>
+<tr><td>2004/01-now</td><td class="com">@{[ a_href('http://www.sun.com/','Sun Microsystems') ]}</td>
+               <td>Java Enterprise System Quality Assurance,<br />
+                               JES components compatibility analysis</td></tr>
+</table>
 
-@{[ vskip "3ex" ]}
+@{[ vskip "1ex" ]}
 
-<table border="1" frame="border" rules="groups">
+<table border="1" frame="border" rules="rows" class="jobs">
 <caption>Contractor Jobs</caption>
-<thead>
-       <tr><th>Date</th><th>Client</th>
-                       <th>Description</th></tr>
-</thead>
-<tr><td>2002     </td><td class="com">@{[ a_href('http://www.atspraha.cz/','Advanced Telecom Services') ]}</td>
-               <td>MMS framework client via @{[ a_href('http://www.eurotel.cz/site/en/home/','EuroTel') ]} GSM operator
-                                               (GSM MMS, Perl, XML, SOAP)<br />
-                               subtasks @{[ a_href "/etmms/",'MMS center debugging',"attr"=>'class="project"' ]},
-                                               @{[ &$project('etherealmmse',"bare"=>1) ]}, @{[ &$project('etherealwsp',"bare"=>1) ]}</td></tr>
-<tr><td>2002     </td><td class="com">@{[ a_href('http://www.jklabs.cz/','JKLabs') ]}</td>
-               <td>@{[ &$project('middleman') ]}
-                               for hotel system @{[ techs 'C, BSD, HTTP' ]}</td></tr>
-<tr><td>2002     </td><td class="com">@{[ a_href('http://www.jklabs.cz/','JKLabs') ]}</td>
-               <td>@{[ &$project('ssht') ]}</td></tr>
-<tr><td>2002     </td><td class="com">@{[ a_href('http://www.readynote.com/','ReadyNote') ]}</td>
-               <td>@{[ a_href 'http://www.mwiacek.com/gsm/gammu/gammu.html','mygnokii' ]}
-                               @{[ a_href 'http://www.jankratochvil.net/priv/gnokii/mygnokii-0.3.3_pre8-gold_2002_03_10--uClinux2002_03_17_23_03/',
-                                               'port to embedded' ]} $uClinux,
-               @{[ a_href 'http://www.nokiausa.com/phones/5190/1,1162,,00.html','Nokia 5190' ]}
-                               @{[ a_href 'http://www.jankratochvil.net/priv/gnokii/mygnokii-0.3.3_pre8-gold_2002_02_24-decodefile/',
-                                               'sw-modem debugging' ]}
-               @{[ techs 'GSM, Nokia, uClinux' ]}</td></tr>
-<tr><td>2001     </td><td class="com">@{[ a_href('http://www.readynote.com/','ReadyNote') ]}</td>
-               <td>@{[ &$project('mdsms') ]} port to embedded $uClinux
-                               @{[ techs 'GSM, Nokia, uClinux' ]}</td></tr>
-<tr><td>2001     </td><td class="com">@{[ a_href('http://www.netcentrum.cz/','NetCentrum') ]}</td>
-               <td>@{[ a_href 'http://www.gnokii.org/','gnokii' ]}
-                               @{[ a_href 'http://www.jankratochvil.net/priv/gnokii/gnokii-0.4.0pre1_lace2001_11_14_01_netcentrum.diff',
-                                               'driver for custom SMS gateway protocol' ]} @{[ techs 'C' ]}</td></tr>
-<tr><td>2001     </td><td class="com">@{[ a_href('http://www.atspraha.cz/','Advanced Telecom Services') ]}</td>
-               <td>@{[ &$project('gsmperl') ]} @{[ techs 'Perl, GSM EMS' ]}</td></tr>
-<tr><td>2001     </td><td class="com">@{[ a_href('http://www.atspraha.cz/','Advanced Telecom Services') ]}</td>
-               <td>@{[ a_href 'http://www.gnokii.org/','gnokii' ]}
-                                               @{[ a_href 'http://www.jankratochvil.net/priv/gnokii/gnokii-lace-2001-11-17-01.tar.gz',
-                                                               'driver for SMS gateway' ]}
-                                               of GSM operator @{[ a_href('http://www.eurotel.cz/','EuroTel') ]}
-                               (C, PostgreSQL)</td></tr>
-<tr><td>2001     </td><td class="com">@{[ a_href('http://www.atspraha.cz/','Advanced Telecom Services') ]}</td>
-               <td>@{[ &$project('mdsms') ]} - update for
-                               @{[ a_href 'http://www.transportdata.de/html/produkte/siemens_m20t.php?lang=en',
-                                               'Siemens M20' ]}
-                               @{[ techs 'C, GSM PDU' ]}</td></tr>
-<tr><td>2001     </td><td class="com">@{[ a_href('http://www.gtsgroup.cz/','GTS') ]}</td>
-               <td>@{[ &$project('tac_plus') ]} @{[ techs 'C, Cisco TACACS+' ]}<br />
-                               subtask @{[ &$project('mod_auth_tacacs') ]} @{[ techs 'C, Cisco TACACS+' ]}</td></tr>
+<tr><th>Date</th><th>Client</th>
+               <th>Description</th></tr>
+<tr><td>2002-2003</td><td class="com">- (freelance project)</td>
+               <td>@{[ &$project('captive') ]} (14 months)<br />
+                       Featured @{[ a_href 'http://slashdot.org/article.pl?sid=03/12/02/1536227','on slashdot' ]}.<br />
+                       Project required analysing portions of 80MB+ i386 disassembly dumps of MS-Windows XP kernel and ntfs.sys
+                       to achieve the first binary compatible reimplementation of the required undocumented XP kernel subsystems.<br />
+                       Written @{[ &$project('TraceFS') ]} as native W32 kernel hooking driver for run-time analysis of the NT Cache Manager
+                       XP kernel subsystem.<br />
+                       GNU/Linux part required integration and extensions of
+                       @{[ a_href 'http://lufs.sourceforge.net/lufs/','LUFS' ]} (Linux Userland File System)
+                       to transparently connect the UNIX userland based MS-Windows kernel filesystem isolated by the CORBA/ORBit interface.
+               </td></tr>
+<tr><td>2001-2002</td><td class="com">@{[ a_href('http://www.atspraha.cz/','Advanced Telecom Services') ]}</td>
+               <td>Mobile technologies
+                       <ul>
+                               <li>MMS framework client via EuroTel GSM operator
+                                               by technologies GSM MMS, Perl, XML, SOAP (3 months, still maintained)<br />
+                                               Project included
+                                               @{[ a_href "/etmms/",'pilot MMS Center debugging',"attr"=>'class="project"' ]} with
+                                               Ethereal (@{[ a_href 'http://www.ethereal.com','external link' ]}), fixes of Ethereal
+                                               (@{[ a_href '/project/etherealmmse/','1' ]}, @{[ a_href '/project/etherealwsp/','2' ]}).
+                                               </li>
+                               <li>Multimedia EMS support implemented by @{[ &$project('gsmperl',"bare"=>1) ]}</li>
+                               <li>Implementation of protocol BIP (based on Nokia CIMD2 protocol) for GSM SMS Center direct communication
+                                               by extending gnokii (@{[ a_href 'http://www.gnokii.org/','external link' ]})
+                                               for EuroTel GSM operator (still in use)</li>
+                       </ul>
+               </td></tr>
 <tr><td>1999-2000</td><td class="com">@{[ a_href('http://www.suse.com/','SuSE') ]}</td>
-               <td>@{[ &$project('surprise') ]} @{[ techs 'C, Gnome, m4' ]}<br />
-                               subtask @{[ &$project('int13sniff') ]}<br />
-                               subtask @{[ &$project('gladewsrc') ]}</td></tr>
-<tr><td>1999     </td><td class="com">@{[ a_href('http://www.jklabs.cz/','JKLabs') ]}</td>
-               <td>IRQ redirector for legacy devices @{[ techs 'i386 asm' ]}</td></tr>
-<tr><td>1999-$now</td><td class="com">@{[ a_href('http://www.jklabs.cz/','JKLabs') ]}</td>
-               <td>sysadmin GNU/Linux and FreeBSD, techsupport: GuestNET,
+               <td>@{[ &$project('surprise') ]} (15 months)<br />
+                       Project was completed as a team work. The code is based on Gnome technologies.
+                       As one of the subtasks to keep system bootability I implemented @{[ &$project('int13sniff',"bare"=>1) ]}
+                       to ease Microsoft boot loaders disassembly across partition modifications.
+                       </td></tr>
+<tr><td>2001-2002</td><td class="com">@{[ a_href('http://www.readynote.com/','ReadyNote') ]}</td>
+               <td>Mobile technologies for embedded devices
+               <ul>
+                       <li>Completed debugging of gnokii (@{[ a_href 'http://www.gnokii.org/','external link' ]}) GSM software modem
+                                       for Nokia 5190</li>
+                       <li>Port of gnokii and my @{[ &$project('mdsms',"parenthesis"=>1) ]} to embedded
+                                       uClinux (@{[ a_href 'http://www.uclinux.org/','external link' ]})</li>
+               </ul>
+               </td></tr>
+<tr><td>1999-2003</td><td class="com">@{[ a_href('http://www.jklabs.cz/','JKLabs') ]}</td>
+               <td>System administration of GNU/Linux and FreeBSD, techsupport: GuestNET,
                                @{[ a_href 'http://www.2m.dk/web/html_version/eclipse/eclipse.html','Eclipse' ]},
                                @{[ a_href 'http://www.globaloop.com/','GlobaLoop' ]},
-                               @{[ a_href 'http://www.antlimited.com/products/fresco.htm','Fresco' ]}</td></tr>
+                               @{[ a_href 'http://www.antlimited.com/products/fresco.htm','Fresco' ]}<br />
+                       Ad hoc technical support challenges such as i386 IRQ redirector,
+                       @{[ &$project('middleman',"parenthesis"=>1,"unhref"=>1) ]} or @{[ &$project('ssht',"parenthesis"=>1,"unhref"=>1) ]}.
+               </td></tr>
+<tr><td>2001     </td><td class="com">@{[ a_href('http://www.gtsgroup.cz/','GTS') ]}</td>
+               <td>@{[ &$project('tac_plus') ]} (3 months)</td></tr>
 <tr><td>1999     </td><td class="com">@{[ a_href('http://www.unicom-prague.cz/','Unicom') ]}</td>
                <td>Technical translations from English</td></tr>
-<tr><td>1999     </td><td class="com">@{[ a_href('http://www.geoinvest.cz/','Geoinvest') ]}</td>
-               <td>@{[ &$project('332') ]} @{[ techs 'M680x0 asm, C' ]}<br />
-                               subtask @{[ &$project('mot2as') ]}</td></tr>
-<tr><td>1999     </td><td class="com">@{[ a_href('http://www.tencom.cz/','TENcom Trade') ]}</td>
-               <td>@{[ a_href "/project/mdsms/","MobilDock SMS Tool","attr"=>'class="project"' ]} @{[ techs 'GSM/PDU' ]}</td></tr>
 <tr><td>1998-1999</td><td class="com">@{[ a_href('http://www.geoinvest.cz/','Geoinvest') ]}</td>
-               <td>@{[ a_href 'http://members.tripod.com/Stelios_Cellar/GSM/m1module.htm','Siemens M1' ]}
-                                               GSM modem daemon, client/server, remote GSM terminals @{[ techs 'C, GSM, GPS, S-Lang' ]}<br />
-                               GPLed subtask @{[ &$project('vblib') ]} @{[ techs 'C' ]}</td></tr>
+               <td>Mobile technologies, embedded devices
+                       <ul>
+                               <li>@{[ &$project('332') ]}</li>
+                               <li>Siemens M1 GSM modem daemon for GPS, client/server setup, remote GSM terminals</li>
+                       </ul>
+               </td></tr>
+<tr><td>1999     </td><td class="com">@{[ a_href('http://www.tencom.cz/','TENcom Trade') ]}</td>
+               <td>Mobile technologies
+                       <ul>
+                               <li>@{[ a_href "/project/mdsms/","MobilDock SMS Tool","attr"=>'class="project"' ]}:
+                                               SMS communication software for Digital UNIX (2 months)</li>
+                       </ul>
+               </td></tr>
 <tr><td>1998     </td><td class="com">@{[ a_href('http://www.elsa-online.org/',"European Law Students' Association") ]}</td>
-               <td>@{[ &$project('step') ]} @{[ techs 'PHP, PostgreSQL' ]}<br />
-                   subtasks @{[ &$project('phphash',"bare"=>1) ]}, @{[ &$project('pgsqlsubstr',"bare"=>1) ]}</td></tr>
+               <td>@{[ &$project('step') ]}, requirement for fixes of
+                               @{[ a_href "/project/phphash/","PHP","attr"=>'class="project"' ]} and
+                               @{[ a_href "/project/pgsqlsubstr/","PostgreSQL","attr"=>'class="project"' ]}</td></tr>
 <tr><td>1993-1996</td><td class="com">Profes J&amp;K</td>
                <td>PC assembly and customer service</td></tr>
 <tr><td>1993     </td><td class="com">@{[ a_href('http://www.japhila.cz/index_en.htm','Japhila') ]}</td>
@@ -226,20 +248,20 @@ print <<"HERE";
 
 <table class="referees">
 <caption>Contractor Jobs Referees (reversed chronological order)</caption>
-<tr><td class="com">@{[ a_href('http://www.readynote.com/','ReadyNote') ]}</td>
-               @{[ &{$reference}('wcehrgg(ng)ernqlabgr.pbz','Jim Pruett') ]}</tr>
 <tr><td class="com">@{[ a_href('http://www.atspraha.cz/','Advanced Telecom Services') ]}</td>
                @{[ &{$reference}('zvpuny.ubenx(ng)ngfcenun.pm','Michal Horak') ]}</tr>
-<tr><td class="com">@{[ a_href('http://www.gtsgroup.cz/','GTS') ]}</td>
-               @{[ &{$reference}('Zvpunry.Znprx(ng)tgftebhc.pm','Michael Macek') ]}</tr>
+<tr><td class="com">@{[ a_href('http://www.readynote.com/','ReadyNote') ]}</td>
+               @{[ &{$reference}('wcehrgg(ng)ernqlabgr.pbz','Jim Pruett') ]}</tr>
 <tr><td class="com">@{[ a_href('http://www.jklabs.cz/','JKLabs') ]}</td>
                @{[ &{$reference}('wna.xbyne(ng)wxynof.pm','Jan Kolar') ]}</tr>
+<tr><td class="com">@{[ a_href('http://www.gtsgroup.cz/','GTS') ]}</td>
+               @{[ &{$reference}('Zvpunry.Znprx(ng)tgftebhc.pm','Michael Macek') ]}</tr>
 <tr><td class="com">@{[ a_href('http://www.unicom-prague.cz/','Unicom') ]}</td>
                @{[ &{$reference}('erprcpr(ng)havpbz-centhr.pm','Valerie Bernardova') ]}</tr>
-<tr><td class="com">@{[ a_href('http://www.tencom.cz/','TENcom Trade') ]}</td>
-               @{[ &{$reference}('grfne(ng)grapbz.pm','Petr Tesar') ]}</tr>
 <tr><td class="com">@{[ a_href('http://www.geoinvest.cz/','Geoinvest') ]}</td>
                @{[ &{$reference}('ohgna(ng)trbvairfg.pm','Lubor Otta') ]}</tr>
+<tr><td class="com">@{[ a_href('http://www.tencom.cz/','TENcom Trade') ]}</td>
+               @{[ &{$reference}('grfne(ng)grapbz.pm','Petr Tesar') ]}</tr>
 <tr><td class="com">@{[ a_href('http://www.japhila.cz/index_en.htm','Japhila') ]}</td>
                @{[ &{$reference}('wnavx(ng)wncuvyn.pbz','Bretislav Janik') ]}</tr>
 HERE
@@ -292,10 +314,33 @@ print <<"HERE";
 <tr><td class="tab-head">Libraries    </td><td>Gnome/GTK+/GLib, POSIX/BSD/SysV/threads/sockets, X11, OpenGL, NCurses,
                                                S-Lang, GnomeVFS, libxml, SVGALib, NIS, Qt,...</td></tr>
 <tr><td class="tab-head">RPC          </td><td>CORBA/ORBit, SOAP, WSDL, Sun&nbsp;RPC</td></tr>
-<tr><td class="tab-head">Protocols    </td><td>GSM SMS/PDU/Nokia&nbsp;Smart&nbsp;Messaging/EMS/MMS/SMIL/WAP/WSP/AMR/ETSI stds/3GPP stds,
+<tr><td class="tab-head">Protocols    </td><td>GSM SMS/PDU/Nokia&nbsp;Smart&nbsp;Messaging/EMS/WTP/WSP/MMSE/SMIL/WML/AMR/ETSI stds/3GPP stds,
                                                IPv4, HTTP, SMTP/RFC822/MIME, FTP, SSH, DHCP, POP3, NFSv2, PPP/LCP/IPCP,...</td></tr>
 <tr><td class="tab-head">Filesystems  </td><td>ext2, FAT, AmigaFFS, ISO-9660</td></tr>
 </table>
+
+@{[ vskip "2ex" ]}
+
+<table border="1" frame="border" rules="groups">
+<caption>My Own Free Projects</caption>
+<thead>
+       <tr><td colspan="2" style="font-size: larger;" align="center">
+               Detailed listing available at: @{[ a_href 'http://www.jankratochvil.net/projects/' ]}
+       </td></tr>
+</thead>
+<tr><th>Platform</th><th>Available Free Projects</th></tr>
+HERE
+       my @platforms=@My::Project::platforms;
+       while (@platforms) {
+               my $platform_sym =shift @platforms;
+               my $platform_name=shift @platforms;
+               print "<tr>";
+                       print '<td>'.a_href('/project/#'.$platform_sym,$platform_name).'</td>';
+                       print '<td>'.&{$free_projects}($platform_sym).'</td>';
+               print "</tr>\n";
+               }
+print <<"HERE";
+</table>
 HERE