openpgp: 7E25094870599135A83DD2C6C446E92ECE0D66B2
[www.jankratochvil.net.git] / resume / ResumeJanKratochvil.tex
1 \documentclass[a4paper]{article}
2 \usepackage[dvipdf]{graphicx}
3 \usepackage{multirow}
4 \usepackage[colorlinks]{hyperref}
5 \usepackage{tabls}
6
7 \setlength\extrarulesep{1pt}
8
9 \setlength\belowcaptionskip{2pt}
10 \newlength{\intertableskip}
11 \setlength\intertableskip{-0.5cm}
12
13 \makeatletter
14
15 % Patch out tables numbering:
16 % /usr/share/texmf/tex/latex/base/article.cls
17 % '#1: #2' -> '#2'
18 \long\def\@makecaption#1#2{%
19   \vskip\abovecaptionskip
20   \sbox\@tempboxa{#2}%
21   \ifdim \wd\@tempboxa >\hsize
22     #2\par
23   \else
24     \global \@minipagefalse
25     \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
26   \fi
27   \vskip\belowcaptionskip}
28
29 \makeatother
30
31 \pdfinfo{
32         /Title(Jan Kratochvil Resume)
33         /Author(Jan Kratochvil)
34         /Subject($Id$)
35         }
36
37 \setlength{\topmargin}{-0.5cm}  % \topmargin - blank space at page top
38 \setlength{\headheight}{0cm}    % \headheight - page header height
39 \setlength{\headsep}{0cm}       % \headsep - space between header and text
40 \setlength{\textheight}{307mm}  % \textheight - height of the text body
41
42 \setlength{\oddsidemargin}{-0.5cm}   % \oddsidemargin - odd-numbered page margin
43 \setlength{\evensidemargin}{-0.5cm}  % \evensidemargin - even-numbered page margin
44 \setlength{\textwidth}{170mm}        % \textwidth - width of the text body
45
46 \begin{document}
47
48 \begin{table}[!h]
49         \centering
50         \begin{tabular*}{0.57\textwidth}{|@{\extracolsep{\fill}}c@{\extracolsep{\fill}}l@{\extracolsep{\fill}}l@{\extracolsep{\fill}}|}
51                 \hline
52                 \ %
53                 {} & name                 & Jan Kratochvil \\
54                 {} & English              & fluent\ \ \ \\
55                 {} & born                 & 1979 \\
56                 {} & e-mail               & \href{mailto:job@jankratochvil.net}{job@jankratochvil.net} \\
57                 {} & projects before 2005\ \ & \href{https://www.jankratochvil.net/project/}{https://www.jankratochvil.net/project/}\ \ \\
58                 {} & resume               & \href{https://www.jankratochvil.net/resume/}{https://www.jankratochvil.net/resume/} \\
59                 {} & OpenPGP              & \href{https://www.jankratochvil.net/pgp-JanKratochvil.txt}{1E3AD15E} \\
60                 \hline
61         \end{tabular*}
62 \end{table}
63
64 \begin{table}[!h]
65         \centering
66         \caption{Fulltime Jobs}
67         \begin{tabular*}{\textwidth}{|lp{1.2in}@{\extracolsep{\fill}}p{4.35in}|}
68                 \hline
69 Date & Company & Description \\
70 \hline
71
72 2022-\dots & \href{https://www.azul.com/}{Azyl Systems} &
73         Development of OpenJDK in C++/C/assembler.
74         \\
75 \hline
76
77 2022 & \href{https://www.barclays.co.uk/}{Barclays} &
78         Software development in C++.
79         \\
80 \hline
81
82 2006-2021 & \href{https://www.redhat.com/}{Red Hat} &
83         \href{https://en.wikipedia.org/wiki/LLDB_(debugger)}{LLDB} debugger developer and
84         formerly \href{https://en.wikipedia.org/wiki/GNU_Debugger}{GDB} debugger developer.
85
86         \href{https://en.wikipedia.org/wiki/GNU_Debugger}{GDB} developed primarily 2007-2013, 1231 commits:
87                 \href{https://github.com/bminor/binutils-gdb/commits?author=jankratochvil}{log}.
88
89         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}.
90         Larger features I have implemented: \href{https://en.wikipedia.org/wiki/Position-independent_executable}{PIE} support,
91         DWARF-5 entry values \& tail calls, Fortran modules, DWARF-5 excl. DWO incl.
92         .debug\_names index producer \& consumer excl. namespaces. Implemented in
93         Fedora but never upstreamed: C\&Fortran \href{https://en.wikipedia.org/wiki/Variable-length_array}{VLA}, build-id.
94
95         \href{https://en.wikipedia.org/wiki/LLDB_(debugger)}{LLDB} developed 2017-2021, 159 commits:
96                 \href{https://github.com/llvm/llvm-project/commits?author=jankratochvil}{log},
97                 \href{https://reviews.llvm.org/p/jankratochvil/}{reviews}.
98
99         Developed \href{https://sourceware.org/systemtap/wiki/utrace/tests}{Linux kernel ptrace testsuite} (most of the testcases are mine).
100
101         My presentations about \href{https://en.wikipedia.org/wiki/GNU_Debugger}{GDB}:
102                 \href{https://www.jankratochvil.net/resume/DeveloperConference2011-debug.pdf}{2011}
103                 \href{https://www.jankratochvil.net/resume/gdb2012.pdf}{2012}
104                 \href{https://www.jankratochvil.net/resume/devconf2017.pdf}{2017}
105
106         My presentation about \href{https://en.wikipedia.org/wiki/LLDB_(debugger)}{LLDB}:
107                 \href{https://www.jankratochvil.net/resume/devconf2019.pdf}{2019}
108
109         My article about \href{https://en.wikipedia.org/wiki/LLVM}{LLVM}/\href{https://en.wikipedia.org/wiki/AddressSanitizer}{Sanitizers}:
110                 \href{https://developers.redhat.com/blog/2021/05/05/memory-error-checking-in-c-and-c-comparing-sanitizers-and-valgrind#}{2021}
111
112         My \href{https://en.wikipedia.org/wiki/DWARF}{DWARF} standard
113                 clarifications:
114                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=100416.1}{1}
115                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=090321.1}{2}
116                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=161215.3}{3}
117                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=161113.1}{4}
118                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=110926.1}{5}
119                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=100923.1}{6},
120                 extensions:
121                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=161102.1}{1},
122                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=170527.1}{2},
123                 fix:
124                         \href{http://www.dwarfstd.org/ShowIssue.php?issue=161027.1}{1}.
125
126         My \href{https://lab.llvm.org/staging/#/builders/16}{LLDB buildbot}, its \href{https://github.com/llvm/llvm-zorg/commits?author=jankratochvil}{implementation}.
127
128         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}.
129
130         Wrote many bugfixes and bugreports for various components of \href{https://en.wikipedia.org/wiki/Fedora_(operating_system)}{Fedora}
131         \href{https://en.wikipedia.org/wiki/Free_software}{Free} operating system.
132         \\
133 \hline
134
135 2005 & \href{https://www.valinux.co.jp/}{VA Linux Systems\hfil\newline Japan} &
136         \href{https://www.kernel.org/}{Linux kernel} -- first ever Linux kernel relocatability
137         for~\href{https://en.wikipedia.org/wiki/Kdump_(Linux)}{kdump}-alike,\linebreak
138         \href{https://en.wikipedia.org/wiki/Network_File_System}{NFS (Network File System)} server caching
139         \\
140 \hline
141
142 2004 & \href{https://en.wikipedia.org/wiki/Sun_Microsystems}{Sun Microsystems} &
143         \href{https://en.wikipedia.org/wiki/Sun_Java_System}{Sun Java Enterprise System} Quality Assurance (JES~QA), technical lead
144         \\
145 \hline
146
147         \end{tabular*}
148 \end{table}
149
150 \vskip\intertableskip
151
152 \begin{table}[!h]
153         \centering
154         \caption{Freelance Projects}
155         \begin{tabular*}{\textwidth}{|l@{\extracolsep{\fill}}p{5.7in}|}
156                 \hline
157 Date & Description \\
158 \hline
159
160 \hypertarget{captive}{2002-2003} & \href{https://www.jankratochvil.net/project/captive/}{Captive}: The first free NTFS read/write filesystem for Linux OS
161
162         Featured \href{https://tech.slashdot.org/story/03/12/02/1536227/using-the-real-ntfssys-driver-under-linux}{on slashdot}.
163
164         Reverse engineered i386 MS-Windows XP kernel and ntfs.sys for the first
165         binary compatible reimplementation of the undocumented parts of MS-Windows
166         kernel subsystems.
167
168         Userland part of the project provides \href{https://en.wikipedia.org/wiki/GnomeVFS}{GnomeVFS} interface to the MS-Windows kernel
169         based MS-Windows filesystem isolated by the
170         \href{https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture}{CORBA}/\href{https://en.wikipedia.org/wiki/ORBit}{ORBit}
171         interface.
172
173         For development purposes I implemented also \href{https://www.jankratochvil.net/project/TraceFS/}{TraceFS}:
174         MS-Windows Kernel API Tracer as a~native MS-Windows kernel driver for
175         tracing of the NT Cache Manager.
176         \\
177 \hline
178
179 \hypertarget{mms2}{2005-2006} & \href{https://www.jankratochvil.net/product/mms2/}{MMS2}: Alternative center for cheaper mobile phones multimedia messages (MMS)
180         \\
181 \hline
182
183 2004 & \href{https://www.jankratochvil.net/product/hotelgate/}{HotelGate}: Internet gateway for hotel guests
184         \\
185 \hline
186
187         \end{tabular*}
188 \end{table}
189
190 \vskip\intertableskip
191
192 \begin{table}[!ht]
193         \centering
194         \caption{Contractor Jobs}
195         \begin{tabular*}{\textwidth}{|lp{0.7in}@{\extracolsep{\fill}}p{4.95in}|}
196                 \hline
197 Date & Client & Description \\
198 \hline
199
200 2001-2002 & \href{https://www.atspraha.cz/en/}{Advanced\newline Telecom\newline Services} &
201         Early cell phone technologies:
202                         \href{https://en.wikipedia.org/wiki/Multimedia_Messaging_Service}{MMS} framework development incl. \href{https://www.jankratochvil.net/etmms/}{MMS Center debugging}
203                         (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}),
204                         Multimedia EMS support (my~\href{https://www.jankratochvil.net/project/gsmperl/}{GSM::SMS patch}),
205                         BIP (Nokia CIMD2 alike) protocol client by extending (\href{https://www.gnokii.org/}{gnokii}).
206         \\
207 \hline
208
209 1999-2000 & \href{https://www.suse.com/}{SuSE} &
210         \href{https://www.jankratochvil.net/project/surprise/}{Partition Surprise}: superseded by \href{https://en.wikipedia.org/wiki/GParted}{GParted}
211
212         It was implemented by multiple people of our team. For development purposes I~implemented
213         \href{https://www.jankratochvil.net/project/int13sniff/}{Int13Sniff} for bootability troubleshooting.
214         \\
215 \hline
216
217 2001-2002 & \href{https://www.readynote.com/}{ReadyNote} &
218         Early cell phone technologies: debugged \href{https://www.gnokii.org/}{gnokii} GSM software modem, ported \href{https://www.gnokii.org/}{gnokii} and my
219                         \href{https://www.jankratochvil.net/project/mdsms/}{mdsms} to embedded \href{https://en.wikipedia.org/wiki/UClibc}{uClibc}.
220         \\
221 \hline
222
223 1999-2003 & \href{https://jklabs.cz/}{JKLabs} &
224         Support of company systems, hotel installations,
225   technical challenges like an i386 IRQ redirector,
226         \href{https://www.jankratochvil.net/project/middleman/}{Middleman port} (HTTP modifying proxy) or
227         \href{https://www.jankratochvil.net/project/ssht/}{ssht} (SSH tunnel).
228         \\
229 \hline
230
231 2001 & \href{https://www.gts.cz/cz-en}{GTS} &
232         \href{https://www.jankratochvil.net/project/tac_plus/}{tac\_plus auth}: Cisco TACACS+ NAS host based authorization
233         \\
234 \hline
235
236 1998-1999 & \href{https://www.geoinvest.cz/}{Geoinvest} &
237         Early cell phone technologies -- Siemens M1 GSM modem daemon for GPS,
238         embedded devices -- \href{https://www.jankratochvil.net/project/332/}{332}:
239         \href{https://en.wikipedia.org/wiki/AmigaOS}{AmigaOS} kernel port to embedded \href{https://en.wikipedia.org/wiki/Freescale_683XX}{Motorola 68332}.
240         \\
241 \hline
242
243 1999 & \href{https://www.tencom.cz/}{TENcom\newline Trade} &
244   Early cell phone technologies -- \href{https://www.jankratochvil.net/project/mdsms/}{mdsms}:
245         \href{https://en.wikipedia.org/wiki/SMS}{SMS} software for \href{https://en.wikipedia.org/wiki/Digital_UNIX}{Digital UNIX}.
246         \\
247 \hline
248
249 1998 & ELSA &
250         \href{https://www.jankratochvil.net/project/step/}{STEP}:
251         A~web database application. Fixed Free Software
252         \href{https://www.jankratochvil.net/project/phphash/}{PHP} and
253         \href{https://www.jankratochvil.net/project/pgsqlsubstr/}{PostgreSQL}.
254         \\
255 \hline
256
257 1993-1996 & Profes J\&K &
258         PC assembly and customer service
259         \\
260 \hline
261
262 1993 & \href{http://www.japhila.cz/}{Japhila} &
263         StampMan: Database application (MS-DOS: Pascal, plainTeX)
264         \\
265 \hline
266
267         \end{tabular*}
268 \end{table}
269
270 \pagebreak
271
272 \begin{table}[!h]
273         \centering
274         \caption{Awards}
275         \begin{tabular*}{\textwidth}{|l@{\extracolsep{\fill}}p{6.15in}|}
276                 \hline
277                 1997 & Bronze medal (not 3rd) in International Olympiad in Informatics, South Africa -- Cape Town \\
278                 1997 & 2nd in MO-P national contest -- mathematics Olympiad, the programming category \\
279                 1997 & 1st in International Competition in Programming \\
280                 1996 & 4th in International Competition in Programming \\
281                 1995 & 7th in Central European Olympiad in Informatics \\
282                 \hline
283         \end{tabular*}
284 \end{table}
285
286 \vskip\intertableskip
287
288 \begin{table}[!h]
289         \centering
290         \caption{Technologies (mostly obsolete in 2021)}
291         \begin{tabular*}{\textwidth}{|l@{\extracolsep{\fill}}p{5.10in}|}
292                 \hline
293 %               Major Areas         & mobile technologies, filesystems, embedded devices \\
294                 Platforms           & Linux OS/i386/FreeBSD, MS-Windows i386 kernel, Amiga/680x0, MS-DOS,
295                                                                                                                                 ZX Spectrum, PC-E500S \\
296                 Languages           & C++14, C, Perl, Python, bash/awk/sed...,
297                                                                                                                                 Java$\le$1.0, Pascal, Basic, REXX, S-Lang, Foxplus, Prolog \\
298                 Tools               & GIT, cmake, SVN, autoconf, automake, libtool, m4, CVS, gettext, bison, flex, ld~script \\
299                 Assemblers          & i386/x86\_64, briefly aarch64/arm7/s390x/ppc64, Motorola 680x0, Zilog~Z80, Intel 8051, MIPS R2/3000 \\
300                 WWW                 & HTML$\le$4.0, CSS, PHP, SQL (PostgreSQL, MySQL), JavaScript, CGI \\
301                 Documentation       & plainTeX, LaTeX, DocBook, DocBook Lite, XML/NS/Schema,
302                                                                                                                                 gtk-doc, nroff, pod \\
303                 Libraries           & Gnome/GTK+/GLib, POSIX/BSD/SysV/threads/sockets, X11, OpenGL, NCurses,
304                                                                                                                                 S-Lang, GnomeVFS, libxml, libneon, SVGALib, NIS, Qt,
305                 % RPC
306                                                                                                         CORBA/ORBit, SOAP, WSDL, Sun~RPC \\
307                 Protocols/Formats   & GSM SMS/PDU/Nokia~Smart~Messaging/EMS/WAP/WTP/WSP/MMSE/SMIL,\hfill\newline
308                                                                                                                                 WML/AMR/WSP/AMR, GSM ETSI/3GPP stds, IPv4, HTTP, SMTP\hfill\newline
309                                                                                                                                 RFC822/MIME, FTP, SSH, DHCP, POP3, IMAP4, NFS~v2/v3, PPP/LCP/IPCP,
310                 % Filesystems
311                                                                                                         ext2, FAT, AmigaFFS, ISO-9660 \\
312                 \hline
313         \end{tabular*}
314 \end{table}
315
316 \end{document}
317 \bye