Saturday, January 25, 2014

The Roommate Antipattern

(editor's note: this is an old post that was in my drafts folder that I only published now. That is why it appears like I don't know how to do math if you consider the dates versus the sine curve.)

Mitch Altman, the inventor of TV-B-Gone and a person some refer to as 'the Johnny Appleseed of the hackerspace movement' gave a talk at the 24th Chaos Communication Conference about 'hackerspace patterns'. It's a helpful lessons-learned guide for groups wanting to take the plunge and start their own.

There are a couple of worrisome cautionary patterns in the list. One that stands out is 'The Sine Curve Pattern':

Peak enthusiasm at a hackerspace has the form of a sine curve with a cycle duration of four years. Keep the hackerspace running, even if the feel-good-factor is temporarily on holidays. Chances are your space will be awesome again in two years. Don’t give up! Maybe an exciting new member will knock on your door tomorrow.

Having started in 2009 (official in 2010, but still) this put us in the trough of the pattern, at 3/2*PI. Over the summer things were pretty slow and admittedly I got kind of worried, but then I remembered that because it was summer a sizable part of the population of our college town was gone. Many people were off on vacations, too. By Fall we were back to having workshops and events and I'd be trying to simultaneously listen to 3 or 4 conversations at once at Public Meetings on Wednesdays again. We did experience some challenges, but things are definitely headed back up now (in accordance with the wisdom of Altman). Still, let's talk about it.

First, we had a new member join in the winter. He was a pretty interesting guy who talked about possibly hosting a glass-blowing workshop. Generally, he seemed like a cool guy and people enjoyed talking to him. He was an artistic type, which I particularly liked as I am very big on the intersection of art and technology. However, we were to find out it would be more accurate to say he presented himself as an artistic type. Those of us who kind of idealize artists at times are prone to making these kinds of identification errors. That was not really the problem, though. We want to be a welcoming environment and there's a social element to the place for sure, and it is true that a bullshitter can be fun to be around if he is an entertaining bullshitter. The problem can, as it turns out, be found in Altman's Design Patterns. This one is the Roommate Anti-Pattern.

You need a space for meetings and as a lab, to store and work on materials for projects. In order to minimize rent or out of sympathy, you think it’s great when someone lives in your space. But somehow it doesn’t work, as you cannot use the lab anymore.

We had actually anticipated this, and one of our few rules is 'don't live at the space' (the others are 'don't be on fire' and 'be excellent to each other'). So this doesn't quite fit the pattern, because nobody thought, 'this is great'. This didn't happen overnight. Gradually we noticed the individual increasingly settling in. He would emerge from the shower in the middle of a C Programming class. He would watch youTube videos and grumble when people were having a workshop. His RV was parked at the space around the clock (irritating both our landlord and our neighbors). One morning I stopped by and noticed an extension cord running out our back door and into the door of his RV. Utility bills went up. Way up. As far as anyone could tell, most of what was happening was beer was being drunk and TV was being watched (TV! What would Mitch do?) It was not an incubator of great works of art.

We discussed this with him a couple of times, but it got to the point where we were just going to have to go our separate ways. This was problematic in part because with a consensus organization, you can never get a consensus to kick a person out. There was much discussion within the group, and there was unanimous (-1) support for the idea that we needed to part ways. We decided on a rule to vote to put a person on probation, followed by a vote a month later on whether to keep the member.

As sometimes happens with these kinds of things, I think eventually the message got through that membership is not free rent. This guy's behavior fell well outside of 'being excellent to each other', and for a month or so there was some tension as we tried to sort out what to do. Eventually the individual came to agree that the situation wasn't working out and that his behavior was not what our space is about, and more importantly I think he realized we weren't really buying his bullshit anymore, and he left. It was not a happy series of events, but in the end we had gotten out of the Roommate Anti-Pattern, and everyone (-1) seemed to think things were handled well. We overcame it and moved on.

Back in Action with Beagle Bone Black Experiments

Hey Folks, I have been away a long time. I once read advice about writing a letter, and the first thing the guy said was 'never start by apologizing for not writing'. So, no apologies for not writing. Instead, thanks for stopping by.

As we may or may not know, I am active with Bloomington, IN's hackerspace, Bloominglabs. I handle the social media and promotional stuff and am on the board. Sometimes I even hack or make things.

Recently we started a hackable thermostat project. We got the 'minimally viable' bit up and running, so for example if we have a meeting at 7, I remotely kick the heat on at 6. Also I can see what the temperature is remotely.

We experienced some heartache recently, however, when it got below zero and we forgot to think about the fact that the laser cutter has an exhaust running directly outside, letting the cold air into the laser cutter, far from the temperature sensor I installed, freezing the water used to cool it, breaking the tube. As LaserDan put it, we learned nothing from the destruction of the first Death Star.

So anyhow, back to the thermostat. Right now it's an Arduino with an Ethernet shield. We ran the cable across the space, so it's pretty awkward. Also the Arduino has pretty limited power, so we decided we are going to run things on the Beagle Bone Black.

So far, so good. I have various sensors running in my house including temperature. I tried using the DHT22, however the code I found SUUUUUUCCCKKKKKKEEEDDDD, the reason being the timing was way off. On our friendly Arduino, we can be assured, especially if we turn off interrupts (as is done in the handy library from the adafruit people) that our program is the only one running. On the BeagleBoneBlack with Ubuntu, no such luck. Some people claimed to get it to work, but nobody was happy with it. I got it to give me readings, but with more errors than good readings.

Now I could have gone down this rabbit hole forever, but as luck had it I also had a ds18b20 with the one wire protocol. This was (relatively) easy to set up, and way more reliable, as detailed here. Sometimes you just have to let go and move on.

I'll try to post more frequently on here about my experiments, Beagle Bone Black and otherwise, especially about things I get stuck on and then solve. Hopefully somebody else will benefit. But if life takes me elsewhere and I don't post as much, well, no regrets and I'm not sorry.

(I think I've covered myself from the sad 'HEY I'LL POST A BUNCH MORE' blog that hasn't had a new post for 10 years now.)