Mike Bland


Most recent posts

119 posts total. See Filtering and Navigation for tips on how to find the bits in which you're interested.

The video of the Surge 2016 version of "The Convergence of Wills", probably my favorite iteration of the talk so far, is now available. Plus a bonus go-script-bash lightning talk!

- Alexandria
Tags: Bash, dev tools, go script, Google, programming, technical, Test Mercenaries, Testing Grouplet, Testing on the Toilet
Discuss: Discuss "The Convergence of Wills (Surge 2016 Edition)" on Google+

Last month I was honored to speak at the Surge 2016 conference produced by OmniTI. I delivered what’s probably my favorite version of the “Google and the Government” talk I’ve given so far, and not just because I try to tweak and improve it with every iteration. This time it felt like I struck the right balance between all the things I wanted to say, and I had ample time to say them without rushing. In addition to speaking, I also got to meet tons of interesting new folks and attend lots of fantastic talks that definitely enriched my awareness of various technical and cultural issues. Thanks so much to Robert Treat for inviting me, and to Holly Beer and the entire OmniTI Surge crew for making it such a well-run, wonderful experience.

That said, I’m not sure I’ll ever give the talk again. I mean, if someone asks me to, sure, I will be happy to do so as always. I believe that I tell an important story that is overflowing with important ideas, and it gives the Testing Grouplet in particular the recognition it deserves. But at this point, I feel like it’s doubtful that’ll happen, and I’m not going to actively seek another audience for it. Though I’m still trying to figure out my next career move, I’m eager to move forward rather than continuing to revisit the past, at least for the time being.

Still, I’m pleased to announce that the video of "The Convergence of Wills (Surge 2016 Edition)" is now available:

The slides for "The Convergence of Wills (Surge 2016 Edition)" are available as well.

And as a bonus, at Nathen Harvey’s open invitation, I decided completely spur-of-the-moment to jump in near the end of the Lightning Talks session to pitch my go-script-bash framework. Nathen starts to introduce me at 39 minutes and 48 seconds; don’t know why the #t=39m48s URL fragment isn’t working:

Here’s a direct link to my go-script-bash lightning talk that does skip directly to the correct starting point. (And yes, I tried the embedded URL with a ?t=39m48s query string just like the direct link. Still no dice.)

A confession: I’ve never actually watched any of my other talk videos. Don’t know why. But I just watched the entire lightning talk while writing this post and…maybe it’s now my favorite talk I’ve ever given.

I believe Donald Trump embodies the worst of everything that is wrong about the United States of America, about men, and about humanity in general. We must not elect him.

- Alexandria
Tags: personal, philosophy, politics
Discuss: Discuss "Pink Elephants and the Black Knight" on Google+

Warning: This is a political post, another departure from the typical tech{, culture} stuff. Feel free to skip it. But even Martin Fowler couldn’t remain silent. I’m not the first to condemn Donald Trump, and I certainly won’t be the last; but I want to go on the record with my thoughts before the election, for my own clarity of conscience if nothing else. (Another nice benefit of leaving the U.S. government is that the Hatch Act doesn’t apply to me at this critical moment in history.)

I’m no big fan of Hillary Clinton, our Democratic Party nominee for President of the United States in 2016. I respect her experience and her command of policy details, but there are credible concerns regarding some of her (very public) lapses in judgment. I do believe no politician is perfect, and trust that she’s learned some painful lessons that she’s unlikely to repeat (people do grow, after all), but she’s definitely not my first choice. My favorite potential nominee for President would’ve been Crazy Uncle Joe Biden, and I’m also now regretting that I didn’t take Bernie Sanders more seriously during the primaries; he’s only continued to impress me the more I learn about him.

But we have no choice on November 8. I believe Donald Trump embodies the worst of everything that is wrong about the United States of America’s society, economy, and politics, as well as about men and humanity in general. We must not elect him.

If you’re thinking of voting for Gary Johnson, Jill Stein, or any other third-party candidate, you need to watch John Oliver’s evaluation of Johnson and Stein on the issues right now. (And then come back here!) If you’re refusing to vote because Bernie lost the nomination, or thinking of voting for Trump as a result, you need to watch Bernie’s appearance on Episode 407 of "Real Time with Bill Maher" right now. (And then come back here!) In fact, the discussion with Bernie, Andrew Sullivan, Rebecca Traister, and Bob Kerrey was one of the best political discourses I’ve ever seen, including Andrew and Bob trying to explain to Bill that being an unrelenting pompous ass towards non-liberals with different life experiences answers his question of why fifteen-to-twenty states are still considered likely to vote for Trump.

So many have already written so clearly, so eloquently, and so powerfully on why Trump is unfit for the Presidency. Before I get into my own two cents, I’d like to give a specific shout out to James Fell, author of what’s primarily a health and fitness blog, Body for Wife. In fact, I discovered his site by researching nutrition, and got an added bonus: He’s one of the bravest, most eloquent, most well-researched, and most gloriously profane men publicly speaking out against disrespect, harassment, and violence towards women. He has published a series of brilliant posts recently discussing these issues in light of Trump’s unacceptable conduct, and though he published this one particular post long before the general election season, you should stop reading my post and start reading his "She Doesn’t Owe You Shit" right now if you haven’t already. (And then come back here!) James corroborates, with evidence, everything that I’ve come to realize more and more in recent years about the treatment that women endure as a result of male egos and entitlement. He doesn’t put women on a pedestal and claim to be a perfect gentleman in all his thoughts, but as a foul-mouthed, red-blooded Canadian, he is a far superior role model for American men when it comes to respecting women than our current Republican nominee for President.

This is, of course, just one of Trump’s many grandiose failings, and, inspired by James’s example, I hope to muster the courage to write more on the subject of male social conditioning and assumed privilege over women in future posts. But I’ve got just one particular point I want to make today.

I’ve been reading Scott Adams’s blog for months now, quite by accident, since the outset of the Republican primaries. As the insanity of that process unfolded, and I watched in befuddlement as Trump’s support actually grew with each outlandishly offensive and absurd thing he said, Scott did a very reliable and fascinating job of explaining the phenomenon as part of his “Master Persuader filter”, an extension of his “Moist Robot hypothesis”. In a nutshell, Scott explained how Trump was using his powers of persuasion to overcome political opponents, one by one, who were trying to win on policy. People in general respond more to visceral imagery and emotional appeals than they do polished policy rhetoric.

At first, this was a relief. Maybe Trump knew exactly what he was doing to secure the nomination of the severely morally and intellectually compromised modern Republican Party, and once the general election started, he’d tilt towards being more “presidential”. Scott even hypothesized as much, all the while claiming he never endorsed Trump, and in fact disavowed him at one point. At the time, I believed Hillary would still end up winning easily, but in the off chance that Trump was elected instead, I thought maybe it wouldn’t be as horrible as I initially feared.

Well, we all know now, after three Presidential debates (if you can even call the first two “debates”), the infamous Access Hollywood tape, and his continued denigration of Alicia Machado, the shameless denigration of his recent accusers (see also the excellent Donald Trump is giving us a master class in why #WomenDontReport, which I discovered by way of Jen Sorensen’s "Kiss and Yell" cartoon), of Mexicans again (“bad hombres”), and of his fellow nominee for President of the United States (“Such a nasty woman…”), to say nothing of his frighteningly laughable debate claims that Hillary is full of lies while he has all the facts, and his flaunting the double standard that he enjoys tax privileges because Hillary let him, etc. etc. blah blah woof woof ad nauseam—we all know now that Trump did not rein in the bombastic, empty rhetoric and conduct himself as a President should. In fact, he only increased the intensity of his vitriol, only increased the outrageousness of his claims, and never demonstrated a shred of regret over anything except that his “locker room talk” was made public.

In short, he is hell-bent on trying to win the Presidency by any means necessary, and doesn’t give a damn about the divisiveness he’s cultivating and the damage it has already wrought on our society, and will likely continue to wreak for years to come. And that scares the hell out of me.

Somehow, to my disappointment, Scott Adams doesn’t appear to be scared at all. I do respect his opinion, however strongly I disagree with it, and his right to express himself. I think he’s done a great service, up until this point, of pointing out the persuasion-based, systems-thinking approach that explains Trump’s rise (regardless of whether or not Trump himself is conscious of it). Just as I felt after reading Robert Cialdini’s "Influence: The Psychology of Persuasion and Robert Greene’s "The 48 Laws of Power", I personally feel better off knowing the tools that persuaders (and manipulators) use, so that I may use them wisely and humanely, for positive outcomes—and to defend myself against those who would use them against me.

And now, it’s my turn to apply Scott’s own tools to critique his position. As part of his “Master Persuader” series, he once explained that trained persuaders construct their arguments in a way that you buy into their fundamental premises without being aware of what’s happening. And he tried to do that in his "I Wake You Up for the Presidential Debate" post from October 19, 2016. He tries to establish that if most people in a room see a pink elephant, and even one person doesn’t, then there is no pink elephant. In summary, he states (all emphasis his):

In nearly every scenario you can imagine, the person experiencing an unlikely addition to their reality is the one hallucinating. If all observers see the same addition to their reality, it might be real. But if even one participant can’t see the phenomenon – no matter how many can – it is almost certainly not real.

He builds on this argument, and makes the valid point that religion is a prime example of a mass illusion, and that “Mass shared illusions are our most common experience.” He goes on to say:

Back to my point. As a trained persuader, I can see the “Trump is Hitler” illusion for what it is. Where you might see a mountain of credible evidence to support your illusion, I see nothing but confirmation bias on your part. I have detailed that confirmation bias in other posts.

Remember my rule from above. If you see something unlikely – such as a new Hitler rising in the midst of America – and I see nothing remotely like that – I’m almost certainly right and you’re almost certainly having the illusion. I say that because the person who sees the unlikely addition to reality is the one experiencing the illusion nearly every time. Trump as Hitler-in-America is an addition to reality that only some can see. It is a pink elephant. It is a classic hallucination.

Let me offer a counter-example to Scott’s argument: The Black Knight’s denial that King Arthur had mortally wounded him in the famous scene from Monty Python and the Holy Grail:

Monty Python's Black Knight: It's just a flesh wound.
original image source

King Arthur: [after Arthur’s cut off both of the Black Knight’s arms] Look, you stupid bastard, you’ve got no arms left!
Black Knight: Yes I have.
King Arthur: Look!
Black Knight: It’s just a flesh wound.

The point is, just because Scott doesn’t perceive an existential threat to American society as we know it, doesn’t mean it isn’t there. I reject his claim that I’m the one hallucinating because I see a threat, and he doesn’t. Whereas religions and most of what Trump says conform to the definition of a mass hallucination if for no other reason than they’re perpetuated by culture and hearsay rather than based upon empirical evidence, the fears I and so many others have about Trump result from the irrefutable words and actions of the man himself, and the documented outcomes from these statements and behaviors that have already manifested.

To be clear, I do not believe that Trump has the intent to become a genocidal maniac. But I do believe he is a narcissistic sociopath who will do far greater harm to the country, and the world, than any President we’ve yet elected. My evidence is everything the man himself has ever said and done, not second-hand interpretations, even the very illuminating and articulate ones offered by Scott Adams.

On the contrary, by Scott’s own explanation, people are irrational beings, and according to Cialdini’s principle of “consistency”, we often try to match our words and actions to fit the pattern established by the words and actions of our past. Consequently, I believe Scott has advocated for the “Master Persuader” interpretation of Trump’s actions for so long, he himself has fallen victim to confirmation bias.

It’s not just a flesh wound. Denying that the threat is real could cause us to bleed to death if we make the wrong choice. This November 8, we’ll see whether the system established by the Founders two hundred forty years ago, that granted us the power of self-government, that protected our freedom of speech and the press to aid us in this endeavor, and that sought to foster unity in our free society, is indeed strong enough to withstand threats like the one embodied by the candidacy of Donald Trump.

Just posted a "Hello, World!" example for the new ReactionMessage type I added to the hubot-slack npm.

- Alexandria
Tags: programming, technical
Discuss: Discuss "hubot-slack-reaction-example" on Google+

A while back, I wrote the hubot-slack-github-issues plugin for Hubot to generate GitHub issues from Slack messages. The idea being, your team’s documentation sources are stored in GitHub, and whenever someone says something in a Slack chat that should be preserved for posterity (rather than lost to the sands of channel history), adding an emoji to it will automatically create a new documentation issue with a link to the message:

hubot-slack-github-issues example
Here I added the evergreen_tree emoji, the bot filed the issue, and then it added the heavy_check_mark emoji to indicate the message was successfully processed.

This interface (which wasn’t my idea; I only implemented it) is pretty great in general, but it’s particularly great for getting nontechnical people to participate in this form of knowledge cultivation. I’m always happy to help make the right thing the easy thing.

The plugin worked brilliantly; the only real wrinkle in the development process was that while the Slack API had full support for reaction_added messages, the hubot-slack adapter didn’t. Since hubot-slack was open source, however, I could fork and hack the code to do what I needed, but the long-term plan was always to push this code back upstream.

Long story short, I finally got the green light to do so, and I added a new ReactionMessage type to hubot-slack v4.1.0. Then earlier this week, someone requested a “Hello, World!”-style example to demonstrate its usage.

Today I obliged by creating the mbland/hubot-slack-reaction-example sample bot. After just a couple hours to figure out how to create my own Slack domain and get my head back into the code, it came together pretty easily:

hubot-slack-reaction-example example
Here I added a +1 emoji to my “Hello, World!” message, and the bot (which is running under my own user ID, @mbland) parsed the ReactionMessage and replied with the result.

I figured I’d announce it here in case anyone else’s interested in implementing anything based on this new ReactionMessage interface. Hopefully this week I’ll be able to carve out the time to update the original Hubot plugin and the Unit testing in Node.js tutorial tutorial based on it. And if I get on a roll, maybe I’ll make a proper Slack app out of it, too.