Inessential weirdness and secret knowledge

I’ve been thinking about this compilation of the “inessential weirdnesses” of the open source community, for a few weeks. The post (and excellent comments) are worth reading, but I’ll try to summarize the idea anyways: an inessential weirdness is a common practice or preference that doesn’t help further a communities goals, and often serves to exclude people who may want to get involved.

I’ve seen some of these same preferences (for the command-line, for the classic Unix text editors, against all things Microsoft or Windows) cause some friction and frustration at work, as well.

So: I get it. I agree these things are harmful. And, yet…

I love it so much. It’s fun to stockpile vim tricks, git arcana, and command-line combos. It makes me feel like part of a secret society, one of the initiate.

Imagine if the Freemasons, in addition to secret handshakes and code words and rituals and drinking, had a line on some real secret knowledge (say, how to make a slightly-better-than-average omelette). Yes, I’d be tempted to show off my secret omelette skills every chance I could. Yes, I’d be tempted to show disdain for the merely-average omelette, and those who would serve such an abomination.

(this analogy isn’t perfect: there’s almost certainly no proof that using obscure and complicated tools produces better work)

The point of all this, I guess, is that secret knowledge can be intoxicating, maybe even addictive. Moving past “inessential weirdnesses” is going to be hard work.

(That secret omelette technique might be baking powder)

Docker + Windows is super-interesting

Microsoft Says Windows Will Run Docker, the Next Big Thing in Cloud Computing

I’ve only recently started really playing with Docker (following along with James Turnbull’s excellent The Docker Book). Since Docker is very much linux-native right now, this Microsoft announcement raises interesting questions, and I’m curious how it will all play out. Here’s a few that come to mind:

  • On the hosting-side, I suppose there will need to be something like Linux Containers, for Windows. Will this be provided by Windows itself, or Docker? Does it already exist?
  • On the container side, will each container need to include a chunk of the Windows libraries (needed to run on Linux hosts), or will that be provided by Docker?
  • Will you need to buy a license to run Windows containers on a Linux host?

Learning stuff: School update, RHCSA, and All Things Open.

I haven’t posted in a while. Let’s fix that!

The last time I wrote about going back to school was January 2013. Since then, I’ve mostly enjoyed the classes I’ve been taking (exceptions: “College Math for Business”, and “Oceanus”), but was lacking clarity on exactly how much work I had to finish my degree. Even 18 months after starting, my transfers hadn’t been processed yet, which made it difficult to know how much work I had had ahead of me.

Thankfully, my advisor was recently replaced, and things have gotten a lot better: my transfers are done, and I’ve gotten valuable feedback on my degree materials. I now know that I have 7 more classes to take.

At work, I recently spent a week in training for the Red Hat Certified Administrator (RHCSA) certification, and I’m set to take the test on Thursday. I’ve felt comfortable as a Linux user for quite a while, but it feels like the right time to get a deeper understanding. My workplace recently standardized on Red Hat, so I also wanted to get a better feel for the Red Hat-specific technology and ecosystem. The RHCSA class seemed like a good way to achieve both goals.

Next month, I’ll be at All Things Open in Raleigh, NC. Three of the four tracks are likely to be useful for me (developer, operations, and open data and government), so I’m looking forward to some agonizing choices.

Why was I afraid of “agile”?

Believe it or not, my current job (where I’ve been since fall 2011) is my first where being a developer is my primary responsibility. My previous titles have been things like “support technician”, “data analyst”, and “IT manager”. Being able to code was just a bit of added value I could bring to the table (if it was acknowledged at all).

I’ve never been a fantastic coder– but I’m pretty good at taking an idea and turning it into something that works. That’s often been good enough, for the kind of projects I get involved with. I’ve long understood that there is a class of programmers who are better than me. They did things like Test Driven Development, or simply wrote better code, or used better tools. They were agile. I didn’t understand what agile development was all about, so it just became a code word for everything I wasn’t.

That all changed after I went to Scrum training a few months ago. Scrum is a particular way of implementing agile development. It turns out, “agile” (and Scrum) are exceedingly humane. Now, I understand that the defining feature of agile development is humility.

Here is why I say that:

  • There is no presumption of mastery. Instead, you are simply asked to keep learning and improving.
  • Likewise, the entire team is asked to periodically reflect on how they are working, and adjust as necessary.
  • Agile recognizes that nobody on earth (and certainly no committee or working group) is any good at deciding what the requirements really are for a software project. By getting the work-in-progress in front of customers quickly and often, you can react to their feedback, and be more confident that you are in fact building the right thing.

To me, that seems like a really civilized way to work, and erases a decade of agile anxiety.

Every book has a MOOC inside

By MOOC, I mean a Massively Open Online Course, the sort of class offered by organizations like Coursera and edx.

how does a book become a MOOC?

To start, you’ll need the metadata: the name of the book, the author, edition, and year, and (important for what follows), the chapter outline. Since we’re talking about a single book, you could enter this by hand if necessary.

For each chapter, allow students to do four things:

  • Participate in a discussion forum.
  • Submit quiz questions and assignments.
  • Answer quiz questions and do assignments(while also evaluating the relevance and effectiveness of those questions/assignments)
  • Evaluate assignments

Mastery of a chapter is determined by those last two things: Answering some questions, and having your own questions rated as relevant and effective. The course provider could use a system like OpenBadges to certify student achievement.

so, what’s the point?

  • For someone trying to learn the material in a book, being able to discuss it with other readers will aid in understanding, and being able to certify that you’ve mastered a book should make the whole experience more satisfying.
  • For authors and publishers, this is an easy way to make your product more valuable.
  • For course providers (who may work for the publishers), you have an online product that gets better as more people use it.

what might suck?

The first batch of students may have to wait around while a library of questions and assignments is developed, which could lead to abandonment. The way to deal with this is to pre-seed the system with enough questions to allow students to proceed through the course.

Tim Cook and capturing soot

Two things that struck me as related:

How are they connected?

The second item points the way to a future where the waste product of one factory could be the raw material of another. The factory that spews soot and noxious gasses into the air, or dumps chemicals in the water (or holds them indefinitely in barrels and open-air pools), isn’t just “polluting” then– it’s being inefficient. Pouring money down the drain.

In other words, maybe there’s a day coming when environmental stewardship and “maximizing shareholder value” aren’t in conflict.

From blur to blog with ifttt

I understood RSS before I understood blogging. In fact, I think it’s fair to say that my initial understanding of a “weblog” was a place to share the stuff I found in my RSS reader. This was encouraged by the feed reading software I was using at the time: stuff like NetNewsWire and Radio Userland– they both integrated tools for reading feeds and writing blog posts, and made it easy to pick a news item, and use it to start a blog post (The blogging tool in NetNewsWire was eventually spun out into its own product, Marsedit). This was the primordial “retweet”.

These days, I do my feed-reading with Newsblur. Newsblur provides it’s own internal blogging system (“blurblogs”; here’s mine) which is kind of nice– but what I really want is to be able to post to this blog from Newsblur.

Thanks to Newsblur’s newly-minted integration with ifttt (If This, Then That– think of it like email rules for the web), I can!

Screen Shot 2014-03-18 at 7.47.28 AM

The way this works, is that every time I click the “Share” button in Newsblur, a new blog post is created, with the link and my comments. I’m sure I’ll tweak this as I go, but for the moment I’m pretty satisfied.

Some tips for Safari Flow

Safari Books Online offers access to a large library of technology and business books and videos for a monthly fee. I’ve always thought this was a cool idea, and since it debuted (2001) I’ve signed signed up several times. I’ve always abandoned it a few months later, though, after a predictable cycle of interest and neglect.

The newer Safari Flow seems to actually be sticking, though: It works great on every screen I use regularly (laptop, tablet, smartphone). I’ll turn to it during the workday when I need to learn about a specific technology. I’ll flip through a recommended chapter while standing on the train. While rocking the baby to sleep Sunday night, I started watching Doug Crockford’s Javascript Masterclass.

In short, Safari Flow suits me more than the original service ever did.

I’ve gathered a few tips I’ve been sharing when I tell other people about Flow:

  • They hide the ability to search for books by title– I think this is to differentiate Flow from the main Safari service (Flow puts the emphasis on individual chapters, instead of whole books). You can search by title, though by prepending “title:” to your search. For example, if you search for just “backbone”, Developing Backbone.js Applications is on the second page of results. Search for “title:backbone”, and it comes up on the first page.
  • Their library is much deeper than what you’ll see in the “topics” system, there are MANY books you can only find through search.

Superbrothers: Sword & Sworcery EP Soundtrack

This week, I spent some time listening to the the soundtrack to Superbrothers: Sword & Sworcery EP, by Jim Guthrie (available as an album called Ballad of the Space Babies). This will be the first of what I intend to be a weekly series of music reviews from my Humble Bundle library, which is about 90% game soundtracks.

My favorite track on this album is Lone Star, which you can play here:

I don’t really have the language to write critically about music. What I can say about this album is that “worst” songs aren’t so much offensively bad, so much as unmemorable. It’s a lot like Moby’s music– for every head-nodable tune (like South Side) there’s a bunch that never rise above “pleasant”.

The memorable songs on this album, then, are: Lone Star, The Prettiest Weed, and Maelstrom.

Will you listen to this again?

Probably not as a complete album. I won’t be upset if Lonestar or the other tracks I mentioned above turn up in shuffle mode.

Have you played the game?

Yes! I haven’t finished it yet, but it’s fun. The stuff I said above about songs being memorable or not doesn’t really apply, in-game. The music really contributes to the atmosphere of the game.