Week two of my internship is almost over, and I continue to be surprised every day. In a good way. I knew that engineers solved problems (and didn't just Make New Technologies), but I never thought I'd have it driven home to me with such force - I have not done a single commit to any code repository, fabricated start-to-finish any design of a product I can really call my own, nor do I do complicated mathematics on a daily basis (I love math, and certainly wouldn't object to this - but I think that Ivan would say that it's not engineering unless you're doing the crunchin'.)
But I do think I'm a heck of a lot better at my personal (rather hand-wavy) notion of engineering-as-the-art-of-solving-problems than I was 9 months ago, rather awkwardly stepping off the stage with a diploma I didn't expect in hand. Not as good as I'd like, but better, and I don't think I'll ever be as good as I like. So... what the hey.
Right now, at TOPP, I'm learning how to test. This is apparently one of those wonderful meta-laden fields where you have to think a lot about your own thinking; I enjoy it a lot, and have started reading academic papers on testing (and epistemology) while eating lunch, at least until my coworkers tell me to get over to the table and actually talk to people. (Which I do. And I appreciate the reminder.)
In my search for precision and conciseness, I ended up spending^H^H^H^Hwasting a good hour this morning creating a schema to write test notes in, ending up with a text document full of stuff that looks like... this.
1. U[#P1].P1(invite-request) -> J
Or in what I originally thought was actually English: (don't actually try to read the below paragraph):
"A project P1 admin uses the web interface (within their project P1 interface on woonerf) to invite a Joiner via email. The Joiner does not react to the email but instead starts their user registration through the woonerf web interface (but does not yet confirm their email). The Joiner returns to email, sees the original invitation from the project P1 admin, and follows that email to create an account and confirm email for that account before trying to return to confirm the email for his/her first account creation attempt."
Fortunately, Tim and David intervened, and Sonali showed me her much better flow test charts, and then I found some real bugs. Which took several hours to describe, with large amounts of help, because of the strange way in which they interacted (and my relative inexperience in writing good bug reports). Productivity and learninating was had, I was happy, and I took the abysmally long train ride home.
Today I also wrote my first TOPP blog post on Big Questions I've heard about openplans and why we're doing it, and then my first Vital Ideation"assignment," somewhat late (which is fine, since I'm not technically enrolled in the class).
Now I'm starting to get somewhat fuzzy-headed for having stayed up 'till nearly 4am this morning waiting for a grassroots meeting that nobody else came to, but I also got tons of stuff done while waiting, and I'm about to go to bed right this moment, so the dull-brain feeling will pass. I do enjoy feeling awake, and need at least 4 hours a night regularly to function.
I'll be spending this weekend at the University Chapter Jam Boston, which is drawing in students from the Boston area for a momentum-building hackathon for their various OLPC college chapters. There's a really pretty page here, but I'm trying to get them to move it to the wiki (and make a template so all jams can look as good as their page).In general, Olin people need to put stuff on the OLPC wiki more.
(Note: I think my email client might be doing weird things - again - so if you're expecting a message from me, I might not get this ironed out until tomorrow or so... I need to find a less-bad way of experimenting with Thunderbird/pine/mutt configurations for working offline.)
[Edit: I hate the behavior of wordpress on a Mac. Next time I'm writing posts from my laptop.]