raine-yang.comMarkus Project: Preliminary Research on Uploading Scanned Exam ProcessIn this article, we will examine the end-to-end process of uploading a scanned test on Markus. Markus allows instructors to upload scanned test papers in pdf format for grading. A detailed guide for creating scanned assignments can be found at the Wi...Feb 10, 2025·5 min read
raine-yang.comJourney to PythonTA: The Control Flow Graph Module (Part 1)The Journey to PythonTA series aims to introduce various system components of PythonTA (https://github.com/pyta-uoft/pyta), a static code analysis tool for checking common code style errors in Python code, to new developers. In this series, in additi...Oct 7, 2024·6 min read
raine-yang.comPyTA Project: Augment CFG Edges with Z3 ConstraintsToday's task requires a combination of various components of PythonTA introduced in previous articles, including control flow graph module, Z3 visitor, and Z3 expression wrapper. In this task, we will augment each control flow graph edge with a list ...Aug 9, 2024·7 min read
raine-yang.comPyTA Project: Converting String Expressions to Z3 ConstraintsThis article is a continuation of the previous task , which implements the parsing of container types (list/set/tuple) and operators to Z3 constraints. In today's task, we will implement the parsing for string variables and corresponding operators, i...Jul 18, 2024·7 min read
raine-yang.comUnity Dev Note: Simulated Bouncing for Kinetic GameObjectsIn this article, we will implements a simulated bouncing for 2D GameObjects with Kinematic rigidbody2d, based on method in this video Enable Collision Detection In Unity, rigidbody component has three types: dynamic, kinematic, and static. A dynamic ...Jul 13, 2024·3 min read