Mike Bland

Music student, semi-retired programmer, and former Googler

Most recent posts

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

I've produced a report on the early, promising results of my OpenSSL makefile refactoring experiment, in which I was successful using GNU make.

- Brooklyn
Tags: OpenSSL testing, programming, technical
Discuss: Discuss "OpenSSL Makefile Refactoring Report" on Google+

As announced in an earlier post, I’ve been methodically refactoring OpenSSL Makefiles to a top-Makefile-with-includes structure. I’m happy to report some early, very promising success in my new report OpenSSL Single-Makefile Build Experiment. Feedback welcome.

Whether or not the experiment results in OpenSSL adopting the structure, there are two huge benefits to come of this process. For one, I fixed latent build issues that should be adopted regardless; these are described in the report. For another, I may have another publishable article on my hands once a judgment is made and the process runs its course.

I paid a visit to Washington, D.C. this past week, gave a tech talk on unit testing and culture change, and was amazed at the positive energy there.

- Boston
Tags: 18F, D.C., Federal government, grouplets, programming
Discuss: Discuss "D.C. Trip Report" on Google+

This past Wednesday, July 16, I flew down to Washington, D.C. to visit a few government IT teams and give a talk on unit testing and culture change. I was hosted by Robert Read from the team known as “18F”, so named because it resides in the General Services Administration building at 18th and F streets. 18F, as I currently understand it, is a team that currently acts as a “production floor” to develop software products for government agencies using industry-standard (mainly agile) practices, and has ambitions to perform outreach to other agencies to improve their development processes. The audience for my talk, however, was primarily to members of the US Citizenship and Immigration Services development team and US Digital Services.

What was supposed to be a one-hour talk followed by a forty-five minute question and answer session turned into a one-hour, forty-five minute discussion, in which almost all of the two dozen or so attendees remained from beginning to end. That was just what I was hoping would happen—I mean, I was parachuting into this environment completely cold. I’d met no one, I’d seen no code, I’d literally only stepped into the office for the first time and gone straight to the conference room. Who was I to tell these folks what they needed to be doing on their projects? Did I even have anything to say that was either interesting or something they’d not heard already? Would I have enough to say? Would I ramble too much?

As it turned out, my approach of just getting the talk going and letting folks ask questions freely throughout got the room warmed up enough to where it wasn’t just me pontificating like an all-knowing so-and-so the entire time. There was real back-and-forth there. Rob and I brainstormed the four main sections the week before:

  • Unit Testing Principles, Practices, and Idioms
  • Unit Testing Education and Advocacy
  • Unit Testing APIs and Legacy Systems
  • Rapid Prototyping and Unit Testing Strategy

If I remember correctly (the day was a bit of a blur), we actually decided on the spot to start the talk at the second section, “Unit Testing Education and Advocacy”. From there, the talk naturally wandered throughout the first and third sections as well; we never got around to the fourth, but it’s better to have and not need than to need and not have.

The slides are freely available (yes, I got permission to share them first), but are nothing to be bowled over by. They’re basically just a fancier form of outline that I could use to keep track of the discussion. That said, they did the job more than well enough, and I’m offering them here in case others might be inspired to give similar talks in their own workplaces.

On top of that, I have to say I was stunned at the winds of change that seemed to be blowing through government IT culture. It was a real inspiration to see so many people engaged in serving their country, trying to make a real difference not just in how development is done, but in how the products of their labors can better serve their fellow citizens. It felt positively…grouplet-y.

My original "goto fail" article has been published online and in print by the Communications of the ACM, the flagship journal of the ACM.

- Boston
Tags: Apple, Google, goto fail, grouplets, Heartbleed, Testing Grouplet
Discuss: Discuss ""Finding More Than One Worm in the Apple" in Communications of the ACM" on Google+

The flagship journal of the Association for Computing Machinery, Communications of the ACM, has published my article Finding More Than One Worm in the Apple (PDF version, "digital" version) in its July 2014 issue (Vol. 57, No. 7, pp. 58-64). Again, mega-thanks to my reviewers mentioned in the article; to Guido van Rossum for advocating for the article; to George Neville-Neil (aka Kode Vicious), Jim Maurer and Matt Slaybaugh, who published it in ACM Queue and submitted it to CACM as part of the “Practice” section; and to Diane Crawford at CACM for being such a pleasure to work with in editing the final draft.

Let’s hope that between this article, my Goto Fail, Heartbleed, and Unit Testing Culture article for Martin Fowler, and my work on OpenSSL’s unit/automated testing, that some good will come of it all.