Mio's Blog

  • Mio's Blog
  • Some bizarre thoughts
  • From fleeting thoughts to lasting memories

Projects#

English · 中文

A few projects from university and community activities. My blog contains related technical notes; my résumé summarises my background.

View contributions on GitHub

Compiler autotuning#

Final-year project · Python, Clang/LLVM, Linux perf · 2026

I started by reproducing GroupTuner experiments on GCC. Its source-based grouping approach did not translate directly to my Clang setup, so I built a different pipeline: extract candidate flags, compare compiled binaries to reduce the search space, then search combinations with a genetic algorithm.

The final study used six PolyBench/C kernels and ten independent GA runs per kernel. I examined convergence, measurement variation and flag interactions, and compared the implementation with PyGAD and adapted versions of BOCA and SATuner. In these experiments, the methods reached similar results; the structure of the search space became an important part of the analysis.

Related notes: Reading GroupTuner · Reproducing it on Ubuntu

Community portrait tool#

Community project · Go/Gin, Vue, OIDC, Docker · 2025–2026

A tool for processing group photos at community events: detecting and cropping faces, organising images by event and supporting avatar associations. I refactored the backend in Go/Gin and replaced a local dlib-based detection approach with Tencent Cloud face detection.

The image-processing flow includes resizing uploads when needed and mapping detection coordinates back to the original image. The backend also supports administrator login, event tokens and Keycloak OIDC.

Backend source

BidHub#

Five-person course project · Java, Spring Boot, PostgreSQL · 2026

An auction platform built as a team course project. I was the team lead and a full-stack developer, participating in coordination and backend restructuring.

Account, auction and order services gave us a setting for exploring service boundaries. One part of the purchase flow handles partial failure: after charging the wallet, order or delivery creation can fail, requiring cancellation and refund attempts. The repository includes tests for these failure paths.

Team repository