CyberSecurity Researcher at Northwestern University
Building a Virtual Machine Monitor with Apple's Hypervisor Framework on ARM architecture. All in Rust.
Using a Raspberry Pi Pico to drive a Waveshare E‐Paper display.
Useful docker command to enable using cgroup (v2) inside the containers
How should we actually review a fuzzing paper?
Resolving the issue where SSH key login fails on Synology NAS, consistently prompting for password instead.
TL;DR: The bottleneck for write speeds is usually the network, not the hard drive.
Introducing my multi-operating system solution: bare-metal virtualization.
At WWDC, Apple announced the Game Porting Toolkit, which can translate DirectX APIs to Apple's own Metal API. Using the emulator included in the toolkit, running Windows games on macOS has become a reality.
Even on ten-year-old hardware, it's possible to create the game of the year. Truly exciting storylines and highly creative gameplay mechanisms are far more important than improvements in graphics quality.
Continuing the discussion on blocking and anti-blocking games around edge networks.
Build a relay service that benefits from CDN's fast delivery and has other advantages.
Attempting to solve frequent home network instability issues and complete a home network upgrade project.
In 2014, I registered this domain to build a personal blog. I've used WordPress, Hexo, Hugo, and other blog systems. Last year, on a whim, I decided to DIY one. After six months of iteration and updates, I received positive feedback from many friends. This article mainly introduces the experience summarized during the development of this blog system.
During my four years at SUSTech, every semester I encountered the challenge of connecting IoT devices to the campus network. This blog post mainly introduces how to make smart devices bypass authentication and directly access the campus network, and the principles behind these operations.
In 2015, renowned programmer Bob Nystrom published an article 'What Color is Your Function' on his blog, which was thought-provoking and sparked intense discussion within the industry. Six years have passed, and it remains evergreen in programming language forums.
Forking is how a process in Linux is created. Even though the fork has been improved over the years to use the COW (copy-on-write) semantics, it still has to copy a certain amount of data from parent to child. Some students in the lab are working with a fuzzing machine, and they encounter some problems...
PMU interrupts act as an essential role between hardware and software. It gives the software the ability to gain insight into its execution on the hardware. In this article, I introduce you to the power of PMU and PMI and how to use them to achieve your goal.
Asynchronous programs can also be applied on multi-thread system through thread pool. However, using mutex in it might be a problem.
As a student who is fond of system programming, I always want to develop Linux kernel directly on the M1 Macbook without nested VMs. This blog is a set-up Coding of the developing environment. The target is to run a Linux kernel in the QEMU on macOS with Apple Silicon.
Now I am going to introduce our recent work. We call it Investigator. Investigator uses hardware features to diagnose concurrency bugs on Arm.
This article summarizes some of the more complex LaTeX problems encountered during paper writing. It includes usage tips for latexdiff in multi-file environments and how to resolve latexindent dependency conflicts.
I'm watching Jon Gjengset's live coding stream. And the topic is "Subtyping and Variance". This is my note.
In Rust, traits can also be generic. Generic traits are introduced for two reasons: first, to make traits not limited by specific types, and second, to provide broader constraint capabilities.
Gaming platform made during junior year. Main languages were Kotlin and TypeScript. Looking back, it turned out pretty well, and we got full marks anyway :)
Writing assembly code is hard and boring! However, if you want to set regisiters, read memories, sometimes you must do the dirty work.
React utilizes almost all the characteristics of native JavaScript. With proficiency in JavaScript, React won't bring you many surprises. However, compared to Vue, writing React also gives a solid feeling.
At WWDC 2020, Apple updated SwiftUI to its second version. I exclaimed: Swift is finally usable! This time we're not writing Web or mini-programs! This is a Native Code tutorial.
Final project for the Database Principles course in sophomore year. Features include ticket search, transfers, booking, remaining ticket queries, route management, and more. The backend uses Flask framework and the frontend uses Vue. The project received full marks.
The Sakai system that school teachers often use to publish courseware and assignments also supports WebDAV protocol. By configuring local WebDAV services, you can easily download course resources, saving time and effort.
At the beginning of sophomore year, to serve the vast number of students suffering from the Data Structures and Algorithms course, I wrote a debugging platform. The code is a mess, but the product concept is still good.
macOS has a magical feature called 'Time Machine'. When this feature is activated, you can roll back any file in the system to any previous state. In other words, macOS archives the entire state of your system at regular intervals. Using this feature typically requires regularly plugging in a hard drive. In this article, I achieved seamless macOS backup within the local network by configuring some network protocols.
Our school's campus network is just different from others - the data packets sent by Post aren't easy to figure out. This article proposes a black magic bash script for Unix-like systems to log into the campus network.
Today I have time to introduce last month's achievement - building a dorm movie streaming system. There's a large monitor in the dorm, and at night with lights off, connected to Bluetooth subwoofers, everyone sits together watching a movie - such a wonderful experience~ There's a stand on the bed, using iPad connected to AirPods, pulling blackout curtains at night to enjoy a movie alone - also a wonderful experience...