I currently live in the Greater Boston area, and I am working as a software engineer at Meta's Reality Labs. I am experienced with building and debugging iOS and Android applications at work (including Android system apps). I have also developed full-stack web applications with Node.js, React, and Next.js. One of the projects I am doing outside of work is a hardware-agnostic parallel computing library written in C++, Objective-C, and CUDA, as I am interested to learn more about the area of HPC.
This website is developed with Next.js. The production website's server is running as a systemd service on an Oracle Cloud Instance. The systemd service is backed by a Nginx reverse proxy, which directs traffic to the Next.js server if the domain name matches panpaul.com
Repo Link: personal-website-minified
Currently working on the Meta View App. Previously on device updates and frameworks.
Programming Languages: Kotlin, Java, Hack, Swift, Objective-C, C++
Query Languages: SQLite, Presto
Debugging IDEs: XCode, Android Studio, Visual Studio Code
I worked on an internal tool which helps developers automatically be granted IAM permissions based on the types of data they are requesting / the team they are in. Throughout the internship, I learned how to provision server instances at various stages in the pipeline, along with how to develop server-side rendered webpages.
Programming Languages: Ruby, JavaScript
Frameworks and Databases: Ruby on Rails, PostgreSQL
Tools: Amazon S3, Amazon RDS
This project is designed as a GPU alternative to the popular Python library numpy. The CUDA implementation uses kernels to run code on the GPU while the Metal and Vulkan implementations use MSL and GLSL shading languages to perform similar actions. The build automation system used here is CMake (which detects which build files to generate depending on the SDKs available and the operating system)
Programming Languages: C++, Objective-C++, CUDA
Shading Languages: MSL (Metal Shading Language), GLSL (OpenGL Shading Language)
Build Tools: CMake, Ninja, XCode
This project implements the multilayer perceptron uses the library Theano. The purpose of this is to allow for GPU offloading of matrix operations, which speeds up training compared to numpy as well as being more simple to implement / maintain when compared to using libraries like PyTorch and Tensorflow.
Programming Languages: Python
Libraries: Theano
Links: mlp-theano