whoami
I'm a University of Waterloo Grad currently working as a Software Developer at Google as an SRE-SWE . My team is part of product security, where we are responsible for multiple production services, one of which averaging over 1/4 billion queries per second. We pride ourselves on our operational excellence and constantly engineer solutions to further improve it.
With 4+ years of experience professionally building software projects, I've been personally responsible for leading multi-faceted software projects in data design, distributed computing, hybrid cloud setups, mesh networking, api design, auth flows and performance optimization.
Before that I studied Applied Maths and Computer Science at the University of Waterloo, where I took a special interest in High Performance Computing (HPC) and its use for solving Computational Fluid Dynamics (CFD) problems. I've run water flow simulations on supercomputer clusters at National Research Council Canada and developed distributed computing code in C++ using the Message Passing Interface (MPI).
Personally I'm a strong advocate of Free & Open Source Software (FOSS), contributing to multiple projects such as Helix (my primary text editor) as well as writing / maintaining my own personal projects like Termautomaton and Kinesin. You can also find me active on multiple forums like NixOS.
-
Joined Google as a Software Developer
I join Google as a Software Developer in Site Reliability (SRE), working from the Waterloo campus in ProdSec, which is part of the larger AI, Trust and Security team.
-
Successfully Launch Hybrid Cloud
In controbution to the engineering team's goal of increasing efficiency and reducing overhead, I dedicate my time to building a server rack in the office. Using NixOS, Ansible and custom-chosen hardware (including an opnsense router) I setup and deployed and currently manage a 16-core on-site cluster for all development and staging environments, as well as internally-used services avoiding SaaS costs.
-
Develop a Custom PostgreSQL Queue Library in a Day
As part of a hackathon day, I decided to investigate the use of Postgres as an ACID compliant, at-most-once message queue for job scheduling. After writing a proof-of-concept system that can handle thousands of messages per second, I turn it into a cleaned up library that we now use on multiple projects to avoid needing to deploy RabbitMQ or similar systems.
-
Join Strata Research as a Software Engineer
I get hired by Strata Research based in Kitchener, Ontario right after graduating. My first assigned project is the Turnstone client, which is a big data analytics platfrom for transportation organisations like SDOT and the city of Berkeley to manage and regulate on-street parking.
-
Bachelor's degree - University of Waterloo
I get awarded my Bachelor's degree in Applied Mathematics and Computer Science. Having focused on numerical methods courses and their applications to physics, I became highly proficient in high-performance numerical programming in low-level languages like C++ and Fortran.
-
Presented my Thesis to the Department of Applied Mathematics
Becoming among the first people in the department to write highly-parallel C++ code at the undergraduate level for a thesis, I successfully presented and defended my work, as well as writing a 46 page paper.
-
Bought my first domain and VPS
Having great difficulty finding good introductory resources for my niche of numerical programming, I decide to pull the trigger and start a blog site so I can hopefully help anyone else who finds themselves in the same situation as I was.
-
Software Developer - Applied Maths Department, University of Waterloo
After it becoming clear that my thesis proposal would prove useful even after its completion, I get hired as a software developer by my supervisor to work at the lab to spend more time improving and maintaining the C++ project.
About the Blog
I started this blog in the beginning of 2022 as a way to channel my passion for teaching into a hobby project of mine. The topics are loosely centered around my technical interests: high performance computing (HPC), optimization methods, differential equations and more. Some examples of my previous work includes solving Navier-Stokes on a non-regular 3D grid, testing novel optimization methods in machine learning and Category theory.
How I Built This
This website was entirely built by yours truly. Stop it you, with your common sense; this isn't github pages, Hugo, 11ty or any other templating static site generator. Instead, I chose to use Astro as the framework base. The CSS and design are done with TailwindCSS and the CMS is an orchestra of Astro's content tools, MDX, remark & rehype plugins, Katex for the math equations and Fontsource for the fonts.