use My::Web;
require Crypt::Rot13;
Wrequire 'project::Lib';
+Wrequire 'product::Lib';
sub Contact($)
"Born" =>"1979",
"Sex" =>"male",
"Licenses"=>"motorcycle, car",
- "eMail" =>(map({ a_href("mailto:$_",$_); } 'job@jankratochvil.net'))[0],
+ "eMail" =>a_href('mailto:web@jankratochvil.net'),
"Projects"=>a_href('http://www.jankratochvil.net/project/'),
"Resume" =>a_href('http://www.jankratochvil.net/resume/')."<br />"
- ."[ ".a_href('/resume/ResumeJanKratochvil.pdf','PDF')
- ."| ".a_href('/resume/ResumeJanKratochvil.txt','text')
- ."]",
- "OpenPGP" =>a_href('/pgp-JanKratochvil.txt','')
- .'pub 1024D/26A802B2 2004-01-17'."<br />"
- .'sub 2048g/A74DF86D 2004-01-17 [expires: 2007-01-16]'
+ ."[ ".join(" | ",
+ a_href('/resume/ResumeJanKratochvil.pdf','PDF'),
+ a_href('/resume/ResumeJanKratochvil.txt','text'),
+ )." ]",
+ "OpenPGP" =>a_href('/pgp-JanKratochvil.txt','26A802B2'),
);
}
"print"=>'^(?:print)?$',
},
"http_safe"=>1, # For our anti-robot POST request.
+ "no_job"=>1,
);
$W->{"args"}{"Wabs"}=1;
My::Web->heading();
-my %item=project::Lib->name_to_hashref();
+my %item=(
+ project::Lib->name_to_hashref(),
+ product::Lib->name_to_hashref(undef(),"override"=>{"platform"=>"product"}),
+ );
my @itemnames=sort {
- ($item{$b}{"priority"} <=> $item{$a}{"priority"})
- or (lc($item{$a}->{"name"}) cmp lc($item{$b}->{"name"}));
- } keys(%item);
+ ($item{$b}{"priority"} <=> $item{$a}{"priority"})
+ or (lc($item{$a}->{"name"}) cmp lc($item{$b}->{"name"}));
+ } keys(%item);
my $projectref=sub
{
-my($name)=@_;
+my($name,%args)=@_;
- return a_href "/project/$name/",$item{$name}{"name"},"attr"=>'class="project"';
+ my $project_product=($args{"product"} ? "product" : "project");
+ return a_href "/$project_product/$name/",$item{$name}{"name"},"attr"=>'class="'.$project_product.'"';
};
+# $args{"parenthesis"}=1;
+# $args{"product"}=1;
my $project=sub
{
my($name,%args)=@_;
- my $r=&{$projectref}($name);
+ my $r=&{$projectref}($name,%args);
if (!$args{"bare"}) {
my $summary=$item{$name}{"summary"};
$summary=~s#(?:<a\s[^>]*>|</a>)##gi; # if $args{"unhref"};
my $r="";
$r.=join ", ",map({ my $platform=$_;
- map({ ($item{$_}{"sponsorship"} || $item{$_}{"trivia"}
+ map({ (0
+ # || $item{$_}{"sponsorship"}
+ || $item{$_}{"trivia"}
|| $item{$_}{"platform"} ne $platform ? () : (&{$projectref}($_))); } @itemnames);
} @platforms);
return $r;
my $rot13=Crypt::Rot13->new();
$rot13->charge($mail);
$mail=($rot13->rot13())[0];
- $r.=' <'.a_href("mailto:$mail",$mail).'>';
+ $r.=' <'.a_href("mailto:$mail").'>';
}
$r.='</td>';
return $r;
print <<"HERE";
</table>
-@{[ vskip "3ex" ]}
+@{[ vskip "2ex" ]}
+
+<p>Not looking for a new job.</p>
+
+@{[ vskip "2ex" ]}
<table border="1" frame="border" rules="rows" class="jobs">
<caption>Fulltime Jobs</caption>
<tr><th>Date</th><th>Company</th>
<th>Description</th></tr>
-<tr><td>2005/04-now</td><td class="com">@{[
+<tr><td>2006/07-...</td><td class="com">@{[ a_href 'http://www.redhat.com/','Red Hat' ]}</td>
+ <td>GNU Build Tools development: primarily @{[ a_href 'http://www.gnu.org/software/gdb/','GDB' ]}</td></tr>
+<tr><td>2005/04-11</td><td class="com">@{[
a_href_cc {""=>'http://www.valinux.co.jp/en/',
"JP"=>'http://www.valinux.co.jp/'},'VA Linux Systems Japan' ]}</td>
<td>@{[ a_href 'http://www.kernel.org/','Linux kernel' ]}
- based development</td></tr>
+ based software development</td></tr>
<tr><td>2004/01-11</td><td class="com">@{[ a_href 'http://www.sun.com/','Sun Microsystems' ]}</td>
<td>@{[ a_href 'http://www.sun.com/software/javaenterprisesystem/','Java Enterprise System' ]}
Quality Assurance (JES QA), technical lead<br />
@{[ vskip "1ex" ]}
<table border="1" frame="border" rules="rows" class="jobs">
-<caption>Contractor Jobs</caption>
-<tr><th>Date</th><th>Client</th>
+<caption>Freelance Commercial Projects</caption>
+<tr><th>Date</th>
<th>Description</th></tr>
-<tr><td>2002-2003</td><td class="com">- (freelance project)</td>
+<tr id="mms2"><td>2005-2006</td>
+ <td>@{[ &$project('mms2',"product"=>1) ]} (@{[ a_href_cc {""=>'http://www.mms2.org/',
+ "CZ"=>'http://www.mms2.cz/',
+ "SK"=>'http://www.mms2.cz/'},'service web' ]})<br />
+ Web interface was outsourced.
+ Commercial service management held together with company JK-Invent.
+ <ul>
+ <li>Designed to coexist with existing GSM networks service servers</li>
+ <li>MMSE/WAP-Push/web/mail convergency featuring smart transformations</li>
+ <li>Credits charging by ISDN IVR + automatic bank transaction acceptance interface</li>
+ <li>Completed alpha and beta product cycle for mobile phones firmware bugs workarounds</li>
+ <li>Free gatewaying program for customers to avoid targetted GSM operators firewalling</li>
+ </ul>
+ </td></tr>
+<tr><td>2004 </td>
+ <td>@{[ &$project('hotelgate',"product"=>1) ]}<br />
+ Plug&Play TCP/IP for clients, selectively ticketed and/or free access,
+ simplified interface for reception desks, easy and unified management.<br />
+ European facility installations provided by @{[ a_href 'http://www.jklabs.cz/','JK Labs' ]}.
+ </td></tr>
+<tr id="captive"><td>2002-2003</td>
<td>@{[ &$project('captive') ]}<br />
Featured @{[ a_href 'http://slashdot.org/article.pl?sid=03/12/02/1536227','on slashdot' ]}.<br />
Analysis of portions of 80MB+ i386 disassembly dumps of MS-Windows XP kernel and ntfs.sys
UNIX userland of Captive provides GnomeVFS interface to the MS-Windows kernel
based MS-Windows filesystem isolated by the CORBA/ORBit interface.
</td></tr>
+</table>
+
+@{[ vskip "1ex" ]}
+
+<table border="1" frame="border" rules="rows" class="jobs">
+<caption>Contractor Jobs</caption>
+<tr><th>Date</th><th>Client</th>
+ <th>Description</th></tr>
<tr><td>2001-2002</td><td class="com">@{[ a_href('http://www.atspraha.cz/','Advanced Telecom Services') ]}</td>
<td>Mobile technologies
<ul>
<td>StampMan: Database application @{[ techs 'MS-DOS: Pascal, plainTeX' ]}</td></tr>
</table>
-@{[ vskip "1ex" ]}
-
-<table class="referees">
-<caption>Contractor Jobs Referees (reversed chronological order)</caption>
-<tr><td class="com">@{[ a_href('http://www.sun.com/','Sun Microsystems') ]}</td>
- @{[ &{$reference}('xnery.mngybhxny(ng)fha.pbz','Karel Zatloukal') ]}</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.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.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
-
-if (lc($W->{"args"}{"referees"}) ne "referees") {
- print <<"HERE";
- <tr><td style="padding: 10px;" colspan="2">
- <hr />
- <form action="@{[ uri_escaped(path_web $W->{"resume_url"}) ]}" @{[ form_method "post" ]}>
- <p>Enter the word '<b>referees</b>' (without quotes) to disclose e-mail addresses:<br />
- <input type="text" size="15" name="referees" value="@{[ escapeHTML($W->{"args"}{"referees"}) ]}" /><br />
- <input type="submit" value="Submit" /><br />
- (spambot protection)</p>
- </form>
- </td></tr>
-HERE
- }
-
-print <<"HERE";
-</table>
-
@{[ vskip "2ex" ]}
<table>
<tr><td class="tab-head">Documentation</td><td>plainTeX, LaTeX, DocBook, DocBook Lite, XML/NS/Schema,
gtk-doc, nroff, pod</td></tr>
<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>
+ S-Lang, GnomeVFS, libxml, libneon, SVGALib, NIS, Qt,...</td></tr>
<tr><td class="tab-head">RPC </td><td>CORBA/ORBit, SOAP, WSDL, Sun RPC</td></tr>
<tr><td class="tab-head">Protocols </td><td>GSM SMS/PDU/Nokia Smart Messaging/EMS/WAP/WTP/WSP/MMSE/SMIL/WML/AMR/ETSI stds/3GPP stds,
- IPv4, HTTP, SMTP/RFC822/MIME, FTP, SSH, DHCP, POP3, NFS v2/v3, PPP/LCP/IPCP,...</td></tr>
+ IPv4, HTTP, SMTP/RFC822/MIME, FTP, SSH, DHCP, POP3, IMAP4, NFS v2/v3, PPP/LCP/IPCP,...</td></tr>
<tr><td class="tab-head">Filesystems </td><td>ext2, FAT, AmigaFFS, ISO-9660</td></tr>
</table>