Archive for June, 2010

The sort of leadership I admire


From talking with Karsten the other day: the 17th chapter of the Dao De Jing (道德经) has long been one of my favorites, and captures a crucial part of my beliefs on what makes a good leader.

When the Master governs, the people
are hardly aware that he exists.
Next best is a leader who is loved.
Next, one who is feared.
The worst is one who is despised.

If you don’t trust the people,
you make them untrustworthy.

The Master doesn’t talk, he acts.
When his work is done,
the people say, “Amazing:
we did it, all by ourselves!”

It really loses something in translation (like conciseness! lots of conciseness!) but oh well. You can get a character-by-character translation here… you’re looking for the heading that starts with 第十七章 (“17th chapter”). Pinyin without the tones (I’m lazy) follows each line.

太 上 , 不 知 有 之 ﹔ (tai shang, bu zhi you zhi)
其 次 , 亲 而 誉 之 ﹔ (qi ci, qin er yu zhi)
其 次 , 畏 之 ﹔ (qi ci, wei zhi)
其 次 , 侮 之 。(qi ci, wu zhi)
信 不 足 焉 , 有 不 信 焉 。(xin bu zu yan, you bu xin yan)
悠 兮 其 贵 言 。(you xi qi gui yan)
功 成 事 遂 , 百 姓 皆 谓 : 「 我 自 然 」 。(gong cheng shi sui, bai xing jie wei: “wo zi ran”)

The Wikipedia summary on the theme of “knowlege and humility” is also good. I keep going “meh, it loses something in translation,” and I know I’m missing tons of stuff in the translation (my Mandarin is awful, and this is written in old-skool Chinese, and it’s an esoteric philosophical text to begin with), but the little I do understand seems to jive with this.

The Tao Te Ching praises self-gained knowledge with emphasis on that knowledge being gained with humility. When what one person has experienced is put into words and transmitted to others, so doing risks giving unwarranted status to what inevitably must have had a subjective tinge. Moreover, it will be subjected to another layer of interpretation and subjectivity when read and learned by others.

Trying to read this text is one of the first things that made me actually want to learn Chinese. It’s still a driving motivation. Oh yeah, and the “actually communicate with people” thing – but that came later. I’ve never really had to talk to someone who only spoke Chinese, but I’d like to be forced to – I want to spend a year working in China, hopefully… quite soon.

Wow. Brain backlog clearing brings up the weirdest stuff.


Partial adventure in learning about message threading


I wondered how email message threading worked the other day, so I decided to go find out.

The question I had was “how do I reply to a message that was sent to a list before I subscribed to it, in such a way that it gets threaded in the proper manner?” Specifically, I wanted to respond to the summit-planning list’s email thread titled “Booth setup on Tuesday” yet choose my own level of nesting in the thread. For instance…

* original message
  * reply 1
     * reply A to reply 1
         * reply $foo to reply A
     * reply B to reply 1
     * <--- YOUR REPLY GOES HERE
  * reply 2
  * reply 3
     * reply A to reply 3

I downloaded the archives for the appropriate month and looked around. Huh. This is the first time I’ve actually paid attention to what was in the message headers…


From bpowell01 at fedoraproject.org Thu Jun 10 17:33:50 2010
From: bpowell01 at fedoraproject.org (Brian Powell)
Date: Thu, 10 Jun 2010 13:33:50 -0400
Subject: Booth setup on Tuesday
In-Reply-To:
References: <20100610012156.GC18467@victoria.internal.frields.org>
Message-ID: <aanlktikjb0w0nmy1rv1cppuqpbsmxbie3pr_w38bu8iq @mail.gmail.com>

Hrm. In-Reply-To and References seemed pretty promising. They pointed to the Message-IDs of the messages they were threaded under, in the order of their nesting. It wouldn’t be too awful to get a mail client to do threading with that.

As a side note, how do Message-IDs get generated? They’re specified in RFC 5322, but it seems like different mail clients generate them in different manners, and the only document I could find that had actual suggestions on the implementation is 12 years old. Seems like the answer is “pick your mail client, then look at the code.”

Anyhow. I think that if I changed the In-Reply-To / References headers to be the correct things, my message would nest nicely. Trouble is that I can’t find a way to do that in Thunderbird – the only promising extension I could find wasn’t compatible with the version of tbird I run (3.0.4). At this point (1) Paul started a new thread that was a better one for me to respond with my information to, and (2) I went “eh!” and decided to stop chasing this down because I was hosed with other things. Nice small adventure, though.

I’m happy to learn even tiny bits and snatches of how email works, because I’m still trying to digest how mutt setup works (after blindly copying Karsten’s .muttrc file and with help from Ian and Paul, I can send email using mutt, but haven’t… figured out how to read it yet). I have such a broken concept of how email works that all the bits and pieces haven’t quite sunk in the right way yet (the way that would let me, y’know, use this stuff with impunity).

Once I understand mutt, the next thing I want to figure out is dovecot. I can do these things blindly, I just don’t really understand what’s going on… and I would like to. Just because. It’s fun.


more braindump: e. e. cummings


Yeah, the corniness factor of this quote is higher than I’m comfortable with, but I ran across it reading today and wanted to remember it, so I’m putting it here.

“To be nobody but yourself in a world which is doing its best to make you into everybody else, means to fight the hardest human battle ever and to never stop fighting.” — e. e. cummings

The hard part (for me) is being able to keep you head clear on what that self is, could be, should be – there are so many pressures sometimes that I’m not sure where or who a thought is coming from any more, or whether I actually believe something I’m saying. Authorship unclear. It’s why I took a gap year after college; too many voices. And it’s far better now, but it’s still hard to step back and listen because so often I can’t stop running and be still enough to see the forest for the trees.

So I run myself hard so that I become so tired that at some point I can force my fatigue to overcome my habit of adrenaline. I can then make the choice to rest – and when I rest, then I can think for snatches. That’s why I’ll often have giant spurts of rambly introspective blog posts shortly after a scarcity of posts (most of them saying something like “ZOMG SO HOSED”). I write and think quickly because I rest quickly and with great intensity – I’m essentially either collapsing or “WHEEEEEEEEE!” at any given point in time (much more frequently the latter). I’ve been learning a slightly calmer middle ground (“wheeeeeeeeeee!”) over the past N years, but it takes effort not to expend that much energy, and I’d rather use that energy to do stuff rather than rein myself in from doing stuff.

I’m starting to learn how to rest before I get to the collapse point. Burnout has taught me some hard lessons in the past few years; it’s been over a year since I last had to learn one.

On a completely different note: I still have fantasies of someday actually redoing my website, so for when that day comes, I should look at KompoZer, bluefish, and SeaMonkey. Mm. And… LaTeX, I want to get back to LaTeX, and try the awesome window manager, and… yeah. The hacks queue up, for sure. They’re not a backlog, but an idea queue… I’ve always got something cool to do at any given point in time. Another fun thing I want to look at some point – but my car takes priority – is bicycletutor.com.

Guitar and exercise and Mandarin. I want to make sure I pick them up again next week – I’ve been extremely spotty this week. Balance and recalibration. I’m actually proud that I even remembered that I wanted to do them this week – and I did play a little guitar, but not deliberate practice… and I exercised a bit, and did no Mandarin at all. Well. The first thing is remembering what you’re trying to do… I’ll get better at this.


Braindump on well-worn-ness


I like well-made and solid things that are used, and worn with use, and made to be worn with use. Things made for mud and grubby hands and hard work and the occasional evening of thoughtful maintenance.

I like the tweaks I’ve set up on my computer (which I need to figure out how to script an automated setup routine for). I like the combination of the new sole and the old everything-else of my Birkenstock sandals; I wore them so constantly that I wore through the entire sole, a whole centimeter of rubber, just walking around. I like the thousand tiny scratches, scuffs, and worn-shiny parts on my Thinkpad laptop, and I look forward to my guitar 10 years from now.

I like my dog-eared, battered books that I’ve hauled off on trips – books that have been rained on in the Philippines and crushed in backpacks in Australia and dropped in mustard in New York. I like having few things, simple things, good things. I don’t always manage my stuff so that I do indeed have those things, and only those things I need, but that is what I aim for when I can.

Houses are much the same way. I like living-places that are lived-in. No coordinated design scheme except for things the residents think are cool, bring in and put up in places; it all works out somehow. Steve’s house in Rochester is like that. Books, all sorts of interesting books, all through the house. Big black dog getting into everything. A porch that has a screen door that needs fixing, and a swing bolted into the ceiling of the porch (again, not really with a particular coordinated furniture layout, just kinda put up where it seems to make sense). Hammock in the back, and an old swingset, and the grass is more like a wildflower garden. Last night we sat on the porch and ate cookies and drank milk as the sun was dropping through the trees out back. Walter’s house in Newton has a garden in the back that hardly needs tending, yet has strawberries. Homes that are nicely broken-in and rumpled; arrangements that don’t need a lot of upkeep.

I like cultures and places and people and things with histories and roots, things that are solid and comforting and real with sun-faded paint and foot-worn pathways and thousands of tiny little scuffs and scratches that tell you this thing has been used and loved by people. Places that hold the stories that have taken place within them, tools that have shaped themselves to the work they’ve done, and carry
the story of that work when you bring them out to your next job.

Getting rid of all my junk will be an astoundingly liberating feeling. My ’93 Lexus is a solid car; I’m going to take the time to fix it up (give it a real wash, clean out the insides, get my tire pressure to the right levels, check everything) next week, and check in on the progress Melanie has made in selling all the stuff I’m not putting in my car to move to Raleigh when I do that at the start of August. I’ll take only what I can fit; there’s not much that I need. When I have fewer things, my head is clearer. And I want my head clear, because I owe Mark two write-ups on a project that’s got 6 more years to go, and I’m trying to figure out whether it’s possible to do it.

Thoughts still scattered, lots of good stuff packed in here from the last 2 weeks that needs a little breathing in order to come out. Brainspace: I need it right now. I will likely take some time to get some real rest on Wednesday; before I rest, I need to be assured that everything I need to do is taken care of so that I can pause for 24h and then get back into the swing of things.


recent non-POSSE moments


I’ve mostly been doing POSSE the past two weeks. But not always.

  • Brazilian steakhouse with Peter (Robinson, from Fedora/Sugar) and Peter (Froelich, from Johns Hopkins) after the end of POSSE Worcester, wherein much fruitful discussion about FOSS and TOS and POSSE was had. (Okay, it was related to POSSE. But it wasn’t actually POSSE. I mean… look, I have to start somewhere, okay?)
  • Consuming a garbage plate at Mike’s – same place as Greg and I had our first ones last October. Greg wore his Manstyle jacket (insie joke – it’s the one he wore in the F12 video) for that occasion, so when I saw him online tonight after my plate, I joked that I needed one too, but “Womanstyle” just didn’t… have the same ring to it. (Perhaps it should, but gendered word connotations do exist.) I wonder how I might affix a “Melstyle” patch to one of my jackets. This may involve learning how to sew. Or figuring out how iron-ons work.
  • RHCE schedule craziness coordinating with the CommArch guys. If we can all take the virtual class together, then the exam right after… the hard part is hitting the scheduling. I’m gunning for either “right before I leave for POSSE China” or “right after I get back from POSSE South Africa.”
  • An interesting convo with lmacken, remyd, and ctyler at dinner tonight about project governance, which turned into a conversation specifically about Fedora governance with Chris on the way home. This ability to zoom back and introspect on different worldviews is… well, it’s fascinating. It may turn into a longer blog post at some point, but the thoughts I’m having from this conversation haven’t really been fully-formed into words in my head yet.
  • Anticipation of July 4th in Boston. Project Best Idea Ever strikes again. I am fuzzy on my 7/4 plans, but they do involve the Boston fireworks, and I might just be lazy and spring for a package here… I don’t really want the party, though, just boat + food and the ability to hang out with Olin peeps I like and haven’t seen for a while.
  • Sleep? Sleeeeeep. Also, I think it’s the coolest thing ever that someone wrote Becoming Batman, which takes a scientific look at whether someone could actually train themselves to be Batman. Well-written, too. So far.

I’m going to have so much backlog next week to recover from. Max is insisting that I take some time to rest. I’ll take a day sometime midweek, I think. Some urgent backlog-clearing to do first, likely, but… I’ll figure that out… later.


Bugzilla notes from POSSE, and writing/journalism profs


The POSSE RIT IRC logs for the day have possibly the most thorough set of notes I’ve ever taken detailing usage of Bugzilla. I think they are detailed enough that a reader with no exposure to Bugzilla could use them to walk through Bugzilla usage in the context active FOSS contribution. (Although I’m equally positive that they are incomplete in some way.) I haven’t seen any resources like this out there yet (how does a ticket tracker fit into the workflow of an actual project?) and think this may make for a good addition to something like the Textbook – if an editor is willing to sprint with me on this, I’ll block out an hour or two on IRC to “push this patch upstream,” so to speak.

Thanks to Andrea Hickerson for nudging me, via her remote presence, to actually take good notes today – I hope Antonio Mondragon’s remote presence tomorrow will do the same. Remotees keep me honest about “upstreaming” our conversations and our notes to the broader community, where more people can benefit from them in – including us, the original participants in the conversation, since we’ll get to hear more thoughts and feedback from more people.

Speaking of Andrea, professors of Journalism, English, Technical Writing, and so forth may be interested in the comment I left on her blog post from today, which points to several projects that she might want to look at for her students to join (complete with “join” URLs, mailing list info, and individual names and links to contact information from folks I think are good starting points within those communities).

Pascal (Fedora Weekly News), Robyn (Fedora Marketing), Sumana (GNOME Journal), and others in the “writing + FOSS == WIN!” domain -  if you’re looking for new contributors, Andrea Hickerson and David Shein may make good folks to ping; they both teach in the writing-esque sphere at the college level and are keen on getting their students into FOSS contribution.


Lessons from Sascha to pass on to Bao


Lessons I’ve learned today whlie hanging out in the Sugar IRC channel (#sugar) and want to pass on to Bao (a student from Arlington who’s hacking on the IRC Activity this week):

Cloning a personal branch for development is really easy and a good idea so that unstable changes don’t get pushed to mainline. This is particularly important for developers running the bleeding-edge sugar-jhbuild code, since it pulls directly from the git repos, so an experimental commit there could break things for them. (Fortunately, the IRC Activity isn’t pulled into sugar-jhbuild by default, but it’s a good habit to get into, for when you start working on code that is.)

It’s difficult to interpret text communications when you’re new sometimes. What an experienced developer may regard as friendly suggestions for improvement (that they’ve spent their valuable time helpfully trying to write up) may be received by newcomers as a big stick smacking them down and discouraging their project contributions. By default, assume that people are trying to be helpful and put forth constructive criticism because they want your project to succeed, and for you to stick around.

git config –global color.diff auto enables diff coloring in git. Pretty! Secifically, the diff coloring will show you EOL (end of line) spaces – they’ll display as red blocks. These EOL spaces don’t really make a difference when you’re tinkering with your own code, but when you start upstreaming your work, they make patches very annoying for reviewers and people trying to merge your patches in. In general, it’s a good idea to set your editor to remove EOL spaces automatically.

Thanks to Sascha Silbe for teaching me (and others in the channel) about this stuff today. Sascha writes:

“I can remember the pains of going through the SL review process for the first time rather well, so I try to make sure new contributors learn how to do it ‘right’ early on. It means a lot less work and less waiting on yet another review iteration.”

I’m writing this up because I find that teaching something to someone else makes it more likely that I’ll learn it myself, and this is all stuff that I want to learn. Mm, hacking-fu++. Thanks, Sascha. This is the kind of knowledge-spreading that we need to do with new contributors in order to grow our capacity to hack on things – it’s how novice hackers (like myself) learn how to be productive.


Tiny adventure: flat tire (yay!)


After dropping Peter off at the airport today, I went to the library and got a pile of books. There’s also a section where people can leave old magazines, free for the taking – I picked up a motorcycle one, since I’m trying to learn more about those. On the way back to the house, I skipped a clogged street, took a random detour, and passed a lake I’d never seen before. It was raining, so everything was gorgeous and shrouded in fog (and wet). I drove along the lake thinking “wow, that’s pretty… I wish I could stop and walk around there for a while.”

Half a mile later, I abruptly realized: I could! So I pulled a U-turn and drove back to the lake, stashed my car in a side street, and walked down the edge of the lake (it was gorgeous) reading an increasingly soggy motorcycle magazine and jumping on floating piers and reading “please don’t feed the geese” signs. It was a lovely spontaneous pause, and I was quite content.

Got back to my car, started driving… something was rattling in the steering. Flat tire. Pulled over, jacked the car up, rolled out the spare, got as many of the lug nuts out as I could – the last few were too tight, and even standing on the wrench and jumping up and down (the maximum amount of torque I could apply) wouldn’t budge them. In fact, it… somehow bent the screw thread of the jack (I now need a new jack). So I called AAA and went wading in the lake while I was waiting.

The AAA truck came and a guy hopped out, surveyed the scene, and declared jokingly that I didn’t actually need him, I’d pretty much completed the job – then hauled out his hydraulic jack and power drill and finished up while I threw the busted tire in the trunk. I thanked him, we drove off, I drove home. At this point, I was soaked with rain and lake water (and sort of cold), and filthy – my jeans and tshirt and my hands up to my elbows were smeared with mud and grease from wading, from leaning against my dirty-and-wet car trying to shove the lug nuts off, from kneeling and sliding in the mud on the street to pump the jack up, from wrestling the tire and the spare into and out of my trunk…

Man, that was a great tiny adventure. Not a big one (not even a small one), but… it was nice, just to do that. To be free to do that, and to remember that I was free to be random and do that, and to go “wheeee!” and act on it. And the lake was absolutely beautiful – one section of it’s lined with wildflowers, and the rain was making this grey mist rise up from the water, and fogged the far bank at the same time.

It’s the little things in life that make you smile.


Social life, hacker style


These are nifty assignments. I am particularly tempted to tackle the tree-list recursion problem at some point. It seems like the sort of thing that would be fun to invite some friends over for dinner around – good food, throw up a projector, have everyone poke at it together… no, you don’t actually need other people to solve it, but I recall how dwins and I and a few others at TOPP went through learning Haskell once, and I do think that would make for a nice social evening.

Instead of bowling with friends, try list-recursion or Haskell with friends, or go see a lecture on web platforms at MIT.[0] Instead of walking around the mall looking at clothing, walk around You-Do-It/Fry’s ogling electronics equipment, or even Home Depot, grabbing wood and nails and glue and drill bits with which to make something – boats, lofts, anything. Cooking parties – three of the most delicious meals I’ve ever had during my college years were making fresh pasta and then pasta carbonara with David Yoshida to try out his new pasta machine, and then when Cathy Murphie decided she was going to teach a few of us how to bake French bread, and then again when Chris and Beth and I made dinner for Debbie Chachra as the final deliverable for our Passionate Pursuit from cooking classes (pears poached in red wine == NOM). Painting parties – coloring the walls of our skechtacular apartment in Somerville right after graduation. Random design competitions. These are the things I like doing with my friends. I like making things with my friends.

I always feel a little weird in purely-social parties where it’s pretty much all beer and music… aside from the music tending to be extremely loud (ouch) and the beer tending to be not so much my thing, they tend to be too dark for lipreading, and… they make me tired. I end up in a quiet corner by myself, reading, sketching, thinking, watching people. I mean, I like music, and I tend to play it loud (because I can’t hear as well as most people), but I appreciate it for the music, not the furniture-shaking decibels. I like beer, but… in small quantities, for the interesting flavor combinations when combined with food with alcohol-soluble components, and I don’t like the feeling of being even mildly inebriated. I sometimes try to bring a tiny portable collaboration-friendly thing-to-tinker-with to those, but haven’t hit on much of a good one yet – a notebook seems to be the best so far, for collaborative sketching/brainstorming/passing-of-notes. I… am shy. And I would really rather just make stuff.

I don’t know if other people feel this way – it’s one of those things that my mother will sometimes complain about (“you just want to do work, why don’t you go out with friends?”) to which I respond that my teammates are often my friends and vice versa, and that this sort of work is fun and satisfying and relaxing. I get the impression that they think I have no social life and that I’m a hermit-like engineer. Which… okay, in one sense, sure – in a lot of ways, work is my life. Work, not necessarily $dayjob. But in another sense, this is my social life. And I find it satisfying rather than “sad” – I’m learning how to balance it, learning how to relax and rest more – but… I mean, this makes me happy. I am not sure how to convey that to them. Trying to figure it out. I think they know it makes me happy (I hope so – I mean, it’s pretty obvious when I am happy; Nikki tells me my happy is loud) but I am not sure they know why. And I am not sure that it matters that they do know why – it’s something I’d like, though.

Anyway. Just musing.

[0] Not that things like bowling/movies/theatre/karaoke/etc aren’t fun – they are – but I think these things are fun too.


Wheeeeeeeeeeeeee teaching!


This might be pretty easy to guess, but this week has been all sorts of crazy busy for me (whoa, backlog piling up) and it is also awesome.

I love teaching. Love love love love teaching. Love being in a classroom, love being in a school, love talking with professors, love talking about learning, about learning with technology, about helping students grow and about growing as a student myself – it fills me up and wears me out and makes me just… happy. At home in the center of a hurricane of motion.

I’m going to need to force myself to take a breather when the week is done – go home on Friday and actually sleep, and clean my room, and eat things, re-pack, take care of some stuff that isn’t POSSE in my life (heck, some stuff that isn’t work), but… mmm. I can’t not do this. I must get better at it. Education, both in and out of the classroom, and in open communities of practice, is an art that I would like to master.

And that is precisely what I’m doing, and what I have been doing for the last several years. It’s odd to think that I’ve been teaching for almost a decade now – I started the summer I was 15, running science and math camps with curricula I’d designed, although I didn’t really catch the bug for another few years until my sophomore year at Olin when I became a TA.

[Talking about how I had a lousy, sleep-deprived, burnout-filled week my senior year of college, but then a few folks had dropped by and talked with me about engineering education...] I was still sleep-hazed, and my eyes still burned bleary, and I swayed when I stood, but oh, I felt good! Chandra grabbed me while Ryan and Jon went back to get food. “Promise me you’ll work on something with engineering education when you get out of here?”

“I think I have to,” I said. It makes me come alive.

sometime in March 2007 (The Mel is 20)

I don’t know why. But oh, when I do it, it feels so good.