Archive for October, 2008

A photo series I would like to see


Geeks crashing after hackathons.

The ways in which people crash when they’re utterly exhausted after a long work sprint are:

  1. Inventive – where do they sleep? what do they sleep on? how do they block out light and sound? what do they use for blankets?
  2. Informative – you learn a lot about someone by seeing what drives them to stay up past their bedtime
  3. Touching – this most of all. Sleeping hackers remind me a little bit of sleeping children. They fall asleep so full of dreams.

Status update


  • Eyes: burning. (Reason: chopped a lot of onions for vegan Filipino food today, yay for Not!)
  • Legs: tired. (Reason: learned to breakdance, yay for Woon!)
  • Brain: on information overload (Reason: spent way too much time trying to roam through tangled documentation and wiki pages for OLPC today.)

At the risk of reinventing the wheel, I’m going to sleep on the question of “if we had a blank slate, what type of information-finding architecture would I want for support and QA?” and then wake up and write it down, and then see what bits of it have already been implemented.

I’m fairly certain that my obsession with clear, clean infrastructure comes from my high distractability quotient. If my environment prevents me from setting up a good work system, I flounder. Therefore, I need to refocus on modifying the environment first. Occasionally this ends up helping other people, which is nice. It does mean that it sometimes takes me longer to get around to what I am “supposed” to do.

Speaking of environment, it’s time for a 5min whirlwind room-cleaning, then for sleep.


How do you toot your own horn silently?


The catch with enabling is that the more effective it is, the more invisible it is. Enabling is about empowering other people to do what they do best, so the better you do your job, the less other people know you helped.

When the best have accomplished their task, and their work is done,
The people all say “We have done it ourselves.”
–Tao Te Ching, chapter 17

How do you measure helpingness? This is both for yourself (to see how you can do it more effectively) and to show others so you can get opportunities to help more people later. How do you show what you’ve done without pasting your name over something you’ve worked so hard to give somebody else ownership of and visibility by?


If you give a Mel a stove…


Garlicky collard greens and fried eggs

Open box of vegetables; find Gigantic Green Leaves, and go “what are these things?” Read tag on bottom that says “collard greens.” Go “What are those things?” Decide to exercise your primary cooking principles of Everything Tastes Good When You Put It In A Wok.

So. Cover the bottom of a wok with olive oil (maybe 1/4 cup) and put it on medium high with a good amount of minced garlic (half a head) and some sea salt. Wash and roughly chop a bunch of collard greens, then toss them in the wok with the tender garlic and ridiculously-fragrant-by-now spices; stir everything around ’till the greens are coated, then cover and let it steam up for 5 minutes or so. Uncover, mix everything up again, and let the liquid evaporate.

Dump the collard greens out of the wok onto a plate and quickly fry an egg or two in the wok, then deposit eggs atop the collard greens. Eat. This serves two (one Mel, one Ian Daniher). Cooking the greens this way brings out the citrus notes in the collard greens somehow, even if there’s no citrus, so I think sprinkling lemon or lime juice over would make it even better.

Milkless But Definitely Not Vegan Cream Of Broccoli Soup

Another morning, another kitchen episode. Think: “Man, I want soup. I have broccoli. I like broccoli and cheese soup. However, we have no dairy products other than part of a can of pre-shaved parmesan.” Shrug and decide to try it anyway.

Saute a clove or two of chopped garlic and olive oil in a wok while you chop a head of broccoli into stir-fry-size pieces. Dump broccoli into wok and continue to saute on medium-high heat for 2-3 minutes until the vegetables are heated through. Pour a cup of white wine into the wok, let it start to bubble, then turn the heat to high, cover the wok, and go off and make yourself a peach smoothie, washing out the blender afterwards (about 5 minutes).

Uncover the wok, stir things around a little, and let the wine evaporate (turn the heat to medium if you’re getting panicky about the time) while you peel a small onion and chuck it, raw, into the blender – it’ll give the soup some kick without the trouble of having to find a nice spice blend to go with it. Going further along the “don’t bother with a spice mix” decision, toss a bouillon cube in (honestly, after tasting the soup, I’d say the last bit was optional and salt and pepper would have been just fine.) Note that I have an uberblender. If you do not have an uberblender, you may want to chop the onion and saute it a little in olive oil first. In fact, I probably should have; the resulting soup was just a little too sharp.

Dump the wine-steamed broccoli and garlic into the blender atop the onion. Empty whatever shaved parmesan you have in your fridge (maybe 1/2 cup for me) into the blender. Pour a glass of water over all of it and blend for a couple minutes while you clean up everything else and eat some applesauce and/or drink your peach smoothie. The soup will be green, creamy, cheesy, and a little spicy due to the raw onion.

As a side benefit, you have consumed your Vegetable Quota for the day and can now go off and eat half a leftover chocolate cake without too much guilt. (Not that I, er, did this. There wasn’t half a cake left. I mean, woo nutrition!)

Peach smoothie

Look in the fridge. Realize that you have an incredibly overripe peach. Say “Oh man, peach smoothie!” Cut out the parts that are a little too ripe. Put it in a blender with soy milk, blend, and drink.

Cleanup for the latter two recipes

Wash a wok and a blender. (What? Look, I eat out of plates and bowls and things when I’m not the only one in the house, okay? I’m saving water here.)


Day of Awesome


Blues scale. 12-bar blues progression. Walking bass lines and augmented chords with sharp fifths and learning the proper names of note combos I’d made up my own terms for years ago but never thought to say out loud to other people (who would I say them to?) Music! Why didn’t I study this before? I need to make up for so many years of lost time. Glory!

Mako’s Free Software reading group at the Media Lab: ROCK. Cjb and I ran from 1cc to join in. I spent something like 5 minutes skimming all the first-session readings because that’s about how much advance notice I had about it (thanks for letting a last-minute auditer in, guys) and now I have to go back and read those several hundred pages a little more slowly; even I can’t read coherently that fast. It took a while for me to get used to the rapid back and forth conversation and frequent interruptions of the group, but I think I’ve mostly got the discussion style down now, and the sheer firehose magnitude of the bandwidth is fantastic.

Also, Berkman? BRAIN EXPLODES WITH AWESOME. I LOVE EVERYTHING. So very, very happy right now.

And tired. Very tired. I think. That I should go to bed.


Why bounties fail


I thought this was a great point from last week’s discussion that deserved a shout-out:

“Remember however that some (high level scripting) software will effectively become learning materials – any code the students are asked to edit – and should be treated as learning materials.” –Joe

One of my personal favorite things about the XO being open-source is that the entire machine, and all the software on it, turns into a 3.2lb green box full of learning materials. The increasingly blurring line between Activities and Content Bundles (regarding how they’re treated in software) is a good example of this.

Now, about bounties, and solving the problem of how to get people to do things that aren’t glamorous (such as “make gforge work”)…

Listening in on Doc Searls in the #berkman backchannel last week made me think again about why bounties have not been historically useful with OSS development. Doc brought up that a lot of open-source work is done by geeks scratching their own itches, and that bribing somebody to scratch an itch they don’t have doesn’t really work.

But that’s the point of bounties. They are supposed to move the itch. Now the itch you have to scratch is not “I want to fix this for myself,” but “I don’t have that reward, I’d like to have it.” Rewards can be financial, status recognition, or some good thing happening to someone else you care about (“I fixed this problem for my friend/a child in a 3rd world country.”)

But that doesn’t seem to be happening – I come across bounty site after bounty site for OSS with no recent activity. Maybe there is one I’m missing that’s prolific and alive, but there doesn’t seem to be a dedicated bounty site that gets good results across multiple OSS projects – most work on a project, bounty or not, seems to be done by hackers already within their communities…

…and this, I think, is what the bounty sites are missing.

One emotion often associated with OSS communities is their sense of independence and grassroots-driven-ness; the sense that they built their own identity and are centralized in their own (online) location. So I can see a centralized bounty system falling flat with NIH syndrome, unless it’s offered as something each project can incorporate/control inside their own systems. (Can you imagine Trac existing only as a “we’ll host it for you” service, rather than having projects install, manage, and configure their own installations and write plugins for them? Scratch your own itch mentality is there.)

I talked about emotion earlier. Emotion is important.

If bounty sites fail because they don’t have bugs that hackers want to fix, because it’s not an itch they want to scratch, we have to think about what makes people think bugs are important for them to fix. Debasis Pradhan has a good answer: it’s emotion. You spot a bug by the emotional reaction you have to it. Frustration. Surprise. Rage against the machine.

So maybe one issue with bounty sites is that they treat OSS development as a purely economic activity without emotions as a motivational driver in that market.

All right. So what might be good requirements for a solution to the set of problems bounty sites are trying to solve?

  1. It must create emotional attachments between hackers and the bugs you want them to fix. Make it really their itch to scratch; don’t pay them to scratch an itch they don’t feel. (“Why would I scratch my behind for no apparent reason? I don’t care if you’re going to pay me for it. That’s absurd.”)
  2. It must consider community identity, and work on building the identities of the communities it serves, rather than creating its own centralized brand.

What else? And then – of course – the question: “How does this apply to OLPC?”


One of these things is not like the other


My lunch today:

  1. celery sticks (there was an entire head… plant… thing of celery in our fridge; it needed to be eaten)
  2. peanut butter (to go with celery sticks)
  3. mint chocolate chip ice cream cake (thank you, Gustavo!)

Lissa taught me how to bake bread at pika last night. It was delicious! And much easier than I had thought. Perhaps I should do this sort of thing more.


Brainstorming! Brainstorming!


Brainstorm at Mauna Loa last night. Just for fun. We used this as our excuse, and we’ll come back to it later, but it really – for me, it ended up being more about stretching out those parts of my brain that hadn’t gotten a chance to shake their legs for far too long. I love brainstorms; they put me into flow state almost immediately. I love being in them, facilitating them, teaching other people how to run them. The great thing about it is that anyone can brainstorm, and it’s a difficult art to learn how to truly do well – minute to learn, lifetime to master.

Some highlights of last night:

  1. Worst Thing: (“What’s the worst thing you could imagine doing for the world – something that would hurt the most people most deeply in 1-2 years?”) “Global infertility!” “Anarchy for a day!” “Detonate all U.S. nuclear weapons!” “All white people are automatically made slaves!” “One Handgun Per Child!”
  2. Worst Thing, Flipped: (“Now take these ideas and do a 180 on them – what’s their opposite? Give specific implementations.”) This led to things like “free speech punishable by death” (I forgot the exact phrasing) flipping into things like “tax breaks for property owners who allow part-time use of their land/office/home as open meeting space for the public.”
  3. Cultural artifacts and internet memes: (“Break time. What are the coolest things you’ve heard about on the internet, or weird things from whatever you consider as ‘your heritage’ right now?”) Examples: robots that follow you around to give you a seat, boba tea, long beards, “we eat too much biscotti”, space elevators.
  4. Outlandish implementations: (“Great! Now use only things from the ‘artifacts and memes’ list to implement things from the ‘worst thing, flipped’ list.”) This was designed to break us of two habits we were running into: (1) our ideas weren’t wild enough, and (2) they were too vague – we had things like “inspire children,” but not implementations like “inspire children with encouragement-bots that give them cheese for every new idea they publicly express.”
  5. Superbowl commercial time: (“In pairs, make a 30 second ad spot for one of these ideas.”) The aforementioned encouragement-bot was one; then there was Andy P lolcat-petitioning in front of Chris’s polluting factory (“No can has… *gurgle* …oxygen!“) and RoboPew, which gives guests a running text commentary on appropriate behavior and the theological meaning behind actions taken during a spiritual service with which they are not familiar. The W.E.E.! World Elevator Ejector left us choked with laughter and unable to do anything for two full minutes afterwards.

We didn’t get to a whole bunch of my favorite brainstorming techniques – the use of props, for one – and I would love to have warmed up or had a break with a little bit of improv theatre style training, and if we’d had time to reflect on how we were doing at applying the (semi-improvised, semi-written-from-memory) Rules of Brainstorming before we launched into a second round, I think it would have been even better. But as it was, we ran a long time with a lot of energy, and I was surprised when we all thought of checking the clock and found that it had dragged past midnight (at which point we hurriedly wrapped up so I could catch a train before the MBTA shut down for the evening).

O Metabrain: I want to learn to brainstorm better. Who are the best ideators you’ve ever come across, and those who are best able to bring out uninhibited, inspired crazy thoughts from others, suspending judgment for a moment?

Also, I’ve gotten multiple queries during the last few brainstorms I’ve facilitated as to whether I could teach others how to run the kinds of brainstorms that I do. My technique reflects the wildly varied ideation training I’ve had over the past 8 years – I use different bits of improv theatre, ethnographic fieldwork, classroom teaching, and quick-and-dirty engineering prototyping tools to kick groups out of mental ruts.

We’re thinking of 3-5 weeks from now (in Boston). This would be completely free and open to the public since I’ll still be learning how to teach this kind of thing effectively (I’ll be practicing by teaching some friends beforehand). Drop me a line if you’re interested and I’ll let you know when we work out details.


What can we use for BigBoard connectors?


This one’s from dinner with Nagle at pika last week. How would you upgrade snap circuits? They don’t really encourage creativity (in his experience) beyond the circuits that they tell you how to build in the manual (even Nagle had a hard time coming up with more things he could build). How would you make a real electronics prototyping kit that kindergarteners could use?

Here’s what we came up with. Temporary name: BigBoard.

Brown is laser-cut lexan, tile, or some other hard, thin, nonconductive surface. Blue is the actual electrical component (ideally there’d be another layer of plastic over this – a casing so small fingers don’t get burnt). Traces and banana plug posts are in green. Each component has a velcro back, and you’re meant to be able to stick it on a giant sheet of velcro (marked off with dots at regular intervals to give you a grid to eyeball things by – it looks almost like a very, very big protoboard, hence BigBoard). Shown below are examples for a resistor and transistor.


You get the idea and can probably imagine things like speakers, capacitors, LEDs, and so forth now (maybe even ICs eventually). Note a few things.

  • You don’t lose the look, feel, and shape of the actual components – they’re not hidden, so kids will get used to seeing capacitors that look like capacitors, and so on. (I know, I know, surface-mount. Hush. We won’t do that now.)
  • Components are replaceable if they burn out.
  • Banana plugs are stackable. You can have as many connections at each connection point as you want.
  • The really big velcro sheet with regularly spaced dots looks like a protoboard. In fact, if you see a simple circuit made on a protoboard (maybe by a local friendly college student), you can recreate it with the BigBoard. And vice versa – someone could make a more permanent version of a BigBoard circuit that looks just like what’s on the BigBoard, but smaller (important for young children who haven’t gotten into the abstract thinking yet – it’s hard to convey that thing X is isomorphic to thing Y to kids below a certain age).

This is a tiny snapshot of the excited discussion we had on what you could do with the BigBoard – we need to run off to the Fab Lab and make prototypes of it and try it out with kids, at this point. Two design issues for the beyond-prototype stage remain unresolved, though – so metabrain, please help us brainstorm!

  1. How do we make it cost less? Laser-cutting acrylic == $. Banana plugs and posts == expensive. If we come up with a different way to do connections between parts, that would save immense amounts of money – any ideas for connectors we can use? Ideas floated other than banana plugs so far: snap-buttons (though you’d lose the ability to make multiple connections at each connection point), mindstorms lego wire pieces (also expensive), jumper wires (small, sharp, and dangerous).
  2. What is the proper tradeoff between cost and repairability when it comes to safety features? How can we keep kids from getting shocked and burned, keep our components from getting shocked and burnt (and make it easy to replace them when we do), and keep things cheap? Example tradeoff: we could make gorgeous plastic cases to go over tiny breadboard-style sockets you could press the parts into; this would be safe and super-repairable, but cost a fortune. Or we could glob a big thing of epoxy over each part. Cheap, still pretty safe (I think – I don’t know how well epoxy isolates things thermally), but very non-repairable.

Thoughts?


Cables cost money.


Cables for electronic instruments cost a lot of money. They are pieces of wire. Encapsulated by rubber. With plugs at the end. How does 6 feet of this stuff end up costing $18? At least I will be able to record tracks now. Reminder to self: I am not allowed to get a guitar and mod it until I can play the piano properly in public.

One of the best features of my digital piano is its headphone output. This lets me play completely without shame – it’s amazing how fast my hands lock up the moment I turn on external speakers. I am beginning to play on random pianos (starting with pika’s when I go there for bread-baking lessons tomorrow) to attempt to get over this hump; right now I start out timidly, forget I’m scared at some point midway through the song, and then I can let loose with blues licks, walking bass lines, whatever.

Ian Daniher is here, visiting OLPC and then Olin, in that order. He’s in the office with Seth doing crazy things with arduinos.

I realized I haven’t been keeping people very up-to-date on what I’ve been doing because I’ve been too busy doing too much stuff. I’m trying to change this. I want to have a more openly documented life; it’s been a good experiment so far, but I am slacking.

Right now: pasta and listening to Greg and Ellen try to game a voting system. I’ll start describing yet more projects next.