Archive for July, 2017

The Three Greatest Programming Links Ever

Saturday, July 22nd, 2017

I don’t call them that because someone else agreed, or because I anticipate someone else will agree. I call them that because when I first got started, long before any of them were in existence, these would’ve been the ones I really needed to see.

Still Drinking: Programming Sucks

All programming teams are constructed by and of crazy people

Imagine joining an engineering team. You’re excited and full of ideas, probably just out of school and a world of clean, beautiful designs, awe-inspiring in their aesthetic unity of purpose, economy, and strength. You start by meeting Mary, project leader for a bridge in a major metropolitan area. Mary introduces you to Fred, after you get through the fifteen security checks installed by Dave because Dave had his sweater stolen off his desk once and Never Again. Fred only works with wood, so you ask why he’s involved because this bridge is supposed to allow rush-hour traffic full of cars full of mortal humans to cross a 200-foot drop over rapids. Don’t worry, says Mary, Fred’s going to handle the walkways. What walkways? Well Fred made a good case for walkways and they’re going to add to the bridge’s appeal. Of course, they’ll have to be built without railings, because there’s a strict no railings rule enforced by Phil, who’s not an engineer. Nobody’s sure what Phil does, but it’s definitely full of synergy and has to do with upper management, whom none of the engineers want to deal with so they just let Phil do what he wants. Sara, meanwhile, has found several hemorrhaging-edge paving techniques, and worked them all into the bridge design, so you’ll have to build around each one as the bridge progresses, since each one means different underlying support and safety concerns. Tom and Harry have been working together for years, but have an ongoing feud over whether to use metric or imperial measurements, and it’s become a case of “whoever got to that part of the design first.” This has been such a headache for the people actually screwing things together, they’ve given up and just forced, hammered, or welded their way through the day with whatever parts were handy. Also, the bridge was designed as a suspension bridge, but nobody actually knew how to build a suspension bridge, so they got halfway through it and then just added extra support columns to keep the thing standing, but they left the suspension cables because they’re still sort of holding up parts of the bridge. Nobody knows which parts, but everybody’s pretty sure they’re important parts. After the introductions are made, you are invited to come up with some new ideas, but you don’t have any because you’re a propulsion engineer and don’t know anything about bridges.

Would you drive across this bridge? No. If it somehow got built, everybody involved would be executed. Yet some version of this dynamic wrote every single program you have ever used, banking software, websites, and a ubiquitously used program that was supposed to protect information on the [Internet] but didn’t.

All code is bad

Every programmer occasionally, when nobody’s home, turns off the lights, pours a glass of scotch, puts on some light German electronica, and opens up a file on their computer. It’s a different file for every programmer. Sometimes they wrote it, sometimes they found it and knew they had to save it. They read over the lines, and weep at their beauty, then the tears turn bitter as they remember the rest of the files and the inevitable collapse of all that is good and true in the world.

This file is Good Code. It has sensible and consistent names for functions and variables. It’s concise. It doesn’t do anything obviously stupid. It has never had to live in the wild, or answer to a sales team. It does exactly one, mundane, specific thing, and it does it well. It was written by a single person, and never touched by another. It reads like poetry written by someone over thirty.

Every programmer starts out writing some perfect little snowflake like this. Then they’re told on Friday they need to have six hundred snowflakes written by Tuesday, so they cheat a bit here and there and maybe copy a few snowflakes and try to stick them together or they have to ask a coworker to work on one who melts it and then all the programmers’ snowflakes get dumped together in some inscrutable shape and somebody leans a Picasso on it because nobody wants to see the cat urine soaking into all your broken snowflakes melting in the light of day. Next week, everybody shovels more snow on it to keep the Picasso from falling over.

There’s a theory that you can cure this by following standards, except there are more “standards” than there are things computers can actually do, and these standards are all variously improved and maligned by the personal preferences of the people coding them, so no collection of code has ever made it into the real world without doing a few dozen identical things a few dozen not even remotely similar ways. The first few weeks of any job are just figuring out how a program works even if you’re familiar with every single language, framework, and standard that’s involved, because standards are unicorns.

Naming Cats is Easy, Naming Blogs is Hard: Programming Metaphors You Need, Part 1 of Birds

Some years ago, my mother was sick in bed, and the family cat, apparently feeling she needed perking up, went out and got the best present it could think of. It hunted vigorously for hours, and exercising all the smarts and power it could muster, it found the perfect thing, and brought it back to my ailing mother.
My mother, awoken from fever dreams to find a half-dead bird in her bed, was not appreciative. Actually, she was more horror-struck. There was shrieking. Cat and bird were both banished summarily.

My mother and the cat both sulked for days, furious at each other for the cruel way they were treated when each had behaved as well as one could possibly hope for.

I myself have had an eerily similar interaction with a programmer who proudly showed me a feature which he thought was incredibly useful, and which had also been very tricky to implement. He was outraged to discover that I did not adore it. In fact, my first response was to ask how to turn it off, out of fear that I would trip it accidentally.

He felt that I was unappreciative, resistant to change, and failed to appreciate how life-changingly useful this feature would be. (Our disagreement was not improved by the fact that it was possible but not practical to disable.)

He did have at least one thing right; unlike the half-dead bird, it proved unobtrusive. In 10+ subsequent years of using software of the appropriate type, I have never once wanted this feature, and have often been in situations where it would have been dangerous, but I did successfully use his version for several years without accident. I’m sure he continued to enjoy it, and his [virtuosity], to no end. I just wish he hadn’t given it to me.

Software is often full of dead bird features. It’s not valuable because it was difficult to implement, or because it makes developers happy; it’s only valuable if it makes the users happy. Save the dead birds for those who appreciate their excellence.

Edited to add:

It’s not just programmers that come up with dead bird features, of course. For instance, the ultimate dead bird feature is almost certainly Clippy, the animated paper clip that used to offer to help you with your Microsoft Word documents. It was a masterpiece of technology, lovingly crafted, and beloved by its audience. But lots and lots of people found it not merely unattractive but actually repellent. There you were, working away, when AARGH! your eye was drawn to an animated paper clip, actively trying to distract you from your work in order to offer to help you do something you had no interest in.

And, finally, there is the wisdom of Scotty: Never tell the boss how long it’ll really take! I am sure the kids at work, who think of “bald Captain” Star Trek as the “oldest” one, are beyond weary of hearing me quote this one & exposing myself as the only one in the room who sees the humor…yup…all those episodes, “I canna change the laws of physics!!,” Scotty was just fudging…

I have only two things to add myself.

The job is to define behavior. That is the job. This means, as some wizened sages have observed, there is a necessity for those new to it to “change the way you think.” That’s true, because the job involves defining something, and until the necessity arises a lot of us don’t have to define much of anything at all. You see this in babies. If they get what they want by just making illegible noises, that’s what they are going to learn how to do. If they’re forced to articulate exactly what it is they want, and until then they don’t get it, they become more skilled in their vocal expression. That is learning to define. This stuff we call “code” is merely the medium through which definition is done. Most debates about programming languages are counterproductive, and most programming languages hurt the industry as a whole, because by adding themselves to the growing collection of languages they do injury against the progress of defining. Just like with the spoken word, changing the language in which an idea is expressed doesn’t do anything to improve the idea. Do you really need to switch? The code you’ve written already is an asset; it is the only product in existence, after your investment of time. “How many lines is your code” is a metric that might offer a clue about this, although not a decisive one. “Is it easy to read?” is a consideration, in the sense that a programmer familiar with it shouldn’t be given a reliable first impression that is the direct opposite of what it really does. As the language evolves, it should maintain backward compatibility as it does so, so that the code written already is treated like an asset. Which is what it is. So, there should be assurances to this effect. Guarantees are better than assurances. I suppose a parchment document signed in blood would be better than a guarantee. Regardless, the best definition of a “wrong language” being used is, oopsie, this compiler or interpreter is now on rev X which doesn’t support programming construct Y anymore, so you need to go demolish/reassemble. Yeah. While you’re doing that, switch languages because that was the wrong one. Then nuke it from orbit.

With regard to Captain Scott’s parting quip, I guess by choosing that as the punchline the scriptwriters are trying to fulfill a social obligation they’ve perceived after reading about these generations of engineers who got into the industry in the first place because of “Scotty.” And so they seek to mold and shape the next generations to come. Well…let me say my piece to them. Again, the job is to define behavior. That means, it is not for “people to think of you as a miracle worker.” So-called “engineers” who make it their goal to do that, don’t build a lot. They spend more time in the e-mail client than in any development-environment tool, and their energy goes into molding and shaping public perception. Which is not without value. But…read the thing about the dysfunctional team of crazy people building the bridge. When people start calling me a miracle-worker, I get nervous. The way a husband gets nervous when his wife starts getting all excited about how he’s going to get her the perfect birthday or anniversary present, and he hasn’t got the slightest clue what that is. It is the gathering storm of high expectations. Remember, even Scotty doesn’t believe in those. He’s adamantly opposed to telling the Captain how long it’ll really take, remember?

Words Really Mean What They’re Supposed to Mean

Friday, July 21st, 2017

Ann Coulter raises a great point here. I know this for sure, because it’s a point I’ve raised a number of times myself.

If the argument is sound, and the argument is made up of a bunch of words that are well-defined…but, the words are not being used to represent what they’re supposed to mean. Then, the argument isn’t sound at all.

There is no truth in any discussion of Obamacare. Currently, the most persistent lie is the claim that — according to scoring by the CBO! — 22 million Americans would “lose” their health insurance under the Senate health care bill. Turn on the TV right now and you’ll hear someone saying this.

“A new (CBO) budget score said 22 million more Americans would lose health coverage under this plan …”

— Poppy Harlow, CNN, June 27, 2017

“A score from the Congressional Budget Office … said the Republican bill to kill Obamacare would kick 22 million Americans off their health insurance.”

— Rachel Maddow, June 27, 2017

“The clock is ticking on the Senate health care bill as the CBO estimates 22 million people will lose their insurance.”

— Chris Hayes, June 26, 2017

HELLO? REPUBLICANS? ANY OF YOU GUYS WANT TO REBUT THAT? IT’S PRETTY EASY TO DO!

The actual CBO report says nothing of the sort. People citing the “22 million” figure didn’t read past the CBO’s headline-grabbing paragraph at the top of the “Summary” page.

In fact, the CBO merely estimates that — in the year 2026 — 22 million Americans who otherwise would have been forced by the Obamacare penalty to buy health insurance will choose not to buy insurance once the penalty is gone. By “people thrown off their health insurance,” liberals mean: “people who voluntarily decide not to have health insurance.” (More accurately, “people who choose not to prove to the government that they have health insurance.”)

To use the word “lose” here is absurd. It would be like saying that Nixon ending the draft meant that 50,000 American men would “lose” their military service. The poor lads would be forced to volunteer.
:
Redefining words like “insurance” and “lose” to mean whatever the speaker wants them to mean makes human conversation impossible. We can still grunt, howl and shiver when it’s cold, but we will no longer have the ability to communicate slightly more complex thoughts to one another.

The only solution is for the rest of us to impose a broken windows policy on the truth, demanding it in every walk of life. If liars continually get away with it, their lies will only become more preposterous and more enraging.

Illegal aliens are not “undocumented immigrants.” They’re not “immigrants” at all. Immigrants wait in line and jump through hoops to be here. They are invited, by us, to come. Illegals cut to the head of the line whenever the mood strikes them, without waiting for an invitation.

When you have a “reserved seat” on Delta, it means you expect to be given that seat and not have your ticket snatched from your hand, then moved to a worse seat — only to get abused on social media by an imperious corporation for talking about it on Twitter.

It’s a matter of priority, the way I see it. We may, en masse, opt to delegate interpretation of the very simple concept “he or she chose this” to just a few wise pundits among us…because, reasons. Or something. But it’s bat-shit crazy to delegate it to people who care nothing about that concept, who seemingly cannot even comprehend it, a bunch of over-opinionated loudmouths to whom it is meaningless. Why would we do that?

But of course, such a rhetorical question assumes pristine motives on the part of those whose mental cogs are stripped, when it comes to interpreting and applying this simple concept. That isn’t the real problem. The real problem is they’ve been willingly deceiving, commonly called lying. Bad on them.

Getting away with it, too. Often. Bad on the rest of us.

Memo For File CCV

Thursday, July 20th, 2017

It feels like lying. Whenever someone who is unacquainted with & non-invested in the ideological battles going on, wants to know the difference between conservative & liberal. You have to stay away from the egregious character issues caused by liberal ideological leanings, because you can take it to the bank that your uninformed-but-learning centrist person, when he asks liberals about conservatives, is being told exactly the same thing about you. And if they’re being honest about this uninformed-but-willing-to-learn status, and getting the same story from both sides, you know what that looks like…

So you must avoid the issue. But — if the question is “What is your Number One, hill-I-wanna-die-on reason for not being a liberal?” that’s the honest answer. Liberalism turns people into raging butt-holes. You become a liberal, some other liberal says something clearly wrong-headed and/or deceptive, you’re obliged to defend it. We saw it all of the time. We saw it with Bill Clinton and the Lewinsky matter. We see it with ObamaCare.

Nevertheless…if it is so predictably true, we can afford to leave it unmentioned I think. If the audience is receptive, honest, truly willing to learn, able to do so, then they should see it.

My favorite alternative has come to be something like this: Liberals think human behavior is determined by one’s environment. Conservatives think it is driven by incentives. There should be ample room for overlap, since environment determines incentives — but, clearly, there isn’t. The question you need to be asking yourself as you do your learning, is why that is.

And if I’m feeling charitable, I might throw in a clue or two. It’s got to do with how close to perfection, human behavior can ever become, even under ideal circumstances. It’s got to do with those naked people in the garden eating an apple. And, with why conservatives don’t stay tuned in very long when you discuss how to add this tweak or that tweak to environmental things.

There is the matter of abundance and scarcity. Liberals retain their interest in what these do to human behavior, and include them in their tweaking. But they get it completely backwards. By way of example, I recently went on Facebook and let loose with a list of warning decals I wanted to see on movies. I included in this list — although it had nothing to do with my tantrum (it was actually stoked by a French production with English subtitles) — the gay genre. I’m not gay; I’ve got me a good woman who’s never going to drag me off to some gay movie, at least not unless it’s got something else unrelated, super-appealing, that’s going for it. I’ve got tons of gay co-workers, but no relatives or friends who are so close that this would do anything for me. In short, I’m out of the intended audience. And I think the whole thing is stupid anyway. We don’t have a “people who are left-handed” genre. Right?

Well, this ignited a Moral Crusade Of One, who proceeded to opine that I’m against science and reading, because these pursuits are all faggoty. I guess that might’ve worked if this was a public post, but among friends, anyone who knows me even slightly, this looks like what it is. A smear job. It fizzled. Dug its own grave, tumbled in and took the dirt nap. I proceeded to piss on the remains with,

I pray I’m never as weak and sensitized as liberals seem to want gays to be…as they seem to think they are…

I would have to perceive my entire demographic as being “oppressed” if there’s anybody anywhere who, for whatever reason, doesn’t want to watch movies about my lifestyle. That’s quite weak. I’m not sure reality even supports that magnitude of weakness. Anywhere.

Of course, liberals don’t really think homosexuals will commit suicide, en masse, if there isn’t this massive but insincere outpouring of weeping support for the “gay genre,” or if every other comic book character & cartoon character isn’t transformed overnight into a gay version of its former self. They’re just virtue signaling…which, with me, is the core issue. I think V.S. is evil. I think that because I’ve been paying attention to what happens when people do it. Particularly, the outcome. It’s never good.

I think people are trying to get rid of their Original Sin when they do this. Trying to un-eat the apple.

But then they want to affect the behavior of their fellows, for the better. The abundance and scarcity thing, again. You’re not going to turn gay-haters into gay-lovers by surrounding them with gay stuff. The same is true of eco-cups, solar panels, windmills, smart cars…

This is an essential ingredient of liberalism, I’ve noticed. Being out of touch with human nature, and the way it actually works. Ramming something down someone’s throat, sorry if the metaphor inspires vulgar imagery, doesn’t motivate people to start liking things. It has the opposite effect.

Seattle’s Minimum Wage Study

Thursday, July 20th, 2017

Aw gee, well would you look at this

Last month, a group of scholars commissioned by the city of Seattle to study the effects of hiking the minimum wage struck a blow at the national “fight for 15” movement.

Their findings, which were widely covered in the media, showed that Seattle’s $13 minimum wage — part of a gradual increase to $15 — had all the negative effects that opponents of the policy feared. Low-wage employees had their hours cut by 3.5 million in a single quarter, costing more than $120 million in lost wages. The average worker lost $1,500 of income per year, hardly something those struggling to support themselves or their families could afford.

When faced with this data, even left-leaning publications such as Slate questioned whether the “fight for 15” had gone too far and was hurting those it was intended to help. So what did the Seattle City Council do? They killed the messengers and stuck their head in the sand.

It turns out that Seattle stopped funding the University of Washington research team led by Jacob Vigdor last fall, after the council had seen preliminary results. (The contract was supposed to run for five years, but it relied on annual appropriations for funding.)
:
While human bias and cognitive dissonance are nothing new, the council’s blatant disregard for any viewpoint or data that contradict their preconceived worldview is astounding. But should it be? Studies have shown time and time again that a lack of ideological diversity leads to groupthink. And groupthink is prominently on display in Seattle.

City-council member and avowed socialist Kshama Sawant, for example, once assured attendees at a council meeting that she had no Republican friends — to rapturous applause from the liberal crowd. She also defended the council’s moves regarding the minimum-wage study, saying, “The moment we saw it was based on flawed methodology and was going to be unreliable, the Vigdor study no longer speaks for City Hall.

Now if you follow the link about the funding being stopped…

The single line item in the budget is now coming under scrutiny due to a flap between the researchers and city leaders over a report released on Monday that suggested Seattle’s groundbreaking minimum wage law is hurting workers. Fox News first reported the declined funding on Thursday; that story quoted Councilmember Kshama Sawant, who has long quarreled with the UW researchers, as saying the decision was due to dissatisfaction with the way the research was being conducted, and not the results.

“The moment we saw it was based on flawed methodology and was going to be unreliable, the Vigdor study no longer speaks for City Hall,” Sawant told Fox News. Sawant was referring to Jacob Vigdor, the lead researcher on the study team.

Sawant? She’s the “avowed socialist” mentioned in the National Review article. Hmmmm…

When the city passed its wage law, which is incrementally increasing the minimum wage to $15 an hour, it also put out a request for proposals for a research team to study the law as it is implemented. The UW team won that contract, though it did not come with a set amount of funding and instead depended on annual appropriations from council. For example, for 2016, the UW team requested, and was given, $135,700 to interview workers and business owners about their experiences with the law. This budget cycle, similar requests were made—$140,000 for 2017 and $105,000 for 2018—but were not fulfilled.
:
Sawant, who holds a Ph.D. in economics and taught economics at at Seattle Central, and others have taken issue with the ongoing UW study for a variety of reasons. Among them is the team’s use of a “synthetic Seattle” where there was no minimum wage increase—against which the researchers compared real-life Seattle. In the most recent study, the synthetic Seattle led researchers to suggest the higher minimum wage has cost the city 5,000 jobs. Other researchers have said the team’s methodology was deeply flawed and could not be trusted, though the research has also been lauded as “very credible.” Sawant has also bristled at some of Vigdor’s public statements about the minimum wage law. For example, last July he told KIRO Radio: “We think the minimum wage is actually putting a little bit of a drag on the Seattle economy, and holding back growth and jobs and hours. When it comes to incomes, at the end of the day we are finding effects that are pretty small, and we are not sure if they are negative or positive.”

“To be clear, I am not challenging the substance of your core findings, but rather the manner in which they have been presented in the report and misrepresented in the press,” Sawant wrote Vigdor in a letter last September.

Well…unfortunately, to anyone familiar with the “group think” mentioned way up above, that’s not going to be very clear at all. We know too much.

In fact, that may be one of the most unkind things we do to the kids just graduating and entering the world of adulthood…leading them on, like what you see above is an exception rather than the rule. Government funding science is a lot like the airplane pilot telling the traffic control tower all about which runway looks like a good fit for him…

Kiddie Table News

Sunday, July 2nd, 2017

I can be fairly criticized here for being slow on the uptake, I’m sure. But it occurs to me, as I look over the events of this last week, that the entire first half of the year has been not too much different and the second half will not likely be much different either. I’m talking here, specifically, about the overall configuration of the news and not about the content of any one particular story. That’s an important distinction. The latter is about what’s happening to us, and the former is how we choose to process what we learn about these events, which ultimately says something about us. There’s that fired doctor who shot up the hospital in the Bronx, the plane that crashed into the 405, the further embarrassment of the mass media and of those who enabled them and assisted them in their downfall & disgrace; there is that terminally ill baby boy who can’t come to the United States for potentially life-saving treatment, because of the ruling of a Death Panel, and the Vatican’s utterly disheartening statement on the matter. There is the weekly accumulation of slander against anyone who seriously thinks about, or fails to properly oppose, any minute alteration of ObamaCare. The House of Representatives passed Kate’s Law and the Sanctuary City Law, although neither of those is expected to survive the Senate, but there was a whole stack of Supreme Court decisions. Perhaps the most notable among many was the unanimous vote to reinstate PDJT’s travel ban. Facebook getting in the censorship business. Trump turned out to be right about non-citizens voting in our elections.

(Videos auto-play obnoxiously behind some of those links, I’m too lazy to annotate for you which ones. Happy hunting.)

And then there are all the nerd-slap-fights surrounding Trump’s tweets. There’s a Pareto Principle on steroids here, since 20% of the news is commanding 80% of the attention. You know the people lavishing the attention on the silly stuff agree there is something terribly wrong about all this, they’re blaming you-know-who. Gosh, I had no idea that when I write stuff, it’s all up to me to decide how much attention people would pay to it. Here was me thinking my role was limited to putting stuff together & putting it out there, or not. Ah, maybe I have to get elected President, then stay up late at night putting out these “tweets.” When people decide adult-living is too much trouble and they’d rather root for one side or another in my tweet-battles, it’ll be all my fault, too. But first I have to get 270 electoral votes…

Trump's TweetsI said the entire first half-year has been like this, and I’m talking about configuration of news, not content. See the concern now? We have…news that has the potential to seriously impact the lives of fellow humans and countrymen, or has already. And then we have Trump’s tweets. Kiddie table news, I’ve taken to calling it…because it has that feel about it. You remember the kiddie table, don’t you? Your parents, and their parents and/or brothers and sisters and in-laws, or the adult neighbors from up & down the street, would dine at a “real” table that had ribs and chicken and mashed potatoes and beer and wine, and you & the rest of the juniors would sit there at the kiddie table feasting on hot dogs and mac-n-cheese. Big news, back when I was of that age, might have been about Watergate or maybe Vietnam. Little kids weren’t expected to be into that stuff, just like you wouldn’t expect a six-year-old today to have a lot of opinions about a Supreme Court decision. Possibly the travel ban, maybe. Campaign finance reform? Probably not.

If you can’t remember back that far, you can probably remember the early days of parenthood; the begging and pleading and bribing and blackmailing and threatening over three or four lousy stinking forkfuls of corn. “Special occasions” such as a family dinner or neighborhood repast might have represented, to parent & child alike, a reprieve from the burdensome ritual. FINE, let the little ingrates pig out on their grilled cheese sandwiches…

So it is with our news. And I guess for the time being, it has assumed a position with some relative permanence to it. Rather like a spinning coin on a table top, losing its inertia, flattening its pattern of motion accompanied by a sound that increases in volume, until the whole thing flattens and motion ceases. Yes, exactly like that. U.S. news has found its “resting place.” An adult table and a kiddie table, the latter is where you go to obsess over “Trump’s tweets.”

Except the analogy breaks down with the passage of time. Real kids dining at a real kiddie table, 24 hours later, will be compelled to eat their peas with a boot in the back of their necks, if necessary. The premise was that the little darlings could skip ONE night without roughage or Vitamin C, without ill effects, right? One night, not two. So tomorrow it’ll be steamed broccoli, and the clean-your-plate rule will dominate, come what may. Not so with our consumers of kiddie-table-news and their obsession over “Twitter is beneath the dignity of the office he holds.” Oh, how awkward the social-media conversations become, when the obvious question surfaces: “What are we to do about this?”

They seem to honestly think every POTUS in our nation’s history was some angelic figure. It’s adorable.

Woodrow Wilson was a segregationist. Wonder what he’d tweet. WWWWT?

There is a tragedy here. Or, at the very least, a lost opportunity. If the kids could back away from the mac-n-cheese for just a minute or two, maybe visit the grown-up news table for some more mature fare…let’s take baby steps, maybe a tiny thin slice of meatloaf drowned in ketchup? Then we could all benefit from an adult discussion about what the presidency really is. The mental-juveniles seem to fancy it as an elevated pedestal, into which we hoist the one saintly pristine individual who is the very best of all 330 million of us. Where do they get this? Maybe we can blame the public school system.

Nope. All 44 men had flaws. They were all blights against the rest of us. Furthermore, that’s part of the job. If we have a bad one, in theory that means we deserve to have a bad one. Probably in practice, too.

See, the Obama fans can’t take it that far; can’t inspect it this much. If Trump is a nutburger, that means he’s our nutburger. Just as Obama was our nutburger. We’re not Gotham, so we get the hero we deserve, not the one we need. That’s how it’s supposed to work. The President reflects the rest of us, wart and all. The wart, with Obama, was virtue-signaling; we got this stuck-up, snooty adjunct professor guy who never had a real job in His life, because He had dark skin and a bunch of our fellow citizens wanted to prove they’re not racists. With Trump, it’s impatience. The boat had to be rocked. And you know what, seeing what has to be done and doing it, is not a vice. Whereas, virtue-signaling is. It’s led to all sorts of destruction and evil.

So you have some idea of how the conversation might proceed. Perhaps that’s why the kids are staying at their table, NOT having any discussion about what’s really supposed to be bothering them…just obsessing over it repeatedly. Uselessly. Grousing like little kids.

It seems they have not sufficiently matured to the level required to really think about this, and recall: The last guy who was supposed to put a stop to the Obama agenda, was exceptionally well-mannered. Exceptionally! In all respects. And this all speaks well for him personally…but, it didn’t work. So the next candidate was rude and crude. This worked, for a number of reasons, not the least of which is this ever-present impudence which sustains a “punch back ten times as hard” policy.

Those who pulled the lever for him, are supposed to feel shame? We don’t. Or at least, this one doesn’t. But I know I can speak for others, I’m not the only one. It’s not like we gravitated toward the boorish manners. We gave the refined behavior a good, solid shot. We did. It’s a matter of record.

It’s not approval of the rudeness or crudeness, it’s approval of the solution to a problem that actually works. You know…welcome to the adult table.