\documentclass[10pt]{article}
\pagestyle{plain}
\usepackage{fontspec}
\usepackage[margin=1in]{geometry}
\usepackage{hyperref,xcolor}
\setsansfont[Scale=0.8]{Monaco}
\setmainfont[Scale=0.965]{Georgia}
\setmonofont[Scale=0.84]{Monaco}
% \renewcommand\UrlFont{\color[HTML]{3065a2}\ttfamily}
\newenvironment{itemize*}%
    {\begin{itemize}%
        \setlength{\itemsep}{0.5mm}%
        \setlength{\parskip}{0.5mm}}%
    {\end{itemize}}
\newenvironment{enumerate*}%
    {\begin{enumerate}%
        \setlength{\itemsep}{0.8mm}%
        \setlength{\parskip}{0.7mm}}%
    {\end{enumerate}}
\newenvironment{myquote}{\list{}{\leftmargin=4.5mm\rightmargin=0cm}\item[]}{\endlist}
\newcommand{\ignore}[1]{}
\newcommand{\otherdisciplines}[1]{#1}
\newcommand{\myurl}[1]{\url{#1}}
\newcommand{\otheremph}[1]{\emph{#1}}
\newcommand{\mybullet}{~$\bullet$~~}
\hyphenation{Apple}
\hyphenation{JavaScriptCore}
\begin{document}
\thispagestyle{empty}
\setlength{\itemsep}{0mm}
\begin{center}
~\\[3mm]
{\Huge Filip Jerzy Pizlo} \\[5.5mm]
%{\Huge \sc Filip Jerzy Pizlo} \\[5mm]
{\large \emph{R\'esum\'e}} \\[5.5mm]
\myurl{pizlo@mac.com} \mybullet \myurl{filpizlo.com} \mybullet 1118 Callas Ln. \#2 \mybullet Capitola, CA \mybullet +1 831 535 3155\\[5mm]
\hrule
~\\[6mm]
\end{center}

\paragraph{Summary.} Virtual machine architect, programming language implementer, systems
programmer, and software
engineering manager. I specialize in architecting and maintaining high-performance
implementations of high-level programming languages.

\paragraph{Key Accomplishments}
\begin{itemize}
\item Inventor of Fil-C, a fully memory safe version of C and C++ based on real-time garbage
  collection and monotonic capabilities. Fil-C can run CPython, SQLite, OpenSSH, and other
  significant pieces of C code. Lots of C code compiles with Fil-C with zero changes. All
  memory safety violations are caught as Fil-C panics.
  
\item One of the top contributors to the WebKit open source browser engine, which is
  used in a bunch of Apple's products. I mostly worked on WebKit's JavaScript
  VM (virtual machine), called JSC (JavaScriptCore).

\item Contributed many JSC features, like the low-level
  interpreter, the FTL JIT (faster-than-light just-in-time)
  compiler, the B3 (bare bones backend) compiler, the ShadowChicken tail debugging
  aid, the Riptide GC (garbage
  collector), libpas (the new malloc) and a lot of the type inference infrastructure. I was
  the architect behind JSC's dynamic many-JIT design.

\item Long record of contributing to programming language runtimes and compilers,
  including Purdue OpenVM, Microsoft Bartok Research Compiler,
  Jikes RVM, Fiji VM, WebKit, LLVM, and UEFN (Unreal Editor for Fortnite). I was on the core
  team of OpenVM and Jikes RVM. I wrote most of Fiji VM. I'm a WebKit reviewer. I manage the
  UEFN Verse VM team.
\end{itemize}

\paragraph{Summary of Qualifications}
\begin{itemize*}
\item Expert C and C++ programmer. I love both!
\item Expert assembly programmer. I'm especially good at x86 and arm.
\item Expert GC developer.
\item Expert malloc developer.
\item Expert compiler developer.
\item Programming language implementation expert.
\item Concurrency expert.
\end{itemize*}

\paragraph{Job Experience}
\begin{myquote}
\begin{description}
\item[Epic Games, Inc.]  San Francisco, CA. \emph{February 2022 --- present.}
  \otheremph{Senior Director of Language Engineering.}
  Manager of the team that developed the compiler and runtime for the Verse
  programming language. Verse is a new functional logic programming language for the metaverse,
  which ships as part of UEFN. Helped design language features.
  Helped with UEFN security strategy. Designed the AutoRTFM transactional memory system for
  C++. I also write code. Currently helping to
  build the next-generation high-performance Verse VM.
  
\item[Apple Inc.] Cupertino, CA. \emph{February 2017 --- February 2022.}
  \otheremph{Manager of the JavaScriptCore team.}
  JSC is the scripting component of the WebKit open source browser
  engine. Apple ships JSC and WebKit as system frameworks,
  which are used by apps like Safari, Mail, and many others for running scripts
  and rendering web content.
  The JSC team is responsible for all of JSC except the developer
  tools. I wrote code in addition to line management responsibilities.
    
\item[Apple Inc.] Cupertino, CA. \emph{June 2011 --- January 2017.} 
  \otheremph{Senior software engineer on the JavaScriptCore team.}
  My job was to contribute code to the JSC component of the WebKit
  open source project, with a focus on performance.
  By the time I was promoted to management, JSC was in the lead on all major
  JavaScript benchmarks (SunSpider, Octane, JetStream, Kraken, JSBench, others).
  I contributed to every Safari release since Safari 5.1.1,
  every macOS release since Mountain Lion, and every iOS release since iOS~6. Also
  made minor contributions to watchOS 2.

\item[Fiji Systems, Inc.] Indianapolis, IN. \emph{May 2009 --- August 2010.}
  \otheremph{Founder and CEO.} Developed the Fiji VM and the Schism/cmr
  fragmentation-tolerant real-time garbage collector.

\item[Microsoft Research] Redmond, WA.
  \emph{November 2006 --- March 2007, June 2007 -- August 2007.}
  \otheremph{Research intern.}
  Invented three concurrent copying garbage collectors: Stopless, Clover,
  and Chicken.

\item[IBM Research] Hawthorne, NY. \emph{June 2004 --- August 2004.}
  \otheremph{Research intern.} Worked on the X10 programming language.
\end{description}
\end{myquote}

\paragraph{Education}
\begin{myquote}
\begin{description}
\item[Purdue University] West Lafayette, IN. \emph{Jan 2004 --- May 2011.}
  PhD dropout.
  Worked towards a PhD dissertation on \emph{Fragmentation Tolerant Hard
    Real Time Garbage Collection}. Did research in many areas, including real-time
  systems, garbage collection, compilers, locking algorithms, and programming
  languages. All of this work was done in the context of virtual
  machines. During this time, I also
  did astrophysics research on the side through my involvement in the VERITAS (Very
  Energetic Radiation Imaging Telescope Array System) telescope.
  I dropped out of graduate school after completing the qualifying and preliminary
  exams.

\item[Purdue University] West Lafayette, IN. \emph{Aug 1999 --- Dec 2003.}
  B.S. in Computer Science and Math.
\end{description}
\end{myquote}

\paragraph{Blog Posts}
\begin{enumerate*}
\item F. Pizlo. \emph{The Fil-C Memory Safety Manifesto: FUGC Yeah!} GitHub, Apr 2024. \\*\myurl{https://github.com/pizlonator/llvm-project-deluge/blob/deluge/Manifesto.md}
\item F. Pizlo. \emph{Bringing Verse Transactional Memory Semantics to C++}. Unreal Engine Blog, Mar 2024. \\*\myurl{https://www.unrealengine.com/en-US/tech-blog/bringing-verse-transactional-memory-semantics-to-c}.
\item F. Pizlo. \emph{Speculation in JavaScriptCore}. WebKit Blog, July 2020. \\*\myurl{https://webkit.org/blog/10308/}
\item F. Pizlo. \emph{What Spectre And Meltdown Mean For WebKit}. WebKit Blog, Jan 2018. \\*\myurl{https://webkit.org/blog/8048/}
\item F. Pizlo. \emph{Concurrent JavaScript: It can work!} WebKit Blog, Aug 2017. \\*\myurl{https://webkit.org/blog/7846/}
\item S. Barati, Y. Suzuki, F. Pizlo. \emph{JSC loves ES6}. WebKit Blog, June 2017. \\*\myurl{https://webkit.org/blog/7536/}
\item F. Pizlo. \emph{Introducing Riptide: WebKit's Retreating Wavefront Concurrent Garbage Collector}. WebKit Blog, January 2017. \\*\myurl{https://webkit.org/blog/7122/}
\item F. Pizlo. \emph{Locking in WebKit}. WebKit Blog, May 2016. \\*\myurl{https://webkit.org/blog/6161/}
\item F. Pizlo. \emph{Introducing the B3 JIT Compiler}. WebKit Blog, February 2016. \\*\myurl{https://webkit.org/blog/5852/}
\item F. Pizlo. \emph{Announcing JetStream 1.1}. WebKit Blog, July 2015. \\*\myurl{https://webkit.org/blog/3611/}
\item F. Pizlo. \emph{Introducing the JetStream benchmark suite}. Surfin' Safari blog, June 2014. \\*\myurl{https://webkit.org/blog/3418/}
\item F. Pizlo. \emph{Introducing the WebKit FTL JIT}. Surfin' Safari blog, May 2014. \\*\myurl{https://webkit.org/blog/3362/}
\item F. Pizlo. \emph{Announcing SunSpider 1.0}. Surfin' Safari blog, April 2013. \\*\myurl{https://webkit.org/blog/2364/}
\end{enumerate*}

\paragraph{Software Artifacts}
\begin{myquote}
\begin{description}
\item[Fil-C.] Memory-safe version of C and C++. Lots of major software
  compiles in Fil-C without any changes. Catches all memory safety issues in C.
  The Fil-C implementation comprises a modified version of clang and a new runtime. The runtime
  includes a novel concurrent real-time garbage collector called FUGC (Fil's Unbelievable
  Garbage Collector). The compiler changes include a new LLVM pass, {\tt FilPizlonator},
  that introduces memory safety at the LLVM IR level. This is a personal spare-time project.
  \\*\myurl{https://github.com/pizlonator/llvm-project-deluge}
  
\item[UEFN.] The Unreal Editor for Fortnite is Epic's take on the metaverse. It features a new
  programming language called Verse. I contributed a bunch of Verse compiler features and
  bugfixes. Helped design language features, like the constructor protocol (among others). Most
  of my involvement was as a manager but I also wrote a bunch of code, including the initial
  prototype of AutoRTFM - a transactional memory system for C++.
  \\*\myurl{https://store.epicgames.com/en-US/p/fortnite--uefn}
    
\item[WebKit.] One of the top contributors with over 3,000
  commits. I've contributed to the JIT compilers, GC,
  malloc, bytecode infrastructure, runtime, inline caches, concurrency utilities,
  and many other components. I am the architect of WebKit's compiler pipeline. I wrote
  WebKit's locking infrastructure
  ({\tt WTF::Lock} and friends). I wrote WebKit's concurrent garbage collector
  (called
  \emph{Riptide}).
  \\*\myurl{http://www.webkit.org/}
\item[LLVM.] Former committer. Contributed MCJIT and C API improvements. Helped design the
  original patchpoint and stackmap intrinsics used by the LLVM-based WebKit FTL JIT. \\*\myurl{http://www.llvm.org/}
\item[Fiji VM.] Original developer. Wrote all of the compiler (including bytecode
  frontend, SSA-based IR, and x86 backend),
  runtime, and garbage collector from scratch.
\item[Jikes RVM.] Former core team member. Wrote the threading and locking implementation. \\*\mbox{\myurl{http://www.jikesrvm.org/}}
\item[Open VM.] Former core developer. Wrote the real-time GC and the IO scheduler.
\item[Microsoft Bartok Research Compiler.] Intern. Wrote some real-time garbage collectors and some compiler optimizations and transformations for GC barriers.
\item[VERITAS.] Former research assistant. Wrote the backend data acquisition and
  real-time data analysis. Designed the data format.
  \\*\mbox{\myurl{http://veritas.sao.arizona.edu/}}
\item[Typed Stream Format.] Sole author. Self-descriptive data format with
high-performance data conversion and strong support for types and versioning.
\\*\mbox{\myurl{http://www.filpizlo.com/tsf/}}
\item[Stochastic Multi-CAS.] Sole author. Implementation
of multi-CAS using random numbers. It's not meant to be practical. \\*\mbox{\myurl{http://www.filpizlo.com/smcas/}}
\end{description}
\end{myquote}

\paragraph{Publications}
\begin{enumerate*}
\item T. Kalibera, J. Hagelberg, P. Maj, {\bf F. Pizlo}, B. Titzer, J. Vitek. \emph{A family of real-time Java benchmarks.} Concurrency and Computation: Practice and Experience 23(14): 1679-1700 (2011)
\item T. Kalibera, {\bf F. Pizlo}, A. L. Hosking, J. Vitek. \emph{Scheduling real-time garbage collection on uniprocessors.} ACM Trans. Comput. Syst. 29(3): 8 (2011)
\item {\bf F. Pizlo}, D. Frampton, A. L. Hosking. \emph{Fine-grained Adaptive Biased Locking.} In Principles and Practice of Programming in Java (PPPJ) 2011.
\item {\bf F. Pizlo}, L. Ziarek, P. Maj, A. L. Hosking, E. Blanton, J. Vitek. \emph{Schism: Fragmentation-Tolerant Real-Time Garbage Collection.} In ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation (PLDI 2010).
\item {\bf F. Pizlo}, L. Ziarek, E. Blanton, P. Maj, J. Vitek. \emph{High-level Programming of Embedded Hard Real-Time Devices.} In the ACM SIGOPS 2010 EuroSys Conference (EuroSys 2010).
\item J. Spring, {\bf F. Pizlo}, J. Privat, R. Guerraoui, J. Vitek. \emph{Reflexes: Abstractions for Integrating Highly Responsive Tasks into Java Applications.} ACM Transactions in Embedded Computing Systems (TECS), 2009.
\item T. Kalibera, {\bf F. Pizlo}, A. L. Hosking, J. Vitek. \emph{Scheduling Hard Real-Time Garbage Collection.} IEEE Real-Time Systems Symposium 2009: 81-92.
\item {\bf F. Pizlo}, L. Ziarek, J. Vitek. \emph{Real time Java on resource-constrained platforms with Fiji VM.} JTRES 2009: 110-119.
\item T. Kalibera, J. Hagelberg, {\bf F. Pizlo}, A. Plsek, B. Titzer, J. Vitek. \emph{CDx: a family of real-time Java benchmarks.} JTRES 2009: 41-50.
\item T. Wrigstad, {\bf F. Pizlo}, F. Meawad, L. Zhao, J. Vitek. \emph{Loci: Simple Thread-Locality for Java.} In the 2009 European Conference on Object-Oriented Programming (ECOOP 2009).
\item J. Baker, A. Cunei, T. Kalibera, {\bf F. Pizlo}, J. Vitek. \emph{Accurate Garbage Collection in Uncooperative Environments.} Concurrency and Computation: Practice and Experience, 2008.
\item {\bf F. Pizlo}, E. Petrank, B. Steensgaard. Path Specialization: \emph{Reducing Phased Execution Overheads.} In The 2008 International Symposium on Memory Management (ISMM 2008).
\item {\bf F. Pizlo}, E. Petrank, B. Steensgaard. \emph{A Study of Concurrent Real-time Garbage Collectors.} In the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI 2008). (Acceptance rate: 18%)
\item {\bf F. Pizlo}, D. Frampton, E. Petrank, B. Steensgaard. \emph{Stopless: A Real-Time Garbage Collector for Modern Platforms.} In The 2007 International Symposium on Memory Management (ISMM 2007), October 2007.
\item {\bf F. Pizlo}, A. Hosking, J. Vitek. \emph{Hierarchical Real-time Garbage Collection.} In the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES'07).
\item J. Spring, {\bf F. Pizlo}, R. Guerraoui, J. Vitek. \emph{Reflexes: Programming Abstractions for Highly Responsive Systems.} In the 2007 ACM International Conference on Virtual Execution Environments (VEE'07).
\item J. Baker, A. Cunei, {\bf F. Pizlo}, J. Vitek. \emph{Accurate Garbage Collection in Uncooperative Environments with Lazy Pointer Stacks.} In Compiler Construction, 16th International Conference, CC 2007.
\item A. Armbuster, J. Baker, A. Cunei, C. Flack, D. Holmes, {\bf F. Pizlo}, E. Pla, M. Prochazka, J.Vitek. \emph{A Real-Time Java Virtual Machine with Applications in Avionics.} In ACM Transactions in Embedded Computing Systems (TECS), 2006.
\item {\bf F. Pizlo}, J. Vitek. \emph{An Empirical Evaluation of Memory Management Alternatives for Real-time Java.} Proceedings of the 27th IEEE Real-Time Systems Symposium (RTSS), 2006.
\item J. Baker, A. Cunei, C. Flack, {\bf F. Pizlo}, M. Prochazka, J. Vitek, A. Armbuster, E. Pla, D. Holmes. \emph{Real-time Java in Avionics Applications.} In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), 2006.
\item {\bf F. Pizlo}. \emph{First in, first out memory.} Presented at The 3rd Workshop on Java Technologies for Real-time and Embedded Systems, October 2005.
\item {\bf F. Pizlo}, J. Fox, D. Holmes, J. Vitek. \emph{Real-time Java scoped memory: design patterns, semantics.} In Proceedings of the IEEE International Symposium on Object-oriented Real-Time Distributed Computing (ISORC'04), pp 101112, Vienna, Austria, May 2004.
\item {\bf F. Pizlo}, M. Prochazka, S. Jaggannathan, J. Vitek. \emph{Transactional lock-free data structure for Real Time Java.} In the Workshop on Concurrency and Synchronization in Java Programs, July 2004.
\end{enumerate*}

\otherdisciplines{
\paragraph{Publications in Other Disciplines}
\begin{enumerate*}
\item VERITAS collaboration. \emph{A connection between star formation activity and cosmic rays in the starburst galaxy M82.} Nature, Volume 462, pp. 770-772.
\item V. A. Acciari et al. \emph{VERITAS Observations of a Very High Energy $\gamma$-ray Flare from the Blazar 3C 66A.} Astrophysical Journal Letters, 2009.
\item J. Holder et al. \emph{The first VERITAS telescope.} Astroparticle Physics, Volume 25, Issue 6, p. 391-401. July 2006.
\item E. T. Linton et al. \emph{A new search for primordial black hole evaporations using the Whipple gamma-ray telescope.} Journal of Cosmology and Astroparticle Physics, Issue 01, pp. 013. January 2006.
\item A. D. Falcone et al. \emph{A Search for TeV Gamma-Ray Emission from High-peaked Flat-Spectrum Radio Quasars Using the Whipple Air Cerenkov Telescope.} The Astrophysical Journal, Volume 613, Issue 2, pp. 710-715. October 2004.
\item Steinman, R.M., Pizlo, Z., {\bf Pizlo, F.} \emph{Phi is not beta, and why Wertheimer's discovery launched the Gestalt revolution: a minireview.} Vision Research, 40, 2257-2264. 2000.
\end{enumerate*}
}

\paragraph{Logistics.} US citizen. Polish citizen. Fluent in English and Polish. I usually go by ``Phil'' when speaking English and ``Filip'' when speaking Polish. My last name is originally ``Piz{\l}o''.

\bigskip\noindent\emph{Last updated 21 May 2024.}

\end{document}
