From: Jan Kratochvil Date: Sat, 24 Jul 2021 16:06:27 +0000 (+0200) Subject: resume/: Update 2021. X-Git-Url: http://git.jankratochvil.net/?p=www.jankratochvil.net.git;a=commitdiff_plain;h=edc3ebea58aad988bd756435698b92e429f2943e resume/: Update 2021. --- diff --git a/resume/ResumeJanKratochvil.pdf b/resume/ResumeJanKratochvil.pdf index 7df4236..224b69a 100644 Binary files a/resume/ResumeJanKratochvil.pdf and b/resume/ResumeJanKratochvil.pdf differ diff --git a/resume/ResumeJanKratochvil.pm b/resume/ResumeJanKratochvil.pm index d9ab100..b2feb15 100644 --- a/resume/ResumeJanKratochvil.pm +++ b/resume/ResumeJanKratochvil.pm @@ -34,16 +34,15 @@ 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/')."
" + "name" =>"Jan Kratochvil", + "English" =>"fluent", + "born" =>"1979", + "e-mail" =>a_href('mailto:web@jankratochvil.net'), + "projects before 2005" + =>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','1E3AD15E'), ); @@ -68,85 +67,6 @@ $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") { - # &Crypt::Rot13::rot13 - $mail=~tr/a-zA-Z/n-za-mN-ZA-M/; - $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 @@ -166,206 +86,8 @@ print <<"HERE"; @{[ vskip "2ex" ]} -@{[ #

Not looking for a new job.

-]} - -@{[ vskip "2ex" ]} - -
- - - - - - - - - -
Fulltime Jobs
DateCompanyDescription
2006/07-...@{[ a_href 'http://www.redhat.com/','Red Hat' ]} - @{[ a_href 'https://en.wikipedia.org/wiki/LLDB_(debugger)','LLDB' ]} development, @{[ a_href 'https://en.wikipedia.org/wiki/Executable_and_Linkable_Format','ELF' ]}, @{[ a_href 'https://en.wikipedia.org/wiki/DWARF','DWARF' ]}, @{[ a_href 'https://en.wikipedia.org/wiki/ptrace','ptrace' ]}, @{[ a_href 'https://en.wikipedia.org/wiki/Call_stack#Unwinding','unwinding' ]}, @{[ a_href 'https://en.wikipedia.org/wiki/Application_binary_interface','ABI' ]}, formerly @{[ a_href 'https://en.wikipedia.org/wiki/GNU_Debugger','GDB' ]} development -
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
DateDescription
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
DateClientDescription
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&KPC 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/Metalanguagesautoconf, 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/rhtapps/certification/verify/?certId=110-518-099','RHCE 110-518-099') ]}
+

@{[ a_href('/resume/ResumeJanKratochvil.pdf','My PDF resume.') ]}

-@{[ 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 diff --git a/resume/ResumeJanKratochvil.tex b/resume/ResumeJanKratochvil.tex index 0551f53..1078b57 100644 --- a/resume/ResumeJanKratochvil.tex +++ b/resume/ResumeJanKratochvil.tex @@ -1,10 +1,10 @@ -% $Id$ - - -\documentclass{article} +\documentclass[a4paper]{article} \usepackage[dvipdf]{graphicx} \usepackage{multirow} \usepackage[colorlinks]{hyperref} +\usepackage{tabls} + +\setlength\extrarulesep{1pt} \setlength\belowcaptionskip{2pt} \newlength{\intertableskip} @@ -26,17 +26,6 @@ \fi \vskip\belowcaptionskip} -% Discard vskips of itemizers. -\def\itemizel{\itemize -\setlength\itemsep\z@ -\setlength\@topsep\z@ -\setlength\@topsepadd\z@ -\setlength\parskip\z@ -} -\def\enditemizel{\enditemize -\hrule height\z@ -} - \makeatother \pdfinfo{ @@ -58,17 +47,16 @@ \begin{table}[!h] \centering - \begin{tabular*}{0.49\textwidth}{|@{\extracolsep{\fill}}c@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l@{\extracolsep{\fill}}|} + \begin{tabular*}{0.57\textwidth}{|@{\extracolsep{\fill}}c@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l@{\extracolsep{\fill}}|} \hline \ % - {} & Name & Jan Kratochvil \\ - {} & English & technical: fluent, general: communicable\ \ \ \\ - {} & Born & 1979 \\ - {} & Sex & male \\ - {} & eMail & \href{mailto:job@jankratochvil.net}{job@jankratochvil.net} \\ - {} & Projects & \href{http://www.jankratochvil.net/project/}{http://www.jankratochvil.net/project/} \\ - {} & Resume & \href{http://www.jankratochvil.net/resume/}{http://www.jankratochvil.net/resume/} \\ - {} & OpenPGP & \href{http://www.jankratochvil.net/pgp-JanKratochvil.txt}{1E3AD15E} \\ + {} & name & Jan Kratochvil \\ + {} & English & fluent\ \ \ \\ + {} & born & 1979 \\ + {} & e-mail & \href{mailto:job@jankratochvil.net}{job@jankratochvil.net} \\ + {} & projects before 2005\ \ & \href{https://www.jankratochvil.net/project/}{https://www.jankratochvil.net/project/}\ \ \\ + {} & resume & \href{https://www.jankratochvil.net/resume/}{https://www.jankratochvil.net/resume/} \\ + {} & OpenPGP & \href{https://www.jankratochvil.net/pgp-JanKratochvil.txt}{1E3AD15E} \\ \hline \end{tabular*} \end{table} @@ -81,85 +69,68 @@ Date & Company & Description \\ \hline -2006/07-\dots & \href{http://www.redhat.com/}{Red Hat} & - \href{https://en.wikipedia.org/wiki/LLDB_(debugger)}{LLDB} development, \href{https://en.wikipedia.org/wiki/Executable_and_Linkable_Format}{ELF}, \href{https://en.wikipedia.org/wiki/DWARF}{DWARF}, \href{https://en.wikipedia.org/wiki/ptrace}{ptrace}, \href{https://en.wikipedia.org/wiki/Call_stack#Unwinding}{unwinding}, \href{https://en.wikipedia.org/wiki/Application_binary_interface}{ABI}, formerly \href{https://en.wikipedia.org/wiki/GNU_Debugger}{GDB} development - \\ -\hline - -2005/04-11 & \href{http://www.valinux.co.jp/}{VA Linux Systems\hfil\newline Japan} & - \href{http://www.kernel.org/}{Linux kernel} based development - \\ -\hline - -2004/01-11 & \href{http://www.sun.com/}{Sun Microsystems} & - \href{http://www.sun.com/software/javaenterprisesystem/}{Java Enterprise System} - Quality Assurance (JES~QA), technical lead\hfill\newline - JES components compatibility analysis, automation of QA~tasks, - JES testing, QA~frameworks pilot deployments, - architecture and lead of the team projects, team programming guidelines - \\ -\hline +2006-\dots & \href{https://www.redhat.com/}{Red Hat} & + \href{https://en.wikipedia.org/wiki/LLDB_(debugger)}{LLDB} debugger developer and + formerly \href{https://en.wikipedia.org/wiki/GNU_Debugger}{GDB} debugger developer. - \end{tabular*} -\end{table} + \href{https://en.wikipedia.org/wiki/GNU_Debugger}{GDB} developed primarily 2007-2013, 1231 commits: + \href{https://github.com/bminor/binutils-gdb/commits?author=jankratochvil}{log}. -\vskip\intertableskip + I was GDB maintainer for \href{https://en.wikipedia.org/wiki/Fedora_(operating_system)}{Fedora}\&\href{https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux}{RHEL}. + Larger features I have implemented: \href{https://en.wikipedia.org/wiki/Position-independent_executable}{PIE} support, + DWARF-5 entry values \& tail calls, Fortran modules, DWARF-5 excl. DWO incl. + .debug\_names index producer \& consumer excl. namespaces. Implemented in + Fedora but never upstreamed: C\&Fortran \href{https://en.wikipedia.org/wiki/Variable-length_array}{VLA}, build-id. -\begin{table}[!h] - \centering - \caption{Freelance Commercial Projects} - \begin{tabular*}{\textwidth}{|l@{\extracolsep{\fill}}p{5.7in}|} - \hline -Date & Description \\ -\hline + \href{https://en.wikipedia.org/wiki/LLDB_(debugger)}{LLDB} developed 2017-2021, 159 commits: + \href{https://github.com/llvm/llvm-project/commits?author=jankratochvil}{log}, + \href{https://reviews.llvm.org/p/jankratochvil/}{reviews}. -\hypertarget{mms2}{2005-2006} & \href{http://www.jankratochvil.net/product/mms2/}{MMS2}: Alternative center for cheaper mobile phones multimedia messages (MMS) + Developed \href{https://sourceware.org/systemtap/wiki/utrace/tests}{Linux kernel ptrace testsuite} (most of the testcases are mine). - Web interface was outsourced. - Commercial service management held together with JK-Invent. + My presentations about \href{https://en.wikipedia.org/wiki/GNU_Debugger}{GDB}: + \href{https://people.redhat.com/jkratoch/DeveloperConference2011-debug.pdf}{2011} + \href{https://people.redhat.com/jkratoch/gdb2012.pdf}{2012} + \href{https://people.redhat.com/jkratoch/devconf2017.pdf}{2017} - \begin{itemizel} + My presentation about \href{https://en.wikipedia.org/wiki/LLDB_(debugger)}{LLDB}: + \href{https://people.redhat.com/jkratoch/devconf2019.pdf}{2019} - \item - Designed to coexist with existing GSM networks service servers + My article about \href{https://en.wikipedia.org/wiki/LLVM}{LLVM}/\href{https://en.wikipedia.org/wiki/AddressSanitizer}{Sanitizers}: + \href{https://developers.redhat.com/blog/2021/05/05/memory-error-checking-in-c-and-c-comparing-sanitizers-and-valgrind#}{2021} - \item - MMSE/WAP-Push/web/mail convergency featuring smart transformations + My \href{https://en.wikipedia.org/wiki/DWARF}{DWARF} standard + clarifications: + \href{http://www.dwarfstd.org/ShowIssue.php?issue=100416.1}{1} + \href{http://www.dwarfstd.org/ShowIssue.php?issue=090321.1}{2} + \href{http://www.dwarfstd.org/ShowIssue.php?issue=161215.3}{3} + \href{http://www.dwarfstd.org/ShowIssue.php?issue=161113.1}{4} + \href{http://www.dwarfstd.org/ShowIssue.php?issue=110926.1}{5} + \href{http://www.dwarfstd.org/ShowIssue.php?issue=100923.1}{6}, + extensions: + \href{http://www.dwarfstd.org/ShowIssue.php?issue=161102.1}{1}, + \href{http://www.dwarfstd.org/ShowIssue.php?issue=170527.1}{2}, + fix: + \href{http://www.dwarfstd.org/ShowIssue.php?issue=161027.1}{1}. - \item - Credits charging by ISDN IVR + automatic bank transaction acceptance + My \href{https://lab.llvm.org/staging/#/builders/16}{LLDB buildbot}, its \href{https://github.com/llvm/llvm-zorg/commits?author=jankratochvil}{implementation}. - \item - Completed mobile phones firmware bugs analysis and workarounds + Completed \href{https://en.wikipedia.org/wiki/Red_Hat_Certified_Engineer}{RHCE} certificate \href{https://rhtapps.redhat.com/verify?certId=110-518-099}{110-518-099}. - \item - Free gatewaying program to avoid targetted GSM operators firewalling - \end{itemizel} + Wrote many bugfixes and bugreports for various components of \href{https://en.wikipedia.org/wiki/Fedora_(operating_system)}{Fedora} + \href{https://en.wikipedia.org/wiki/Free_software}{Free} operating system. \\ \hline -2004 & \href{http://www.jankratochvil.net/product/hotelgate/}{HotelGate}: Internet Public Access Gateway - - Plug\&Play TCP/IP for clients, selectively ticketed and/or free access, - simplified interface for reception desks, easy management. - European facility installations provided by \href{http://www.jklabs.cz/}{JK Labs}. +2005 & \href{https://www.valinux.co.jp/}{VA Linux Systems\hfil\newline Japan} & + \href{https://www.kernel.org/}{Linux kernel} -- first ever Linux kernel relocatability + for~\href{https://en.wikipedia.org/wiki/Kdump_(Linux)}{kdump}-alike,\linebreak + \href{https://en.wikipedia.org/wiki/Network_File_System}{NFS (Network File System)} server caching \\ \hline -\hypertarget{captive}{2002-2003} & \href{http://www.jankratochvil.net/project/captive/}{Captive}: The first free NTFS read/write filesystem for GNU/Linux - - Featured \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 \href{http://www.jankratochvil.net/project/TraceFS/}{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. +2004 & \href{https://en.wikipedia.org/wiki/Sun_Microsystems}{Sun Microsystems} & + \href{https://en.wikipedia.org/wiki/Sun_Java_System}{Sun Java Enterprise System} Quality Assurance (JES~QA), technical lead \\ \hline @@ -168,129 +139,108 @@ Date & Description \\ \vskip\intertableskip -\def\jobscaption{Contractor Jobs} -\def\jobstabular{|lp{0.7in}@{\extracolsep{\fill}}p{4.95in}|} - \begin{table}[!h] \centering - \caption{\jobscaption} - \begin{tabular*}{\textwidth}{\jobstabular} + \caption{Freelance Projects} + \begin{tabular*}{\textwidth}{|l@{\extracolsep{\fill}}p{5.7in}|} \hline -Date & Client & Description \\ +Date & Description \\ \hline -2001-2002 & \href{http://www.atspraha.cz/}{Advanced\newline Telecom\newline Services} & - Mobile technologies +\hypertarget{captive}{2002-2003} & \href{https://www.jankratochvil.net/project/captive/}{Captive}: The first free NTFS read/write filesystem for Linux OS - \begin{itemizel} + Featured \href{https://tech.slashdot.org/story/03/12/02/1536227/using-the-real-ntfssys-driver-under-linux}{on slashdot}. - \item - MMS framework client and \href{http://www.jankratochvil.net/etmms/}{pilot MMS Center debugging} - via EuroTel GSM operator by technologies GSM~MMS, Perl, XML, SOAP + Reverse engineered i386 MS-Windows XP kernel and ntfs.sys for the first + binary compatible reimplementation of the undocumented parts of MS-Windows + kernel subsystems. - \item - Multimedia EMS support implemented by \href{http://www.jankratochvil.net/project/gsmperl/}{GSM::SMS patch} + Userland part of the project provides \href{https://en.wikipedia.org/wiki/GnomeVFS}{GnomeVFS} interface to the MS-Windows kernel + based MS-Windows filesystem isolated by the + \href{https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture}{CORBA}/\href{https://en.wikipedia.org/wiki/ORBit}{ORBit} + interface. + + For development purposes I implemented also \href{https://www.jankratochvil.net/project/TraceFS/}{TraceFS}: + MS-Windows Kernel API Tracer as a~native MS-Windows kernel driver for + tracing of the NT Cache Manager. + \\ +\hline + +\hypertarget{mms2}{2005-2006} & \href{https://www.jankratochvil.net/product/mms2/}{MMS2}: Alternative center for cheaper mobile phones multimedia messages (MMS) + \\ +\hline - \item - Implementation of protocol BIP (based on Nokia CIMD2 protocol) for GSM - SMS Center direct communication by extending gnokii - (\href{http://www.gnokii.org/}{external link}) for EuroTel GSM operator - \end{itemizel} +2004 & \href{https://www.jankratochvil.net/product/hotelgate/}{HotelGate}: Internet gateway for hotel guests \\ \hline \end{tabular*} \end{table} -\pagebreak +\vskip\intertableskip -\begin{table}[!h] +\begin{table}[!ht] \centering - \caption{\jobscaption{ }(continued)} - \begin{tabular*}{\textwidth}{\jobstabular} + \caption{Contractor Jobs} + \begin{tabular*}{\textwidth}{|lp{0.7in}@{\extracolsep{\fill}}p{4.95in}|} \hline Date & Client & Description \\ \hline -1999-2000 & \href{http://www.suse.com/}{SuSE} & - \href{http://www.jankratochvil.net/project/surprise/}{Partition Surprise}: GPLed Partition Magic clone - - 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 - \href{http://www.jankratochvil.net/project/int13sniff/}{Int13Sniff} - to ease Microsoft boot loaders disassembly across partition modifications. +2001-2002 & \href{https://www.atspraha.cz/en/}{Advanced\newline Telecom\newline Services} & + Early cell phone technologies: + \href{https://en.wikipedia.org/wiki/Multimedia_Messaging_Service}{MMS} framework development incl. \href{https://www.jankratochvil.net/etmms/}{MMS Center debugging} + (written using \href{https://en.wikipedia.org/wiki/Perl}{Perl}, \href{https://en.wikipedia.org/wiki/XML}{XML}, \href{https://en.wikipedia.org/wiki/SOAP}{SOAP}), + Multimedia EMS support (my~\href{https://www.jankratochvil.net/project/gsmperl/}{GSM::SMS patch}), + BIP (Nokia CIMD2 alike) protocol client by extending (\href{https://www.gnokii.org/}{gnokii}). \\ \hline -2001-2002 & \href{http://www.readynote.com/}{ReadyNote} & - Mobile technologies for embedded devices - - \begin{itemizel} - \item - Debugged gnokii (\href{http://www.gnokii.org/}{external link}) - GSM software modem for Nokia 5190 +1999-2000 & \href{https://www.suse.com/}{SuSE} & + \href{https://www.jankratochvil.net/project/surprise/}{Partition Surprise}: superseded by \href{https://en.wikipedia.org/wiki/GParted}{GParted} - \item - Port of gnokii and my - \href{http://www.jankratochvil.net/project/mdsms/}{mdsms} (Mobile Device SMS Tool) - to embedded uClinux (\href{http://www.uclinux.org/}{external link}) - \end{itemizel} + It was implemented by multiple people of our team. For development purposes I~implemented + \href{https://www.jankratochvil.net/project/int13sniff/}{Int13Sniff} for bootability troubleshooting. \\ \hline -1999-2003 & \href{http://www.jklabs.cz/}{JKLabs} & - System administration of GNU/Linux and FreeBSD, techsupport: GuestNET, - \href{http://www.2m.dk/web/html_version/eclipse/eclipse.html}{Eclipse}, - \href{http://www.globaloop.com/}{GlobaLoop}, - \href{http://www.antlimited.com/products/fresco.htm}{Fresco} - - Ad hoc technical support challenges such as i386 IRQ redirector, - \href{http://www.jankratochvil.net/project/middleman/}{Middleman port} (HTTP proxy ported to FreeBSD) or - \href{http://www.jankratochvil.net/project/ssht/}{ssht} (Intranet accessibility by SSH tunnel). +2001-2002 & \href{https://www.readynote.com/}{ReadyNote} & + Early cell phone technologies: debugged \href{https://www.gnokii.org/}{gnokii} GSM software modem, ported \href{https://www.gnokii.org/}{gnokii} and my + \href{https://www.jankratochvil.net/project/mdsms/}{mdsms} to embedded \href{https://en.wikipedia.org/wiki/UClibc}{uClibc}. \\ \hline -2001 & \href{http://www.gtsgroup.cz/}{GTS} & - \href{http://www.jankratochvil.net/project/tac_plus/}{tac\_plus auth}: Cisco TACACS+ NAS host based authorization +1999-2003 & \href{https://jklabs.cz/}{JKLabs} & + Support of company systems, hotel installations, + technical challenges like an i386 IRQ redirector, + \href{https://www.jankratochvil.net/project/middleman/}{Middleman port} (HTTP modifying proxy) or + \href{https://www.jankratochvil.net/project/ssht/}{ssht} (SSH tunnel). \\ \hline -1999 & \href{http://www.unicom-prague.cz/}{Unicom} & - Technical translations from English +2001 & \href{https://www.gts.cz/cz-en}{GTS} & + \href{https://www.jankratochvil.net/project/tac_plus/}{tac\_plus auth}: Cisco TACACS+ NAS host based authorization \\ \hline -1998-1999 & \href{http://www.geoinvest.cz/}{Geoinvest} & - Mobile technologies, embedded devices - - \begin{itemizel} - \item - \href{http://www.jankratochvil.net/project/332/}{332}: AmigaOS kernel port to embedded Motorola 68332 - - \item - Siemens M1 GSM modem daemon for GPS, client/server setup, remote GSM terminals - \end{itemizel} +1998-1999 & \href{https://www.geoinvest.cz/}{Geoinvest} & + Early cell phone technologies -- Siemens M1 GSM modem daemon for GPS, + embedded devices -- \href{https://www.jankratochvil.net/project/332/}{332}: + \href{https://en.wikipedia.org/wiki/AmigaOS}{AmigaOS} kernel port to embedded \href{https://en.wikipedia.org/wiki/Freescale_683XX}{Motorola 68332}. \\ \hline -1999 & \href{http://www.tencom.cz/}{TENcom\newline Trade} & - Mobile technologies - - \begin{itemizel} - \item - \href{http://www.jankratochvil.net/project/mdsms/}{MobilDock SMS Tool}: - SMS communication software for Digital UNIX - \end{itemizel} +1999 & \href{https://www.tencom.cz/}{TENcom\newline Trade} & + Early cell phone technologies -- \href{https://www.jankratochvil.net/project/mdsms/}{mdsms}: + \href{https://en.wikipedia.org/wiki/SMS}{SMS} software for \href{https://en.wikipedia.org/wiki/Digital_UNIX}{Digital UNIX}. \\ \hline -1998 & \href{http://www.elsa-online.org/}{ELSA} & - \href{http://www.jankratochvil.net/project/step/}{STEP}: - Custom web database application incl. fixes of - \href{http://www.jankratochvil.net/project/phphash/}{PHP} and - \href{http://www.jankratochvil.net/project/pgsqlsubstr/}{PostgreSQL},\newline\hfil - for \href{http://www.elsa-online.org/}{ELSA -- European Law Students' Association}. +1998 & ELSA & + \href{https://www.jankratochvil.net/project/step/}{STEP}: + A~web database application. Fixed Free Software + \href{https://www.jankratochvil.net/project/phphash/}{PHP} and + \href{https://www.jankratochvil.net/project/pgsqlsubstr/}{PostgreSQL}. \\ \hline @@ -299,7 +249,7 @@ Date & Client & Description \\ \\ \hline -1993 & \href{http://www.japhila.cz/index_en.htm}{Japhila} & +1993 & \href{http://www.japhila.cz/}{Japhila} & StampMan: Database application (MS-DOS: Pascal, plainTeX) \\ \hline @@ -307,16 +257,18 @@ Date & Client & Description \\ \end{tabular*} \end{table} +\pagebreak + \begin{table}[!h] \centering \caption{Awards} \begin{tabular*}{\textwidth}{|l@{\extracolsep{\fill}}p{6.15in}|} \hline - 1997 & Bronze medal in the International Olympiad in Informatics, South Africa -- Cape Town \\ - 1997 & 2nd in an MO-P national contest -- mathematics Olympiad, the programming category \\ - 1997 & 1st in the International Competition in Programming \\ - 1996 & 4th in the International Competition in Programming \\ - 1995 & 7th in the Central European Olympiad in Informatics \\ + 1997 & Bronze medal (not 3rd) in International Olympiad in Informatics, South Africa -- Cape Town \\ + 1997 & 2nd in MO-P national contest -- mathematics Olympiad, the programming category \\ + 1997 & 1st in International Competition in Programming \\ + 1996 & 4th in International Competition in Programming \\ + 1995 & 7th in Central European Olympiad in Informatics \\ \hline \end{tabular*} \end{table} @@ -325,31 +277,28 @@ Date & Client & Description \\ \begin{table}[!h] \centering - \caption{Experience Summary} + \caption{Technologies (mostly obsolete in 2021)} \begin{tabular*}{\textwidth}{|l@{\extracolsep{\fill}}p{5.10in}|} \hline - 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 \\ +% Major Areas & mobile technologies, filesystems, embedded devices \\ + Platforms & Linux OS/i386/FreeBSD, MS-Windows i386 kernel, Amiga/680x0, MS-DOS, + ZX Spectrum, PC-E500S \\ + Languages & C++14, C, Perl, Python, bash/awk/sed..., + Java$\le$1.0, Pascal, Basic, REXX, S-Lang, Foxplus, Prolog \\ + Tools & GIT, cmake, SVN, autoconf, automake, libtool, m4, CVS, gettext, bison, flex, ld~script \\ + Assemblers & i386/x86\_64, briefly aarch64/arm7/s390x/ppc64, Motorola 680x0, Zilog~Z80, Intel 8051, MIPS R2/3000 \\ + WWW & HTML$\le$4.0, CSS, PHP, SQL (PostgreSQL, MySQL), JavaScript, CGI \\ Documentation & plainTeX, 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,\hfill\newline + S-Lang, GnomeVFS, libxml, libneon, SVGALib, NIS, Qt, + % RPC + CORBA/ORBit, SOAP, WSDL, Sun~RPC \\ + Protocols/Formats & GSM SMS/PDU/Nokia~Smart~Messaging/EMS/WAP/WTP/WSP/MMSE/SMIL,\hfill\newline WML/AMR/WSP/AMR, GSM ETSI/3GPP stds, IPv4, HTTP, SMTP\hfill\newline - RFC822/MIME, FTP, SSH, DHCP, POP3, IMAP4, NFS~v2/v3, PPP/LCP/IPCP,... \\ - Filesystems & ext2, FAT, AmigaFFS, ISO-9660 \\ - Certificates & \href{https://www.redhat.com/wapps/training/certification/verify.html?certNumber=110-518-099}{RHCE 110-518-099} \\ + RFC822/MIME, FTP, SSH, DHCP, POP3, IMAP4, NFS~v2/v3, PPP/LCP/IPCP, + % Filesystems + ext2, FAT, AmigaFFS, ISO-9660 \\ \hline \end{tabular*} \end{table} diff --git a/resume/ResumeJanKratochvil.txt b/resume/ResumeJanKratochvil.txt deleted file mode 100644 index 6181030..0000000 --- a/resume/ResumeJanKratochvil.txt +++ /dev/null @@ -1,160 +0,0 @@ -Name: Jan Kratochvil -English: technical: fluent, general: communicable -Born: 1979 -Sex: male -eMail: job@jankratochvil.net -Projects: http://www.jankratochvil.net/project/ -Resume: http://www.jankratochvil.net/resume/ -OpenPGP: 1E3AD15E - - -Fulltime Jobs -------------- - -2006/07-...: Red Hat - LLDB development, ELF, DWARF, ptrace, unwinding, ABI, formerly GDB development - -2005/04-11: VA Linux Systems Japan - Linux kernel based development - -2004/01-11: Sun Microsystems - 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 - - -Freelance Commercial Projects ------------------------------ - -2005-2006: MMS2: Alternative center for mobile phones multimedia messages (MMS) - Web interface was outsourced. - Commercial service management held together by 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 - * Completed mobile phones firmware bugs analysis and workarounds - * Free gatewaying program to avoid targetted GSM operators firewalling - -2004: HotelGate: Internet Public Access Gateway - 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 JK Labs. - -2002-2003: Captive: The first free NTFS read/write filesystem for GNU/Linux - Featured 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 TraceFS: Microsoft Windows Kernel API Tracer: 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. - - -Contractor Jobs ---------------- - -2001-2002: Advanced Telecom Services - Mobile technologies - * MMS framework client via EuroTel GSM operator - by technologies GSM MMS, Perl, XML, SOAP - Project included pilot MMS Center debugging with Ethereal, - fixes of Ethereal. - * Multimedia EMS support implemented by GSM::SMS patch - * Implementation of protocol BIP (based on Nokia CIMD2 protocol) for GSM SMS - Center direct communication by extending gnokii for EuroTel GSM operator - -1999-2000: SuSE - Partition Surprise: GPLed Partition Magic clone - 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 - Int13Sniff to ease Microsoft boot loaders disassembly across partition - modifications. - -2001-2002: ReadyNote - Mobile technologies for embedded devices - * Completed debugging of gnokii GSM software modem for Nokia 5190 - * Port of gnokii and my mdsms (Mobile Device SMS Tool) to embedded uClinux - -1999-2003: JKLabs - System administration of GNU/Linux and FreeBSD, - techsupport: GuestNET, Eclipse, GlobaLoop, Fresco - Ad hoc technical support challenges such as i386 IRQ redirector, Middleman - port (HTTP proxy ported to FreeBSD) or ssht (Unattended intranet host - accessibility by SSH tunnel). - -2001: GTS - tac_plus auth: Cisco TACACS+ NAS host based authorization - -1999: Unicom - Technical translations from English - -1998-1999: Geoinvest - Mobile technologies, embedded devices - * 332: AmigaOS kernel port to embedded Motorola 68332 - * Siemens M1 GSM modem daemon for GPS, client/server setup, - remote GSM terminals - -1999: TENcom Trade - Mobile technologies - * MobilDock SMS Tool: SMS communication software for Digital UNIX - -1998: European Law Students' Association - STEP: Custom web database application incl. fixes of PHP and PostgreSQL - -1993-1996: Profes J&K - PC assembly and customer service - -1993: Japhila - StampMan: Database application (MS-DOS: Pascal, plainTeX) - - -Awards ------- - -1997: Bronze medal in the International Olympiad in Informatics, Cape Town -1997: 2nd in an MO-P national contest - mathematics Olympiad, the programming -1997: 1st in the International Competition in Programming -1996: 4th in the International Competition in Programming -1995: 7th in the Central European Olympiad in Informatics - - -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 -Documentation: - plainTeX, 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: - RHCE 110-518-099 - - -$Id$