Technical Blog

Complete and Liveness, Safe and Sound

2 Mar 2022

I have a hard time keeping these terms straight:

  • liveness vs. safety
  • soundness vs. completeness

This is intended as a short guide for myself; maybe someone else will find it useful too! Note that this is all to the best of my knowledge and understanding at the present time; if there be faults, they be the faults of myself. I welcome correction and clarification if I am wrong.

Liveness vs. Safety #

Liveness and safety deal with properties of a system. Contrast that with soundness and completion, which are adjectives about analyses.

...

Class Management Reviews: Fall 2021

18 Dec 2021

A collection of what worked well and what didn’t in classes that I took this semester. This is partially for me to record what things reduced friction for me as a student so that one day, should I become a professor, I’ll be able to run the lowest-friction class ever!

...

Foundations of High-Modernist Ideology in Metropolis

7 Dec 2021

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

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. They so rarely are!

...

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!

A poorly-painted blue mug A passable freehanded Racket logo

...

Ode to Used Book Stores

3 Aug 2021

When I get a little money I buy books; and if any is left I buy food and clothes.
— Erasmus of Rotterdam

Used bookstores are my arch nemesis.

...

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.

...

Mastodon