# $Id$ # Resume page Perl template. # Copyright (C) 2003-2005 Jan Kratochvil # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; exactly version 2 of June 1991 is required # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package resume::ResumeJanKratochvil; require 5.6.0; # at least 'use warnings;' but we need some 5.6.0+ modules anyway use vars qw($VERSION $CVS_ID); $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; }; $CVS_ID=q$Id$; use strict; use warnings; use My::Web; require Crypt::Rot13; Wrequire 'project::Lib'; Wrequire 'product::Lib'; sub Contact($) { my($self)=@_; return ( "Name" =>"Jan Kratochvil", "English" =>"technical: fluent, general: communicable", "Born" =>"1979", "Sex" =>"male", "eMail" =>a_href('mailto:web@jankratochvil.net'), "Projects"=>a_href('http://www.jankratochvil.net/project/'), "Resume" =>a_href('http://www.jankratochvil.net/resume/')."
" ."[ ".join(" | ", a_href('/resume/ResumeJanKratochvil.pdf','PDF'), a_href('/resume/ResumeJanKratochvil.txt','text'), )." ]", "OpenPGP" =>a_href('/pgp-JanKratochvil.txt','4D2089DB'), ); } sub handler { my $W=My::Web->init( "title"=>"Resume", "section"=>"Resume", "heading"=>0, "footer"=>0, "css_push"=>"/resume/ResumeJanKratochvil.css", "args_check"=>{ "referees"=>'', # Do not bother with '^(?:(?i)referees)?$' "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(), 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); my $projectref=sub { my($name,%args)=@_; 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,%args); if (!$args{"bare"}) { my $summary=$item{$name}{"summary"}; $summary=~s#(?:]*>|)##gi; # if $args{"unhref"}; if (!$args{"parenthesis"}) { $r.=": $summary"; } else { $r.=" ($summary)"; } } return $r; }; my $free_projects=sub (@) { my(@platforms)=@_; my $r=""; $r.=join ", ",map({ my $platform=$_; map({ (0 # || $item{$_}{"sponsorship"} || $item{$_}{"trivia"} || $item{$_}{"platform"} ne $platform ? () : (&{$projectref}($_))); } @itemnames); } @platforms); return $r; }; my $reference=sub ($$) { my($mail,$fullname)=@_; my $r=""; $r.=''; $r.=$fullname; if (lc($W->{"args"}{"referees"}) eq "referees") { my $rot13=Crypt::Rot13->new(); $rot13->charge($mail); $mail=($rot13->rot13())[0]; $r.=' <'.a_href("mailto:$mail").'>'; } $r.=''; return $r; }; sub techs ($) { my($arg)=@_; return '('.$arg.')'; } my $uClinux=a_href 'http://www.uclinux.com/','uClinux'; my $now=(localtime())[5]+1900; print <<"HERE"; HERE my @contact=__PACKAGE__->Contact(); while (@contact) { my $key=shift @contact; my $val=shift @contact; print <<"HERE"; $val HERE } print <<"HERE";
$key
@{[ vskip "2ex" ]}

Not looking for a new job.

@{[ vskip "2ex" ]}
Fulltime Jobs
DateCompany Description
2006/07-...@{[ a_href 'http://www.redhat.com/','Red Hat' ]} GNU Compiler Tools development: primarily @{[ a_href 'http://www.gnu.org/software/gdb/','GDB' ]}
2005/04-11@{[ a_href_cc {""=>'http://www.valinux.co.jp/en/', "JP"=>'http://www.valinux.co.jp/'},'VA Linux Systems Japan' ]} @{[ a_href 'http://www.kernel.org/','Linux kernel' ]} based software development
2004/01-11@{[ a_href 'http://www.sun.com/','Sun Microsystems' ]} @{[ a_href 'http://www.sun.com/software/javaenterprisesystem/','Java Enterprise System' ]} Quality Assurance (JES QA), technical lead
JES components compatibility analysis, automation of QA tasks, JES testing, QA frameworks pilot deployments, architecture and lead of the team projects, team programming guidelines
@{[ vskip "1ex" ]}
Freelance Commercial Projects
Date Description
2005-2006 @{[ &$project('mms2',"product"=>1) ]} (@{[ a_href_cc {""=>'http://www.mms2.org/', "CZ"=>'http://www.mms2.cz/', "SK"=>'http://www.mms2.cz/'},'service web' ]})
Web interface was outsourced. Commercial service management held together with company JK-Invent.
  • Designed to coexist with existing GSM networks service servers
  • MMSE/WAP-Push/web/mail convergency featuring smart transformations
  • Credits charging by ISDN IVR + automatic bank transaction acceptance interface
  • Completed alpha and beta product cycle for mobile phones firmware bugs workarounds
  • Free gatewaying program for customers to avoid targetted GSM operators firewalling
2004 @{[ &$project('hotelgate',"product"=>1) ]}
Plug&Play TCP/IP for clients, selectively ticketed and/or free access, simplified interface for reception desks, easy and unified management.
European facility installations provided by @{[ a_href 'http://www.jklabs.cz/','JK Labs' ]}.
2002-2003 @{[ &$project('captive') ]}
Featured @{[ a_href 'http://slashdot.org/article.pl?sid=03/12/02/1536227','on slashdot' ]}.
Analysis of portions of 80MB+ i386 disassembly dumps of MS-Windows XP kernel and ntfs.sys for the first binary compatible reimplementation of the undocumented XP kernel subsystems.
Written @{[ &$project('TraceFS') ]}: MS-Windows Kernel API Tracer as native W32 kernel hooking driver for run-time analysis of the NT Cache Manager XP kernel subsystem.
UNIX userland of Captive provides GnomeVFS interface to the MS-Windows kernel based MS-Windows filesystem isolated by the CORBA/ORBit interface.
@{[ vskip "1ex" ]}
Contractor Jobs
DateClient Description
2001-2002@{[ a_href('http://www.atspraha.cz/','Advanced Telecom Services') ]} Mobile technologies
  • MMS framework client via EuroTel GSM operator by technologies GSM MMS, Perl, XML, SOAP
    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' ]}).
  • Multimedia EMS support implemented by @{[ &$project('gsmperl',"bare"=>1) ]}
  • 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
1999-2000@{[ a_href('http://www.suse.com/','SuSE') ]} @{[ &$project('surprise') ]}
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.
2001-2002@{[ a_href('http://www.readynote.com/','ReadyNote') ]} Mobile technologies for embedded devices
  • Completed debugging of gnokii (@{[ a_href 'http://www.gnokii.org/','external link' ]}) GSM software modem for Nokia 5190
  • Port of gnokii and my @{[ &$project('mdsms',"parenthesis"=>1) ]} to embedded uClinux (@{[ a_href 'http://www.uclinux.org/','external link' ]})
1999-2003@{[ a_href('http://www.jklabs.cz/','JKLabs') ]} 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' ]}
Ad hoc technical support challenges such as i386 IRQ redirector, @{[ &$project('middleman',"parenthesis"=>1,"unhref"=>1) ]} or @{[ &$project('ssht',"parenthesis"=>1,"unhref"=>1) ]}.
2001 @{[ a_href('http://www.gtsgroup.cz/','GTS') ]} @{[ &$project('tac_plus') ]}
1999 @{[ a_href('http://www.unicom-prague.cz/','Unicom') ]} Technical translations from English
1998-1999@{[ a_href('http://www.geoinvest.cz/','Geoinvest') ]} Mobile technologies, embedded devices
  • @{[ &$project('332') ]}
  • Siemens M1 GSM modem daemon for GPS, client/server setup, remote GSM terminals
1999 @{[ a_href('http://www.tencom.cz/','TENcom Trade') ]} Mobile technologies
  • @{[ a_href "/project/mdsms/","MobilDock SMS Tool","attr"=>'class="project"' ]}: SMS communication software for Digital UNIX
1998 @{[ a_href('http://www.elsa-online.org/',"European Law Students' Association") ]} @{[ &$project('step') ]} incl. fixes of @{[ a_href "/project/phphash/","PHP","attr"=>'class="project"' ]} and @{[ a_href "/project/pgsqlsubstr/","PostgreSQL","attr"=>'class="project"' ]}
1993-1996Profes J&K PC assembly and customer service
1993 @{[ a_href('http://www.japhila.cz/index_en.htm','Japhila') ]} StampMan: Database application @{[ techs 'MS-DOS: Pascal, plainTeX' ]}
@{[ vskip "2ex" ]}
Awards
1997Bronze medal in the International Olympiad in Informatics, South Africa - Cape Town
19972nd in an MO-P national contest - mathematics Olympiad, the programming category
19971st in the International Competition in Programming
19964th in the International Competition in Programming
19957th in the Central European Olympiad in Informatics
@{[ vskip "2ex" ]}
Experience Summary
Major Areas mobile technologies, filesystems, embedded devices
Platforms GNU/Linux/i386/UNIX/FreeBSD, W32 kernel, Amiga/680x0, MS-DOS, ZX Spectrum, handheld PC-E500S
Languages C (Gnome/GCC), Perl, bash/awk/sed..., Java, C++, Pascal, Basic, REXX, S-Lang, Foxplus, Prolog
Tools/Metalanguages autoconf, automake, libtool, m4, CVS, gettext, bison, flex, ld script, gdb script, Maple V
Assemblers i386/x86_64, Motorola 680x0, Zilog Z80, Intel 8051, MIPS R2/3000, (Hitachi SH-8)
WWW-Related HTML/XHTML, CSS, PHP, SQL (PostgreSQL, MySQL), JavaScript, CGI
DocumentationplainTeX, LaTeX, DocBook, DocBook Lite, XML/NS/Schema, gtk-doc, nroff, pod
Libraries Gnome/GTK+/GLib, POSIX/BSD/SysV/threads/sockets, X11, OpenGL, NCurses, S-Lang, GnomeVFS, libxml, libneon, SVGALib, NIS, Qt,...
RPC CORBA/ORBit, SOAP, WSDL, Sun RPC
Protocols 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, IMAP4, NFS v2/v3, PPP/LCP/IPCP,...
Filesystems ext2, FAT, AmigaFFS, ISO-9660
Certificates @{[ a_href('https://www.redhat.com/wapps/training/certification/verify.html?certNumber=805008572734652','RHCE') ]}
@{[ vskip "2ex" ]} HERE my @platforms=@project::Lib::platforms; while (@platforms) { my $platform_sym =shift @platforms; my $platform_name=shift @platforms; print ""; print ''; print ''; print "\n"; } print <<"HERE";
My Own Free Projects
Detailed listing available at: @{[ a_href 'http://www.jankratochvil.net/projects/' ]}
PlatformAvailable Free Projects
'.a_href('/project/#'.$platform_sym,$platform_name).''.&{$free_projects}($platform_sym).'
HERE exit; } 1;