Archive for January, 2008

Language and fixing my keyboard


Robitussin doesn’t taste any better than it did 15 years ago. (I wrote them a letter back then suggesting they add more sugar to their formula, and got back a reply saying that their formula couldn’t just be changed like that.) It does, however, enable me to sleep after 1.5 hours of coughing instead of not sleeping at all, which is a marked improvement over nights past.

One thing I forgot to add yesterday - I want to continue to write. Especially in the last few years, I’ve started to feel a greater depth in the things I can do with words to get across weird mind-spurts I’m trying to convey (and an increased incidence of writing making me have weird mind-spurts in the first place, which I love).

I’m all over learning other languages (human and computer) and love tinkering with tech stuff, but if the “10 years to mastery” window is true, I’m starting to come up on my more “mature” phase in writing, since I seriously began doing it around 11 or so in Mr. Panitch’s English class. Written language is my tool in a way that breadboards and chips and assembly won’t catch up with for another couple of years, even if I sunk my full self into electrical engineering and code right this moment. I suspect it’s that desire to be as comfortable with technical things that’s making me hanker for the long haul of a PhD in ECE.

Today was both more and less productive than I’d hoped. My XO was unbricked, so I was able to explore the software more (there’s been a tremendous amount of development since the end of September, when I shipped off to Asia) and partially solve a weird bug that’s cropped up; my XO’s “h” key has believed it’s a “u” since around the time of my (software) upgrade to Build 656, although I can’t positively say it was 656 that caused it since I didn’t notice the problem until the day after I upgraded (apparently I don’t type “h” that much.)

After worrying about the problem being hardware for a while (keyboard traces shorting out or something), I decided to eliminate other options and spent some time upgrading/downgrading firmware before realizing I could type “h” just fine in the non-Sugar console and so it was (1) not hardware - yay, I didn’t have to send my laptop back for repairs! and (2) not firmware - although it would be pretty hard for a firmware bug to mess up my keyboard.

Then I discovered xev, which shouts out X events (including keypresses) and realized that while my “h” and “u” keys returned different keycodes, those keycodes were mapped by XLookupString to the same character (”u”). I still have no idea how this happened.

The “h thinks it’s a u” bug continued, but later in the evening while helping someone else enable Amharic input on their XO (they’d filed it as a software bug when it was actually a case of “you need to change your input method”), I discovered the setxkbmap command, which… fixes it. Or more precisely, “setxkbmap us” fixes it. (I suppose other languages would have done just as well, but I speak primarily English.)

The annoying part is that I have to re-run that command at boot every time. I’m trying to find a way to make the changes permanent (and find out what map it’s using right now that’s corrupted, and how in the blazes it got that way). Ah, the joy of the hunt.

Got a good number of people’s XO issues fixed (yeah, the volunteer gang is basically tech support), set up things for the meeting at Google tomorrow, went through a lot of emails (I have to evolve my email-coping strategy, because my current one is not working under my new mail-load) and learned about cooking mishua in a wok (mom). And several other semi-major things that I also did not expect to get done today.

On the other hand, some wiki cleanup stuff I’d planned to do never got done, and several ‘zine articles were left half-finished. So I still can’t eat the spinach.

One thing I’ve noticed this week while lending a hand in #olpc-help: I still have a tendency to help other people with their problems instead of fixing my own. I should think about setting up anti-office-hours again (hours during which I’m not allowed to teach/help anyone else).

Now for the education part of my brain… (next post) [Edit: ended up being "the post after next"]


Got a round tuitt?


Feeling marginally more adultlike today.

Had one of those long talks with my parents about The Future over lunch. My “year off” is almost halfway up, and they’re concerned - heck, I’m concerned, I think all the mentors I’ve ever had share this concern - that I’m unfocused. Still drifting. It’s one of those battles I’ve fought all my life and will continue to until I leave this world (and even then, I’ll probably be bouncing around the afterlife distracted by everyone’s shiny haloes).

I want to go to graduate school. I want to get my PhD in education, doing a lot of qualitative fieldwork, focusing on the intersection between how hackers learn and how engineering undergraduates are taught. Before I do that, I’d like to (1) teach full-time for at least a full school year, because I want to ground my theory in experience this time around, and (2) work as an electrical engineer, because I’m… highly skeptical about my technical abilities (yes, intellectually I know this fear is ungrounded; see impostor syndrome) and want to prove myself wrong, lest I spook from tech stuff in the future. I love electrical and computer engineering. I don’t want to be terrified by it.

How am I going to do this? I have no bloody idea. I’m hitting the library and the internet in preparation for hitting my address books and calling people up for advice. Homework doesn’t end with graduation. (Yay!)

That’s more or less the semi-gelled part. The rest is a little fuzzier. Somewhere down the line, I want to get my PhD in engineering and become an engineering professor. Somewhere down the line, I’d love to start my own business, but I won’t be too crushed if that never happens; it’s likely I’ll be involved in startups anyway. Somewhere down the line, I’d like to spend at least a year, solo, traveling around the world. Lots of stuff I’d like to do somewhere down the line, but somewhere down the line is fuzzy and far and Very Very Tentative. Maybe I’ll get a round tuitt.

It’s still a broad sweep, but it’s less broad than it’s been in years past. I dug up some old stuff from high school while cleaning my room and spent several hours re-reading the stories my friends and I wrote as teenagers (about us battling the vile Ma’ath* across the Koor-D’net Plains, and such) and got together for drinks with some high school friends, who were mildly amused to see me quaff a stout, as I was the Small Innocent Person of the crew.

I got to think about the past for a bit and how much I have learned to focus since. I’ve gained a lot of focus, surprisingly. (So you can just imagine what I was like as a kid.) I think it’s like debugging and optimizing a really kludgy hack - the messy junk works when you kick it so you think it’s almost-done, but as you clean it up and squeeze more performance out of it you realize how deep the knots are raveled, how making it work better usually makes it more broken in the short run, how pushing it under tougher conditions leads to all these issues you never noticed before when you were working in a nice shielded lab.

Hacking yourself usually gets worse before it gets better. I’m finally beginning to creep out into the “better” part for this revision of the Focus feature.

Contrary to this post, I’ve also been trying to teach myself not to spend too much time worrying about the future at the expense of the present (…young padawan).

So - the present.

Bricked my XO last night while fooling around with OFW (translation: I was messing with my computer and totally locked it up). After several hours and some words I’m glad my parents didn’t hear, I gave up and submitted a ticket, Adam sent me my developer’s key tonight, and I have a working laptop again in time to head to the OLPC Chicago meetup Tuesday night.

Also registered for my first official “schooling” of the year - I’m taking a Mandarin immersion weekend at SUNY New Paltz. It’s more money than I’ve spent in total since the end of September, but it comes from my 529, which actually contains some money thanks to the Olin scholarship. (As I’ve said more than once, that scholarship lets me think about saving the world right after graduation instead of “must sell soul to pay debt.”) I’m trying to save what remains of my 529 for grad school, though. Especially since I plan on going through quite a bit of that in the future.

This is part of my vow to never let an academic year go by without seriously studying something. Another part of that vow involves being an independent learner and not letting credentialism taking over my soul, but I’ve gotten to the point where I’m at a plateau and can’t kick myself to the “next level” without help.

The cough syrup sleepydrugs are kicking in. It’s off to an early bedtime.

*Lest you think I hated math in high school, I should hasten to explain that the Ma’ath were a twisted corruption of Math, the glorious beings who once ruled the land of Eemsa. While the Math did awesome things with vectors and abstract algebra, the Ma’ath introduced perversions like Timed Tests, Scantron Sheets, and Stupid Plug And Chug Textbook Problems. So. We were warriors of The Light. (Then again, all warriors like to think they are.)


Filipino advertising


Manila moment:

Whoever thought of making signs for the sari-sari stores was a genius. Sari-sari stores are independent roadside shacks, approximately the size of a movie theatre ticket booths, where you can buy snacks, lighters, cheap toys, etc. from across a counter. You can’t go inside because only the storekeeper will fit.

Anyway, most of these places are made of rusted corrugated metal and a patchwork of scrap wood or woven leaves. They also have huge, gorgeous, full-color, professionally printed signs.

The company prints their product ad  in big, bright colors across most of the sign. “<soda-brand> sarap ka na ba?” “Load (your cell phone with minutes) na dito!” The storekeepers put up their billboard and paint their store’s name on the small blank strip at the bottom. This is usually “<firstname> Store’ - “Alice Store,” “Gloria Store” - and thanks to Filipino nicknames, things like “Baby Store” and “Boy-boy Store” as well. It’s free advertising for both. Corporations get a customer (the sari-sari stores put up billboards of products they’re selling) and the storekeepers get a good-looking, eye-catching sign for free.

Mmm, corporate symbiosis.

On a related note, most of my Tagalog vocabulary was picked up from ads. This leads to me saying things like “Pagkain walang katulad” to my Chinese teacher’s brother, who owns the restaurant we ate at; literally, “Food without equal.” (”Walang katulad” is the advertising slogan for San Miguel beer.)


Some fun old pictures


Was sorting through my travel pictures this evening and found some older ones - two which I know I haven’t posted here before, one which I’ve definitely mentioned but may not have put up.

The first two are class notes from ICB my freshman year with the legendary team of Burt and Zhenya. There’s a page from physics and a page from math, respectively. The page from math eventually evolved into a half-length Shakespearean production of Rhomeo and Julihat. I say half-length because even if we eventually put it on (to a standing ovation) at the end-of-year exposition later that May, I stopped writing after the Rhomeo-kills-Phibalt scene and haven’t been able to conclude it satisfactorily since (although I’ve tried to write the rest several times).
Stabby OpticsPmeo and Julihat notes

Yes, I actually used to take notes like that; these are my notes from high school physics with Ms. Nicks, done in the form of a comic book with references to a LOTR-style IMSA epic that my friends and I were writing on notesfiles (hence the characters, who are either fictional beasts or actual kids I went to school with, only with swords and snappy comebacks). Calc-based physics epic comic book [pdf]

Someday I should make a nice gallery of this stuff online again.  The final picture is the dartboard from the “I chose my undergrad major using a dartboard” story. See? I wasn’t kidding.

The dartboard that made me an ECE


Be nice to your support staff. They’re trying to help.


Here’s an easy way to keep life interesting: never take on something you’re qualified to do. You’ll learn a lot more that way. (However, it’s usually nice to give others fair warning you’re playing things by ear and apologize for the inevitable messes that happen along the way.) On the other hand, it also tends to lead to occasional moments of “OH MY GOD, WHAT AM I DOING HERE?”

I wonder if the guy who said to only hire people smarter than yourself ever felt guilty about being the dumbest person in the office.

Getting back into the OLPC volunteer community has been an exhilarating but exhausting ride (although the latter may also be due to getting sick). I’ve certainly gained a lot more sympathy for tech support - my own emails and phone calls to customer service centers have become markedly more appreciative ever since dealing with angry users. (I think I went a little overboard on that one, but it ended up being useful to others, so - getting somewhere.)

Fortunately, the uplifting incidents outstrip the frustrating ones. I’ve seen how people can fly off the handle and attack, insult, and provoke without seemingly trying to understand the other side of the story, but I’ve also seen people handle things calmly, graciously, and with more tact and patience than I would ever be able to muster up myself under the same circumstances. I’ve got a lot to learn from them. It’s still really hard for me not to flame back in return. (I do have a temper. A very, very bad one.)

Also, it does hurt every time I hear my friends on the OLPC volunteer support-gang get yelled at. They’re full-time parents, students, workers - spending their free evenings listening to angry people blaming them for problems they didn’t cause and trying to help them anyway. We’re not perfect, but we’re trying our best.

It’s both a curse and a blessing to be able to care about people and causes deeply. I guess that’s why they say love hurts.

On a lighter note, my favorite “support call” today was with my aunt, who’s trying to debug the wifi on her XO. Since I’m in Chicago and she’s in Seattle and I’m hearing-impaired and have bronchitis, things ended up with me typing on my laptop screen in English while lipreading my mom talking to her sister on the phone in Fookien, and information relaying back and forth that way. It was fun.


If you give an IMSA student an XO…


First, shameless plug: If you’ve got a soft spot in your heart for free software, please take a moment to read Mako’s appeal for the FSF and contribute if you have anything to spare - they do fantastic work on a shoestring there, and it’s all tax-deductible. If you’re broke like me, Josh says to digg it and spread the word. The FSF’s work is relevant to everyone, not just software people; for instance, if you’d like to be able to play music you’ve purchased on a computer you own, their anti-DRM campaigns are working for you.

End spiel, start content.

When your list of accomplishments for the day includes “only vomited twice!” and you’re very happy about it, you… might have bronchitis. I’ve had no voice for the last two days. Typing being my remaining fastest means of communication, here’s a recap of the last week with the IMSA-OLPC crew.

We spent 4 mornings together, 3 hours each day. Remember, these are 14-18 year olds with other courses and homework and sports and drama practice and student council and so on, and no prior experience with XOs and in most cases Linux, programming, or hardware: (I’m almost certain I’m missing names here - my apologies. If you know someone I’m missing, please let me know and I’ll add them in)

Mitra began to transform one of our most frustratingly neglected documentation sections - emulation. (To see what it was like before, click here.) He’s writing up scripts and taking screenshots to make it easier for novices on all platforms (Windows, Mac, and Linux anyhow) to play with Sugar.

Jason and Justin took a day to learn Python, an evening to get started with PyGTK, and had most of a Clock activity finished by Friday noon. They’ll probably apply for project hosting soon.

Gabi, Colin, Ariel, and Sanat built support circuitry to allow a range of cheap sensors to interface safely with the laptop’s audio-in/analog port. They’re eventually hoping to use the laptop as a basic medical monitor - it’s a long-term project. At the start of the week, only one of them had ever heard the word “breadboard” before. A few days later, they were designing analog circuitry and contemplating how best to get a PCB printed.

Arjun and Spencer started calibrating Distance under different weather conditions, background noise volumes, screen orientations… you name it, they tested it (and ran linear regressions on their data, and…) It was their first experience debugging, but they were soon making suggestions like “can we run an initial period of noise detection and then compress the frequency range of the maximum length sequence to avoid it?” Last I saw, they were trying to get in contact with the original developer.

April-Hope and Will took the Measure activity and started filming and narrating experiments using it in order to create a video library to introduce kids to the scientific method. By Friday morning they were working on multilingual subtitles. The amount of cultural sensitivity that’s gone into their project is - well… they re-shot and re-edited entire scenes to remove the thumbs-up gesture (obscene in some countries) and came to us on the last morning concerned that students from some conservative-dress countries might be uncomfortable seeing some young women in sleeveless shirts that walked across the background of the film at one point. (We told them to make a note of it on their wiki page but not to worry too much about it.)

    If you’re in the Chicago area, come to the first OLPC Chicago meetup next week on Jan. 22 (it’s at Google Chicago) and you’ll get to meet them and see their projects. Some might be doing research on OLPC full-time this summer, which excites me to no end - if they can get this far in a week working part-time, what more if they had three months?

    Another happy thing: IMSA finally has a FIRST team, started after two years of lobbying by Jim Gerry and two IMSA ‘06ers (now alumni). They swept their regional rookie awards last year and hope to go to Nationals this time. However, they can’t get enough workshop time; the only place they can use tools is manned only intermittently during class hours, meaning fabrication is tough.

    However, I heard epic tales of the entire team living in the closest teammate’s garage (some students live up to 5 hours away from campus) for the final weekend during record-setting cold Chicago temperatures, blowing breakers with space heaters and power tools up until the final moments. So the hacker spirit’s alive and kicking there too. The future looks bright.


    In Chicago


    My first thought upon deplaning: Wow, white people! After more than 3 months in China and the Philippines, it’s weird to see non-Asians in such large quantities.

    First order of business is to try to catch up on OLPC stuff again, with loads of help from Nikki. I’ve been woefully out of the loop thanks to spotty net access abroad, but will be volunteering full-time from Chicago until the end of January. Word on the street is that community and volunteer coordination needs a lot of help, so if you speak fluent normal-people-English as well as bahasa geek, please consider helping out.

    First phase: tomorrow morning I’ll be heading to my high school to spend Intersession week (Jan-term-like period of “fun” classes before “real” classes start) working on OLPC with fellow IMSA alumni Scott Swanson and his new crop of bright young volunteers.

    This means I have a grand total of 6 hours between now and when I have to leave the house tomorrow to recover from 12 timezones’ worth of jet lag. It will be fun. It is now bedtime.


    Dual citizenship?


    I’m back, more or less. In the Philippines staying at my aunt’s house (glorious! fast! internet!) with a new definition of luxury, namely:

    • running hot water of sufficient quantity to shower with
    • easily accessible potable water - doesn’t even have to be from the tap
    • my own bed in my own room, which is free from most potentially disease-carrying vermin, especially bugs that bite
    • air conditioning and/or heating, as appropriate to the climate
    • breathable air that doesn’t trigger the mucous factory in my lungs
    • adequate nutritious and edible food, including vegetarian options
    • clean, indoor, functional, SEATED toilets
    • for bonus points, reliable electricity and net access
    • for I’m-in-heaven bonus points, proximity to a public library

    If I can consistently achieve this lifestyle by the time I retire, I’ll consider myself to have lived in the lap of luxury. On Monday, I fly back to the United States. When I reach Chicago, I’m going to need to talk with my parents about dual citizenship. I didn’t know you could do that with Filipino/US citizenship until I talked with my aunt a few days ago and found out that she and her twin boys were all dual, mostly because it makes it easier for them to go back and forth to visit family, and because the kids are half-Filipino by blood and should have the option of legally keeping their ties to that country. Then I saw this.

    A child who is 18 years of age or above at the time of the parent’s reacquisition of Philippine citizenship but was born when either parent was still a Filipino citizen, is considered to have been a natural born Filipino and may apply for reacquisition of Philippine citizenship on his/her own behalf. In addition, the applicant must show proof that either or both parents were Filipino citizens at the time of his/her birth.

    Since my parents were still green-carders at the time of my birth, it sounds like I am probably eligible for dual citizenship. If this is indeed true, we’ll need to figure out whether this is something I should do.

    Having an American passport is a magical thing; doors open, immigration smiles (…sometimes), visas are granted, customs doesn’t work you over with a fine-toothed comb. Compared to my relatives with Filipino passports, getting permission to Go Places is a cinch. Studying and working in the US likewise. Everyone I know that carries a Filipino passport tells me how lucky I am to bear a dark blue American one. So why would I want a green one?

    Well, the Philippines is a cool country as well, and it’s where we come from. I visit often, and this would make extended visits easier. I’d like to go back and live there for a while, maybe teach or start a business or something for several years. Being able to vote is nice (the political situation needs all the help it can get). And… well, why not? Taxes don’t have to be double-paid (pay in the country you earn it in, basically) and I can choose which passport/national identity to show when I’m traveling wherever.

    But I really don’t know the slightest thing about dual citizenship and its pros and cons. Thoughts? Advice? If it’s a possibility, should I pursue it?