Gerald Wu


Software Development / IT

Java, Scala, C, Webdev / RHEL7
Resume

Hi, I'm Gerald!

Here's a little bit about me

Software Development

Java, Scala, C

I'm a developer primarily focused in Object-Oriented Programming, with a working knowledge of Functional Programming. I'm most familiar with the Java, Scala, and C languages. Most of my past projects/internships used these.
I also have experience in C++, C#, Python, Processing, and other assorted languages.
If you want to see some of my more notable projects, please visit the projects section. Or, visit my GitHub to take a look at all of them.

Web Development

Linux/Apache/MySQL/PHP

On the web development side, I'm most familiar with the Linux Apache MySQL PHP stack.
In fact, this website is self-hosted on a LAMP stack! All the text on this site is being pulled from a MariaDB (MySQL) instance and rendered through dynamic PHP. Think of it like a homemade content management system (CMS).
Don't believe me? You can view the source code here and the database structure here (NOTE: this is not WordPress ).

Information Technology

Red Hat Enterprise Linux 7

I'm primarily a Linux systems administrator, specializing in Red Hat Enterprise Linux 7.
The website you're looking at is located on a 100%, fully self-hosted CentOS 7 instance, running both a LAMP stack and a Dovecot/Sendmail mail server, setup manually and entirely from scratch. I also have experience setting up/managing LDAP, NFS, SELinux, LVM, and Linux systems in general.
I currently have my RHCSA certification, and am working on getting my RHCE and CCNA.


Experience

My experiences in the tech industry

  • Leidos

    May 2019 - Aug 2019

    Software Engineering Intern

    Worked on an autonomous (self-driving) seafaring vessel. I was a primary designer of the systems architecture for a virtualization/containerization approach. 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 Engineering Intern - C#

    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.

  • Fairfax Collegiate

    Jun 2017 - Aug 2017

    Teaching Assistant

    Summer enrichment program for elementary and middle school students. I taught classes focused around hardware/software development.

  • The Smithsonian Institution

    Jun 2016 - Aug 2016

    Software Engineering Intern - Java

    Created metadata extraction tool using Java and shell scripts. It read metadata from files in an ingest folder and populated an Oracle database with the data. Created metadata ingestion tool using Java. It automatically processed spreadsheets within ingest folders and populate an Oracle database.

  • The Smithsonian Institution

    Jun 2015 - Aug 2015

    Software Engineering Intern - Java

    Created a two-part data integrity program for the Smithsonian Digital Asset Management System. It integrated MD5 data and wrote to an Oracle database, and verified the data integrity at a later date.


My Projects

Just a few projects I've worked on. Click on any image to learn more.

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.

An Approximate Solution to the Packing Problem

C++ / Shell

This program provides an approximate, polynomial time solution to the classic NP-hard packing problem. Implemented using the sorting-first greedy approach to packing. Includes a detailed report showcasing results (typeset in LaTeX). Written in C++, with a shell script helper for initialization and final visualization.

PHP Implementation of Authorize.Net Payments

PHP / JQuery

An implementation of Authorize.Net's API in PHP that allows merchants to store payment methods without any sensitive information hitting the merchant's database, thereby exempting them from tedious PCI compliance. These may also be charged at a later date. Responsive front-end design with mdbootstrap and flexible backend written in PHP.