Hi! I’m Chad, a software developer with an interest in basically
everything computer-related. Right now I’m using primarily
Nix (that’s how this website is built) and I
write a lot of Python.
This is a place for me to record my thoughts. Mainly for my own
edification, as they’re usually a lot more unstructured before they
come out of my head. If you find any of it useful feel free to let me
know at chad@cacrawford.org.
This is a cool trick for those playing around with Nix’s module system. While developing nix-config-modules, I ran into a semi-unique issue: In the module system I defined a set of hosts and a separate, general set of apps, and hosts could define which apps they could import.
To generate this subset of app configurations, I wanted to be able to re-evaluate all of my app modules with a host argument.
tl;dr There’s a common method for calculating how much you need to retire called the 4% rule; but blindly trusting some rule can make it hard to really understand what assumptions were made in generating that rule.
I’ve recently written up an analytical mathematical model that accounts for both interest rates and inflation in the context of calculating retirement annuities. I’m going to talk a bit about how some of these basic rules actually derive their numbers, how it applies to this extension, and what we can learn from using these simple analytical tools.
Software developers are trained to solve problems. We want to write code that makes life as simple and easy as possible, so that our customers can do anything with a simple click of a button. However, when we try to solve too many problems at once, the resulting product solves none of them well. In this article, I’ll discuss how our concept of Ownership underestimates the customer and undermines our products, and what we can do to be better owners.