Jerry Yin


I am a software developer interested in creating ways for artists to work more effectively. I recently wrapped up my Masters degree in computer science at the University of British Co­lum­bia, where I developed cutting-edge automatic sketch processing algorithms under the supervision of Prof. Alla Sheffer.

Some of my previous roles have involved developing artist tools for AWS Thinkbox, and working as an illustrator for The Ubyssey.

I am currently looking for work! Please let me know if you have any open positions relating to computer graphics in Vancouver, Canada.

May 2022

Software

virtuawin-bar

virtuawin-bar is a VirtuaWin module which lists all of the non-empty virtual desktops and highlights the currently active one. It is aesthetically similar to status bars designed to work with tiling window managers, like i3bar and Polybar. virtuawin-bar also optionally provides keybindings for switching focus to a window in a specified cardinal direction, similar to functionality found in tiling window managers.

ray-tracer

A reimplementation of Peter Shir­ley’s Ray Tracing in One Weekend in Haskell. Supports ray-tracing on multiple cores in parallel. This project was a collaboration with James Johnson.

GaloisPy

GaloisPy is a Python library for computations involving finite Galois fields and coding theory applications, such as row reduction, checking for correctness of parity-check matrices, and determining linear independence of sets of vectors. It holds an emphasis on useful pedagogical features such as step-by-step solutions.

Krakatoa

Krakatoa is AWS Thinkbox’s toolkit for rendering and manipulating particle clouds.

I was on this project for the summer of 2017, and worked mostly on the 3ds Max plug-in. Features I contributed included improvements in the core ray marching algorithms and integration with Phoenix FD simulations.

Sequoia

Sequoia is AWS Thinkbox’s stand-alone tool for processing point clouds.

I was on the team from Fall 2016 to Summer 2017, and I worked on a variety of features, including support for new file types, realtime viewport rendering, the user interface, and continuous integration and process improvements.


Articles

Half-Edge Data Structures (2019)

An interactive explainer introducing half-edge data structures and how to operate on them. This article was a collaboration with Jeffrey Goh.
React, D3, Idyll

Visualizing the Goniophotometer Problem in Three.js (2015)

Article on how to draw circles in 3D using rotation matrices, and how to implement such drawing using Three.js.