Jay Pratt
5 years at Google.
Internships at Facebook and Microsoft.
Undergrad at UNSW: Computer Science and AI/ML.
Rust, C++, TypeScript, JavaScript, Datalog, Python, Haskell, Kotlin, Java, Bash, PHP (Hack), WASM, Meson & Ninja, Vim, Zsh, Github, Linux.
I am passionate about improving the lives of the people around me and using technology to automate and accelerate tasks. I have a range of experience but my particular interest is using Static Analysis and AI techniques to build better systems.
Experience
2018 – Present (5 years 2 months)
I've had some great opportunities in the last few years working at Google. My team uses a wide range of tools and techniques from formal methods to implementing databases for Android. I also spent some time with the Chrome Operating System team as part of their virtual machine efforts. We took Linux VMs on Chrome OS from a PoC to a successful launch.
Projects
- Working with client teams on IR generation
- Implementing new theories for data flow analysis (enforcing non-fingerprinting)
- Building infrastructure for custom model checking solver
- Leadership of syntax design and major refactor
- Refinement type system (talk available)
- Ongoing maintenance (3yrs) and usability work
- Language server (VSCode integration)
- Implementing shared memory in WASM
- Gave talks on: structural type systems, refinement type systems, optimising compilers (using rewrite systems), and WASM compilation.
- Contributions toArcs' design
- Chrome OS User Interface theme work, including refactoring and maintaining48K LoC of CSS and multiple build tools
- Patching aChrome extension for rendering a Chrome specific image format used for toolbars
- Implementation work on USB device pass through
Ongoing
- Leverages type checking and proof for optimisation and correctness
- Prototypes have included:
- compilation via C++, allowing integration with other tools
- alambda calculus implementation
- aSKI calculus implementation
- Currently building:
- a LLVM back-end
- a MLIR back-end
- adependant type system based on theCIC andSystem-F
- Applied concepts from Game Development (Entity Component Systems) to compilers
- Found ~30% runtime savings in benchmarks when applying simple static optimisations over naiverewriting ofASTs
- Presented findings to Google Research Australia (talk available)
- Uses data flow analysis to enforce requirements avoiding leakage of PII (user data)
- Used a type system with awareness of structure, sub-typing, and data flow tagging / 'taint'
- 100% Rust, compiled to WASM for in-browser type & policy checking
Dec 2016 – Feb 2017 (3 months)
I really enjoyed working on automatic spam detection with the anti-spam team at Facebook. I learnt a lot about processing 'Big Data', scalable machine learning techniques and spam. I'd love to recommend interning with Facebook.
Dec 2015 – Feb 2016 (3 months)
Working on the Edge Extensions team was a great experience. The team worked on making Browser Extensions available in Edge so that users could use AdBlock, LastPass, and the Reddit Enhancement Suite in Edge. I worked with several developers to design and implement new power saving 'user presence' APIs which are now part of Edge.
2015 - 2018 (3 years)
I tutored courses in Data Structures, Algorithms, Programming and Debugging Techniques and later tutored the Advanced C++ course.
Jul 2015 – Aug 2015 (2 months)
Developed a Web Interface for Customer Resource Management using AngularJS, Bootstrap, Sass and other tools as part of a small developer team of three.
Nov 2013 – Mar 2014 (5 months)
I developed a simple tool for surveying medical professionals and the public and built a better understanding of Oncology using techniques in Statistical Ontology Verification.
Education
BSci (Computer Science & AI)
A Computer Science Degree from the University of New South Wales teaches students to solve problems especially by applying Computer Technology. Important skills that are core to Computer Science are teamwork, time management, problem solving and creative thinking. Computer Science is a wonderful set of ideas and approaches to problem solving and also a lot of fun. I thoroughly enjoyed my degree.