Thursday, June 13, 2019

Uncertainty Yields Complexity

I write software for a living. What does that mean? To some more naive companies, a programmer writes lines of codes. More code means more productivity. The boss certainly isn't paying you to write less code, is he? Maybe he should. Some companies all but refuse to purchase software tools. "Why would I buy you software when I pay you to write software?" Those companies are to be avoided, because the decision makers don't quite understand how their businesses work.

Code costs money to write, which they understand, but it also costs money to maintain, which they sometimes miss. Writing twice the code does not just double the cost of maintaining it. More code means more complexity. Complexity makes it harder to understand, which makes it take longer to achieve a task, and means you're more likely to break something else in the process. The programmer's job isn't to add complexity, but to add the least amount of complexity possible, while still getting the job done.

Uncertainty causes complexity to increase. Imagine writing code that saves some common data, like a phone number. If you are certain what the format of the phone number is then the process is trivial. Just save the number to disk. It's probably a single line of code. But if the input is uncertain, things change. You have to consider that the number might have parentheses around the area code (or not), might have a dash, might have spaces or not, might be an international number, might not even be a proper number at all. It could just be the words "don't call me." Since the input is uncertain, it must be validated, then translated into the proper format, and then saved. There must be procedures for dealing with bad inputs. Do you save it anyway? Log it? Return an error message? Can the error be in English or does it have to be translated into dozens of languages? We can see how suddenly a trivial one-liner turns into hundred or thousands of lines of code. Not only that, but you'll have to write test classes to ensure you're code isn't buggy, which often require even more lines of code that the actual logic being tested.

Doubling uncertainty doubles complexity, which more than doubles cost. Thus, uncertainty costs time, energy, and money, and it doesn't scale linearly.

I thought of all this while shopping for a pickup truck recently. I normally lean towards simple vehicles, because I don't like dealing with them when they break. I want a manual transmission. I want 2WD, and as few gizmos as I can. Nearly everyone I've talked to says to get the 4WD (for a few extra thousand dollars). Our winters are mild, and I don't get out into the woods much these days. Still, they tell me to get it, because you just never know. If I did know, things would be easier. If I knew I'd ever find myself stuck somewhere, desperate for some 4-low, then I'd pay for the upgrade. Otherwise, I'd save the money for something else. Most likely, I'll follow the advice from other truck owners and get the 4WD, because really I don't know I won't need it. Not only will I pay for the mechanical feature, I will lose some fuel economy, and it will be one more thing that might break and require a costly repair. Uncertainty costs money!

Everything operates this way. We see it when middle east tensions flare up. Markets get scared and suddenly you're pay 50 cents more for gas. Not only that, everyone is paying more, raising the operating costs for all business, and the stock market slumps.

Political uncertainty is no different. Business can't plan long-term if the regulatory environment veers every time there's an election. Foreign nations can hardly enter trade agreements or other treaties with the US if they'll just be reversed every four years. The great political and cultural instabilities rattling our nation cause uncertainties, which companies must pay to mitigate. Even the most banal aspects of multiculturalism have a cost. Not long ago, marketing to American families was easy: just show a happy family enjoying the product. Now, that can be a landmine. Showing an all-white family might cause outraged allegations of racism from the left. Judging by the TV commercial these days, most companies - even those for whom whites are the primary target audience - use a calibrated cast of diverse racial and identity types in their adverts, with mixed-race families becoming the depicted norm. This requires additional marketing efforts, constant input from lawyers, and a PR firm on retainer just in case they still manage to trigger a national backlash. And then, they are still lessening their impact on the target audience, many of whom may even grow to resent the obvious pandering to political correctness, or might even trigger a backlash from their core market, as Gillette did with its recent marketing debacle.

Perhaps that is one reason why the ruling orthodoxy is so adamant about imposing its preferred worldview on every last man, woman, and child. Uniformity yields predictability. As it turns out, actual diversity is ungovernable and - worst of all - reduces corporate profit margins. This has always been the goal of the left. Utopian uniformity requires the destruction of natural, traditional identities and kinships. It's why corporate social media outlets are banning conservatives with hardly a pretense of due process, and rarely any evidence that terms had actually been violated. They only want the domesticated sheep. Free thinkers are too much trouble.

We can no longer be certain that the people around us share our values, or even that they aren't actively working as our enemies. If a Muslim immigrant moves into the neighborhood, you don't know if he's moved here because he loves America or he hates American and wants to commit a terror act. The government can't tell either, which is why the police state has grown enormously since 9/11. The cost of maintaining rule in an uncertain society is immense. The government must grow authoritarian until it exhausts itself or creates so much resentment that social unrest rises.

As our country grows increasingly uncertain, it also grows less capable of handling the growing complexity. By some measures, we have lost 10 average IQ since the 1960s. Education and academic institutions are too politicized to perform their tasks, even causing more harm than good in many cases. Scientists are consumed with materialism. Drug addiction is epidemic from coast to coast. In Europe, they were told that they needed immigrants because their weren't enough skilled natives to maintain the economy, which was only half true.

A society collapses when the people are no longer capable of maintaining the society they inherited. We are culturally collapsed, with economic and technological collapse currently staved off by massive, unmaintainable debt. As the systems start to falter, uncertainty will only increase, at the time that we are least capable of handling uncertainties. It's why things have a tendency to fail slowly, and then all at once. As times become increasingly uncertain, remember that your best chance will be to create a system that manages the uncertainty while ruthlessly cutting out extraneous complexity wherever possible.

No comments:

Post a Comment