Mike Bland


Most recent posts

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

I attended my first beCamp in Charlottesville, delivered a few talks, and generally had a wonderful time—with one especially hilarious glitch

- Charlottesville
Tags: documentation, grouplets, presentations, Rainbow of Death
Discuss: Discuss "Making a child, or speaking at beCamp 2017" on Google+

At Isaac Truett’s invitation, I was honored and grateful to attend beCamp 2017 in Charlottesville, hosted at OpenSource Connections. Of course I was curious to get a feel for the town after the horrific events of last month, but as I’d suspected, I found a town in no way fundamentally changed or defeated. It’s just as vibrant and beautiful as I’ve always known it to be. The only change I noticed is a renewed appreciation of the fact that social progress and democracy can never be taken for granted, no matter how far we’ve come. Funny how outrageous events borne of hatred and evil, while bringing out the worst in some, tends to bring out the best in the rest.

What follows is just a few quick personal notes about the proceedings. Suffice it to say I had a great time, and can’t wait to come back!

Making my pitch
Giving and receiving
Making a child (in front of an audience)
Docs as hacking tools
Wrapping up

Making my pitch

Never having attended beCamp before—or any sort of un-conference, really—I didn’t know what I was in for, but really enjoyed the ride. On Friday night, a 120-so of us, I think it was, mingled over pizza and beer. Isaac then introduced the event, and led the room through a round of short introductions—in the form of three words or a haiku—before we started our pitches for presentations, sharing sessions, and learning sessions for the main event on Saturday.

Oh, and my introduction? While I was tempted to say something like “Winter is coming,” I actually went with this:

Right thing not easy—
how can we make it better?
The Rainbow of Death!

Yeah. Anyways…

There were a ton of great pitches, but only twenty-four slots (four parallel sessions across six time slots). I got in line three times to pitch The Rainbow of Death, Automated Testing—Why Bother?, and a new talk on a topic that’d I’d been particularly focused on lately, Documentation as Organization Hacking Tools. Of the three, “The Rainbow of Death” was selected for a 10am time slot, and “Documentation as Organization Hacking Tools” was selected for a 2:15pm slot. Which meant that I had to hurry to slap a new deck together…

Oh, one other thing: I didn’t mention the word “Google” while giving my pitches, and only Isaac and one other person there knew my background. So I was pleased that my talks were selected on the merit of their premises. And while I was a little sad that “Automated Testing—Why Bother?” wasn’t selected, in a way I was relieved, because both halves of that talk are so long and dense. While voting was taking place, I had people chatting with me about it informally anyway. And honestly, it wouldn’t’ve been right to eat up three slots out of twenty-four while there were so many great ideas that didn’t scheduled this time around.

Giving and receiving

The rooms weren’t very big, but I actually loved how small and intimate the sessions were as a result, with so many people shoulder-to-shoulder. Each slot was only forty minutes, so I really had to rush through the end of “The Rainbow of Death”, but the group was really great and seemed to really dig it.

There was one younger fellow who asked something early during the talk along the lines of: “Why wouldn’t people be testing while they code? Why would anybody wait to do testing until the end?” Those of us who were longer in the tooth with a few more scars gleefully opened his eyes to the dark times of ages past. Honestly, as I mentioned to him, I was rather pleased that he was seriously asking the question: I took it as a sign that yes, those of us who care about testing really have begun to win over the world.

I then attended a session on “mindfulness in tech”, by Jessica Glendinning. At some point I noted the challenge I find between what I understand as “mindfulness” in terms of being present and in-tune with life and reality, and the addictive “mindfulness” I experience in the flow state while coding, which I feel leads me to neglect the other kind of mindfulness and leads to further complications. In other words, I crave that “mindful” state, and achiveve it most easily through coding, but it often feels like more of an escape given the extremes to which I tend to indulge.

Through the course of the discussion, a fellow named Noah Healy noted that in aikido, you’re trained to focus less on where your enemy is and more on where you want to be—and then you can bring your enemy along with you. Jessica later mentioned that the problem with constant protesting is focusing on the fight your opposition wants you to have, rather than on the place you want to get to. I pointed out the parallel right away, as for me this was key: When in a state of coding flow, I’m focused on the problems I want to solve, where I want to be at the end of the exercise. If I apply that same vision to other aspects of my life, perhaps that healthy balance I seek will begin to manifest.

Another point raised during this discussion had to do with the challenge of distraction and task-switching, being reactive versus proactive. In addition to being another lens through which to view the earlier insight, I took notes to add to my “Documentation as Organization Hacking Tools” talk:

Task-switching minimization is another value-add of good docs. Proactivity vs. reactivity.

The next session was called something like “Teach me what I don’t know” by a relatively-young-yet-wise career-switching web development newbie called Todd Gerdy. (Originally I’d remembered his last name as “Gendry” until I looked it up, which is an approrpriate Freudian slip, as you’ll see right now.) After I jokingly helped kick off the session by exclaiming "You know nothing, Todd Gerdy!" we all had a really great, vibrant discussion full of sage advice—though some of my impostor’s posturing seemed to pass undetected—and great fun. There were too many great ideas to post here with any fidelity; if he ever gets around to posting from his notes, I’ll be sure to add a link.

Making a child (in front of an audience)

Immediately after lunch and before the afternoon sessions commenced, there was a round of lightning talks. Hoping to repeat the success of my go-script-bash lighting talk from Surge 2016, I queued up to give it again. Though for some reason, instead of mirroring my display to the monitor, I set it up as a separate display. While I do this frequently for presentations, I hadn’t realized that I’d not used it for dragging and switching between windows in a long time…

The presentation started off well. I said something like:

“A former colleague once shared a penetrating insight into human nature during a meeting. He noted that ‘People do strange things…especially when they’re alone.’ So let me show you something…”

From there I explained being inspired by Pete Hodgson’s blog posts on the ./go script idea (In Praise of the ./go script – Part I and In Praise of the ./go script – Part II), how a well-used and maintained script is better than a stale README containing broken commands, and then tried to launch into my demo. But when I started to drag my terminal window onto the separate display, it didn’t show up. So I fumbled through keystrokes trying to remember how to take the browser window down from full-screen, and hit CTRL-F in the process…

At this point, while still fumbling, the guy tracking the time noticed that I’d activated the in-page search in the browser that contained the last text I’d apparently searched for. He then asked the observational question that turned the whole thing into a beautiful disaster:

“Does that say ‘make a child’?”

Yes. Yes it did. I just sat and stared, both trying to comprehend what I was last searching for—clearly, as everyone in that room also knew, I was probably looking for some detail about making a child process do something or other—and also for maximum comic effect. After a suitably pregnant pause, I turned to the audience and claimed, “I’m not that ignorant!”

By this point I knew I had practically no time left for my actual demonstration, so I rushed through a couple comments, and mentioned I’d be talking more about it in my 2:15pm session on documentation. It was actually quite fun and hilarious, just going with the disaster and relishing it with everyone else rather than letting it upset me in the slightest. I was both amused and flattered when one guy in a later lightning talk mentioned wanting to get a T-shirt with “Make a child…?” on it as a memento of beCamp 2017.

Docs as hacking tools

Since I’d only conceived the Documentation as Organization Hacking Tools talk during the pitch session the night before, I drew slides and inspiration from “The Rainbow of Death” and Making the Right Thing the Easy Thing (January 2017 Edition) to hastily assemble the deck first in the morning, and this first delivery was also the first run-through. Rough as it was, I feel it did a good job of organizing and expressing my thoughts and experiences regarding documentation culture, and how critically important is to organizational efficiency and change in general. (Though only today have I remembered that I didn’t mention snippets and OKRs…still, not bad for a first draft.)

Thankfully this talk didn’t take up the whole forty minutes, and I got to show off my go-script-bash framework a bit more properly. Then we had a great discussion of how some of these doc tools and concepts, including the grouplet idea, can be brought to bear in others’ organizations.

After this session, I spent the next two sessions out in the hallway having great conversations with Doogie Proffitt and Mike Alexander, amongst others; I was about socialed-out, and I enjoyed the relatively low pressure of in-depth one-on-one conversations. But still, there were some great sessions still going on, and I was sad that physics prevented me from being in more than place at once—a common complaint at conferences, yet still difficult to accept.

Wrapping up

At the end of the day, there was a big group retrospective, everyone was happy, and a bunch of us went to Random Row Brewing Company nextdoor (lit-er-al-ly, as OSC is in the top floor of the building next to it in the picture on the landing page) for a pint afterwards. New friends, great times, etc. etc.

OK, gotta catch a train back home—Charlottesville, I shall return!

I've released go-script-bash v1.6.0, a small release featuring its first user-contributed feature!

- Alexandria
Tags: Bash, dev tools, go script, Linux, Mac OS X, programming, technical, testing, Windows
Discuss: Discuss "go-script-bash v1.6.0" on Google+

I’ve just released go-script-bash v1.6.0, a minor update that includes the first feature contributed by a user! Juan Saavedra contributed an update to go-template to download a release tarball from GitHub rather than using git clone, which he found a little surprising as a user.

Though it’s been a long time since go-script-bash v1.5.0, it’s not like I haven’t been busy thinking about this project, as I’ve been creating features in my custom-links and dev-setup projects that I’d like to import into the framework. I also came up with a few more during the course of merging Juan’s contribution. However, since I left him waiting longer than I should’ve to merge his contribution, and I know how “little” features of this project can end up taking time to polish across multiple operating systems, I’ve decided to release v1.6.0 today and push these other items to the v1.7.0 milestone. All of the other features previously slated for the v1.6.0 milestone have been bumped to the v1.8.0 milestone.

(One of these days, I’ll get back to mbland/certbot-webroot-setup and the "Switching to Let’s Encrypt with HPKP" series as well.)

I’m obviously having a lot of fun with this project and getting a lot of use out of it—but it’s pretty cool to have someone else excited enough to add a feature to it, too!

At this point, I don't think I'm making an unreasonable request for a very specific birthday gift that would delight us all.

- Alexandria
Tags: personal, philosophy, politics
Discuss: Discuss "A birthday wish" on Google+

At my ripe old age, there’s not much I actually want in the way of birthday gifts anymore. I don’t need stuff. I’m not much for gift certificates outside of anywhere but iTunes and Starbucks. My goal is to divest myself of material things I have to manage and one day move or otherwise account for. All I want, typically, is to spend some quality time with a few good friends.

This year, however, I do have one very specific, very big request, from a very specific group of people: Congress.

Congress, it’s beyond time to end this, and if ever a line has been crossed that necessitates removing the chief executive from office, it was crossed yesterday.

The tone deaf, shameful, disgraceful remarks made by Donald J. Trump yesterday, while consistent with remarks and tweets he’s made ever since the inception of his candidacy (and earlier!) outdo them all to a degree I don’t think anyone thought possible. Drawing a false equivalency between anti-racist protesters and the coalition of the alt-right—comprised, as best I can tell, of the KKK and other white supremacists and sympathizers, not good-natured citizens concerned with historical revisionism as a matter of principle—is not only a painful insult to the victims of racially-motivated prejudice and violence, but an affont to the very identity of anyone who was once unquestionably proud to call themselves an American.

Like I said, this is just the final straw, on top of all these others—and I’m sure I’m going to forget some of the most outrageously dangerous and offensive things DJT has said and done, given my inability to recall them all:

  • He has trolled our first African-American President, Barack Obama, for years, by first claiming that he wasn’t a natural-born citizen, then claiming that he wiretapped his phones.
  • He has appointed departmental administrators that are either egregiously underqualified for their positions (Rick Perry at the Department of Energy, Betsy DeVos at the Department of Education), or outright hostile to the departments they are sworn to lead (Scott Pruitt at the Environment Protection Agency).
  • He has objectified and disparaged women continuously, whether it’s fat-shaming a former contestant on one of his shows, accusing a reporter of “bleeding out of her wherever”, or bragging about how he can walk up to any woman and just sexually assault her. (Side note: I remain mystified as to the psychology of Kellyanne Conway, Sarah Huckabee-Sanders, and the millions of women who supported and continue to support him in light of his unchanging attitude and incessantly sexist remarks. I even wonder why his own wife and daughters still stand by him.)
  • He has stoked nationalistic fears over immigration, particularly from Mexico and Muslim-majority countries (in which he does not hold any phynancial stakes), specifically playing to people’s fears over economic and physical safety by exaggerating the threat posed to Americans by members of non-white tribes, as it were.
  • He has encouraged brutality against those who disagree with him (including practically the entire press outside of Fox News and alt-right outlets), and against those under arrest by law enforcement—many of whom are disproportionately black or otherwise non-white.
  • He’s expressed the clear desire to risk allowing millions of underprivileged Americans to die due to lack of access to health care for the sake of personally undoing the legacy of his predecessor, Barack Obama, rather than doing so based on any genuine economic principle—because, after all, who knew health care could be so “complicated.”
  • He openly admires strongman dictators in other countries, most especially Russian President Vladimir Putin, whereas he can’t resist blasting political opponents, political allies, and any random person on TV or the Internet, using Twitter of all damned things as his weapon of choice.
  • He’s blithely brought us to the brink of nuclear war with North Korea, only because he always has to have the last word and wants people to think he’s the bigger badass.
  • He has actively sought to undermine faith in not only the free press, but in many of our other institutions of democracy, most notably the FBI and the Department of Justice, both by firing James Comey as FBI director and publicly shaming his Attorney General, Jeff Sessions—who, to be sure, is not a stand-up character, but people deserve direct criticism rather than passive-aggressive humiliation as a matter of principle, especially when they occupy an office that’s bigger than any individual who holds it. More on that in a moment.
  • He has abdicated American leadership in the world, by actions such as raising questions regarding our commitment to our NATO allies and withdrawing from the Paris climate accord—though the latter provided a silver lining in so far as many cities, states, legistators, companies, and citizens openly reaffirmed their commitment to climate change goals despite this boldly ignorant and damaging maneuver.
  • He refuses to shut up about how he won the damn election—and still hasn’t backed down from the thoroughly-debunked claim that millions of illegal immigrants cost him the popular vote, yet another move which plays to the suspicion of his white, undereducated “base” that “those people” are threatening our democracy…
  • …rather than a pathological liar who has actively attempted to undermine the mechanisms of federal justice attempting to uncover the extent to which Russia, a hostile foreign power, actively attempted to influence our election and favor DJT’s chances of winning the election…
  • …representatives of which were invited to the Oval Office shortly after after Comey’s firing, along with members of their media (while the American press was shut out)…
  • …when Trump decided to hand classified information from a trusted ally over to said adversarial government without them even trying to get it…
  • …after admitting to obstruction of justice for the second time (the first being on a national NBC News interview), in that he fired the FBI director to stop the Russia investigation.

This is not intended to be an indictment of people who voted for Trump—well, not the majority of them anyway, I hope—but of the man himself and those who directly enable him to continue driving our country down this dangerous path. Indeed, there’s much I’ve been thinking and sketching out about how to solve this problem in the long-term, this problem of mistrust and miscommunication that allowed this political powderkeg to build up and get set off.

And I’m rather critical of the political left with which I’m aligned, as we’re certainly guilty of some degree of groupthink and politicking that we need to do a better job of managing. But make no mistake about it: The crimes of the left are orders of magnitude less severe in degree and in consequence—save for the fact that we provided the opportunity for this completely unfit candidate to ascend to power and take the entire world, regardless of political affiliation, down this dark and dangerous path.

So Congress, I implore you, as a birthday gift to yours truly, if for no other reason: Make America great again! Remove this racist, sexist, xenophobic, anti-intellectual, authoritarian, dishonest, idiotic, ruthless, treasonous, narcissistic, sociopathic, dangerous monster from office. Introduce articles of impeachment today!