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/')."<br />"
+ "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/')."<br />"
."[ ".join(" | ",
a_href('/resume/ResumeJanKratochvil.pdf','PDF'),
- a_href('/resume/ResumeJanKratochvil.txt','text'),
)." ]",
"OpenPGP" =>a_href('/pgp-JanKratochvil.txt','1E3AD15E'),
);
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#(?:<a\s[^>]*>|</a>)##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.='<td>';
- $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.='</td>';
- return $r;
-};
-
-sub techs ($)
-{
-my($arg)=@_;
-
- return '<span class="techs">('.$arg.')</span>';
-}
-
-
-my $uClinux=a_href 'http://www.uclinux.com/','uClinux';
-my $now=(localtime())[5]+1900;
-
print <<"HERE";
<table border="0" class="margin-center">
HERE
@{[ 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>2006/07-...</td><td class="com">@{[ a_href 'http://www.redhat.com/','Red Hat' ]}</td>
- <td>
- @{[ 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
- </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 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 />
- JES components compatibility analysis, automation of QA tasks,
- JES testing, QA frameworks pilot deployments,
- architecture and lead of the team projects, team programming guidelines
- </td></tr>
-</table>
-
-@{[ vskip "1ex" ]}
-
-<table border="1" frame="border" rules="rows" class="jobs">
-<caption>Freelance Commercial Projects</caption>
-<tr><th>Date</th>
- <th>Description</th></tr>
-<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
- for the first binary compatible reimplementation of the undocumented XP kernel subsystems.<br />
- 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.<br />
- 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>
- <li>MMS framework client via EuroTel GSM operator
- by technologies GSM MMS, Perl, XML, SOAP<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</li>
- </ul>
- </td></tr>
-<tr><td>1999-2000</td><td class="com">@{[ a_href('http://www.suse.com/','SuSE') ]}</td>
- <td>@{[ &$project('surprise') ]}<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' ]}<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') ]}</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>1998-1999</td><td class="com">@{[ a_href('http://www.geoinvest.cz/','Geoinvest') ]}</td>
- <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</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') ]} incl. 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&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>
- <td>StampMan: Database application @{[ techs 'MS-DOS: Pascal, plainTeX' ]}</td></tr>
-</table>
-
-@{[ vskip "2ex" ]}
-
-<table>
-<caption>Awards</caption>
-<tr><td>1997</td><td>Bronze medal in the International Olympiad in Informatics, South Africa - Cape Town</td></tr>
-<tr><td>1997</td><td>2nd in an MO-P national contest - mathematics Olympiad, the programming category</td></tr>
-<tr><td>1997</td><td>1st in the International Competition in Programming</td></tr>
-<tr><td>1996</td><td>4th in the International Competition in Programming</td></tr>
-<tr><td>1995</td><td>7th in the Central European Olympiad in Informatics</td></tr>
-</table>
-
-@{[ vskip "2ex" ]}
-
-<table>
-<caption>Experience Summary</caption>
-<tr><td class="tab-head">Major Areas </td><td>mobile technologies, filesystems, embedded devices</td></tr>
-<tr><td class="tab-head">Platforms </td><td>GNU/Linux/i386/UNIX/FreeBSD, W32 kernel, Amiga/680x0, MS-DOS,
- ZX Spectrum, handheld PC-E500S</td></tr>
-<tr><td class="tab-head">Languages </td><td>C (Gnome/GCC), Perl, bash/awk/sed...,
- Java, C++, Pascal, Basic, REXX, S-Lang, Foxplus, Prolog</td></tr>
-<tr><td class="tab-head">Tools/Metalanguages</td>
- <td>autoconf, automake, libtool, m4, CVS, gettext, bison, flex, ld script,
- gdb script, Maple V</td></tr>
-<tr><td class="tab-head">Assemblers </td><td>i386/x86_64, Motorola 680x0, Zilog Z80, Intel 8051, MIPS R2/3000,
- (Hitachi SH-8)</td></tr>
-<tr><td class="tab-head">WWW-Related </td><td>HTML/XHTML, CSS, PHP, SQL (PostgreSQL, MySQL), JavaScript, CGI</td></tr>
-<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, 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, IMAP4, NFS v2/v3, PPP/LCP/IPCP,...</td></tr>
-<tr><td class="tab-head">Filesystems </td><td>ext2, FAT, AmigaFFS, ISO-9660</td></tr>
-<tr><td class="tab-head">Certificates </td><td>@{[ a_href('https://www.redhat.com/rhtapps/certification/verify/?certId=110-518-099','RHCE 110-518-099') ]}</td></tr>
-</table>
+<p style="text-align: center;">@{[ a_href('/resume/ResumeJanKratochvil.pdf','My PDF resume.') ]}</p>
-@{[ 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>
-<tbody>
- <tr><th>Platform</th><th>Available Free Projects</th></tr>
-HERE
- my @platforms=@project::Lib::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";
-</tbody>
-</table>
HERE
-% $Id$
-
-
-\documentclass{article}
+\documentclass[a4paper]{article}
\usepackage[dvipdf]{graphicx}
\usepackage{multirow}
\usepackage[colorlinks]{hyperref}
+\usepackage{tabls}
+
+\setlength\extrarulesep{1pt}
\setlength\belowcaptionskip{2pt}
\newlength{\intertableskip}
\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{
\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}
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
\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
\\
\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
\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}
\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}
+++ /dev/null
-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$