Archive for September, 2008

Bullet point night


Three bullet points:

  • Sumana, as usual, is right.
  • Friends interested in interface design may like checking out the Sugar Design Team meetings.
  • The German team we met in Japan a few years ago is still working on their project, a car-mounted, computer-controlled paintball gun for marking directions and relief centers in disaster areas.

Now. New England has allergens and pathogens in it, and I appear to be susceptible to both. I feel and sound like I had an invisible garden hose shoved into my throat and up my nose, then turned on (must… buy… more… tissue). I’m going to bed early tonight (I’m going to meet my 1am bedtime, hurrah!) and not setting my alarm. And then inhaling LOTS OF STEAM when I wake up. Blah. I do not like this being sleepy thing because it usually means that I am sick.

Cheese + dogs + polymaths, however, make for quite an enjoyable evening. Hurrah for Josh and good ideas!


My OLPC weekly report


It’s usually due on Friday, but we’re all sending it in a day early this week.

Mel joined the team full-time as a Support/QA engineer on Monday and tries to keep a daily log for the general public at http://blog.melchua.com/category/olpc/. This week was spent catching up and testing 8.2-760, mostly with connectivity and verifying that upgrading from builds out in the field (656, 703, 708) doesn’t break things in horrible ways.

Currently working on verifying/closing fixed blockers in http://dev.laptop.org/report/33, making a procedure to test memory leaks, and finding a way to easily get test case coverage/completion/pass stats as we work with Kim’s new test case management/results reporting system. Also writing reports in fragmented third-person sentences.


Resuming sessions without the proper Activity makes life interesting


There is an exodus of interns. Brian Jordan left for Rwanda this morning; Dan Drake is already in Ethiopia. Both are helping out at pilots. We are demanding stories and pictures upon their return.

While doing upgrade testing, I found what might be an interesting bug; it still needs some chasing down and reproduction (and honestly, my bug report could be better). The test was to check whether Activity sessions started before an upgrade could be resumed after that upgrade (so far it looks like the answer is yes for core Activities, which is great). The bug isn’t in that; it’s in what happens when you don’t have the proper Activity to resume a session with.

One upgrade from 656 (what shipped with G1G1 machines) to 760 (current release candidate) ended up with no core Activities in Sugar. Of course, without Activities to run them in, the sessions couldn’t resume. They showed up as generic file icons in the Journal instead and you couldn’t do anything with them.

When the Activities were reinstalled, the old sessions still showed up as generic file icons in the Journal (instead of having the proper Activity icon next to them), but they could now be resumed. The curious bit is that when you resumed one of those sessions, you ended up with two separate Journal entries – one with a recent timestamp and the correct Activity icon by it, the other with the file icon and an old, unchanged timestamp. It was as if you’d created a new session that happened to have old data, and the old session hadn’t been touched at all.

Weird. Now to chase this down and reproduce it…

While automating what used to be a manual test (running a logging script beats the heck out of getting up every few minutes to see if a battery has died), I also learned something about OHM today, thanks to Richard. (Warning: Acronym alert. I’ve tried to link to relevant wiki pages when possible.) When there’s output to the VT, OHM won’t suspend the XO (and the battery will run down way, way faster).

In today’s case, it meant that if I ran olpc-pwr-log (the battery monitoring script, and a useful tool to know about) in the VT, the XO wouldn’t suspend; if I ran olpc-pwr-log in the Terminal activity, the XO (and the script) would suspend (but thanks to wireless, it would wake up frequently enough to give us some battery drainage data, which was enough). Since we were trying to drain the batteries as fast as possible (Richard needed drained batteries to test the multi-battery charger), we ran the script in the VT.

Phew. A lot of testing stuff going down tomorrow, so tomorrow’s post will be far more interesting, I promise.


Yawn…


I’m doing a lousy job of sticking with my 1am bedtime. I’m taking naps to remedy this instead – need to recalibrate my sleep cycle tomorrow (an early day).

I’m pretty sure not bringing my laptop to the office will help tremendously with this.


I now hit things in ensembles


I’m writing this from the T stop while hoping I did not just miss the last train home.

So… I spend a lot of time at work. (This should be nothing new to anybody.) I mean, where else can you hear discussions about how Aymara kids call the Memorize Activity the “Safekeep In My Head” Activity (after a lot of back-and-forth between etymologists and such about how to best convey the meaning of the title)?

On the non-OLPC front, I failed the Olin Challenge again today, as Ben Hayden’s building (he works for Google) had a fire drill while I was walking in this morning; his building is across the street from mine. So I’m doing my Wednesday “Mel The Personal Chef” day at the Hayden-Scholl-Aasted domicile. Speaking of which – if anyone wants me to come out and cook for them on Wednesday nights, let me know; you provide the ingredients (or a fridge to improvise from) and the company, I’ll provide the recipes, the cooking, and oddball ingredients/spices and a wok as needed. (Note: I am not particularly good with ovens, but can cook most anything that doesn’t involve one.)

Check another thing off my lifelong dreams list: I am indeed playing percussion (and possibly, if I get my act together, piano) with the MIT Concert Band. Kristen Dorsey said to show up at rehearsal and talk to certain people, and I did, and the next thing you know…

Me (whispering over the long brass interlude, clutching the triangle in terror) : But I can’t hear anything I’m playing!
Percussionist next to me (as the brass crescendoes): It sounds fine! Just keep on playing!
Me (the brass section is really loud now): HUH?
Percussionist next to me: KEEP PLAYING! LOUDER! CAN’T HEAR!
Me: Yeah, I can’t hear the triangle!
Percussionist next to me: NO, I CAN’T HEAR THE TRIANGLE! PLAY LOUDER!
Me: Ohhh! *is louder*
Percussionist next to me: THERE YOU GO!

Things vastly improved when I switched to bass drum, which is entirely within my frequency range (as are timpani and snare drums, and the wood block). I staggered through a Copland piece (section leader, looking over at my music: “Wow, this is not a good piece to sightread through your first time”) and then learned how to mute it with my knee/hand/combination-of-the-two and not to thwack it dead center, after which my sound output vastly improved again. Similarly, how I’m learning to read sheet music for percussion..

Me (playing along happily): Hey, what’re those hashy things?
Percussionist next to me (glancing at my sheet music): WHOA! *heroically dives across the room for second mallet, plunges it into my hand*
Me: *CONFUSED*
Percussionist next to me: ROLL! NOW!
Me: GAH! *drumroll*
Percussion section: YAY!*

*Okay, they didn’t actually say “Yay!” But they made happy gestures that conveyed the same emotion.

After that song, the section leader turned to me. “You’ve never touched these instruments before, have you?” I shook my head. He grinned and proceeded to give me a crash course on the basic way to hit about half the instruments we had out at the time. I can sightread rhythms well enough, I just don’t know what things to hit and how to hit them well. Oh, yeah. Cymbals? They’re FUN.

No, I don’t know what I’m doing, and I’m absolutely sure I sound horrendous to both trained and untrained ears (at least to mine, which are untrained in this regard). But am I learning fast? Oh yeah. Am I learning fast enough? That’s an entirely different question. The other percussionists have basically started teaching me everything they can think of during long rests, because we have a month to teach me how to not sound lousy for those songs on the bass drum before the mid-October concert. They think I can make it. I will try.

The bass drum is probably the least screw-uppable of all the things they have, anyway. It’s hard to mess up when half your part consists of rests and half of the remaining bit consists of quarter notes and quarter rests. Except for that weird syncopated part in this one mildly sadistic rag. Which has none of the above. And which I actually got through with the least difficulty, because… oh, I don’t know. The harder things are, the more I pay attention, maybe?

And am I having fun? Well… the band has a mascot of sorts named Tesla who is a huge white dog and cavorts around the room with people between songs. We had random leftover food donations carted in by a player halfway through; this food included popsicles and cheese, and instrumentalists were popping out of their seats during long rests for their sections to snag another bite of cheddar.

Hurrah! A train! I’m going home, practicing piano, and then passing out – I want to be back in the office in 6 hours. Woo!


Upgrade testing for data integrity


Whee! As of today, have a desktop and it’s pretty much set up to be usable. This took far too much time (I probably need some sort of proprietary ethernet driver). Seth and Henry are wonderfully, wonderfully patient people…

On the testing front, I’m in the middle of upgrade testing for data integrity – this is something you can do at home with your XO and give us feedback on. Basically, we’re interested in finding out whether you can upgrade from your current build (make sure to tell us what build that is!) to 8.2-860 (the current release candidate) and whether saved Activity sessions you have from before the upgrade still work with the upgraded build and Activities. I’m just testing Write, Record, TurtleArt, eToys, and Browse, but maybe your favorite Activity isn’t on that list and you want to make sure it’ll still work post-upgrade – well, here’s a good excuse to find out now.

Frances and I are working on splitting up smoke test procedures so we have smoke tests unique to each release, since every build has a slightly different feature set. We’ll let you know when we’re all set on this – one thing that would be helpful to know is whether the current level of detail is easy enough for newbies to follow. In other words, can you get through the current smoke test instructions without getting confused or having to ask someone questions? If not, why not? Please let us know!


First day at work: XO collaboration testing


Yesterday (September 15) was my first day as a full-time QA/Support engineer at OLPC. It’s good to be back at 1cc with everyone again! I’m going to start logging non-internal things in this blog as well so others can follow along; let me know if there’s a way I can be more transparent, because in my mind, if anyone’s ever confused (or more confused than I am, anyway) about what I’m doing, that is a bug I need to fix.

Much of the first day was consumed by things like paperwork and setting up my desktop. I had a lot of catch-up reading and meetings to do, and met a lot of new people who had come on board this summer. This included Reuben Caron, my compatriot in system-level support, who has set me to reading through old RT tickets trying to get a feel for what kind of large-scale deployment problems are coming up.

A bit of explanation: what do we mean by system-level support? Well, the XO was designed to work in packs; communities of XOs, if you will. Many G1G1 donors and volunteers have only seen XOs in small numbers; ones, twos, maybe a few dozen together at a conference for a few hours. Country deployments have dozens, hundreds, thousands of XOs. When you have those numbers, you get issues of infrastructure (power, networking, activation) and scale that don’t come up at the individual machine level – for instance, what happens when you try to get 300 XOs connected to a school server? (This would imply that you have 300 XOs and a school server, first of all…)

More on system support as it comes along; Reuben and I will be looking for ways to involve the community in systems support. The first challenge is that most community members don’t have access to a system to work, test, or develop with; ideas on how to change that or get around it are very welcome.

Another part of what I’m doing is QA/testing. Right now we’re running tests in preparation for the 8.2.0 release – you can actually help with this if you have an XO and some free time. The current candidate is 8.2-760. Kim made a draft test plan right before I started, and we need to generate test cases that will cover all the features available in the new release.

One example of a test case – and the one I ran the afternoon of my first day – is the 20 XO XS collaboration persistence test, which connects 20 XOs to a school server (XS) access point (AP), gets them collaborating on a number of Activities, and sees how well that collaboration stays up over the course of multiple hours. We’re happy to report that this test passed (this time, at least) – 760 seems to show improved collaboration stability over previous builds. Sweet!

I know this is a test that not many people outside of 1cc will be able to replicate and verify; in later posts (and later days), I’ll try to start putting out things I’ve done that you, too, can do at home to help out. And probably some things I haven’t done – things I can’t do myself, but which still need to happen, with the community’s help – if you’ll allow me to request a hand from you once in a while.

And the morning and the evening were the first day.


There are more than two types of chords?


I learned things about chords this weekend. Prior to Saturday, I knew of the existence of two types of chords: major and minor. I could kinda tell the difference between them when I heard ‘em. With some fiddling on the keyboard, I could play them. That’s about it. It didn’t really matter, because I just hit the keys indicated on the sheet music anyway.

And then I had my first piano lesson in 8 years. And whoa, there are a lot of different types of chords! There are dominant and diminished and chords with flattened 5ths and ones without and when you slide one finger half a step down all of a sudden everything sounds completely different! I’ve heard these chords in music before, but didn’t know that they actually had names and were differentiated from each other, kinda like if you’d classified colors as “light” and “dark” and suddenly heard people talking about “blue” and “kinda orangey-red” and “deep turquoise.” Confusing. But super-cool.

So now I’m trying to learn how to recognize those by ear. Generally speaking, I’m trying to learn to do more things (starting with music) by ear. Must rid self of excessive paranoia of doing things by ear (for me, this means “without reading”). I’m also going to look through the audiobooks on Librivox and try to find one with a nice crisp voice, and train myself to understand audio without lipreading input without freaking out and straining to listen; I want to quickly be able to distinguish between Audio I Can’t Understand (the vast majority of audio-without-visuals) and Audio I Can Actually Understand But So Far Have Avoided Because They’re So Few And Far Between That It’s Just Easier To Assume I Can’t Understand Audio Without Accompanying Visual Input Period.

For the record, anyone who wants to imitate my writing style: use plenty of hyphens – like this – and (lots (and lots)) of multiply nested parentheses, as well as Long Strings Of Words Capitalized For Emphasis. Also, act like everything is exciting, and you’ll pretty much have the Mel writing style down pat.


Less butter. Much, much less butter.


This morning, after dumping the leftover HOT HOT HOT! soup into the rice cooker (habanero butternut rice with sweet corn and peppers?) and blending two bananas with some milk, peanut butter, and raspberry preserves for breakfast, I cracked open the “Blue Strawberry Cookbook” that Leonard had given me and Chris for our housewarming. (Thank you, Leonard! And thank you, Sumana, for the face paint!)

Leonard hard warned me that the book was written in 1976 when people had a different idea of what constituted health food. He suggested, in particular, to reduce the butter. Drastically. But I love butter. So I randomly opened the cookbook and started to read. Here are the first sentences (or first portion thereof) of the recipes on those two facing pages.

  1. Melt half a stick of butter and thicken with two tablespoons of flour.
  2. In a blender mix half a stick of melted butter, two tablespoons of flour, a tablespoon of moist chicken base…
  3. In a saucepan slowly bring to a simmer the following: half a stick of butter…
  4. Mix in a blender half a stick of melted butter….
  5. In the bottom of a saucepan melt one stick of butter, then add about four shallots, sliced thin…
  6. In the blender puree one melted stick of butter…

I tried again. This one ended up at “Pork in Grand Marnier Sauce,” and the first words there were “To half a stick of butter in a saucepan, add…” The next was “Ham in Raspberries and Grand Marnier,” and it began “Score the fatty part of the ham,” and the next paragraph began “Into a saucepan put one melted stick of butter…”

I think… I will reduce the butter.


2 habaneros + 1 serving size = PAIN


In other news, I need a new box of tissues. Holy flaming scoville units. I will never put two of those peppers into a single bowl of soup again no matter how much I love spicy food.

Also featured in tonight’s dinner: raw sweet corn. On a scale from “mmm” to “would trade future rights to hypothetical firstborn child for please sir may I have some more,” this was a “between a lifetime supply of this and lifetime supply of chocolate, I’d choose the former,” which is high, high praise from me (I am a chocolate fiend).

Another highlight of the day was my first German longsword lesson (thanks, Seth!) where I learned that if he had a sword and I had a sword and I moved my sword in the direction of his sword for any vaguely not-quite-friendly reason, I would soon be disassembled in a pool of blood (read: dead and in pieces). Swords are awesome!

Last but not least, I have (1) stamps and (2) envelopes, so if you want a letter and live not-in-Boston*, send me your address and I’ll write you. (If you live in Boston and want a letter, let me know and we can make arrangements such that I can hand-deliver it. Come on. Face-to-face contact. It’s good stuff too.) I blame Greg Marra for this, by the way.

*or surrounding towns, the metro area, you know what I mean. Boston-ish.