Archive for May, 2008

Talking with Andy leads to lack of sleep


Wooo Tim! TOPP sent him to a testing conference where he presented “Tim-bits” after each group discussion, summarizing it from the viewpoint of a relative newcomer to the field. “For a newbie out of college, this was some pressure,” said Tim… but it looks like he did an amazing job. My favorite note is this one: “Tools don’t solve problems, they help people solve problems. Like a hammer helps in building a roof, our tools help in doing performance testing. No one tool will do our work for us.” (Goranka Bjedov, Google)

Now, Andy. Every time I visit Olin and stay at Andy P’s, we end up talking until at least 4am. This time it was about education (which isn’t unusual) and self-directed learning (also not unusual) and ended up with Things Happening (…also not unusual). The most “exciting” parts went something like this.

“I want to start a virtual school.”
“I’ll enroll as a student. Here are some courses of study I’d like to do. Are you joining me?”
“Yes! How about an MBA?”

Several hours of research later, we now have an “MBA Learning Plan” (we’re aware it’s going to change as we start going through it). The “MBA” part is a mild misnomer since it consists of the things we’d want to learn at a “traditional” MBA program, doesn’t have the things we don’t think are important (this is different from the things we’re gritting our teeth about learning but are doing anyway – for instance, we’re not psyched about covering accounting, but we will) and includes a couple topics outside the usual scope of MBA programs. For me, about half the things in the (year-long, currently) study plan were things I was already doing and looking into, but wanted to be forced to reflect on, so it’s deepening my current activities rather than adding onto them.

For reference, here are the two things I’d want to get out of an MBA (Andy made me write them down):

The first objective would be to learn how to run an open-source company (and what that means) with a focus on project/company lifecycles and how people fit into/react within various roles in an organization, both formally and emergently defined.

The second objective would be to understand my own career and personal growth as something separate from the organizations I’m affiliated with, because I believe I’m at my best (both for myself and the organizations I work with/for) when I’m working within and across multiple groups at once (be that a part-time job while doing graduate studies, working full-time and volunteering heavily at a separate organization, or whatever).

The second conversation went something like this:

“I’d like to start a business someday.”
“Ok, let’s do that before we go to sleep (it was ~5:20am, and we slept before 6).”

So… yeah. Our target date is public launch before Olin’s graduation (next Sunday). Stay tuned. We also need to find a place to keep track of our “MBA” studies. Wikiversity again, perhaps?

Working backwards chronologically: the garden on top of the parking lot by my office is a wonderful place to have lunch, and Henry Hardy is my hero. I think I would benefit from throwing myself “backward in time” and learning how to write really tight assembly and C, playing with very old computers or things that roughly approximate them. It might get me past my “but I’m expected to know this and now I feel stupid” hangup-block that (I believe) stops me from making rapid progress in computing/programming and electrical engineering type things. Of course, it’s also important to not get so hung-up on not learning “fast enough” that I… don’t learn at all. (Once I start thinking metacognitively, stopping that infinite reflection recursion is like not thinking of a purple elephant sometimes.)

Wednesday night was also delightful. It was Kristen Dorsey’s birthday (hello, old one!) and a whole lot of us went down to John Harvard’s to consume copious amounts of cholesterol-laden food, then to Kristen’s house to hang out and catch up and generally have fun times. It turned out that our entire suite (the suIEEEte suite) was present, the first time we’d been all together since graduation, and everybody is doing great. Kristen and I argued about who’d earned the least money this year (she’s volunteering at starvation wages for FIRST before heading to grad school at CMU in the fall, I’m on my year off and pulling down occasional internship stipends while paying travel expenses).

I wanted to head back to the office and work, so they dropped me off at the train station by dangerously overloading Jeff’s car. I ended up clutching the shotgun seat’s headrest and sitting mostly on the rear passenger-side seat’s door handle, wedged between that and Gallimore’s knee. It’s nice to be around people I trust and know well enough to physically touch past the functional hand-lending and the social handshake or hug – backrubs, piggyback-rides, hair-rumples, and so on. It’s one of those “don’t realize how much you missed it” things; I realized this two hours into the get-together when I thought “wait, wait… I’m leaning against somebody (VanWyk) and feel perfectly comfortable and didn’t even notice it!” I’m usually very shy about and aware of physical contact with other people, so being able to let my guard down was great.


Release when usable


Attempting to justify my perfectionism:

“If I release something that isn’t usable, it’s worse than if I hadn’t released anything at all. You’re releasing anti-productivity, because the best that can happen is that smart people spend their time being confused and not getting things done because they’re trying to figure out what you did.”

Usually when I hesitate to relinquish control of something, it’s because I don’t want to impose the “WTF?” burden on others. This isn’t a good excuse for perfectionism. I should release as early and often as possible but explicitly tag things with a “UNDER CONSTRUCTION!!!” note so that others will know that it may not be ready for human consumption yet.

I’ve also operated under the “if I make something you don’t understand, it’s my fault and it’s a bug and I should fix it and thank you profusely for pointing it out to me” ethos for a long time, though I should make that more clear somehow. The notion that “if you can’t use my stuff, it’s not because you’re stupid, it’s because I designed something stupidly” is a lot of extra work on my part, but I feel like it’s part of my duty as someone who wants to encourage more people to learn about the kinds of technologies I love making.

In other news, I’m finding (both at TOPP and now at OLPC) that a 50/50 split between isolated work (typically in the morning/early-afternoon, at home) and being in an open/shared workspace (after lunch) is a great way to keep me focused, productive, and in touch with people – this balance works nicely for community/grassroots work, and would probably have to change if I went into a more technical/engineering focus.

That’s the last thing to braindump on now during my sandwich-break; it seems that I’m wanted for OLPC grassroots stuff during my internship, not so much OLPC development. This makes sense, since I’m a fair hand at community/grassroots stuff due to experience, and a rather mediocre tech hacker due to lack of experience. This also frustrates me because the “mediocre tech hacker due to lack of experience” thing is exactly what I want to remedy. So I’m in the (somewhat amusing) position of doing engineering as a volunteer hobby thing after hours doing work on grassroots communities.

The biggest blocker at getting better at the hacking right now is trying to dispel the notion from my mind that I’m supposed to be good at it because I went through engineering undergrad (which leads to me beating myself up for feeling deficient in experience and smarts in the technical realm). The other blocker is that my shoulders, wrist, and arm muscles are weak and can only take so many hours of slumping over a keyboard per day, and after a day writing grassroots emails, they’re all keyboarded out… I’m hoping that hitting the gym and focusing on shoulder/back exercises in particular will help this out, with time.


Braindump: filipino hacker space?


My favorite pictures from LinuxFest Northwest, thanks to Iain; laptop disassembly by the youngest group I’ve seen in person yet.

The Philippines has been on my mind lately. (That’s the short version. The long version involves befuddlement and angst that haven’t become coherent English sentences yet). While I’m still within my “year-off” period and can throw out random crazy ideas for what to do next, what would happen if you did (a research project on the impact of) something like this… but over here?

For those of you who clicked on the links, you should see the answer to the question “but how will you pay for it?” The grant only covers one academic year, which is enough time to get something set up. I could likely find a way to stay longer and keep it going if it works out.

Cultural exchange? Sure – the DIY/maker mentality is one part of American homebrew culture that I adore and would love to share; it’s something I’ve felt the keen absence of during my visits to the Philippines.

Research? Yes. Educational sociology focused on informal engineering education. Hey, MIT thinks it counts.

Language requirement? I’m fairly certain I can pick up at least basic conversational Tagalog within a few months, especially if my family is around to practice with. I do need a concrete “You are going to X country!” date as motivation to learn a language properly.

Sanity? Not sure. Thoughts?


Mentat Month: Ceasing annoying speech patterns


This is the static version of my first Mentat Month report for May 1-3, 2008. The current wikified version is here, and may be updated.

To introduce Mentat Month briefly: it’s a for-fun monthlong intensive exploration of mind hacks with a curriculum based on the materials on the Mentat Wiki. We’re going to go meta and see how much we can tinker with and accelerate our own learning processes. You can play as well – just click on the link and view the “Process” instructions (which include a process for improving the process, in true meta style).

I read the book Mind Hacks cover-to-cover to get ideas for things to fill my “toolbox” and decided that my first action would be to cut the cruft in what I say and write – a few things in particular are listed below.

  • No ums or ahs. No usages of the word “like” other than in the context of indicating enjoyment of something.
  • No conventional swear words. Cursing like a sailor is allowed iff it is done inventively. For instance, Shakespearean curses are kosher, as are sci-fi curses, mathematical insults, or colorful words from foreign languages. As soon as a curse becomes a habit, it must be discarded.
  • No using phrases like “I think”, “I guess”, “I don’t know”, and so on as trailing sentence clauses to downplay statements actually believed to be fact. Instead, come out clean and actually state them upfront as things believed to be fact. In other words, if these clauses are spoken, they’ve got to be firmly said at the start of the sentence.
  • No saying statements as questions? (This only applies to spoken language and is a common female speech trait).
  • Find alternative ways of intensifying descriptions that do not involve the use of the words “really” or “very.” For instance, instead of saying “very good,” say “excellent.” Instead of saying “really expensive,” say “astronomically costly.”
  • Avoid using the words “but” and “however” (and other synonyms not listed here) if at all possible. Try to use “and” in the sentence instead; it’s remarkable how this will flip the meaning of a phrase. This was inspired by the “Yes, And” rule in improvisational comedy.
  • Minimize the usage of the first person personal pronouns (“I/me”) – this not so much as a “cutting the cruft” exercise as it is an experiment in how well English takes to this type of usage, since many other languages imply/omit the pronoun when speaking of oneself.
  • (This probably only applies to me, so I can’t think of a way to state this without using personal pronouns.) Speak in a natural voice range. I have the habit of trying to pitch my voice to blend in with the voices of others speaking; since I hang out mostly with males on account of my profession (engineer), it means that I strain my vocal cords by speaking below what I think is my natural range.

Results: I had to do push-ups (my self-imposed penalty) quite a few times, and am still doing them on a fairly regular basis, mostly due to “ums.” The most dramatic effect has been due to the moratorium on “but” and “however.” I have slacked in terms of preventing “me” and “I” from coming out; it feels like it directly clashes with the English language, so I’m dropping that requirement for the next week, but will continue with the rest of the hack for at least the remainder of the month.


How not to get addicted to social networking


In addition to batching email, I batch my social network account actions, checking them (things like Facebook, Linkedin, etc.) once a month. Usually less. Almost always as a matter of obligation to friends who directly request it. Once a month is actually more frequent than I’d like, but it falls in nicely with other things I do once a month like balance my finances, clean house (hypothetically – if I had a stable house to clean; I used to clean my room roughly this often in the dorms). That kind of thing.

For me, things like social networking sites can be a handy tool – or a time-sucking addiction. Scheduling checks once a month is the way I keep from becoming the latter.

Sure, getting who-hooked-up-with-whom notifications in your feed reader makes the gossip chain faster, but is it actually more convenient? Did you really need to know that right now, or can you just look it up later if you’re curious who so-and-so is currently going out with? (Do you really need facebook to know who your friends are going out with, or can you – y’know – ask them? As part of a conversation?)

Do you really need to interrupt your paper-writing to pop in and approve that new friend request 30 seconds after it was made, or can you batch-process them all at once after dinner? After dinner next week? After dinner next month? (Is someone really going to get upset with you for ignoring their friend request for a few days? If they do, what does that say about their priorities?)

Being addicted to social networking sites is like staring at your telephone all day just because someone might call. Might as well do something else and let it sit in your pocket, working for you in the background. If someone calls, you’ll hear the ring and can decide whether to let it interrupt you. If you need to make a call, you know where to find it.

I have accounts on social networking sites so my friends can find me and I can find them when other modes of communication have failed. That’s the reason I use them, and for that usage, a few minutes once a month is more than sufficient.


Old versions of familiar ideas


The world needs a lot of fixin’. These are old, old idea drafts from over a year ago (in some cases much longer ago) on how to do a bit of it – it’s interesting to see where they came from and where they are now.

Maker House v.N.0

What actually happened: http://makerhouse.com

The original proposal:

A co-op of hackers (initially engineers) living in a house with great project capabilities – machining, fabrication, rooms for brainstorming, project space, etc.as well as, eventually, things like art, music, teaching, etc. It’s meant to be a space that the hackers can use themselves, but also a place where they can bring others in the community in to do projects; I’m not sure what the right balance between the two is yet.

One requirement of Maker House is that in order to live there, you’ve got to have a project that’s open. It can be for work or not, it can be only-you or not, but you have to be able to talk to people about it, share it with them, allow them to participate somehow even if it’s helping them to start their own separate instance.

I’m also torn between having the hackers pay rent and have it just be a really awesome co-op, which would let less experienced hackers participate more easily, and having it be more like a fellowship (Eyebeam-style) where room and board and a small stipend are paid and doing Maker House is like your “job.” Perhaps it could be a mix of both – residents could pay to stay there normally, or apply for a full-time house fellowship that makes them the stewards/groundskeepers/”parents”/mentors of the house.

Actually, the latter is rather attractive. It’s almost like an apprenticeship model. And if you enlarge the population size and make it not a house… how could you do this? In a large house with rooms for perhaps a dozen people, 10 could be normal residents, leaving 2 positions for 1-year fellowships. The residents would then pay 120% of their share of rent, utilities, and food. This isn’t as bad as it sounds – for instance, instead of paying $500/mo, pay $600.

Leases would be for one year terms. Fellowship recipients are chosen by the next year’s tenants by consensus – they can either be current residents or really cool outside people they’d like to live with.

“Cafepress-like business that does fab/delivery for open engineering projects” (never had a good name, originally called ‘hackronym,’ but that was repurposed as my research site)

What actually happened: Nothing yet that I’d call concrete.

The original idea:

Barriers to open engineering:
• Wait, you can do that?
• Licensing
• Lack of existing framework to build from
• Access to fabrication facilities and tools (both physical and software)
• Lack of knowledge
• Difficulty of documentation and collaboration… how do you find these projects?
• No automatic way to “get” open-engineered projects (apt-get install LAWNMOWER!!!) but it’s such a hassle to get things manufactured and sold.
• Manufacturing is expensive!

s-chool buildings

What actually happened: Others beat us to the punch in a marvelous way – see http://saturdayhouse.org for one. I’m still keeping my eyes open for opportunities to do something like this in Chicago and/or Boston… if I come back to Boston in the fall, Maker House will probably expand and transform into it, and over the summer I’m kind of hoping the ILXO office will also serve as an open learning space.

The original idea (based on John Holt’s description of the difference between Schools and s-chools):

Problem: free schools have a hard time finding meeting places.
Solution: Don’t build new ones. Find existing buildings and get them to open themselves up, for free, to s-chool activities, in exchange for free maintenance and repair by volunteer crews.


email-fu: my current system


A friend asked for suggestions on keeping up with floods of email, so here’s how I manage my inbox. It’s in a constant state of revision and improvement, and I don’t always follow it religiously (actually, the way I tell whether a procedure is “improving” is by how much I do stick to it), but this represents a few iterations of procedure and it’s far better than the “check it whenever, panic, let things pile up” methodology I had a year ago.

My current email-procedure owes a lot to a whole slew of people and resources that inspired it; off the top of my head, there’s the Inbox Zero series on 43folders, Lifehacker, and David Allen’s “Getting Things Done” book. If folks want, I can try to post a roundup of these links later on.

1. The first thing you do when you wake up should NOT be checking your email. I’m not allowed to hit my inbox until I’ve done something in the morning, whether that’s finish a task or two for work, read a book, work out, shop for groceries… anything I consider to be productive. Sure, it’s a carrot on a stick, but it means I get something done for the day, if nothing else.

2. Batch-check your email. I try to check my email as few times as possible per day – my current goal is 3 times a day, once in the morning (after completing my first productive-thing), once after lunch, and once before leaving work for the day. Sometimes if I’ve been good I’ll let myself hit it again before I go to sleep (but this is dangerous, since you might end up spending several more hours online if you get sucked in…) Of course, if you need to search your email archives

“Less checks a day? How can that help to keep up better?” It takes time to switch between tasks, and “checking email” is a task; it takes a few seconds to get into “email mode,” and switching back and forth between “email mode” and “something-else mode” adds up throughout the day. If you set aside time to Just Do Email, you zoom through it much faster (because you know you won’t do anything else until it’s done). Also see the discussion on threading, below.

3. Use an email client that supports threading. I use Thunderbird, with Pine as an “I’m not at my laptop and need to ssh in” alternative (though I’m switching back to Mutt soon as I find that I prefer it). A lot of emails string themselves out into long discussion threads, and if you can treat each thread as an attention-object (rather than each individual email), you save a lot of time. You also get the chance to read the perspectives of multiple people before chiming in with your own thoughts (which may be more level-headed after reading the reactions of others). Another way of thinking about it: instead of replying 20 times to 20 emails on the same topic, you can reply 1 time to a 20-email discussion thread on 1 topic. Guess which one takes longer?

4. Use canned responses. If there’s something you find yourself typing over and over again, type it one more time, save it somewhere, and make it easy to copy-paste or autoinclude it in (better yet, put it on a public-facing webpage if you can, and set up a quick-response email with the link). This is an extension of the idea of email signatures, which many people have autoincluded already. Do you keep having to give people directions to your house? Instructions on how to connect to IRC? I use the Quicktext plugin within Thunderbird for this.

5. When you go through your inbox, finish going through your inbox. Every single message that’s hit you in the meantime should be replied to (if you can do it within a few minutes), deleted, filed somewhere, or put in a “I need a lot more time to reply to this” section (which then becomes part of your to-do list). Another way of putting this is that there should never be any non-new messages in your inbox; the first time you read something, act on it in such a way that it moves OUT of your inbox. In practice, this is where I usually slip, and I’m actually beginning to move towards “when you go through your inbox for the last time each day” rather than “when you go through your inbox.” But the principle of trying to keep your inbox clean remains the same.

6. Download your email as seldom as possible, and do email offline as much as possible. This is something I started doing out of necessity when I was in the Philippines, where internet access is far less prevalent than on a high-tech college campus (for instance). I find myself distracted by the internet, and I also find that I batch through things more quickly when I download my mail, read it offline, reply to everything I can, cache the other emails in my to-do list, connect to the internet and send all my replise at once, and then move on to something else.

7. When you travel/get hosed, set an autoreply, and DON’T CHECK YOUR EMAIL. Do a big batch when you get back to breathing room instead. In the meantime, let people know that you might not respond for a bit. (I’m really bad at this, mostly because I don’t realize I’m hosed until it’s too late – but I do set retroactive autoreplies when I realize it now.)