Brian Lam


Software Engineer

Hello World!

I am a University of Toronto new graduate. I completed a Bachelor's Degree in Data Mining and Machine Learning.

I have been a Teaching Assistant for the following courses: Software Design, Software Tools and Systems Programming, and Introduction to Databases and Web Applications. Currently, I am teaching Software Design.

On my freetime, I enjoy exploring new technology and languages as well as learning more about software engineering.

I primarily work with Java in most of my projects. As you can imagine, it is my favorite language! Aside from working with Java, I've recently taken an interest in web development and reverse engineering. I solve crackmes sometimes!

Want to see what I am up to? Check out my blog! I blog crackme solutions and the new technology I learn from working on projects.

Experience

TasteGuru, Backend Software Engineer

Nov 2020 - June 2021
  • Implemented changes to Shopify app backend to automate customer billing, allowing the company to scale to many more paying customers
  • Improved the overall security of the company’s Shopify app by patching exploits, introducing UUID in place of sensitive user information and implementing OAuth to dashboard API endpoints
  • Improved the clients' dashboard with proper filtering and other requirements as needed
  • Improved deployment process/time of the TrendPrediction platform by containerizing backend, frontend, and data acquisition pipeline tools with Docker
  • Improved response time for customers by up to 30% by implementing caching with Redis and NGINX configuration changes
  • Temenos, Software Engineer Intern

    June 2017 - Aug 2018
  • Created a Python script to scrape the company’s Jenkins page to identify obsolete nodes to repurpose
  • Resolved defects with the company’s Ant build scripts and improved them to increase reliability and developer velocity
  • Resolved a major defect in the company’s JIRA that caused incorrect search results
  • Upgraded outdated HttpClient library of Manulife Security’s WealthSuite to modernize the web platform and patch security vulnerabilities
  • Implemented the company’s new Wiki using HTML5, CSS3 and JavaScript using Microsoft’s SharePoint platform
  • Teaching Assistant at University of Toronto for:

    Software Design
    2016-2017, Summer/Fall 2019
    Software Tools and Systems Programming
    Summer 2017
    Intro to Databases and Web Programming
    Winter 2019

    Projects

    SDCap

    Capture packets from SD Gundam Online with ease.

    A Java packet sniffer that makes use of pcap4j to capture packets from SD Gundam Online.

    View the source here

    remove.bg Python API Wrapper

    Remove the background from your photos in seconds.

    A remove.bg Python API wrapper made to make removing backgrounds easier.

    View the source here

    Unofficial Chamberlain Alexa Garage Door Opener

    Control and check your garage door using Alexa.

    Controlling and checking your garage door is convenient with a mobile app. But why not make it easier? No more fiddling around with your phone! Just use Alexa to open and close your garage door, and check if it is open or closed.

    View the source here

    MapleStory Emulator

    An emulator forked from XeonMS.

    A modernized MapleStory emulator that utilizes the new JavaScript engine, Nashorn as well as the modern networking library, Netty. Aside from improved performance from the standard MapleStory emulator, this emulator aims to accurately emulate the details of the game. This is done by reverse engineering the game's client and server binaries. This emulator also comes with some scripts written in Python to parse the game's XML data to improve developer productivity.

    Software Design Project

    An Android project done for Software Design.

    For this project, we are to write a flight booking application where a user can search for flights and itineraries and book it for themselves (there are specific requirements for the connecting flights specified in the assignment), and the client is able to edit their personal information. As an admin, you can edit the personal information of clients, upload flight information and client information, and book itineraries for clients.

    View the source here