Some thoughts on software, systems, and special interests.

Using Github Pages as a URL Shortener

Even ignoring everything that’s behind a corporate firewall, a lot of my work is hosted elsewhere and not transcluded on this blog. Like a project report I wrote for a class at Penn, which is hosted on Medium because that’s where we had to put it for that class. But I like to keep my URLs aesthetically coherent, particularly on public-facing documents like my resume (pdf). For any arbitrary piece of work, I want to be able to point people to robinsonz.me/something, like it’s my personal bit.ly.

The problem: as of right now, all my stuff is hosted on GitHub Pages, because it’s by far the easiest way to put static files on the Internet for free. I don’t need to worry about any of the server administration, potential load issues, etc., but I don’t get any dynamic logic. So, making robinsonz.me/something just give you a 301 isn’t possible. Instead, I use meta tags, a tiny bit of client-side JS, and some Webpack templating to easily add new shortlinks to my website as needed.

Read more ⟶

Through the Frame-Buffer

It’s a poor sort of memory that only works backwards.

— Lewis Carroll, Through the Looking-Glass and What Alice Found There

Over the past semester, we (Zack Robinson and Thomas Makin) spent a lot of time messing around with a Terasic DE10-Standard board and its onboard Cyclone V FPGA.

Our original end goals were twofold:

  1. Write Verilog and/or C code to take video frames from an SD card and send them to the board’s VGA output.
  2. Learn things about FPGA development.

We accomplished Goal 2 with flying colors. Goal 1, on the other hand, was even more difficult than we expected (and we expected it to be difficult). We found minimal, confusing, or nonexistent documentation, 15-minute compile times, weird incompatibilities, and several dozen other random problems, a subset of which are mentioned herein. That said, while we didn’t actually accomplish what we set out to do, we learned a lot in the process. This report is a chronicle of our experience, and we’re publishing it for the Internet with the hope that it can be a helpful resource to anyone trying to follow in our footsteps.

Read more ⟶