Welcome

Hello, my name is Gordon Guan and I am a student at the University of Waterloo. You can visit my GitHub page for contact information and to see some projects I've worked on in my free time.

You can see a few articles I have written below. Most are them are documenting my thought process while exploring something technically interesting, just in case someone else finds it interesting too.

RX 5600 XT BIOS Unlock, 2 GHz and beyond

We are all aware of the previous VBIOS fiascos the RX 5600 XT has been a part of. As a quick refresher, AMD released a VBIOS update for the RX 5600 XT to make it more competitive in response to a price dip from NVIDIA on cards competing in the same price range. This update boosted clocks and power limits, pushing the silicon further than originally intended. Despite this, AMD still limited the performance of the RX 5600 XT via firmware and the driver, by imposing a hard limit of 1820 MHz on core clock, 1860 MHz on memory clock, and 180? Watts on ASIC power. Attempting to push the card further (for example, with soft PowerPlay tables) would cause the card to instantly duck to the lowest clock speed. This is because the RX 5600 XT actually has a lot of overclocking room, capable of competing with the RX 5700 and RX 5700 XT.

(read more...)

Using Ace.js for Pukiwiki

Out of the box, Pukiwiki’s text editor is a simple textarea. Of course, this leaves much to be desired, such as:

(read more...)

SMR Drives and UASP

A part of my workflow involves using restic to backup data onto an external hard drive. After a migration, I needed to perform a rather large ingestion into my restic repo (about 500GB). However, in the middle of the backup my drive suddenly disappeared without a trace. No drive letter, not even in device manager.

(read more...)

RX 5600 XT Review

I recently acquired a Gigabyte RX 5600 XT Gaming OC, hoping that the widely reported driver issues were an overreaction from a vocal minority. Unfortunately, this was not the case - I encountered several stability issues throughout my first few weeks of using this card. This post goes over the troubleshooting process I went through while trying to get this card to work.

(read more...)

Building LineageOS 17.1 on ArchLinux

This post serves as a log of some of the hoops I had to jump through in order to get LineageOS 17.1 to build on ArchLinux, as a reminder to myself in case I need to do this again in the future. As a result, it is rather brief and incomplete. Consider filling in the gaps with the official build documentation from the LineageOS Wiki.

(read more...)

Atelier Ryza: Ever Stuttering and the Stupid Workaround

Like every other Atelier game, the PC port leaves much to be desired, especially in terms of input. A lack of mouse support, along with only direct mappings from keys to controller inputs (which are non-intuitive at best) takes a bit of time to get used to.

(read more...)

Supporting Legacy of Lunatic Kingdom w/ Twinject

twinject (touhou windows injector) is an automated player for the bullet hell games from the Touhou Project. Instead of using computer vision techniques to extract data from the game, a DLL is injected and the relevant game data is directly extracted through trampolined functions.

(read more...)