Our most excellent week in Serbia has come to an end, and we three are now unwinding our travel stack, if you will. We just arrived back at Schiphol, again via Zurich, and here we’ll stay overnight before catching our flights home.

(Or homeward, at least; Vlad’s labyrinthine travel arrangements have him spending about 20 hours in Toronto on Monday, before finally making it back to SFO. Quel jet setter!)

Before quitting the Continent tomorrow evening, Vlad and I are going to revisit Amsterdam proper for some additional gift/souvenir acquisition. And then I have at least two weeks at home, to which I am very much looking forward, I must say. Stuart and I may go into the city for dinner tonight, though the rain is somewhat offputting; we’ll see how persuasive he is.


So far, my Serbian vacation has been great. Vlad has been a great host, as were his family when we drove down to Jagodina to pay a visit and escape Belgrade’s potent cocktail of heat, humidity, and smog.

My mastery of the Serbian language remains frustratingly incomplete, but I was able to wander out on my own and get a drink and food the other night without too much difficulty. Comprehension remains alarmingly fragile, with “we only serve drinks now” being no problem and “we don’t serve food now” requiring several passes of “ne razumem” to resolve. I’m starting to feel like each new word takes up less brainspace now, though, which is a pleasant knee-in-the-curve sensation I recall from my early days of studying Latin, or for that matter various computer languages and environments. Vlad still makes fun of my pronunciation of several words, including the crucial “hiljadu”, or “thousand”. Given that a 1000-dinar note is equivalent in buying power to a little more than $20, this is a pretty useful word, especially when one is locked in battle with a waitress over the making of change.

My aforementioned difficulty notwithstanding, Serbian has ridiculously straightforward pronunciation: every letter is pronounced, every letter has a single context-independent sound, and the emphasis is virtually always on the first syllable. What pronunciation gives, however, grammar takes away with a smirking swipe. Coming from a modest background in French and Latin, and a mostly-forgotten semester’s study of Greek, I was emotionally prepared for the array of declensions and cases, and their construction is relatively regular. Their use, though, can be a little hairy. As an example, when you are speaking of “one” thing, the word for one is an adjective and accords with the thing you are counting. But when you are speaking of two to four things, you use the plural genitive, and once you’ve got five or more the singular genitive is employed. (If I recall correctly; I’m away from my book right now, and Vlad’s a little tired of answering my grammar-school questions.). I’m sure it’s quite natural once you get used to it. I am not yet used to it, though it turns out that screwing up one’s declensions does not render one unintelligible, so I manage to muddle along. Cyrillic is no big problem, other than that it slows my brain down to below the sight-reading threshold, and that sometimes I mistake which alphabet is in play on short signs and the like. Cursive Cyrillic is basically another alphabet, not unlike one composed primarily of mostly-indistinct sine waves; don’t get me started. Nor on italics.

In other communication-related news, our efforts to obtain internet access here have been largely in vain. We had a tenuous connection for a few hours yesterday morning at the offices of the Serbian Unity Congress, and a brief period of excellent connectivity for my laptop while we were speaking at ETF in the afternoon, but otherwise it’s been nil. Much of the underlying telecoms infrastructure in Belgrade is pretty veteran stuff, often dating back to WWII, so a certain, mmm, fickleness is to be expected. I wonder if we’ll see wireless-based ISPs take off here, as an end-run around the phone system (electronic and corporate). If nothing else, the IP-over-second-hand-smoke business plan practically writes itself. (My Blackberry has been terrifyingly reliable, and a marvelous deal if the $0.05/kB rate I believe I’m getting holds. The only place I’ve noticed not having full GPRS service on this whole European tour was at a 14th century monastery on Tuesday, when I was tapping in an email to Tyla. Clearly, it was a sign.)

Our somewhat impromptu talk at ETF (no link, sorry, but your search engine of choice will probably turn it up with some combination of “ETF”, “Belgrade”, and “engineering”) went well enough, though there didn’t really seem to be a lot of energy around participating in Open Source, as much as in consuming or advocating it. Certainly, the economic realities of needing a job to eat while studying are quite pressing, here at least as much as elsewhere, and I hope that things like Google’s Summer of Code programme will provide interesting opportunities to bootstrap things. There was some interest in exploring localization as a first involvement with Mozilla, which could work out nicely: our current Firefox localization was generally rated poorly (too formal or awkward, mainly). We’ll see how that goes.

We’re back in vacation mode today, with a nice late start and a trip to the Ethnographic Museum to see some traditional clothing, structures, implements, and energetic schoolchildren. Off to lunch with a family friend of Vlad’s — I confidently predict meat — and then probably some more museuming. The weather’s a little cooler today, but no less pleasant for it, so we’ll likely do a fair bit of walking around. Given the local diet and air quality (and inexpensive beer), I wouldn’t have expected it, but I feel like I’ve been having a pretty healthy time. Wonder if I’ll keep it up when I get back home… My email backlog is appropriately stunning, so it’ll be a few days next week before I’m back on top of things. Please do bear with me! In the meantime, you might amuse yourselves playing with a new extension that recently appeared on AMO, called “Jajah”. It’s a helper for their interesting twist on VOIP, and though there are still some rough edges I think their approach to integrating with the browser is promising. Inexpensive international calling is top-of-mind for me these last couple of weeks, for perhaps obvious reasons. Leave your comments in the usual AMO place — which we’ll be improving in the next little while, by the by — or send them to me via my gmail: [tags]travel, serbia, mozilla, language[/tags]

now more Pro

My shiny new MacBook Pro has some quirks, that’s for sure. In addition to the odd little whine that MBP owners endure when one of the beefy processors is idle, I have a bum “logic board” (according to a Genius at the Eaton Centre Apple Store) which results in a garbled-video lockup about every third time I unsuspend. If the machine didn’t boot so quickly, that would be a pretty serious suck, but it turns out to be a endurable inconvenience at least for this trip, after which I will send “interociter” to the Mac-vet for a few days to get a transplant.

Also, my “T” key often tries to make a break for it, and has made it as far as the bottom of my laptop bag on one occasion. That’s an easy fix, once I find — or wait for — an Apple service shop with a spare key, but it’s pretty annoying when I’m sitting at whatever angle it is that has me hitting it just right to pop it off. One good way for me to trigger that is “work on aircraft”, whee.

The worst problem, though, has been the heat. Missing a function key press, such as when trying to stab down the sound after clicking a link from IRC, could be actually painful, though I never got any noticeable redness. That problem was resolved, though, by the most recent firmware update, and now I’m a pretty happy camper. Some people will say that it’s turning the fan on more often, and that that should bother me, but I haven’t noticed. And if it’s costing me a percent or two of my CPU power, I’m happy to make the trade. My Firefox builds still have a nice dual-core-plus-fast-memory-and-drive tailwind, and I don’t miss my desktop at all for builds.

Now if I could just trick someone into fixing the build process a bit so that I don’t have to remember to build in browser/app all the time…

[tags]mozilla, mac[/tags]

Intermittence and such

As I mentioned in an earlier post, to which linking from the Blackberry is nigh on impossible, I’m headed to Serbia today with Vlad and Stuart, for a week of trying to not spend all my time working. First, though, I’ll going to dump the random contents of my brain. Viewer discretion is advised.

I’ve got a small number of things I need to wrap up before I really get my odmor on, for some partners and folks like the indefatigable Deb, but I hope to do most of that quickly and then retreat from work for a while. I’ll have email through the global wonders of my Blackberry, and while I’ll probably read or at least subject-scan most of what I get, I will be applying all of my scant willpower to avoiding replying as much as possible. If you’re the sort of person who has my cell number, you can call it if you need to get my attention. I probably don’t love you enough to answer at $4/min, but I’ll take a closer look at my mail when I see the call. (If you’re not the sort of person who knows my cell number, and you need to reach me with some urgency, the Mozilla universe is full of people who can help you.)

Generally, you should go after Chris Beard ( for strategic or partnership issues related to extensions and such, and Mike Morgan ( for operational stuff. (To be clear, you should do this when you would have escalated to me in email; please file bugs and use IRC and mailing lists first as appropriate.). For issues related to MDC, you should contact Deb Richardson (, but really you should always do that anyway; she’s a lot better about that stuff than I am.

On Wednesday, we three are going to be speaking to, or perhaps “at”, a University of Belgrade group of as-yet-unknown composition and size. If they are fortunate, I will not inflict upon them my stumbing, ill-pronounced Serbian. I’ve been trying to learn the language, and though I haven’t been able to spend as much time on it as I would have liked (o, familiar refrain!) , my time-on-task has been pretty productive. For that I credit the book I’m working with — “Teach Yourself Serbian”, CD edition — as well as my experience with Latin and French, and of course Vlad’s patient indulgence of my many mispronounced questions. I’m hoping that I’ll pick it up quickly enough during my week’s stay, but even if I’m still not confident enough to use it outside restaurants before it’s time to leave I hope I’ll continue to work on it. I’ve had a fun time learning it so far, and it’ll let me torture Vlad with the rending and tearing of his native tongue.

Far be it from me to speak for others, but I had a good time at XTech, and I was pretty excited to see the links being made between people in the “core” of our community and others who are working on bits and pieces that will lead to the next microevolution of the web in the next season or two. There was more energy and “practical innovation” on display this year than last, and it was pretty neat to see the technologies and patterns we were previewing in 2005 in pretty-wide use already.

David Humphrey, a Seneca professor who Mozilla sponsored to XTech, was a whirlwind nexus of connections and ideas just by himself, and when combined with the schmoozing powers of myself and Chris Beard to form a social Voltron great things could indeed come of it. I’m really excited about the prospects for working with Seneca’s students and faculty even more: they have a ton of energy and a really excellent focus on practical results, and their increasing work in all manner of open source is going to be fascinating to participate in. If I were going to school to learn how to do software, I’d be at Seneca.

[tags]mozilla, serbia, vacation, xtech[/tags]


I’m in Amsterdam right now, enjoying the techie buzz of XTech and participating in a horizontal study on the relative merits of different jet lag compensation strategies. (I think mconnor is in the placebo group, the poor thing.)

While this is a pretty fun thing, it does mean that I am separated by geography, time zone, and the limits of our global media village from the fastest game on ice. Instead of watching Edmonton maul the unworthy Sharks on a high-definition television, whilst enjoying the dulcet tones of the finest hockey commentary on television, I have been reduced to sitting in my hotel room reloading the play by play and cheering with Jacob on IRC:


(To be fair, which I realize is not really how this sort of thing is usually done, the Sharks have some good talent and have put it together pretty well. Edmonton just wanted it more, or left it all on the ice, or took it one period at a time, or something. Perhaps they followed the sage and nuanced advice of a Boston-area sportscaster, and combined “take an early lead” with “play strong defense”?)

(And furthermore, I probably wouldn’t have been quite as emphatic in my side-picking in this contest, even given my heritage, had I not been subjected to the criminal overuse of the Jaws theme during those replays on FSN.)


This is the farthest I’ve ever been from my mom on Mother’s Day, I think: she in Vancouver, and I in kinda-London (soon to be Amsterdam). I usually don’t dwell on distance, and honestly once we’re no longer in the same house or city my communication frequency degrades as though I were stationed on Titan, but I struck me a bit today.

When I was much younger and shorter, and I believe had not yet developed the annoying habit of interrupting everyone I spoke with, Mom was considering taking a job in France, I think with Alcatel. At the time, I really didn’t know much about anything, but it seemed like a neat idea and only a little scarier than our previous moves, if indeed “scary” is not too strong a word. (I was inured to the traumas of relocation early and often, no doubt in part due to the “gypsy” blood Mom claims to host.) Now, though, I boggle at what an undertaking that would have been for Mom, with two young children, no support system at all in France, a language she didn’t really speak, a new job, visas, being an alien again — I get tired just thinking about it, because I’m a spoiled wimp.

But reflecting on that of course leads me to reflect on all the other miracles that Mom — or “Janice”, as I knew to yell for in stores, not quite realizing that a mother can pick out her child’s voice even when there are thirty other mothers in the area — performed to keep us going and healthy and happy. Performed so well, in fact, that I took it very much for granted growing up. Feed and shepherd two kids, be a consummate software professional (both technically and “socially”), help her quirky and demanding son learn and grow, pitch a mean softball, train a dog, drive stick, be a great and true friend, look out for her kids’ friends too, keep a house, act as the nexus for her family, make a desperately shoestring budget feel comfortable, and make a mean lasagne? Sure, how hard can it be? Mom can do it, and she can’t even beat me at chess any more.

I could relate a thousand anecdotes of her strength, courage, humour, wisdom, kindness, good judgement, selflessness, and other miscellaneous virtue, but after living a lifetime of them they pale when I try to capture them in words. I am who I am today, at least the good parts, because Mom is who she is, and because she never caved in and became someone else, even — especially — when that would have been so much easier. So thanks, Mom. I don’t know what else to say.

[Ed: boy, it sucks when I forget that I need two line breaks to create a new paragraph when I'm posting by mail.]



Writing this as wind through Heathrow’s Terminal 1 in search of a power adapter and maaaaaaaybe some scotch. Vlad and I are flying through to Amsterdam today, to join 30 or so of our closest colleagues and collaborators for a week at XTech. Should be an exciting week, and not having signed up to do a talk this year means I can relax a tiny bit more. This year Mozilla’s conference guests include one of the key players in our emerging and exciting partnership with Seneca College, one of the leading lights from the AJAX toolkit world, the architect of the amazing Seaside and DabbleDB systems, a grad student working on formal aspects of the upcoming ES4/JS2 language, a Venkman hacker, and one of our most prolific and capable technical-QA contributors. Their participation and unique perspectives are icing on the rich and delicious XTech cake, perhaps, but I sure do like me some icing. (I could tell you that I’m not linking to the appropriate pages to identify the aforementioned folk out of respect for their privacy or something, but really it’s because finding those links sucks when I’m working on the Blackberry.)

Vlad didn’t manage to sleep on our red-eye from Toronto (he came to visit for a week or so, taking advantage of the fallout from some truly arcane travel arrangements he made around Christmas), so I’ve tucked him away in the BMI Lounge — excuse me, “bmi diamond club” — to relax and rest.

Of course, once I’d gone into the BMI lounge area, I could only return to the main shopping/eating/speaking-in-adorable-accents area by going through the Flight Connections security line, again, which is not really how I’d like to spend these 20 mins of our layover. Ah well, truly a hard knock life. (I’m completely certain, at this point, that the ban on photography in this area serves no security purpose, but is instead in place to avoid people knowing how grisly it is before they book their flights to connect through LHR.)

After Amsterdam, Vlad and Stuart and I will head to Serbia (Belgrade and Yagodina, if I’m not mistaken) for a week of semi-vacation. I’m really looking forward to it, and have been learning a bit of Serbian in preparation. More about that part later, though, as I’m just about to get to the scanning-my-stuff part of this adventure in queuing.