Archive for February, 2010

Dangerous things I’d like to do at some point in my life


I realize I’m likely to have a time limit on these, so I’d better start figuring this out while I’m still in my twenties. Not all of them are all that dangerous – actually, there are tons of safety considerations for all of them – but they’ll still take plenty of prep. (I’m in no shape to do any of them now, but that’s being worked on.)

1. Kitesurfing.

2. Wingsuit. This implies learning to skydive first. (Note that I don’t have to plummet off the side of a cliff; I’m fine hopping out of a plane.)

3. Motorcycling. This is the first one I’m going to be tackling; Liz, Kelcy, Ginneh, and I all want to get our licenses, and have been talking about taking classes this spring for quite some time. I look forward to my early birthday present, and figuring out the logistics (logistical logistics and financial logistics) of having a bike in Raleigh this summer.

4. Speaking of bikes – someday I’d like to bike across the US. This one will probably be with my brother Jason once he graduates from Stanford.

5. Compete in a martial arts tournament – freestyle sparring.

There are other things I’d like to learn – parkour, skateboarding, skiing (or maybe snowboarding), etc – but those will be tackled as opportunities come up. Some of the things I’m working on (rock climbing, soccer) are steps towards other things – strong forearms for non-RSI-ness, the ability to run and react to the movement of others around me but not physically touching me (something I’ve traditionally been pretty lousy at since I don’t have auditory peripheral awareness) – but these five are on my Actual List of Things to Do.

At the moment, though, I still struggle to complete a single pull-up. So… there is progress to be made.


Tai Chi walking


(Written last night.)

It got warmer on Saturday. My immune system was the first thing that noticed. “Hello, impending spring!” it went. “My, you certainly have had a sudden jump in allergens, haven’t you?” it went. “I think I’ll send all my histamines out to greet you!” it went, as I groggily started diving towards every tissue box within my line of sight. After 3 nights of pumping warm saltwater through my nose (it’s called a neti pot), normal respiratory pathways have, by and large, returned. I’m chugging Vitamin C and sleeping as much as my brain will tolerate me sleeping, though. Just in case. I’d hate to get sick now, what with all this impending awesomeness coming up.

Songs with continuous lyrics that spill across rhythmic lines make me very, very happy. For instance:

Thoughts meander like a restless
wind inside a letterbox they
tumble blindly as they make their
way across the universe

Or:

I’ve been fighting but I just feel too
tired to be fighting
guess I’m not the fighting kind

I can sightread tab notation on the guitar now – badly and slowly, but I’ve gone entire melodic lines now without looking down at my hands. I don’t nail it perfectly, but I’m able to figure it out; I’m trying to get a sense of where the fingerboard is in physical space rather than having to eyeball it each time.

Last night I described how-I-work as similar to Tai Chi walking – in that you put your foot fully down, and then shift your weight to it. When you’re building something new, something socially constructed, something with other people (a community, I suppose – but I’m trying to avoid the mental habits that word tends to trigger for me) – you’re stepping out over a dark chasm. And what you do is plant one foot on the ground where you do stand, and then stretch the other foot out over the void – and place it where the next step ought to be, but put no weight on it.

But it’s clear that there must be a step there for you to go forward, so the makings of that step begin to coalesce under your foot, and as they do, you then begin to shift over your weight until you’re standing on a new and solid step, and your rear leg is empty – that is to say, bearing no weight – and then you bring that forward over the chasm, and the next step begins to coalesce underneath it, and then…

The “Innovator’s <noun>” that Clayton Christiansen writes about in all his books? That’s Tai Chi walking. Foot out, foot down, then the weight shift. Foot out, foot down, shift. Foot out, foot down, shift. I oversimplify, and I also don’t do Tai Chi walking all that well, but as far as I can tell, they’re the same thing. Just… one has feet, and one has technologies. Or educational paradigms. Or companies. Whatever the analogy becomes.

Tonight I am going to be a bad panda and leave my temporary desk up overnight.


“I can tell you how to work, how to work from Sesame Street.”


Last week’s Fedora Marketing meeting brought to you from the Strong Museum of Play in Rochester, NY.

sesamestreet

Thanks to Karlie Robinson for the photo (CC-BY-SA)!


Know what you don’t know.


Via Karlie: No one knows what they’re doing. (Warning: light profanity. Also wryly hilarious.)

When we were interviewing students for co-op positions on Tuesday morning, Remy put them through a skills inventory, asking them to rate themselves from 1-10 on things like “Python ability” or “sysadmin skills.” I found this fascinating, because it told us not how good they were, nor how good they thought they were, but how good they were going to tell us they thought they were. In some ways, it’s a cockiness filter; you watch for how they back up their answers with other things they say and do in their interview. In some ways, it’s a gauge of how much you know-you-don’t-know – how conscious are you of what you need to learn?

When I thought of how I’d answer these questions myself, I figured that the full answer would come in three parts.

  1. Here’s what I know exists in the domain you just described. (For instance, “ASL ability implies handshapes, spatial grammar, regional variants, vocabulary, idioms….”)
  2. Of that set, here is what I do know and what I don’t, and in what context. (“I can fingerpell, I only know a few idioms, I’ve mostly signed with a small group of people in my high school from a book so I know there are regional variants and idioms but don’t know what they are…”)
  3. Here is how confident I am that the set I described in #1 actually describes the domain – how much I think I don’t-know-I-don’t-know. (“There may be other things I don’t know about yet, but I think this should mostly span the space.”)

Now, that’s long. And complicated. And you want a 1-10 number right now. So I would clarify my scale (“0 is ‘never heard of it,’ 5 is ‘fuzzy, but at the point where I can learn by doing,’ 10 is ‘would be comfortable teaching you this right now,’ based on the amount of skill I think we’d need to do the project that you just described) and then give the quick numbers runoff.

But I also prefer letting people just show me what they can do. Instead of asking “how well do you learn new programming languages,” I plonk down code in a language they’re unfamiliar with and tell them to look at it, think out loud, and ask questions about how it works. Tell me a story about how you taught yourself something you were interested in – and not for any school assignment. Link me to your blog or the archives of a forum or a mailing list you’re active on so I can see how you talk with other people in normal online conversation.

There are no perfect ways of measuring. I’m still thinking through this – the quality of writing in this post reflects the scatteredness of my thoughts – but it’s a set of ideas that I’m thinkering with (I love that portmanteau) because I think there are better ways to catch better people for precisely what you need, and better ways to figure out what you are looking for, and to express that.

Figuring this out will mean I get to go through some old memories and notes of really painful interviews (of me – I have flamed out in interviews before, and I have also nailed them). What worked, what didn’t work, what do I think they measured, what do I think they missed? (Sometimes interviews go badly because they should – because it’s not a fit. Other times, the measurement tool is in error.) I’ll also be comparing notes with other people. Stories welcome.


Rensselaer Center for Open Source Software


Fedora design guru Mo Duffy gave a presentation on Fedora at RPI, her alma mater. Slides are available from the post, and as usual, they’re gorgeous. I’m reblogging here since Mo isn’t part of Planet TOS and I thought some professors might be interested in the slide deck.

Mo’s deck does a good job of addressing a problem I often have when speaking with a group of students (or for that matter, a group of people with a wide range of backgrounds in and exposure to FOSS). How do you describe such a huge and complex space (“The Fedora Project”) without either oversimplifying things or getting bogged down in details for hours? Her presentation sketches out the broad outlines of a space (“look at the wide range of things you can do in Fedora!”) and then show examples of how to dive into details in a few of them (specific projects in specific teams).

Anyhow. There’s a Rensselaer Center for Open Source Software – this is a page I hadn’t seen beforehand, and which has some projects that seem to overlap with projects other schools in the TOS space are doing. For instance. OLPC Math (yes, RIT, I’m looking at you) or multi-touch (which is, if I recall correctly, how Seneca got started with Mozilla back in the day).

Synergy time? Luis Ibanez and Mukkai Krishnamoorthy are TOS-ers from RPI – looking at the list of TOS-ers also turns up Will Schroeder. RCOSS has a nice (and pretty darn up-to-date!) portal page, with projects – they have great talks going on, they have courses being taught… and I’d love to learn more about them, and what other schools can learn from what they’ve done. RPI folks, what’s happening in your neck of the woods these days?


Does the stick matter?


(Replies to yesterday’s post on the datastore forthcoming, btw – thank you to all who responded! I’m swamped with email on the road and waiting for a stretch during which I can compose actual thoughtful replies.)

We got cheap 4GB ones from the local computer store, all identical – we’re going to have the kids make keychains to attach to them so the sticks will be (1) personalized, (2) identifiable, and (3) bigger and therefore harder to lose.

For the “stick” part of Sugar on a Stick: are there some sticks that are better than others? Flash memory wears out over time – do some brands or types of sticks wear out faster than others, or is the cheap bulk brand from Microcenter equal to the fancy ones 1.5x the cost? How long, on average – and you’ll have to define “average use” – should a deployment expect a SoaS stick to last?

My suspicion is that (1) it really doesn’t matter, and (2) long enough – the only extra thing expensive sticks might get you is slightly better-looking sticks and improvements in mechanical construction (cap, cover, etc). But I do not know the manufacturing factors that affect flash life, nor whether different companies are likely to have different setups, tolerances, quality control, or so forth. (Come to think of it, this might be a cool “How Stuff Is Made” video if there isn’t one already.) I also guess that the mean time to failure will be greater than the mean time to kid-losing-stick. (It happens. This is why backups are important.) But those are only unsubstantiated guesses.

A good lazy Sunday project, or even a “I have to write a paper for my science class” paper, if you’re a student, would be to get a
number of sacrificial thumbdrives (multiple of each type, all brand-new) and do http://www.bress.net/blog/archives/114-How-Long-Does-a-Flash-Drive-Last.html on each.


Questions about the datastore location


It should not be this hard for people to figure out how to get large numbers of files from their journal to another computer. When I think “hm, where would the picture I took with Record be stored?” my first instinct is not “of course, it must be ~/.sugar/default/datastore/store with cryptic alphanumeric-hashed filenames and no file extensions!”

Would it be possible to…

  1. Move the default “Journal stores things here” folder to ~/sugar/MyJournal or something like that? (Note ‘sugar’ instead of ‘.sugar’ – not using a hidden folder makes this more discoverable. I wonder if this is more than a global find-and-replace of the path for any reason.)
  2. Make filenames of Journal items more identifiable – Karlie suggested using the first-created date and time (YYYYMMDDHHMMSS) as the beginning of the hash, and appending the filename extension, so for instance 20100217082415-asf693df7.png would at least tell me that this is an image I took on Feb 17, 2010, at 8:24:15am.

I know these things are probably never going to be seen by the vast majority of kids using Sugar, because we’re trying to leave behind the file-and-folder metaphor, but Sugar is built on an OS that does use the file-and-folder metaphor, so this would make it easier for the hackers tinkering on the undersides to figure out the underlying structure for themselves.

Are there design decisions behind the current Journal storage format that I just don’t know about? I’m honestly curious – it may be that a nested series of hidden folders is the right way to go for some reason I haven’t figured out, and that it’s worth the tradeoff – but right now I can’t think of any.


Random snippets


Braindumping in Toronto (still alive!) from the past few days before I conk out.

Random moments in the past few days:

  1. Fresh. Eggs. Ahhhhhhhh.
  2. Decompressing on Monday night – I didn’t pre-freak-out before CSH and felt pretty calm during it (honestly, I had no time to be terrified), but towards the end when I was starting to come to myself again, I looked down and noticed my hand was shaking. “Oh,” I thought. “My mind has calmed itself down by detaching, but I actually need to decompress from this AUGH I TALKED IN FRONT OF PEOPLE AUGH” thing. Proceeded to go for a long drive after CSH – nothing like city driving in the dark while singing Coldplay and Snow Patrol and Billie Holiday to calm you down again. (It does get better each time; every time I do a session, I rewire the part of my brain that’s been made to think I’m not supposed to display knowledge of stuff.)
  3. Running the Fedora Marketing meeting from Sesame Street. I kid you not.

Longer posts to make at some point:

  1. Remainder of CSH presentation
  2. The coloring book analogy for FOSS co-ops
  3. Why FOSS Students Should Stay In School (inspired by Bert’s post)
  4. …and then a bunch of opensource.com posts that are going to… there’s a queue growing, we need to dump the queue to some “post ideas” wiki page and just start writing them.

Things I don’t want to forget:

  1. Another CFS SoaS  blogger – Melanie Kim, deployment support. Coming soon to a Planet Sugar Labs near you. ;-)
  2. To do SoaS testing for the CFS deployment.
  3. To clean up Marketing meeting notes and attack the F13 talking points.
  4. To do POSSE pings and catch up on tickets and a few short-draft emails I was supposed to writel
  5. To sleep

With that in mind, I’m going to plant facedown in my pillow now.


How To Do Stuff


Spent the day at RIT (thanks to Karlie and Todd Robinson and their family for graciously hosting me!) working with Steve Jacobs and Remy DeCausemaker on POSSE (we’re on for June 14-18 with Chris Tyler coming down from Toronto to be one of our instructors) and RIT’s teaching-open-source-fu. As part of this, Remy and I spent the evening at Computer Science House (CSH) talking with students about how Getting An Open Source Job/Internship/Co-op Works. It was one of the best such sessions I have been to; Remy and I are both recent-enough grads to remember our student-brains and bridge a little bit of our current world (FOSS) back to our old one (school).

It was done completely off-the-cuff, but I now have a 10-slide set of slides that I think will replicate the important parts sitting as pages in my notebook. At some point I should transcribe and post them. Nagging me may help accelerate this process. ;-) This, however, was the most important section (in my mind). Here’s what we’re taught as kids. Or at least what I was taught as a kid.

In My Parents’ World – How to Do Stuff (answer: “Get A Job according to these Complex Procedures”)

  1. Be interested in something
  2. Study (very, very, very) hard
  3. Get (very, very, very) good grades
  4. Make a resume
  5. Buy suit
  6. Apply to jobs
  7. Get introduced to recruiter
  8. Get interviewed
  9. Get hired
  10. Do Stuff

Except that the “Do Stuff” might be… well, entry-level job, filing stuff, doing thankless gruntwork waiting ’till you could move up the ladder and really Do Stuff, you know…

In The FOSS World – How to Do Stuff (answer: “Do Stuff”)

  1. Be interested in something
  2. Do Stuff
  3. Get hired

So here’s the thing: to your employer (according to my parents’ world), steps 2-8 in the first list are filters for the “getting hired” step. Hypothetically, your future boss can use things like grades, cover letters, etc. to figure out who’s going to add value to the project. And… all right, maybe they kinda work. And that’s about as good as you can get when Getting Hired is a prerequisite to Doing Stuff – they have to hire you before they give you access to the lab, the mailing list, the hardware, the code, and so forth.

But in FOSS-land, Getting Hired is not a prerequisite to Doing Stuff. In fact, it’s the other way around. Doing Stuff is the filter. Your future boss is waiting for you to give him/her an excuse to hire you. Not only hire you, but hire you to do something you’re already so interested in that you’re doing it for fun in your free time, and do it better. And this is not restricted to open source companies – banks need sysadmins, hospitals need programmers, robotics labs need UI designers… if you ask the question “could open source benefit this place?” and the answer is yes (and it should basically always be yes), then seriously consider offering to be the one to Bring It There.

Now, folks who’ve been around open source for a while will think this is obvious. But to me a couple years ago, coming squarely from the mindset I was taught as a kid, this blew my mind. In FOSS-land, we toss around “oh, just Do Something” as if it were the most obvious thing in the world – but it isn’t. See, steps 2-8 in the first list serve as a filter for potential employers, but they also serve as scaffolding to first-time jobhunters. You’ve never been through this process before, where do you start, how do you figure out what people value? Well, you make a resume according to these recommendations…

So if we’re replacing and reordering a whole chunk o’ steps with an extremely nonspecific instruction to “Do Something,” we’d better elaborate a little more on what that is and how you start going about it.

That’s what the rest of the evening was about.


Music morning


Spent the morning at DJ and Ginneh’s place having my first jam session in… years. Since my License Server days, I’ve picked up another instrument and gone from “nonexistent” to “could use a lot of work” in my improvisation skills; and gained enough confidence to start messing around and learning on the fly as I play with other people. (At that point, the learning just gets exponential.)

Today was getting to know each other (as musicians – we’ve been friends for years), swapping songs, getting a feel for what our instrumental combinations could do. I spent my time swapping between keyboard and guitar and refusing to sing; DJ was our bassist and male vocalist, Ginneh our female vocalist and “hey look a random instrumental part!” on cello.

We started with Eric Clapton’s “Change The World,” which was quickly revealed to be a “Mel needs to practice more guitar” piece. 8 stops 7′s “Uninspired” was more successful, followed by Keane’s “A Bad Dream” which is going to sound fantastic when we nail it (problem: no accurate chord transcriptions exist – need to fix this before next rehearsal – same thing for “Kill The Headlights” by The Colour). Then DJ put on the Avett Brothers and we played “Head Full Of Doubt, Road Full Of Promise,” which is going to be a fun song to improv solos on, and possibly a good one to try out splitting percussion on.

I should explain that last part. We have no percussionist, so the thinking was to rig up a bunch of footpedals and have everyone take one on the simple songs that need percussion – one person’s foot working the kick while they play piano, say, and another doing the same on hi-hat. Apparently the Avett Brothers do this sometimes and it sounds pretty good. “Colorshow” is another Avett Brothers song we might do that on.

“The Light Before We Land” is a grandiose orchestration by The Delgados, and the opening song for the anime Gunslinger Girl. I believe this was Ginneh’s suggestion. It’s a rich, complex song – and my job for next time is to strip it down, down, down to a drastically modified cover (as opposed to three people trying to imitate a full orchestra). Another fun one is going to be “Handlebars” by the Flobots, which is a rap; DJ is going to do the rapping (and bass), Ginneh is doing pizzicato on the cello, and I… am learning how to play the drums.

Ginneh will be running vocals for “Brooklyn’s On Fire” by Nicole Atkins, and I will be purchasing a capo and covering the guitar part in the right key (oops). She’s also singing “Fidelity” by Regina Spektor, which is a fun percussive piano piece to play. DJ is going ninja on a cover of Radiohead’s “All I Need,” which has a tricky bass-vocals combo (while Ginneh and I hang back with simple chord progressions and enjoy the music). I persuaded them to try doing an OK Go cover a capella, so we’re doing “Return” (Ginneh and myself on double-alto backing vocals and DJ on lead).

All in all, a good start. I’m looking forward to the next one.