# Why the blue pill?

I’ll try to avoid waxing philosophical but I wanted to explain the reasoning behind the title of this blog. Do I even know what the difference is between the blue and red pills? The answer is yes. I want the blue one, thanks.

To me, choosing the blue pill in the world of software means accepting the abstractions that we are currently presented with. I am not interested in fighting any unnecessary battles with our machine overlords; from where I’m sitting, they seem benevolent. For example, we have a kernel with a clearly delineated boundary between userspace… and that’s just how things are. I would agree that AArch64 is a much better instruction set than x86_64, but I don’t care because these Xeons are fast as shit. Representational state transfer is just the best way to develop an HTTP API but you’re free to go lead an anachronistic underground SOAP rebellion if you’d like!

The prevailing wisdom has prevailed in most cases because… well… it’s wise. I can totally understand the impulse to engage in autoerotic operating system development (we’ve all been there) and I certainly think that research projects have their place, but I am not in that place. To the extent which we can choose abstractions that resound with us and still get things done, we should probably do so. Happy people build better stuff. If Haskell helps you sleep at night, then by all means… write it! That actually probably does make you better than me, I won’t even argue it.

Let me throw out an axiom here:

algorithms + data structures = programs

A programming language is just a notation that we use to describe algorithms and data structures and in most cases we’re just doing it for money (another abstraction which I won’t go into). It’s not a reflection on me as a human being, it’s only software. Taking the blue pill means just not caring about things that ultimately don’t matter and will probably be unpleasant to confront. One UNIX is mostly as good as the next, if you can’t quantify a decision then it’s just a matter of preference. Who cares? I could whine about the Federal Reserve or I could go buy something to eat. I’ll tune into a metaphysical frequency for a moment and concede that the physical world we experience may not actually be the highest order of reality, but I really don’t care. The sun feels good on my face, that’s all I need to know right now.

I like Python. Don’t judge me. I know zsh kinda sucks, but I use it anyway. I get that OSX is bloated and silly and kinda cliche but I just want this thing to work, okay? I want the blue pill! Gimme a hug!

To me, taking the blue pill as a programmer is choosing the abstractions that allow me to create value in the world as we currently know it to be. It is deciding not to go against the grain in favor of being happy and profitable. To say that the Federal Reserve is neither federal nor a reserve is true in the strictest sense, but it is completely missing the forest for the trees. You could make similar arguments about the false economy of Ruby or Python or Javascript and they would also be missing the point.

The point, in my mind, is to solve problems rather than inventing new ones.

Just take the blue pill, man. Just take it and relax. The robots won the war, get over it.