Technical Blog

Programs and Intent

9 Nov 2021

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

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

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

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

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

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

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. ...

RMS Does Not See the Future of Emacs

27 Nov 2020

I am an avid Emacs user. I’m using it right now to compose this post. I use it every single day for everything from work to school to personal notes. Most of my activity on GitHub comes from me tweaking little things in my configuration files. I now have an editor that perfectly fits my hands. Emacs is a big part of my life.

I’m afraid it’s dying.

...

Mastodon