Nand 2 Tetris: Part 1 Retrospective

I remember my first programming course in college on Visual Basic (I’m not as old as that statement makes me sound). I didn’t know the first thing about computer programming. I remember thinking to myself, “I’m finally going to learn how computers actually work.” I couldn’t have been more wrong. Ever since then, I’ve had a growing obsession with learning how computers work. Eventually, I came across the Nand-2-Tetris project (they also have a Coursera version of their project).

Read More

RV Networking and Homelab

My wife and I lived in an RV from late 2018 to late 2021. We also worked remotely and required reliable internet. Being a bit of a tinkerer, I also had a strong desire to have some type of LAN without spending a ridiculous amount of money or mounting anything to our roof. This post explains our internet connectivity setup, which is one of the common questions we receive when we tell people about our RV adventures.

Read More

Home Sensor Project - Part 1

The Problem My wife thinks that the main bedroom in our two bedroom apartment is consistently the coldest room in our place. I set out to (over) engineer a solution to collect the data to determine if she’s right or not. The Goal I want to capture temperature data from local sensors placed throughout my apartment. Ideally, this data will be stored on a device on my LAN as well as somewhere on the cloud.

Read More

Representing Signed Ints as Bytes in Python

TL/DR: Python doesn’t let you explicitly create signed integers, but the int.to_bytes() method allows you to specify a boolean unsigned argument. I set up an experiment to test this, but could have just read the docs instead… In retrospect, this post is more about the process than the final destination. The Problem I’m working through the Designing Data-Intensive Applications book (specifically a BitCask log-based key/value hash index implementation in Python) and I have the need to convert an integer to bytes.

Read More

Nginx - Stepping Through the Code of a Web Request

Why? One common tool I interact with is nginx. It’s a critical component of nearly every web-related thing I do, including this blog. Aside from the sometimes confusing configuration settings, nginx is a solid piece of software that is (usually) a pleasure to work with. I completed Duke’s C Specialization on Coursera in late 2020 and have been looking for an excuse to look into real C code in the wild.

Read More