Intro

Hey, ksyx here! I am an undergraduate student loved in contributing to communities and can self-learn new knowledge efficiently, who have participated Computing Olympiad (Olympiad in Informatics) during middle school time for the excitement of algorithmic beauty. Thanks to the nominations of my managers, I became one of two award winners for 2023 Computer Science Student Assistant of the Year.

I had worked intensively with C, C++ and Visual Basic 6, my first programming language learnt, which I am still amazed by its designs. Currently, my development is done on a machine running NixOS with i3wm. My interests are in program analysis and optimization, compiling technology, education, problem modeling and algorithm designing. My second major of data science expands my perspective on how various forms of data are being used and see what integrations in compiling and system software would be helpful in making programming languages adaptable to this data intensive trend that cares less on details behind the scenes.

Being explorative, I am also open to and excited about new things and opportunities and I would be very grateful for any job / research position offering that you find me a fit.

Exciting practical skill training courses outside computing area
  • AR2333 AutoDesk 3ds Max
  • BB2902, BB2915 Microbiology wet lab techniques, including (micro)pipetting, plating, microbe culturing, Gram Staining, and PCR
  • BB2904 Nematode isolation and picking
  • ME1800 Computer Numerical Control (CNC) Machining
  • TH2222 Lighting control, carpentry, sewing, painting and gluing techniques

Course descriptions in popups adapted from course catalog.


Involvements
Turingwatch – HPC Job Observability Daemon
Automated data pipeline for user education and carbon awareness
  • A tool for sampling HPC cluster, collecting statistics of processes and mapping back to jobs, as well as generating reports that identifies problems like underutilizations and explaining resolutions.
  • Easy to no deployment, simple setup, can run along with users’ job allocations or start in one command with systemd. Designed to be highly extensible and tunable to fit different usage cases and scenarios.
  • Check out the slides for an introduction of its purpose, functionality and design!

PLCT Lab, ISCAS
LLVM/Clang Dev. & Analysis Internship
  • Analyzed implementation of several optimization passes, including their workflow, object model (data structure) and use of analysis results. Added workflow descriptions for GVN object. Refactored some code for clearer logics.
  • Implemented RISC-V Scalar K (Crypto) extension support for MC layer and IR Intrinsics of LLVM.
  • Implemented Zmmul extension, the subset of M extension consisting only multiplication instructions.
  • Implemented no-div switch in Clang for RISC-V target to use fallback implementation instead of hardware division instructions in M (Multiplication and Division) extension.

ARC
Computer Lab Assistant
  • A Python project to interact with Google Drive/CoLab API to download Jupyter notebook from Google CoLab, run with local High Performance Computing environment, and upload result back to CoLab for sharing and collaborating.
  • A shortlink service modified from kellegous/go that supports obtaining user identity from Azure Active Directory in addition to original functionality, written in Golang.
  • Compile and install academic and open source software; Provide troubleshooting for uses of software.
  • Documenting code and integrating with external service to empower collaboration and research work.

OI Wiki
Editor, Member
  • Review proposed changes and provide suggestions on improving quality of proposed content.
  • Update content for better layout and studying efficiency; Propose projects for iteration plans.
  • Mentor translation work between Chinese and English. (Open Source Promotion Plan 2020 & 2021)

LibreOJ Online Judge
Problem Set Maintenance
  • Process test data to be suitable for the system to use; Write checkers and configurations for problems.
  • Maintain unified and clean problem appearances; Translate problems between Chinese and English.
  • Handle community requests on problems and maintain healthy discussion environment.

Personal Projects / Contributions
  • Added SeparateDefinitionBlocks style for clang-format to insert or remove empty lines between definition blocks including functions, namespaces, enums, classes, and structs.
  • A compiler whose grammar is efficient in manipulating GUI elements and controls that is easy to learn, written in C++ with ANTLR + LLVM.
  • The GUI library for the compiler whose interface is made easy for the compiler to generate calls operating the controls with using Win32 Common Control and GDI+ APIs. It is also designed to be flexible and easily extensible.

Please contact me for resume and further details if interested. Thanks for reading :)


< Back to homepage