At a coworker’s suggestion, I’ve been using the Inconsolata-g font for the past 24 hours in my IDEs and Terminal. It’s a beautiful font and it’s free. I recommend checking it out.

A Textbook Example of Political Correctness from BBC 

An authorless entry from BBC an hour ago:

“The FAKE NEWS media (failing New York Times, NBC News, ABC, CBS, CNN) is not my enemy, it is the enemy of the American People!” the president wrote on Twitter.

The reaction was swift. “Every president is irritated by the news media. No other president would have described the media as ‘the enemy of the people’”, tweeted David Axelrod, a former adviser to President Barack Obama.

Here’s what we’re to learn from this article:

  • If a bad guy says something (e.g. Stalin), that automatically makes it wrong. End of discussion.
  • Even if there are conceivably enemies of the American People, we can never ever admit that because it’s not very nice, it’s politically incorrect.
  • When Donald Trump tweets something, analyzing the truth claims in it comes secondary to seeing whether or not people on Twitter don’t like his opinion. After all, since there is no God and therefore no truth, we can only get guidance for right and wrong from the herd, not from any sort of objective reality.

Obviously BBC didn’t like what Trump tweeted, but the way to attack the tweet is by analyzing the truth claims first, and BBC didn’t do that. Instead, BBC failed to admit even the possibility of enemies existing, and even the possibility of calling out those enemies publicly. After all, Stalin did that once, so it can’t possibly be ok.

What Political Correctness and Racism Have in Common

Jacob Clifton has written a thought provking piece at Buzzfeed about the downfall of Felix Kjellber:

First, The Sun isolated audio from a video in which Kjellberg uses a racial slur during a particularly celebratory moment. A few days later, a steadily increasing propensity for referencing Nazis, Hitler, and anti-Semitic topics – the Wall Street Journal counts nine – exploded, in a sketch in which Kjellberg hired a pair of men in India to hoist a banner calling for the death of all Jews (a request that Kjellberg maintains he never thought they would carry out).

Political correctness is failing to say something that’s true, or saying something that’s untrue, to protect a guilty party. A couple of examples of political correctness:

  • You’re statistically just as safe among all racial groups in the United States.
  • Islam is just as good of a civilization and culture as Western civilization and should be as an equal.

Political incorrectness is a willingness to face the truth regardless of the cost and regardless of who it offends. Our nation needs more political incorrectness. Until we are willing to face reality, we’re hallucinating a narrative that has no connection to reality, to borrow a phrase from Scott Adams. You can never fix a problem that you deny exists. A civilization that doesn’t face its problems will not survive; I’d even go so far as to say that it doesn’t deserve to survive.

What Felix Kjellber is exhibiting here is not political incorrectness, however. He’s not boldly facing reality and telling it “like it is.” Instead, he’s being a racist. There’s a very clear line in the sand between willing to face the truth and being a racist. The two things have nothing to do with each other, and anyone who conflates the two is only serving the side of racism.

Political correctness and racism have this in common: they don’t care about what’s right and true. They focus on identity, not on behavior. They deny that something can be disproven by actions and character. They insist that you can rightly come to a conclusion about a group of people based simply on what you think, rather than what reality tells you. The politically correct person says, “No matter how much evidence you give me of the horrid treatment of women in Muslim countries, I will still be a feminist and praise Islam as a great religion.” The racist says, “No matter how much you tell me that this Christian from Syria is a nice person, I reject him for the simple fact that he’s from Syria, and nothing good can come out of Syria.”

When you stop and think about it, political correctness and racism are two sides to the same coin.

Next time you hear someone say or do something racist under the guise of being political incorrect, send them this link. The two things are not one and the same.

What Were You Expecting with a Trump Administration? 

Scott Adams:

I don’t know what you expected when Trump went to Washington, but it isn’t too different from what I imagined. I assumed there would be broken dishes. And I assumed it would take him months to get his systems in place.

The thing that makes Scott so comforting to read is that few things seem to take him by surprise. Amidst the chaos, it’s comforting to know that Trump’s administration is going more or less as expected for someone.

What Happens When You Take Michael Flynn’s Resignation at Face Value?

I’m not here to apologize and make excuses for Trump’s every turn, but let’s look at a couple of things about this Bustle article. First, I’m sure Trump’s really busy getting more accomplished in his first weeks of office than any other president, but even still, he shouldn’t go on the record saying that he’s had more electoral votes than any president since Reagan. That’s sloppy. Trump needs to be more careful with his facts. Still, as cringe-worthy as this is, I don’t think Trump would have made this claim if he’d known the facts. In other words, this isn’t communist propaganda. This is a businessperson turned politician, in a flurry, too busy to even spend the 10 seconds to do a few Google searches on his antiquated Android. Right now Trump is a man too busy to flush toilets. These nit picky journalists have never owned a business in their life and they literally don’t have a clue what it’s like to be this level of busy. I’m not saying Trump’s incorrectness is ok or shouldn’t be called out, I’m just giving you a new filter to view this through.

But the real thing to talk about is the Flynn story, because that one is important. This Bustle article links to a tweet by Sopan Deb:

As I read Trump’s first answer on Flynn, I’m still confused as to why Trump asked for his resignation:

It’s curious that Sopan is completely bypassing the simple act of taking Trump’s answer at face value. Oh, we know Trump’s lying, but since we know he’s lying, his answer doesn’t make any sense, and so now we’re confused. What??

Picture a conceivable universe where Trump’s actually telling the truth. In fact, put yourself in his shoes, assuming that the narrative he’s been telling is true. Here’s the sequence of events:

  1. You’re accused of having ties with Russia that you know are false.
  2. Your National Security Advisor has calls with Russian officials and he misleads your vice president into believing that certain things were not talked about. Those certain things not talked about are 100% legal, by the way. He simply denies that those perfectly ok things were discussed.
  3. Your VP goes on the record to the press with this factually incorrect knowledge.
  4. The incorrect nature of this narrative comes to light.
  5. You’re already under suspicion of having secret ties with Russia. You know they’re not true. You want to keep things squeaky clean, so you ask your National Security Advisor to resign.

What is it about this narrative that is confusing to Sopan? If Sopan were in Trump’s shoes, would Sopan not ask Flynn to resign under these circumstances?

What Trump is saying makes perfect sense if he’s telling the truth and you take him at face value. We have no proof whatsoever that Trump has willfully deceived the American people. Maybe we’ll get proof, and if so, then that changes everything. But only until then, the real babies in this story are the gullible media who are believing in this Russian conspiracy theory. It makes no sense whatsoever.

Rarely Is It This Black and White 

CNN’s Stephen Collinson:

Trump was repeatedly pressed on whether his campaign staff had been in contact with Russia, as a widening drama over his alleged connections with Moscow dominates news coverage.

“Nobody that I know of. How many times do I have to answer this question? Russia is a ruse. I have nothing to do with Russia. Haven’t made a phone call to Russia in years,” Trump said.

“I own nothing in Russia, I have no loans in Russia, I don’t have any deals in Russia,” Trump said. “Russia is fake news.”

Either Donald Trump is lying and should be impeached on grounds of treason, or else the majority of the major media has jumped the gun and falsely lead people to be suspicious of something that has zero grounds. There is no middle option here at this point. Rarely do you see things so black and white. I’m on the edge of my seat to see how this plays out. I’m suspending judgement until the matter has seen a conclusion, because I have no way of knowing who’s right and who’s wrong here. I want to believe Trump, but I don’t have any real reason to do so other than the fact that I like the guy. And that’s not a good reason, any more than it’s a good reason to distrust Trump just because you don’t like him.

The Problem with Political Correctness 

Theodor Dalrymple in an interview with in 2005:

Political correctness is communist propaganda writ small. In my study of communist societies, I came to the conclusion that the purpose of communist propaganda was not to persuade or convince, nor to inform, but to humiliate; and therefore, the less it corresponded to reality the better. When people are forced to remain silent when they are being told the most obvious lies, or even worse when they are forced to repeat the lies themselves, they lose once and for all their sense of probity. To assent to obvious lies is to co-operate with evil, and in some small way to become evil oneself. One’s standing to resist anything is thus eroded, and even destroyed. A society of emasculated liars is easy to control. I think if you examine political correctness, it has the same effect and is intended to.

I recommend reading the interview in its entirety. As André Gide said, “Everything that needs to be said has already been said. But since no one was listening, everything must be said again.”

Are These Complaints about Apple’s Lack of Diversity Warranted? 

Jacob Kastrenakes, writing for The Verge:

[Apple] argues that it already has “much broader” diversity efforts at work and, in the past three years, has made “steady progress in attracting more women and underrepresented minorities.” […]


The company’s answer isn’t good enough for Maldonado. He says Apple is leaning too heavily on retail stores to improve its diversity figures while doing little at the senior level (82 percent of Apple’s leadership is white, versus only 56 percent of its retail employees). If that practice continues, Maldonado fears it’ll hurt Apple’s business in the years to come.

Maldonado, a Donald Trump supporter, isn’t going to get the board to pass his proposal any time soon. Every time a vote is taken, he’s in the single digits. One of the age-old arguments against such affirmative action is spilled in the comments:

In a world where people of color and women want to be acknowledged and have the same opportunities, hiring women and people of color simply for being women and people of color goes against exactly the principle of fairness to everyone.

And also, from another reader:

So I am all for diversity. It will only help everything. But forcing it or doing it unnaturally is only harmful. To everyone.

Pretty much no informed person wants what Maldonado is proposing. A company ought to be able to hire the right person for the job. If there’s a disproportionate number from one group that is qualified, that’s indicative of something, but it’s not the company’s job to change that. Don’t put a blame or burden on the company. Spend your energy elsewhere.

The Best Article I’ve Read on the Flynn Fiasco 

Lots and lots of things are being written about this story, but what I like about Jon Sopel’s piece from BBC is that it’s short and brings a clarity of understanding to the timeline of what we know transpired. I highly recommend reading it in its entirety, slowly. Don’t skim it. If you comprehend it fully then it’s the only thing you need to read about the Flynn story to know way more than most people in the country at this point.

One lesson learned is this: when something bad occurs and few people know about it yet, and you’re trying to decide how to respond and you’ve come up with a plan, think about how that plan will be perceived if many people know about it. When Pence learned of the true nature of Flynn’s calls, he chose to do nothing. When the nation learned of the nature of Flynn’s calls, Donald Trump asked Flynn to resign. There’s a time and a place for your actions to vary depending on who knows what, but it involves risk. Because of Pence’s choice, there’s an air of fiasco to the administration surrounding Flynn that otherwise might not exist.

Of course, if there’s an investigation - there needs to be one, unquestionably, at this point - and if this investigation finds that the Russian ties go deeper, than my sympathy level for Pence in his predicament goes way down. The jury’s still out on that though.

On Michael Flynn’s Awkward Resignation 

Stephen Collinson, writing at CNN:

But the President and some House Republicans launched a fight back, trying to focus attention on the source of disclosures about Flynn’s contacts with Russia that appear to have emerged from intelligence surveillance of the Russian embassy.

“The real story here is why are there so many illegal leaks coming out of Washington? Will these leaks be happening as I deal on N.Korea etc?” Trump tweeted in his first public reaction to Flynn’s departure.

House Intelligence Committee Chairman Devin Nunes said the focus of any investigation should be how news of Flynn’s calls leaked out.

What I’m hearing here is, “Who cares about what was talked about on these calls. The real issue is how Flynn got caught.” Are these people being serious? If this had been these people’s narrative back when the DNC was getting hacked, that’d be one thing. As it stands, this is sheer hypocrisy.

Also Trump’s tweet quoted above is exactly what you expect from a TV celebrity, from someone who doesn’t feel like they’ve got a lid on the situation. It’s not instilling confidence in me at all. You know that feeling when you’re sitting next to someone who’s terrifying you while they’re driving and you ask, “Sure you got this?” That’s how I feel right now.

The grass is always greener on the other side of the fence, but man. Right now I can’t stop thinking about how much more stable things would be if Hillary Clinton had been elected. Her administration would have been corrupt to the bone, but at least it would have been contained. It would have given the appearance of order. Right now we don’t even have that. Washington is a disaster at the moment. We have a maverick in the Oval Office. Will he mature into a stable politician, or can we expect this stuff to be ongoing for the next four years? Today may mark a turning point in where my loyalties lie. It’s still too early to say, but I’m very concerned at this point about a future with Trump as our president.

I was promised that America would be made great. Where’s the greatness in this Flynn scandal?

Polymail’s One-Way Mirror 

From Polymail’s features page:

Know exactly when your messages were read and who read them with real-time notifications and activity feed.

In an email update today:

In our latest update, Polymail now detects and blocks email tracking on your incoming messages to prevent senders from knowing when you’ve opened their emails!

This is a double standard in a way, but I see nothing wrong with it. If you don’t want to “spy” on when others read your email, you don’t have to use this feature. And if you don’t want others spying on you, just use Polymail as your email client and enable this prevention feature.

The Forced Hijabs on the Chess Players of the 2017 Women’s World Championship 

Jovanka Houska, writing for

Originally, the world championship was scheduled to be held at the end of the 2016 but with no bidders in sight and afraid that the event would be cancelled, FIDE made the decision at the Baku Olympiad to award the event to Tehran, Iran.

While Iran is a country rich in chess history, where chess currently enjoys a huge surge in popularity, there are some drawbacks to such a country hosting a female chess event—the glaringly obvious being that countries such as the U.S. had advised their citizens not to travel there and that females are forced to cover their heads.

This posed an unenviable dilemma for the qualifiers: Should they refuse to play and miss out on the chance of a lifetime and perhaps hinder women’s opportunities in Iran? Or choose to play and compromise their own values of gender equality and security?

Notice that: forced to cover their heads. FIDE should not have decided to award the event to Iran. Not to a country that doesn’t treat women as equals. Not to one that forces hijabs.

Warm and Fuzzy Thoughts on Valentine’s Day’s Origins 

Arnie Seipel, writing for NPR six years ago:

Valentine’s Day is a time to celebrate romance and love and kissy-face fealty. But the origins of this festival of candy and cupids are actually dark, bloody — and a bit muddled.


The ancient Romans may also be responsible for the name of our modern day of love. Emperor Claudius II executed two men — both named Valentine — on Feb. 14 of different years in the 3rd century A.D. Their martyrdom was honored by the Catholic Church with the celebration of St. Valentine’s Day.

This should put you right in the mood to go get flowers, right?

Chris Brogan on Decentralizing Your News Source 

Chris Brogan:

I could get all nerdy-techy and also go deep into the “back in my day,” but the part you should be thinking about is this: people CHOSE their news sources, curated their own interests, and managed their own consumption of media. They could stay connected to communities that mattered to them, and grow with the combined developments that were brought to light in those communities.

Spot on. Being on Facebook and Twitter should come secondarily to your RSS reader.

The Saga of Twitter’s Artificial Tweet Suppression Continues 

Scott Adams:

Here’s a fresh example (today) of how Twitter throttles back my free speech when it doesn’t fit their political views. This only happens for Trump-related content, as far as I can tell.

I have no way of knowing if Twitter is deliberately suppressing Trump-related content, but it sure seems that way. I’m still sticking to my guns that the government shouldn’t get involved in this though. Twitter should have the right to be a jerk if it wants to. That said, it would sure be terrible to experience what Scott is going through with this. I feel his pain.

Scott’s assessment of Twitter’s inevitable downfall is also interesting:

I won’t ask you to believe me about Twitter’s backdoor assault on the First Amendment. That would be a waste of energy. Just file it away in your brain and remember that I warned you. Twitter’s business is about to fall apart and I expect that you’ll see this story emerge from whistleblowers.

I will watch with great amusement when this falling apart happens. The cost of convenience of not owning your own data is perpetual instability and uncertainty, and it’s about to come home to roost for Twitter. When the downfall occurs, people will hopefully learn to be very distrustful of ever again spending hundreds of hours on a platform that isn’t decentralized. As the saying goes, Fool me once, shame on you; fool me twice, shame on me.

Here’s a Simple Way to Calculate Today’s Remaining Builds on a Free Codeship Account

I just now put together an EcmaScript 2016 gist for calculating how many remaining Codeship builds you have without overstepping your average daily allotment. Since the premium accounts for Codeship start at $49/mo, it makes sense for a lot of amateurs such as myself to dabble in the sandbox account, which limits you to 100 builds per month. Here’s what the code looks like:

 * This function gratefully taken from
Date.prototype.monthDays = () => {
  const date = new Date();
  const d = new Date(date.getFullYear(), date.getMonth() + 1, 0);
  return d.getDate();

 * @param {string} numberofBuildsDone - the number of builds
 * that you’ve already used for the current month
const calc = (numberofBuildsDone) => {
  const numberFreeBuildsPerMonth = 100;
  const daysInMonth = new Date().monthDays();
  const currentDayInMonth = new Date().getDate();
  const availableBuildsPerDay = numberFreeBuildsPerMonth / daysInMonth;
  const numBuildsLeftForToday = Math.round((availableBuildsPerDay * currentDayInMonth) - numberofBuildsDone);
  return `You can make ${numBuildsLeftForToday} more builds today.`;

Just take this code, paste it into your Chrome console, and then run something like this:


Since it’s February 13 and there are 28 days in this month, running that right now outputs this:

You can make 9 more builds today.

Pretty cool, right?

Every time I publish something on DC, that takes a build. Every time I update a post, that takes a build. In theory if I do zero editing and I don’t work on any other projects that I’ve integrated with my Codeship account, that means I can publish a maximum of 100 posts on DC in a month. That may sound like a lot, but when you remember that DC is my version of Twitter, that means the equivalent of not being able to tweet more than 100 times in a month. I’ll probably eventually change my tech stack so I’m not confined to this limit, but for now, it’s kind of a fun constraint.

If you’re on the free plan of Codeship for something and you want to keep an eye on how quickly you’re burning through your allotted amount, feel free to fork or star my gist.

Evan You on VueJS 

Fascinating backstory from VueJS founder Evan You at GitHub Stories:

I started Vue as a personal project when I was working at Google Creative Labs in 2013. My job there involved building a lot of UI prototypes. After hand-rolling many of them with vanilla JavaScript and using Angular 1 for a few, I wanted something that captured the declarative nature of Angular’s data binding, but with a simpler, more approachable API. That’s how Vue started.

As I use it more, I’m quickly preferring VueJS over Angular and React. When you combine the good parts of Angular and React, you end up with VueJS.

Hillary 2020 

From Matt Latimer, writing at Politico:

Hillary Clinton will run for president. Again.

No inside information informs this prediction. No argument is advanced as to whether her run is a good or a bad idea—there are many ways to make a case either way. Instead this is just a statement of simple facts (if facts mean anything anymore, that is). And the facts are clear that the former secretary of state is doing everything she needs to do to run for the White House one more time. If she finds a path to do so, she will take it. And I can prove it.

Before reading this piece, I thought that any chances of a future Clinton president were gone, despite resolve from frustrated voters for a rematch. But Matt makes a compelling case that Hillary will run. Here’s what I think: Hillary isn’t going to make it past the primaries, but if she were, she’d have a pretty good chance at beating Trump in the general.

Atheism’s Moral Relativism Strips Away the Front Line of Defense Against the Conquest of Mohammadism

If you’re a consistent atheist, then since there is no ultimate lawgiver, there is no ultimate law. Since there is no ultimate law, everything is relative. Society gets to choose what is right and what is wrong. If that society agrees that something is right or wrong, then that makes it so.

If there are two societies and they have differing views over right and wrong, they are both right in their respective universes, because everything is relative. If one society figures out a way to take over an opponent society, then it may exert its moral law upon that society, and the act of exertion alone is what makes that moral law binding and true, and nobody can argue against it. What this means is that might is right in an absolute sense. There is no appeal to a higher authority.

In this system, not only can a brand new moral code be achieved by force, but it can also be done through indoctrination. To the atheist, the master persuader who convinces a society to change its moral views gets to proxy as a god, since there is no God and no ultimate authority.

The common acceptance of homosexuality in the United States is a good example of how this works. Why does the average person accept homosexuality? Many would say it is because they have been enlightened and educated and understand the importance of avoiding bigotry. This isn’t the real reason, however. In fact, it’s folly to think that the humans who lived one hundred years ago were that much stupider than contemporary man. Human intelligence and education aren’t the deciding factors. Instead, for most citizens on the sidelines, what’s changed is that because homosexuality has gone from a crime and a mental disorder (atheist Sigmund Freud’s belief) to a thing that’s celebrated, and because atheism can only get its moral values based on what the majority say is right, that’s forced atheists to change their minds on this subject en masse.

I want to drive this point home. If the modern liberal who is staunchly pro-homosexual were to live one hundred years ago, he wouldn’t be pro-homosexual for this reason: the society was not for it. This is blindingly obvious once you understand the underpinnings of how the atheistic system works, but few today stop to think about it. “But of course I would still be an advocate,” someone says. My reply is that if you were, you would be a statistical outlier in the extreme. It’s possible that you would be an anomaly, but then to be consistent, you’re saying that you’re currently more staunchly in favor of homosexuality than the vast majority of your peers who are pro-homosexual. I find that unlikely. If zero of your social circle were ok with homosexuality and you knew you would be loudly condemned for saying that homosexuality is ok, do you really think you would go around talking about how important gay rights are? In the unlikely event that you did, the reply would be, On what basis do you make your claim? You wouldn’t have an appeal to authority, and you wouldn’t have appeal to society. You would have no basis outside of yourself. Unless you were one of the very vocal proponents that did indeed eventually change public perception of homosexuality, you would join the herd and state that you were against it. Do not kid yourself.

Let me digress for a paragraph. The implication of the above is that a modern homosexual’s approving friends aren’t approving for the reasons he thinks they are. They’re only approving because of the time in which they live, because society says it’s ok, because it’s safe. They would viciously deny that this is the case, but it’s true nonetheless. A homosexual’s typical atheistic friends would turn on him if the winds blew the other way. They did one hundred years ago, and human nature hasn’t changed. This is as plain as day to anyone on the outside looking in. The supposed victory for gay rights is not all that it appears to be. It’s transient. It will come and go with the wind, with what society deems suitable. Does that sound unstable? It does to me. It’s unsurprising though, because the foundation is based on unstable ideas. Society determines what is ok, and that fluctuates with each generation. That’s the atheist’s sacred creed: moral relativism.

If there is no absolute lawgiver, then what reason would you have for disagreeing with what the majority of society says is right? You may choose to disagree, but you would have no objective reason for why your proposed change is better. You have no appeal to authority. You have no reason or argument. You are chained to agreeing with society, or being different for no ultimate reason. There is no third choice. An atheist is, from a moral standpoint, forever doomed to reacting to his environment. Every turn he makes is based on his immediate surroundings, not on a true north. He can never rise above this without being inconsistent with his cherished worldview.

Let’s go one step further. Without absolute truth, nothing is worth dying for. If all moral decisions are derived from society, and if society is deemed to be those whom you are around, then why end your existence for a relative truth that is only true for certain people? After all, the things or persons you’re protecting are only true in their own world, and at the same time, the people who are killing you are also correct in their own world too. On the contrary, if you’re willing to die for something, that means that you’re admitting the people in front of you are completely wrong. You’re admitting that one “society” is at fault. You’re admitting that some people are right and that others are wrong. As a necessary conclusion to this, you’re saying that one society has absolute rightness over another society. It’s impossible for such absolute law to exist without an absolute lawgiver. There must exist a God for anything to be worth dying for. Thankfully, most atheists don’t live their lives consistently. Very often, atheists make practical gestures that prove that they know deep down inside, there is absolute truth and necessarily a God of truth.

“Stop being ridiculous,” someone says. “You’re introducing an extreme version of your opponent’s argument. Nobody would actually agree that this is the logical outcome of atheism. Why, if atheism were this illogical, nobody would be an atheist.” My reply is that you must never underestimate the power of denial. I argue that such an objector is blindly inconsistent, unwilling to face the true logical outcomes of their belief system. They accuse others of needing religion as a crutch while they themselves are groping at the true crutches of a cripple, groping at the dark, forced into an inconsistent lifestyle because their belief system is too flawed to be followed to its full unadulterated conclusions. The whole thing is a sham, a delusion, a house of cards.

Recently I was reminded of the frightening effects of what happens when an atheist is consistent. Piotr Kosewski left a comment to my statement that the Sharia is objectively morally flawed. Here’s what he had to say.

Sharia is acceptable for Muslims. This is their way of living. Why do you want to take this from them? Is this how Americans see freedom now? :)
You have to understand that people in different parts of the world live in different ways. Yes, sometimes they do things that would be morally unacceptable in our countries - maybe even illegal. But that’s how the world works.

That’s just how the world works? That’s what we’re supposed to tell the woman who’s abused in the Sharia? “Yes,” atheism shouts with a resounding cry. “You have no consistent alternative.” And you know what? Atheism is correct in its reply. I have no followup argument to Piotr until we can both agree that there exists a Just Judge who rules all the earth. Without that, I have zero firepower left to argue against the Sharia. None. Piotr wins, and so does the ruthless, vicious conquest of Mohammadism.

To unfold Piotr’s argument, he’s saying that if a society accepts the Sharia as its moral compass, then in that society, there’s nothing wrong with having punishments twice as severe for women as men. There’s nothing wrong with honor killings. There’s nothing wrong with every single sexist bigoted thing that the Sharia enforces.

In saying this, Piotr is conceding the first line of defense against the conquest of Mohammadism. If you cannot say that, in every context, in every society, no matter what, murdering a female relative in the name of “honor” is wrong, then you’ve lost the battle. You’ve left the field to the enemy.

Piotr’s proposition - that anything can be justified so long as society is complicit - is appalling to anyone who has an absolute sense of right and wrong. But how do you refute this if you don’t have a sense of right and wrong? And how can you have absolute right and wrong unless you have an absolute Person who reveals what is right and what is wrong?

A society of atheists is a ripe target for Muhammadism and its Sharia. Muhammadism is a false religion, but it is a religion, and it has a sense of absolute right and wrong. It believes in a god. And any society that has a sense of absolute right and wrong is eventually going to conquer a society that does not. It’s an inevitable consequence.

If you have a problem with the Sharia then you must of necessity have a problem with atheism, for the latter is a catylist to the former. In this respect, Bill Maher is sadly inconsistent. Bill Maher understands that Muhammadism is objectively flawed, but according to his worldview he has no basis to back this up apart from what the society in which he resides tells him is right. If that society ever changes - and history predicts unequivocally that society will change - Bill Maher will find himself an outlier with no reason to hold the line.

Being an atheist is a losing proposition. For the love of God - I mean that literally - please don’t be an atheist.

GitHub Changes Its Nav Bar from White to Black 

It’s going to take some getting used to, but I think it’s here to stay. It’s been available already to enterprise users for some time, apparently. It makes sense to go with black for a couple of reasons:

  1. The logo looks more natural when the cat is dark and the surrounding is light. This is the way that the logo has usually appeared heretofore on GitHub’s products and elsewhere.
  2. The multi-tier nav system becomes more distinguishable when the top nav is black and the secondary navs underneath are white. The difference between a black and a white nav is striking and brings clarity in a way that is much more difficult to achieve when everything shares the same dark-on-light scheme.

Looking forward to hearing any official word from GitHub about the change.

Addy Osmani on JavaScript Start-up Performance 

Excellent in-depth analysis on getting pages to start-up faster from Addy Osmani, a Google Chrome engineer. The whole thing is deep and worth reading. This part especially struck me:

Every few years, it’s proposed engines offer a way to precompile scripts so we don’t waste time parsing or compiling code pops up. The idea is if instead, a build-time or server-side tool can just generate bytecode, we’d see a large win on start-up time. My opinion is shipping bytecode can increase your load-time (it’s larger) and you would likely need to sign the code and process it for security. V8’s position is for now we think exploring avoiding reparsing internally will help see a decent enough boost that precompilation may not offer too much more, but are always open to discussing ideas that can lead to faster startup times. That said, V8 are exploring being more aggressive at compiling and code-caching scripts when you update a site in a Service Worker and we hope to see some wins with this work.

If browsers could be given bytecode, then that would open up a world where JavaScript is no longer king of the browser. You could write in any language you want, so long as it compiles down to the appropriate bytecode. You can already escape the world of JavaScript to an extent by writing in a superset like TypeScript and then compiling it down to JavaScript, but writing websites in JavaScript will always be mainstream until browsers can accept bytecode. Three levels of code is just too much to really be performant and practical.

JavaScript is my favorite programming language, but it’s still fun to think about a future where developers have alternatives. A huge reason I like JavaScript is because I know the things it can do in a browser that no other language currently can do.

Why Static Sites Are More Suitable Than WordPress to Technologically Sophisticated Writers

After my recent dismissal of WordPress, I wanted to elaborate a bit on why I think it’s unfortunate that a tech-savvy person should prefer it as their content management system. The summary is this: if you’re comfortable in command line, there are much better tools for the job. In saying this, it’s not just WordPress that I’m criticizing. I’m also criticizing Drupal and Moveable Type and probably most PHP frameworks. I’m targeting WordPress in particular, however, because it’s the most popular one in use today and it’s the one I’m the most familiar with. I’ve spent thousands of hours writing in WordPress, developing WordPress themes for individuals as well as for the commercial marketplace, and even developing one open source plugin. In other words, I know the platform pretty thoroughly - not as much as a core contributor would - but well enough to build anything I want. And with that expertise comes an opinion. I could write on this subject in lengthy technical detail but for now I want to keep this discussion as high level and brief as possible.

As a way of illustration, WordPress is similar to a fast food meal in its value proposition. It delivers way more calories than you need, it’s very affordable, it’s fast to work with, it’s very popular, and it’s despised by the elite. In the same way that people who have the time, knowledge, and money to home cook their meals despise fast food, the people who have the time and knowledge to use a customized content platform despise WordPress.

The thing is this. If you aren’t a good cook and have no interest in learning how, and you don’t mind being obese and dying of a heart attack, then fast food is actually a really great option. The food is gross but if that’s all you’ve ever known, then you won’t feel the burn. Translated into WordPress terms, this means that I still recommend the platform to anyone who isn’t tech savvy and just wants to be able to publish content on the web easily. WordPress is great at that. There are just too many tradeoffs compared to better tools that I don’t recommend it if you have the technological ability to use something else.

WordPress is very complex and it aims to be even more complex in the future, which means you shouldn’t use it for simple projects. Using WordPress to power a simple blog is overkill. WordPress is usually the wrong solution to complex projects too, because you likely have the wherewithal to spin up a custom solution that’s better tailored to your complex needs than WordPress’ kitchen sink.

Then there are the subjective reasons I don’t use WordPress.

  • I really don’t like how Matt Mullenweg treats the WordPress community and his philosophy that software should be open source. I disagree with his bullying tactics and I disagree with his philosophy in general. He’s an irksome person, and I don’t like using stuff that’s run by irksome people.
  • Working on a statically generated site just feels better. I get to write everything in my code editor. And then when I’m done, I don’t select and copy and paste that into a different application. It’s already where it belongs - in a file. The job is done. I just commit and push. It’s lightweight and fast and it’s perfectly suited to the Micro format. If I’m writing something super short I’ll sometimes even use Vim within Terminal. I put a new piece of content on the web without ever leaving Terminal. You just can’t easily do that with a bloated system like WordPress.
  • If given the choice of configuring things via form elements such as checkboxes and dropdowns versus doing it in a file via Yaml syntax, I will choose Yaml every time.1 Everything in WordPress is form based, and everything in a static engine like Jekyll is Yaml based. Yaml is cleaner and faster. You can search it quickly. You can copy and past it and share it with a friend. It doesn’t have the weird bugs that inevitably crop up in forms at some point or another. With WordPress, every time you want to specify whether a post is a Micro or a Macro for example, you have to interact with a form element. It’s much more beautiful when that occurs in a static Jekyll posts’s front matter via a single line of Yaml.

Are there drawbacks to a static site over WordPress? Let’s look at the common complaints:

  • Static sites take longer to publish. I’ll admit this is true. It might be a few minutes from the time you commit and push a static site’s change to the time that it’s viewable online. It depends on how many articles your site is and how complex your build process is. Maybe this is a problem for some people but it’s not for me. A couple minutes’ delay is fine. If what I’m wanting to publish is so important that it has to be instant, I need to consider using a different technology stack entirely from either of these two. Something more like Twitter, with web socket integration.
  • Static sites aren’t as customizable. Take a look at Drinking Caffeine and tell me that that’s really true. I’m doing a lot of custom stuff on here - stuff that would take time for a WordPress developer to mimic, in fact. If you think static sites aren’t customizable, what you’re really saying is that you haven’t taken the time to learn how. Now I will grant you that you can do more with WordPress than you can with a static site but it’s rare that you see WordPress taken to those limits. The overwhelming majority of people who are afraid a static site wouldn’t fit their needs would be pleasantly surprised.
  • Static sites aren’t as consumable. It’s true that we’re seemingly moving towards a world where every site should conceivably be consumable as a service, but right now the one and only actual real life need of a content site in this realm is RSS, and a static site’s RSS is just as good as a WordPress site’s RSS. It’s true that if you required, say, some paginated results in JSON of a static site’s posts that this would get tricky. But I really don’t ever see this being a realistic resource for a content site to need to offer. Maybe I’m wrong, but I just don’t see this happening.

If heretofore you’ve been using WordPress and you’re okay with using command line, go check out Jekyll. I think you’ll be blown away by how refreshingly different it is, and I don’t think you’ll ever want to go back.

  1. It’s an aside but this is why I like the IDE settings in VSCode and Sublime over the IDE settings in PHPStorm. The latter is based on GUI form elements, while the former are based on JSON objects. ↩︎

Hackett Reviews Native WordPress Clients 

They say you have to leave an abusive relationship before you realize just how abusive it was. It’s been a bit more than a year since I last touched WordPress for personal use. Scrolling through the screenshots of these native macOS apps, I’m reminded just how bad WordPress is. Compared to Jekyll, WordPress is truly garbage. I feel sorry for anyone who has to use it. They’re in an abusive relationship and they’ll never know it until they switch to Jekyll and then look back in 6 months.

What Goes Around 

Ashleigh D. Johnson:

now that DeVos is in, this would be the time for you to begin looking at alternative methods of education. online, homeschooling, etc.

Can you imagine a conservative saying this exact same thing when President Obama appointed Arne Duncan to Secretary of Education? I know I can. Just change “DeVos” to “Duncan” and you have a prototypical tweet from a conservative 8 years ago. One of the things that the Trump election has taught me is just how similar Republicans and Democrats act when it comes to responding to government that they don’t like. This tweet epitomizes the similarities. A couple of months ago it was guns and now it’s homeschooling. It would be hilarious if there are actual families that take up homeschooling because of the appointment of DeVos, while sitting around planning their next target practice session with their new Smith & Wesson revolvers.

Different motives, same exact lifestyle.