2017-05-27

Why I no longer like libertarians

Bluntly: for the same reason I would not keep the company of Nazis, no matter how soft-spoken or well-mannered. Everyone with lethal political views thinks it's noble, and for everyone's best benefit.

I'm not speaking of libertarians in Slovenia. A Slovenian libertarian might want a more sensibly ordered country. She might want more sensible taxation; less economic nepotism; equal rules for everyone, instead of nationalist protectionism. She might want the country to develop more like Switzerland. That's a noble goal. I don't see anything wrong with Switzerland.

I'm not speaking of libertarian views on personal rights. People should be able to do what they want with their body. There should not be a drug war that incarcerates millions. I certainly agree with that.

I'm speaking of people who think "taxation is theft", and this makes them support an abhorrence such as the Republican "Affordable Care Act": legislation that aims to put health coverage out of reach for tens of millions of Americans with "pre-existing conditions". In other words, those who need health care.

This is to say: Let's not make insurance companies pay for health care of the sick. That would put an inhumane dent in their profits. For the sake of holy freedom – let's let them just pay for the healthy!

American libertarians defend this, and other things. Economically, American libertarianism is abhorrent.

It's not like the Slovenian kind. It's not about relaxing a government stranglehold on the economy. The US government does not have one. It's not about overcoming economic protectionism that disadvantages foreign investors. The US is already the world's foremost destination for everyone's money.

Libertarianism in the US is about dismantling most, or even all of the state, and replacing it with a do-or-die world, with zero institutional mercy. This is proclaimed in the name of freedom; and these views are held mostly by people who can see themselves thriving this way.

The median libertarian is a young white male who is doing fine, and expects to do better. If only he weren't dragged down by everyone else!

Much of it is naivety. Libertarians do not account for information asymmetry, which enables exploitative business models even in "competitive" markets. It does not account for the tendency of an economy to be monopolized by a handful of smartest, best-positioned people, at everyone else's expense. It does not account for how a real anarcho-capitalist world would not be a utopia, but more like Somalia, mostly.

An anarcho-capitalist in the US feels the price of civilization – the taxes, the rules – but he does not see the benefits, because they are ubiquitous and universal. It's like a fish thinking the ocean is oppressing it. It enjoys its brief jumps out of water; so it wants to leave the ocean, and aspires to live in the sun.

Libertarianism wants to reward everyone by their economic contribution – because people espousing these views can make one. But it turns a blind eye to all the ways people are disadvantaged:
  • Genetics. A person may be born chronically ill, disabled, or just plain untalented. Most people's average ability ceilings are unimpressive; these ceilings are limited by genes.
  • Parents. A person's parents or caretakers may be poor, neglectful, and emotionally and/or physically abusive. Any of this can lead to serious developmental derailment. This is a significant cause of mental disorders in adults, and substantially reduces many people's ability ceilings.
  • Bad luck. At any time, a person can catch an illness, or suffer an accident that's none of their fault, and end up paralyzed, disabled, or interrupted multiple times and for different reasons, so that their success is thwarted (e.g. a student's parents die, followed by serious illness).
Libertarianism usually does not offer a response. If it does offer a response, it's social Darwinism. Your parents are dead, or can't pay for your cancer treatment? "Aww, tough luck. I'm sure you'll pick yourself up by the bootstraps! That's what I did. My parents weren't rich. But look at me, doing just fine!"

It turns a blind eye to how, increasingly, everyone will be late to the game. In a mature economy, resources and means of production are already owned. A person who did not inherit assets has no choice but to prostitute themselves – metaphorically or literally – to asset owners for basic resources. This can work if asset owners are in need of labor. But the more the economy is automated, the less work there is. Ultimately, asset owners will need but a handful of employees, with everyone else as surplus.

The main motivator of libertarians appears to be "freedom". This "freedom" appears to boil down to:
  • Freedom of the libertarian to accumulate resources, based on rules of property and trade that favor people like the libertarian:
    • good genetics
    • middle-class parents
    • no sustained strokes of bad luck
  • The freedom to not share any of the accumulated resources unless they want to. If people die or endure hardship because they lack resources, it's their fault. They lost the game of property and trade – which incidentally favored people like the libertarian, to begin with.
This makes the libertarian, ironically, more entitled than people he might accuse of entitlement – people asking for "government handouts". Those who want "handouts" are not looking to have everything handed to them. They want a semblance of basic living. They want sustenance; basic health care; and some kind of opportunity for their children.

But the libertarian wants everything. Because he deserves it, goddammit. He already won the lottery of life in a number of ways, but is not satisfied with a good living. He wants to not be inconvenienced by others, who lost some aspect of the coin toss, and might need people like him to provide. He wants everyone to respect rules such that he, being in a position to do so, can grab everything. Meanwhile, people who are not in that position get nothing, and should be happy to die.

An American libertarian, ultimately, values his convenience over everyone else's lives. This is reflected in their attitude to health care (a luxury!), as compared to "freedom".

2017-05-24

Microsoft Office: Command Prompt window flashes every hour

It is current year, and Microsoft lets loose a bug like this in its flagship application.

There's no option but to keep Office up to date. It is not written in Rust, so it's afflicted by memory safety issues, so it needs to be updated as they are discovered. Otherwise, the computer is vulnerable to exploits. Even then you are still vulnerable, because there are unknown defects. But keeping a program like this up to date is not optional.

So I recently updated Office, and this weird window starts appearing on my screen. Whatever I'm doing - reading emails, developing, browsing - every once in a while a black console window would briefly appear. It would steal focus from what I'm doing, and close too fast to see what it is.

How to debug this?

I tried Process Monitor. This is an awesome tool, but somewhat unreliable. I hoped to keep it running to capture the Process Start event to identify the rogue window when it pops up, but it's not stable enough to keep running for hours.

So I opened Notepad and started writing down the times when I noticed the window.
  14:38
  16:38
  18:38
  19:38
Ah, that's a clear pattern.

Next day, I set an alarm to 11:35 to remind me to start Process Monitor just before I expect the window to appear. And there it is:



This is now enough to do a web search, and it turns out this is a problem people have been reporting since at least April 14 on the Office "Insider Fast" track.

Despite people reporting this problem, it has made it to release.

The pop-up is being run from the Windows Task Scheduler, using this task:

Microsoft > Office > OfficeBackgroundTaskHandlerRegistration

This runs a program named OfficeBackgroundTaskHandler.exe, which is a small program that seems to do approximately nothing. Except when it does something. Who knows?

It is possible to disable this task. What are the side effects of disabling it? I don't know.

It is possible to make it run as the SYSTEM account. The task will then run, and the pop-up will be hidden. But does the task still do its job properly then? What are the security risks of running it as SYSTEM?

It is disappointing that this issue made it live, and more so that it is apparently not a priority.

It's not that surprising, though. The pop-up annoys everyone, but few can find out what it is.

2017-03-21

Rust is beautiful

I've invested some time to learn in detail about Rust, which means reading the excellent online book here. And it is beautiful. It makes me wish I could pause the world for a few years, to convert some 500,000 lines of C++ that exist under my purview into Rust, and continue from there.

Rust seems to take all the little design lessons I've learned in 20 years of C++ programming, and consolidates them into one language:
  • It's not best that everything is mutable by default, and const if the programmer points it out. It's healthier the other way around.
  • The fundamental string type is a sensible, immutable string slice (in Rust, a &str). This is great for zero-copy parsers, such as nom. Our code has had that for a decade – I named it Seq, or SeqPtr. C++ is adding std::string_view in C++17.
  • Elegant built-in variant with pattern-matching (in Rust, this is an enum). C++ is adding std::variant in C++17.
  • Type traits solve the problems of abstraction and generics, providing both static and dynamic dispatch, in an apparently more elegant manner than C++ inheritance (which is dynamic-only) or templates (which are static-only). Traits seem similar to concepts, which for now (unfortunately) remains a glimmer in Bjarne Stroustrup's eye.
  • Universal function call syntax. Something else Bjarne would like to introduce to C++.
  • Macros. Gawd, better macros (though not ideal – too templatey).
  • And of course, the crown – which sadly can't be brought to C++: compile-time memory safety!
If I were to start a programming career right now, I would use Rust. Hands down. I wish our major operating systems – let alone software we use – could be rewritten in it.

2017-03-17

Limitations of Central-American pronunciation

OK, pet peeve.

We (probably) know how native English speakers have trouble pronouncing Spanish – and most other languages – in a way that doesn't sound silly. English uses Latin in legal contexts, and I personally cringe how it's pronounced. I was brought up on classical and ecclesiastical Latin pronunciation, and Latin pronounced by English speakers sounds like none of that. To me, it sounds most like pig Latin.

But interestingly, the vocal range of Central American Spanish speakers – in my experience, Costa Rican and Nicaraguan – is even more restricted. "How could that be?" you ask. "They can pronounce rolled Rs!"

Yes they can. But here are a few words that Central Americans I've met cannot properly pronounce:

EnglishCentral American
pizzaPronounced pixa.
shortsPronounced chor, as in "el chor" (masculine singular: short pants).
sushiPronounced suchi.
Marshall (the name)Pronounced Marchal.
MitsubishiPronounced Mitsubichi.
Yency (name)Pronounced Jen-see.
Jana (my wife)Pronounced either Hah-nah or Jah-nah, with a "j" sound.
Correct pronunciation, Yah-nah, has not been achieved by anyone.

To clarify – this is not just a style that speakers prefer, but can deviate from. They cannot:
  • Try to teach them to say "sushi". They keep repeating "suchi", with a clear "ch" sound.
  • Try to teach them to say "Yah-nah". They keep repeating "Jah-nah", with a subtle "j".
  • Try to teach them to say "pizza". They keep repeating "pixa", with a clear "x".
This is not even to mention the constant confusion between "b" and "v". In Central America, it's as though these two letters produce the same sound. They can't tell the difference.

Let me not get cocky, though. I can't really tell (or pronounce) the difference between č and ć.

And then there's Cantonese, where the word we'd spell maa has at least 5 very different meanings, depending on the tone of the "aa", and we'd catch none of them without training. :-)

2017-02-08

"May prosper all the nations"

Jana recently wanted to share with the world – or at least, Facebook – the Slovenian national anthem, because it is a rare hymn that doesn't over-celebrate national pride; or call for indiscriminate bloodshed; but instead...
May prosper all the nations
who long await to see that day,
when over Earth's creation
all fight and strife shall be at bay;
when all men
shall be free;
no devils, only neighbors;
no devils, only neighbors 'll be!
Alas, that's not a widely recognized translation. In fact, it's very new. It's... my today's take on it. If it sounds a bit archaic, like in "all men"... Well, the original was published in 1848. It's supposed to be!

The official translation, though... By Janko Lavrin, from 1954... It starts like this:
God's blessing on all nations ...
Cue screams from Jana across the hallway.

"Who saw it fit to insert a god in this?!"

The whole point of Prešeren's stanza is coexistence and peace; free of religion and ideology. Yet Janko Lavrin chose to go with a concept that has historically divided and killed.

To his credit, Janko didn't know this was going to be a national anthem. He died in 1986.

Oh, and by the way: today is Prešeren Day.


2016-12-19

Righteous predators

I have come up with a word. Righteous predators.

OK. It's two words. But the world is full of them.

Righteous predators are the opposite of sexual predators; but perhaps equally harmful.

Whereas sexual predators harm with physical abuse; by forcing sex on someone who doesn't want it; righteous predators harm with psychological and legal abuse, against people who violate their "morals". These violations are perpetrated, not to help anyone; but to achieve a sense of righteous gratification.

For example, you got raped, and are now pregnant? The righteous predator will prevent you from seeking an abortion.

Do you need to abort because the fetus is going to have a birth defect, and is not going to survive? The righteous predator will make you look at pictures of aborted fetuses, and force you into a formal burial.

If you are 13, and you're propositioned by someone who's 35, you are a victim of sexual predation. But if you're 13; and your first time is with someone who is 14; and you both think it was nice, and beautiful, and consensual; then it's the righteous predator who's going to tell you you are damaged, and speculate about sexual abuse that certainly must have happened to you, since otherwise, how could you have been interested in sex at an earlier age than 18.

If you're 17, and exchange naked selfies with a boyfriend of the same age, it is the righteous predator who is going to prosecute you both for possession of child pornography.

If you go to a swingers' club, where couples engage in consensual sex – it is the righteous predators who are going to raid it.

If you want to sell physical intimacy in exchange for money, it is the righteous predators who are going to put you in prison for it. And it's the sexual predators among the righteous predators who are going to force you to have sex with them for free; otherwise, they put you in jail.

Righteous predators are plentiful, and inflict emotional and physical harm. Many people suffer from it; much like many people suffer from sexual predation.

2016-11-29

The $20 billion puppy, and "The buck stops with you"

On further reflection of the $20 billion puppy, I realize I subscribe to a "The buck stops here" principle. Which is to say, a person is not responsible to seek out and eliminate all suffering. But when a person can stop wrongdoing in a decision that's in front of them, the person is responsible.

The law takes a similar point of view. If someone offered you $20 billion to torture and murder an orphan, and you did it, you're going to prison. It does not matter if you spent all of it to save millions of orphans elsewhere. Your responsibility is to stop the buck when the decision is in front of you.

When you realize that something is an important principle, it becomes increasingly hard to justify ever violating it. It's not your duty to seek out and stop all suffering. But if you integrate the principle that, when a buck is being passed, it must stop somewhere; and that it must stop with you; then violating this principle comes at the cost of integrity. Even if no one catches you, you know what you did. If previously, you did not have to lie to the world – now you do. But if you maintain honesty, then everyone knows that you are for sale. For a big chunk of money, you stepped on a puppy. What else are you happy to do?

Outside of the values we infuse it with, life does not seem to have an intrinsic meaning. In this sense, it is similar to an open-ended video game; a game such as EVE, or like World of Warcraft, which does not have an obvious goal. Your initial purpose is to explore the game. But once you've done that, what's your goal? If you pick one, then whatever it is – it gives meaning and fun to the game. But if you do not choose one, there's nothing; there remains no incentive to play.

So it is with life. There seems to be no intrinsic goal, but you have to choose one for yourself, otherwise it is pointless to live. If you have chosen goals for yourself; and one of them is that the buck stops with you; then violating this has an intrinsic cost that cannot be measured in any amount of in-game currency.

Your goal cannot be to stop all suffering, everywhere. That involves coercion. That is not entirely up to you. But you can make it your goal that the buck stops with you. And that is a principle worth defending.

2016-11-28

Rationalists and control fetishists

Let's talk about sadism.

Sadism is an expression of service-to-self. Service-to-self is a spiritual and philosophical orientation whose fundamental trait is that only one's own subjective experience matters. The conscious experience of other persons and creatures is not perceived to be a thing. Instead, such other creatures are perceived to be phenomena, which are judged in good shape if they serve the individual's self; and are in need of control and coercion when they fail to serve properly.

Sadism, in particular, is the enjoyment of the practical application of the methods of control and coercion, whose purpose is to obliterate the individuality of the other-self. The ultimate goal is to force the other-self to accept that it is only an object in the mind of the sadist. The sadist believes he or she is all that exists. Their pleasure is in taming you so that you too accept that they are everything. The climax of this experience for them may involve destroying you physically; but by far more important is destroying you psychologically. You no longer exist as a person, and the pleasure is when you're forced to accept this.

Now, consider Eliezer Yudkowsky. He is a self-taught polymath and an AI enthusiast who has single-handedly founded a rationalist community through his blogging with Robin Hanson on Overcoming Bias, and later started a quite successful offshoot in Less Wrong. Eliezer is concerned with optimizing the world, ostensibly for the benefit of everyone. He is also, I was told, a sadist – which he has kinda confessed:

BDSM didn’t exist in dath ilan. I don’t really know why. Maybe everyone in dath ilan who realized that they wanted to be hurt, categorized themselves as having the stereotypically nonvirtuous quality of self-destructiveness, and kept quiet about it, or met only other people who thought the same thing. I’m very worried, in retrospect, that they all managed to cure themselves via standard self-modification techniques. It’s *very* obvious that if I’d realized in dath ilan that I was a sexual sadist, I would have treated this as an error and probably not told anyone before I fixed it. It would not have occurred to me that sexual masochists were a thing or that I could find a willing victim to be sadistic at, I would have thought I was being sick and selfish. Having been to Earth, this strikes me as a genuine failure of dath ilan culture, and even worse, I have to confess it’s the sort of thing that Earth’s Hollywood Vulcan stereotype might lead someone to expect [...]

He writes fiction where he praises an imaginary rationalist culture, and their superior approach to solving problems. Yet he builds into it a complaint that they have also "solved" sado-masochism. He appears to think of this as a loss.

And then, he posts things like this on Facebook:




Eliezer may not realize it, but this only makes sense if you're already a sadist; if you're confused; or if you're trying to rationalize yourself into service-to-self, where you're the only consciousness that matters.

The fundamental problem with this is that $20 billion has no other use than to control what other people do with their time. In order to want $20 billion, you must have a desire to control.

Eliezer, of course, has this desire in spades, and so he thinks it's rational to assume that everyone else has it, too. But this is not the case. For most people, $20 billion is more of a curse. After they've catered to their whims – what does the average person know about using $20 billion responsibly? I wouldn't know how to use it.

If you ask most people if they want their mortgage paid off now, at no cost, I suspect everyone would say yes. The way we structure our economy makes almost everyone a slave. I can see how most people would step on a puppy in order to no longer be slaves. I can imagine plenty would do so, even as they beg the puppy's forgiveness.

But $20 billion is more than a personal liberation. Even one 10,000th of that – certainly one 1,000th – is sufficient. All of the rest is enabling control. If you already feel personally liberated enough, this whole situation is whether you're the kind of person who feels a compulsion to inflict their will on others.

Which Eliezer is. And he cultivates a following who are these types of people. And he encourages thought that justifies being this way, and rationalizes becoming this way even more so.

This is, fundamentally, the wrong type of person to be – if you want to live in a universe with other people. This is because, if you want control – this can ultimately only be had in a universe consisting of one person. As long as other people exist, they can do things to thwart your control. And you don't want the control just for kicks; you want it for reasons that seem existential. The ultimate end-game of this concept is a realm where one person dominates all others, to an extent that all other persons nearly cease to exist. And the way to this end-game is ever-increasing commitment to service-to-self: a direction of mind where your consciousness is the only thing that matters; and you come to perceive other people only in terms of their usefulness to you.

This includes people you love. It includes your partner and your children. At some point, it leads to the realization that loving people is in counter-position to your desire to control. Because love does not control.

The desire to control is rooted in fear. For Eliezer, this fear is existential. He has experienced a heart-rending death of his brother. So he seeks to eliminate death.

But the only way death can be eliminated is through control. And the only way a sufficient amount of control can be imposed is by de facto killing everyone's individuality. If one wishes to deny the ways we can put each other at risk, this extends to everything, including thought. Because thought can lead to words; and words can lead to actions; and actions can cause death. This can be negligent or intentional death of others; or suicide on purpose; or suicide through risky or unhealthy habits or drugs.

The result is a universe where death has been eliminated, but only because there is nothing left to die. There is only one individuality remaining. That of the controller.

There is another path, and it is at odds with control. It is to let go. Help other people if you can. Absolutely, if you can – research cures and improvements. But don't try to clutch. Love everyone to the extent that you can; accept things as they come and go. Grieve your loved ones when they leave; but also let them go. And then accept new ones.

Do not fear death. It is almost certainly not the end of things. But most of all: do not be too afraid to live.

Life is not about clutching things in a fist. You either open the palms of your hands, and accept what freely flows out and into; or you clutch what you're holding right now, and scare or squeeze most of it away.

If something fails to escape your grip, the squeezing for sure will kill it.

If you already believe you are free, there's nothing you can buy with $20 billion that's worth stepping on a puppy. If the things you want people to do are good things, they can already do them themselves. If they do not, there are reasons for this other than money, and words will go further than bribery. Billions can free you from perceived enslavement – but all you get beyond that is an exercise in the futility of control.

If your ideas to improve the world are so great, they will have an effect. It does not involve killing puppies. Unless we're talking clinical research – in which case, it might. But not just for no reason.

2016-09-26

Is the internet ready for DMARC with p=reject?

No.

DMARC is an email policy that builds on DKIM and SPF to provide a way for email senders to declare: "All email from this domain comes from this set of servers (SPF), and is signed using these public keys (DKIM)."

It's nice and well that we are finally able to do that, but DMARC comes with 3 modes of operation: p=reject, p=quarantine, and p=none. These modes suggest what a recipient should do if an incoming email doesn't match the sender domain's DMARC criteria, either due to signature failure (DKIM) or incorrect sending server (SPF). The default mode, p=none, boils down to "do whatever, maybe this helps you guess if the email is spam". The mode p=quarantine treats the email as spam, and p=reject is supposed to cause the message to be rejected at the point of ESMTP delivery.

Well, I tried p=reject, and it kinda works. Mostly. Except in the following situations:
  • If you send to any mailing lists from your domain. Your messages may be DKIM signed, but when the mail server forwards them, they will be sent by a mail server that does not have authority to send messages for your domain according to your SPF criteria. Message headers may also be modified so that the DKIM signature does not validate. This will cause your messages to the mailing list to be rejected by many subscribers at the point of ESMTP delivery. This in turn may cause the mailing list to frown on you.
  • If you send to anyone with a multi-layered mail server setup. In this case, your message is received correctly by the front mail server, which is configured to forward it to a back mail server. You cannot control this because it's a setup specific to the recipient and unknown to you in advance. But the back mail server is poorly configured to verify DMARC criteria, and rejects the message because it violates your SPF policy – from the perspective of the back mail server, it is coming from the wrong IP. The message may then be deleted silently, or sorted into trash.
This means you pretty much can't safely run a mail server with DMARC policy set to p=reject. For the same reasons that p=reject is not safe, p=quarantine also makes no sense. There's not much difference between causing your outgoing mail to be bounced and/or deleted, or causing it to land in spam.

DKIM and SPF are good ideas, but it's unfortunate that the policy has to be "none".

2016-09-08

Lock-step refactoring

This may seem obvious, but I am biased to avoid saying things that are obvious to me, and then things don't get said that are worth saying.

A nice thing about statically typed languages, like C++, is how you can use the compiler to help refactor.

Code often needs to be refactored. If it is not, it gets harder to fix issues and implement new features. When this happens, the temptation arises to throw the code away and write new code, but this is almost always a mistake. The correct process is to refactor code that works, to disentangle anything that needs disentangling, so that improvement becomes easier.

When there is existing code you can use, you should only ever write new code if you're willing to go through the entire years-long process of how it needs to work, and why it needs to work that way. Otherwise, use existing code, and keep improving it.

Refactoring is scary. It is scary because you have this hairy code, and you're concerned that any change you make to it will break it.

Behold, the beauty of a statically typed language. By leaning on the compiler, you can refactor in such a way that code will not compile until it is fully updated – and ideally, correct:
  1. Start with code that compiles and passes any unit tests you might have. Write unit tests if there aren't any. Focus on functionality you're worried about, and want to fix and/or preserve.
  2. For each modification you want to make:
    1. Find a way to make this modification so that the code will not compile unless all parts that need to take this modification into account are updated.
    2. Repeat the build as many times as necessary to identify all parts you need to update.
  3. When the code builds, if you used the compiler to aid you correctly, you should have found all the places that required updates. Unit tests should not fail because of missing an update. They should only fail if an update you made was incorrect.
For example:
  • If you change parameters accepted by a function, make sure no possible call using the previous signature will compile with the new signature.
  • If this cannot be achieved, rename the function, so that references to the old name will not build.
  • If you change the behavior of a function in a way that requires callers to update, change its signature in a breaking way, or change its name.
  • If you change the rules regarding a widely used data member, change its name.
  • If you change the rules regarding a widely used type, change its name.
Aspire to perform all changes in such a way that, if you're not 100% done, the code will not even compile. Don't make changes that allow the code to compile if you're only 1%, or 40%, or 99% done.

2016-08-28

Loyalty to group vs. principle

Principles, nearly by definition, are rules that when they are adhered to, lead to good results. Group loyalty, then – loyalty to specific preferred people over principle – necessarily produces worse results. The two are not the same, so to maintain loyalty to a group, one must depart from principle.

Countries differ on the ubiquity of group loyalty over principle. Prosperous countries tend to be more loyal to principle; shittier countries tend to have more loyalty to groups. It takes a prosperous environment to be able to afford to be loyal to principle, but loyalty to principle also makes a prosperous country. In comparison, people in shitty places feel like they need to be loyal to their families and local groups, but it's also the group loyalty – and lack of principle – that makes those places shitty.

You can find shitty subcultures where group loyalty dominates even in prosperous countries. Compare inner city ghettoes with the "snitches get stitches" mentality. Or the lifestyles of gypsies in Europe, whose loyalty is only to their group. Poor people often have high loyalty to family – because they must, their family is struggling – and this is what helps keep them poor.

To the extent that group loyalty exists among the elite – the rich, the police – it serves to bring down the rest of the country. Group loyalty among the rich results in an economy that benefits them, instead of most other people. Group loyalty among the police results in them mistreating, often killing people, and finding no wrongdoing among themselves.

It needs to be accepted as an ethical standard that people need to be loyal to principles. Loyalty to a group, ignoring principles, needs to be viewed as a form of corruption.