Technical Blog

Foundations of High-Modernist Ideology in Metropolis

7 Dec 2021
School, Literature, Literary-Criticism

The following is from a essay from a class on German literature and film. Fritz Lang’s movie Metropolis is primarily about the struggle between the oppressed working class and the ruling elite. What drives this tension, however, is a particular view of technology and technological progress that exacerbates the problems the film focuses on. This mentality is called high modernist ideology by Scott in his book Seeing Like a State: ...

Programs and Intent

9 Nov 2021
Programming, Verification

What does this program do? At the most reduced level, one could say that a program’s behavior is defined by the effect it has on the hardware running it. That’s not very useful however; when we’re programming, we often have to deal with legacy code and tease out the original intent of the code. Saying that the meaning of a program is entirely encapsulated by the code is saying that the intent and the implementation are the same. ...

Models of Programming

24 Oct 2021
Programming, Programming-Languages

Last week I was studying outside of a lecture hall where someone was teaching an introductory course on computer programming. There was a lot that I overheard that I disagreed with; this essay is an attempt to help me crystallize what exactly I disagreed with.


A programmable programming language? I'll drink to that!

21 Aug 2021
Personal, Fun, Racket

My wife and I got a chance to go to a place that lets you paint pottery and then have it fired. The pottery is all pre-made; you just get to paint it. It’s been a very long time since I’ve worked with a physical art medium, so the mug looks kinda dumpy. I did alright with the Racket logo on the bottom-inside of the mug though! I’m working on some fun projects with Racket. ...

Control-Flow Analysis

27 Jul 2021
Programming, Computer-Science, Research, Cfa

Control-Flow Analysis is a popular technique for performing static analysis of many different kinds of programming languages. It’s most often needed in cases where you have some kind of dynamic dispatch: either where you have first-class functions or when you have objects and you call one of their methods.


Using a Raspberry Pi for Proctorio

30 Jan 2021
School, Raspberry-Pi

For one of my classes I am required to take a short weekly exam via Proctorio. There’s been some controversy surrounding this software. Although it claims it’s trustworthy, it’s not open-source, so no one can verify their claims. So naturally, I was reluctant to install it on my primary machine. Enter: the spare raspberry pi I have sitting around.


FreeBSD on a Raspberry Pi 4 with 4GB of RAM

28 Dec 2020
Raspberry-Pi, Freebsd

This is the story of how I managed to get FreeBSD running on a Raspberry Pi 4 with 4GB of RAM, though I think the setup story is pretty similar for those with 2GB and 8GB.1

I also managed to get Rust built from source, (kind of) which is nice because the default Rust installer doesn’t seem to work for FreeBSD running on a Raspberry Pi.


Dr. Loopback, Or: How I Learned to Stop DOSing Myself and Love the Pi-Hole

11 Dec 2020
Network, Pi-Hole, Mistakes

I noticed that my Internet was acting strangely: whenever I visited a web page, my browser would hang for a good second or two before it started loading anything. Zoom calls worked without a problem for school, so this tipped me off that something was wrong with the DNS lookup or the handshake. Sure enough, I popped open my Pi-Hole admin console, and was greeted with this: The green number in the Total Queries box would jump by 10, 20, or sometimes even 100 every second. ...