Skip to content
View jo3-l's full-sized avatar
💫
free at last
💫
free at last

Highlights

  • Pro

Organizations

@Bulldog-Computer-Club @yagpdb-cc @vsHacks
Block or Report

Block or report jo3-l

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jo3-l/README.md

About me

Hey there! I'm Joe L., an IB diploma student from Vancouver, Canada, and incoming CS undergrad @ UWaterloo.

If you're reading this introduction, you likely know me in real life (in which case, hello!) or from the YAGPDB project, where I am an administrator and open-source contributor.

Nowadays, I primarily work with Rust and Go on backend projects, but I also have experience in Python, TypeScript, Java, and C++, among other technologies.

Current projects

My main interest these days lies in static analysis (and, more broadly, the implementation of programming languages and supporting tooling.) I am currently working on a language server for YAGPDB templates, which implements a handwritten, error-resilient parser that produces a lossless CST with rowan; scope resolution; and a dynamic type checker.

In the past, I implemented multiple language features in YAGPDB's production templating engine and wrote an interpreter for my own toy language, Rocket.

I am also a regular contributor to the YAGPDB project in general, helping to refactor legacy code, implement new features and bugfixes, and write user documentation.

Older projects

Previously, I worked on:

  • vsHacks: An annual hackathon organized by my programming club and others across the Greater Vancouver area — the first of its kind organized by Vancouver high school students, for Vancouver high school students. I contributed extensively to the hackathon website and helped run workshops during the event.
  • obscenity: A robust profanity detection library for Node.js, written in TypeScript. It implements a extensible transformer-based design and is thoroughly unit-tested. Used by hundreds of open-source projects with 20k+ weekly downloads on npm and 500k+ downloads total.
  • markpdf: A command-line utility to efficiently edit PDF bookmarks using a familiar indentation-based format.
  • liftoff: A parser and interpreter for a toy (yet relatively complete) programming language, written in Python.
  • yagpdb-cc: The largest community collection of custom commands for YAGPDB, accessible through a Docusaurus-powered website. I created and continue to maintain this project, and have built various automation in Go (yagfuncdata, action-check-yag-tmpl-syntax) to aid in maintenance.
  • competitive programming: Solutions to various collections of competitive programming problems, written in C++ and Java. See also my account on the DMOJ.

Some stats

Since everyone likes numbers:

(Statistics courtesy of GitHub Readme Stats.)


If you would like to reach out, my email is jliu1602 [at] gmail.com; I am also active on Discord as jo3_l.

Pinned Loading

  1. botlabs-gg/yagpdb botlabs-gg/yagpdb Public

    Yet another general purpose discord bot

    Go 1.2k 910

  2. yagpdb-cc/yagpdb-cc yagpdb-cc/yagpdb-cc Public

    A curated collection of custom commands for the YAGPDB Discord bot

    195 116

  3. obscenity obscenity Public

    Robust, extensible profanity filter for NodeJS

    TypeScript 56 1

  4. yag-template-lsp yag-template-lsp Public

    Rich editor support for YAGDPB's templating language

    Rust 1

  5. cp-practice cp-practice Public

    My solutions to various competitive programming problems

    Java 5

  6. markpdf markpdf Public

    Command-line tool to edit PDF bookmarks

    Go 2