John Graham-Cumming did some interesting analysis recently on a problem that Steve Ballmer had used for candidates interviewing at Microsoft. The gist of the problem is as follows:
Suppose a game host comes to you with the following challenge: They will choose a number between 1 and 100. During each turn of the game, you (the guesser) gets to guess a number. The host will then answer that their number is equal to, less than, or greater than the number you guessed.
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.