Moving Parts

By Serdar Yegulalp on 2017-11-25 13:00:00 No comments


I had an idiotic experience with this blog the other day. The SSL certificate attached to a certain subdomain on the blog expired, and didn't automatically renew. Getting it renewed turned into a ridiculous rigmarole of circular looking-things-up, back-and-forthing with my web host (they're very good, by the way), and hair-pulling. I finally got things unsnarled, but I see now why some people give up on IT or software development and go into farming.

The biggest problem with so much of this stuff is that it looks like it should make sense from the outside, but from the inside it rarely does. There are so many corner cases and counterintuitives and stupid fiddly bits that fall out of alignment with each other, because the whole thing was itself built by people, and people are imperfect and selfish and stupid.

I also don't think it makes sense to solve all this by creating systems that have this kind of rigid, axiomatic internal perfection, the sort of thing touted by exponents of languages like Haskell and Lisp and Scala. All that does is just move the imperfect human goalposts further downfield. And from all I've seen, there's no way to move them far enough downfield that they don't matter. The needs and demands we make of this stuff always grow in concert with the ability to satisfy them, so there's always going to be new ways to mess it all up.

What bugs me is when people assume the problem is that you're simply not l33t enough to "understand" how this stuff works. I don't think I'm lazy or stupid. I built the software that runs this blog now; it would be hard to do that if I was either of those things.

But I freely admit to being impatient, especially when it comes to things that aren't mine and that should work as-is. I don't have infinite amounts of time and patience to reverse-engineer the way things work, when they should have at least some degree of being self-evident. And I resent the idea that it is somehow an affront to the intelligence of the engineers of these systems to demand of them that our world be marginally less difficult to figure out.

We should spend at least a little time and thought into making these systems that we're all forced to live with into things that don't require a master's degree in reverse engineering to be truly useful. It is not "dumbing down" to assert that we all have better things to do with our time — yes, even those of us who are smart enough to take this stuff apart and put it back together blindfolded.


Tags: technology