Year of Clarity It’s January, which means it’s time for New Year’s resolutions. Resolutions typically discourage me, to be honest. I think pretty rigidly, and have never had a good sense of balance between being disciplined towards a goal and outright punishing myself for not reaching it. So, instead of being inspiring, resolutions generally devolve into a bludgeon that I use to beat myself up for…
Southern Food and Graph Theory: Part 4 Once again, the calendar snuck up on me and I realized that 2025 is almost over and I've not finished this series of posts. I really thought they would've been done by now, but frankly I procrastinated too much and now here I am, rewriting this post from scratch in the middle of December. I'm going to start with a few interesting diversions I took while…
Bread Thoughts It’s Thanksgiving, and I’m idling around my house waiting for bread dough to rise and the oven to preheat. So far this year I’ve published a blog post every month. But it strikes me that it’s November 27th and I’ve yet to put anything out for the month. It so happens to work out, because the smells involved in baking bread are oddly stimulating to the mind, and I’m in a mood to…
Reading is Like Pumping Iron There’s a book I think you should read. Wait! This is not an ad! I bought the book with my own money around 4 years ago, and recent developments have prompted me to write about it because I think more people should read it. The book in question is How to Read a Book by Mortimer Adler and Charles Van Doren. All around me I see products adding LLM-powered summarization…
Two Sides of Programs One thing that’s great about having a blog is that it gives me a place to talk about the abstract nonsense that flies around my head so that it can… stop doing that… Most recently, I’ve been thinking a lot about types in programming languages, and how to situate them in my mental model of programming. I want to start with how I used to think about types. My first language was…
Networking How I Wish It Was Explained When I was in college, my impression of networking was seriously limited. I knew the term, and I could use it in a sentence, but I didn't understand what it meant in practice . All I knew is that it seemed to involve awkward small-talk with people, and so I avoided it like the plague. I knew I was "supposed" to do it, but didn't want to or even understand how…
Comfort Data There is a real allure to metrics . Numbers have a sort of reassuring quality, as if they float above all the opinions and agendas and uncertainty in the world. It makes sense, they're easy targets for resting your opinions on, and being unsure is uncomfortable. This is all amplified by the corporate environment, where confidence and the ability to persuade people is rewarded. Don't…
Southern Food and Graph Theory: Part 3 In the last part of this series, I walked through examining Cracker Barrel's version of peg solitaire as a graph, and determined that the graph is easily small enough to process by computer. In this part, we're going to look at how to implement the basic parts of the game in Rust. Get your snacks! This is a long one! Trouble with Triangles The first problem…
Saving My Sanity With SQLite Or, bending batch processing jobs to my will (evil laughter ensues). The Premise Suppose you have a large quantity of hefty files sitting in cloud storage somewhere. Your mission is to download each file, perform some kind of work using that file, and then upload the results to another spot in cloud storage. The actual reason behind work like this could be all kinds of…
Southern Food and Graph Theory: Part 2 The first step I'm going to take in analyzing peg solitaire is to model the game as a graph and then examine the properties of that graph to see what techniques would be feasible. Prerequisites If you're not familiar with graphs, don't worry! I'll cover the concepts you need to know in this prerequisites section. We wont be needing much mathematical rigor in…