Gerald Wu

About Me

Software Engineering

I'm primarily a developer focused in Object-Oriented Programming and Backend Web Development. Both my professional career and schooling has been focused in software development.

I am most familiar with the Java, C, Python, and GoLang languages. I also have some limited experience in C++, C#, JavaScript, and Scala.

If you want to see some of my more notable projects, please visit the projects section. Or, visit my self-hosted GitLab or my GitHub to view all of them.

Information Technology

I'm a Linux systems administrator, focused on cloud-native deployments and infrastructure as code (IaC).

All of my services are hosted on Docker on a vSphere cluster, backed by central ZFS storage exported as NFS. They are all deployed via some form of IaC with either GitLab CI/CD or via Ansible and docker-compose.

All of this is hosted on-premise on segregated VLANs with limited inter-VLAN routing rules, behind a self-built firewall/router running pfSense software.

I am also a Red Hat Certified System Administrator.

Experience

Amazon Web Services (AWS)
May 2020 - Aug 2020

Software Engineer Intern
I worked with the Amazon Connect team — a cloud-based call center as a service product running on AWS. I worked on migrating to Safe Dynamic Config (SDC) as the backend service for Feature Access Control (FAC).
To accomplish this task, I wrote a library to pull deployed SDCs from remote and parse/evaluate their contents to allow/deny access to certain features on a per-user basis. In addition, I deployed a configuration pipeline to implement strict templating and SDC generation for configuration as code purposes. Since this was the beginning of my team's migration, both of these tasks were written from scratch.
I also implemented a proof-of-concept for my project, showing a demo wherein an existing FAC implementation was replaced with my new library.

Brown University
Sep 2019 - Dec 2019

Computer Science Teaching Assistant
Undergraduate teaching assistant for CSCI 1270: Database Management Systems. This is an intermediate-level course that covers both database design and theoretical database concepts.

Leidos
May 2019 - Aug 2019

Software Engineer Intern
Worked on an autonomous (self-driving) seafaring vessel. I was a primary designer of the systems architecture for a virtualization/containerization approach.
I researched, proposed, and implemented various architectures, including VMWare vSphere, VMWare vSAN, Red Hat OpenShift, and bare Kubernetes.
In addition, I was part of the core team in charge of the software migration effort between major operating system releases. Most of the codebase was in C++/Python, and required non-trivial rewrites to match new library versions.

Brown University
Sep 2018 - Dec 2018

Applied Mathematics Teaching Assistant
Undergraduate teaching assistant for APMA 0340: Methods of Applied Mathematics II. This course covers both nonlinear ordinary differential equations and partial differential equations from an applied mathematics perspective.

FMS Inc.
May 2018 - Aug 2018

Software Engineer Intern
Researched, implemented, and optimized the Markov Clustering Algorithm in C# to identify clusters in relational graphs of size 100,000+ nodes and 120,000+ edges within 10 minutes. The clustering was implemented in the Sentinel Visualizer product, and allowed it to handle much larger graphs.
Also implemented secure, PCI-compliant payment integration on the web using Authorize.Net in ASP Classic backend and JQuery/AJAX frontend. It was a complete integration with the Authorize.Net payment gateway, including both one-time payments and long-term customer payment profiles.

Projects

Omgur — A FOSS private front-end for Imgur
Golang
Omgur is a free and open-source private front-end proxy for Imgur, inspired by Invidious, Nitter, and Teddit. Omgur runs with no JavaScript, ads, or tracking. All requests are proxied through the Omgur backend to prevent Imgur from tracking IP or JavaScript fingerprint. Easily self-hostable through the Docker image provided by Gitlab CI/CD configuration.

Quantum Mechanical Wave Function Propagation
Processing
A program to evolve arbitrary initial states through time for the one-dimensional Schrodinger Equation and Wave Equation in the absence of a potential field. Highly optimized to run in real time. No pre-rendering. Accurate to millions of timesteps before noticeable error propagation. Written in Processing (a fork of Java with a focus on real-time graphing), with a small shell script launcher.

Self-hosted Services

Contact Me

Email: contact@geraldwu.com

Matrix: @jerry:geraldwu.com