Recent Blog Posts
Fixing Spotify on HiDPI on Ubuntu
December 2, 2020
The official “Spotify for Linux” page states:
Spotify for Linux is a labor of love from our engineers that wanted to listen to Spotify on their Linux development machines. They work on it in their spare time and it is currently not a platform that we actively support.
These brave engineers should be commended …for their incredible eyesight:
For those of us with HiDPI displays, here’s how to make the Spotify UI readable on Ubuntu.
Acing a C Homework Using Inline Assembly
February 7, 2019
In courses taught in Java (such as a data structures class), you can build pretty robust autograders for homeworks — after all, the student’s code runs in the JVM, which prevents it from doing spooky things like corrupting memory or branching to weird places. So you can run the grader instantly after submission on a service like Gradescope and boom, they’ve got their grade. But C homeworks provide students a lot more opportunities to write… unconventional solutions.
Autograding Gameboy Advance DMA Transfers
December 8, 2018
In CS 2110 at Georgia Tech, we use the Gameboy Advance to demonstrate how C code can interact directly with hardware. On a high level, students create games by reading button states directly from memory-mapped registers and write directly to a special region of memory called the “video buffer,” which the video controller continuously reads and draws on the screen.
But my favorite example of students poking with the GBA hardware introduces them to an important real-life example: Direct Memory Access (DMA)!