Hello Hamburg?

I arrived in Hamburg today for the CDF F2F, and walked around town a bit.  A nice sunny day, and nowhere near as stiflingly hot as Japan.  I’d asked the advice of the hotel clerk on where to eat, and she directed me to the non-tourist section of town nearby.  As I looked for a veggie-friendly restaurant, I took in the local color… kebab restaurant, fruit stand, sex shop, muslim garment shop, pastry shop, gay bookstore, peepshow kino, church, sex shop, grocery, couple of prostitutes, bar, poster advertising an “orgie”… wait, what the f… er, heck is going here?  This is just a normal section of town, but it’s awash with sex… turns out, a little googling later, that Hamburg is like the Las Vegas or Amsterdam of Germany.  And I wasn’t even in the red light district of St. Pauli and the Reeperbahn!

On the way back to my hotel, a strange game caught my eye from the window of a cafe.  Four guys with racks of chips like little playing cards were turning and tossing and clicking them.  I stopped by to look and they motioned me to sit in the wide windowsill of the Turkish tea room, and half explained the game as they played, buying me a cup of tea.  When I tried to reciprocate, the barista wouldn’t let me, waving me off with a smile.  Friendly folks.

Goodbye Tokyo

Dateline Tokyo.  After about a month, I’m packing up to leave Japan.  It’s been a good trip, but busy… I’ve kept notes and taken pictures, and I’ll be posting a short post-mortem travelogue when I get back to the States.

Happy Hunting Ground

Well, M and I are kinda sad about our cats, PrettyBoy and Floyd. No, despite the title of this entry, they didn’t die… but we had to return them to their previous foster home. We really loved the furry beasts, and they were fun to have around. But they were clearly not happy about not being able to go outside to hunt; they are big cats with a strong hunting instinct, who clearly disdained proxy toys. They did do some indoor hunting… we quickly “trained” them (or vice versa) to exchange palmetto bugs (read: fancy name for giant cockroaches, a problem when your house is surrounded by woods) for kitty treats (though PrettyBoy objected strongly if I took away the prey too quickly). We tried to let them get a taste for the outside by putting in a cat door to our screened-in porch, but they tore through the screen to get out onto the back deck. The deck is high off the ground, and they seemed to be looking longingly over the edge… we were afraid they might try to jump off, especially in pursuit of a bird or squirrel. We had to stop putting birdseed in the feeder, which was a shame since I liked watching the variety of birds that fluttered around our deck. Despite occasional frustrations (some scratched-up furniture, a prodigious amount of waste product that seemed to exceed the amount of food we gave them, tearing up all our screens trying to get to bugs), the cats had really grown on us, so we were reluctant to give them up… but our upcoming trip to Japan sealed the deal. We knew they wanted to live somewhere they could roam outside, and it just didn’t make sense for us to keep them anymore. So we drove an hour to the home of their previous owner, who gladly took them back (the conflicting cat has since passed away), and offered us visitation rights. His reassurances made us feel much better, knowing that they were going to a place they knew and liked, and where they could hunt bigger game than bugs. We’ll miss them, but maybe we’ll get another cat that doesn’t mind staying inside. On a strange afternote, we stopped for drinks at a convenience store on the way back (near his house), and overheard a guy there who said that the name of the puppy in his arms was Prettyboy Floyd… what an odd coincidence!

Island Hopping in a Car

The last few weekends, M and I went on roadtrips to see friends and family.

First, on July 20, we drove down to Amelia Island in northern Florida to attend the wedding of our good friends Bob and Darci, both sociologists who recently got PhDs from UNC. It was a very nice event… Friday night, there was a dance and mixer in a clubhouse on the marshes, where we saw lots of old friends who’ve since scattered around the country, and met Bob and Darci’s family. The next day we lounged around the beach with friends until the evening ceremony, which was held on yet another island, Fort George Island, linked by bridges (I think there were 2 smaller islands between). It was my kind of ceremony –short and focused on the couple. The reception afterward had delicious food (even if I couldn’t eat most of it), and we had a lot of fun dancing. We also met Bob’s famous movie-star sister Anna. Sunday morning, we went to a bustling brunch, and talked more with Bob’s family and their friends… Bob comes from a line of prominent sociologists, going back 3 generations, and there was interesting conversation. We drove home in record time (unlike our drive down, where we missed our exit and ended up driving in a huge circle around Raleigh… which turned out well, since we discovered we forgot our dress clothes in the hustle, and had to go back for them).

The next weekend, we drove down to the Isle of Palms, near Charleston, South Carolina, to see M’s great-uncle and his sons. They were visiting from Spain, where her grandfather’s brother had emigrated in the 40s. He spoke glowingly about Franco (a first for me) and socialism in general, and held forth on many topics… a fascinating guy. We took midnight walks on the beach with his sons and one’s girlfriend, and by day toured Charleston, where M’s family was once quite prominent, being some of the first Huguenots to settle there.

This past weekend, we saw them again, not on an island but down in the country where M’s family is clustered on their farm spread… her grandparents, her mom, and her aunt each have a house there. We all got together for M’s young cousin’s birthday, and her colorful family was amusing as ever. They are politically Southern, which in this case is a odd mix of individualist independence and progressiveness, and they have surprisingly nuanced views on Federalism and the “War of Northern Aggression”… “The Civil War,” claims her grandfather (or was it his brother?), “was when the American citizens of Britain waged war against England. The War of Northern Aggression was declared and waged between two different countries.” But of course, being rational, they all despise George W. Bush. They’re okay in my book. They also told me ghost stories about their houses that they firmly believe. An odd bunch. Maybe it was an island after all.

Idiri Firefox Extension

Firefox is my browser of choice. I really like Opera, and it has excellent SVG support, but I’m a creature of habit, and I can’t shake using Firefox. One of my favorite things about it is that you can trick it out to fit how you use it. I’ve installed quite a few Extensions (community-made bits of browser functionality) that I use all the time. They have become such a part of my browsing experience that I have even forgotten they aren’t standard, and when I had a hard-drive crash and had to reinstall, I was a bit at a loss why FF didn’t have some of the core functionality I’d come to rely on… until I reinstalled the extensions. I’ve even made one for my last employer, and in my spare time, I’ve been working on an image- and SVG-specific extension for Firefox, which I’ll be releasing shortly.

One of the other things I love about FF is the context-menu option for “View Selection Source”. I use it to figure out how certain bits of a document are marked up (though I also use Firebug for that). In my standards work, I also find myself needing to cite particular sections of large documents, such as technical specifications or documentation. I cite them to point out errors, to show where a bit of functionality is specified, to help out people with questions by pointing them to a reference, to defend my interpretation of a technical issue, and all sorts of other geekademic occasions. Since these documents are usually quite long, it’s necessary to get as close as possible to the relevant section when supplying a link, and fortunately, specifications tend to be very well marked-up, with logical document structure and plenty of ID attributes for ease of linking. View Selection Source is really great for that, because I can select a section header, open up the partial source in a new window, find the id, select it, append it to the original URL preceded by an octothorpe (“#”), and use that as a reference link; of course, sometimes the id isn’t where you expected it to be, and you need to look around for it a bit…

Okay, you see my problem. As relatively easy as View Selection Source makes the task, it’s still a bit… shall we say, labor-intensive. To be honest, it’s not quite as cumbersome as it sounds, and I’m so used to having to kluge around like that when programming that it somehow never occurred to me that it could be easier.

It just got easier. I spent a few hours putting together a Firefox Extension that automates this process. You just right-click on the section you want to link to, and select “Copy section link”. Idiri, my extension, automagically finds the nearest preceding link to where you’ve clicked, and copies it to your clipboard. It also highlights the element that it found an id on, as a visual indicator that it’s done its job and to let you know where you’ll be linking to. Simple.

You can download Idiri (from “id” for identifier, and “iri” for “internationalized resource identifier”, a fancy way to say URL or Web address), and let me know what you think. More details below…

Continue reading “Idiri Firefox Extension”

Job@W3C.org

I just signed the contract! I’m now officially part of the W3C Team, in the role of staff contact for the SVG, CDF, and WebAPI Working Groups. Basically, I’ll be writing and editing technical specs (and tests and tutorials and sundry other periphiana), promoting the implementation and use of open standards, doing grunt work for group members, aiding in liaisons between groups and organizations, organizing international meetings, and getting people to play nice together. And coding… I think it’s important to eat my own cooking (not literally, though… I’m not much of a cook).

The contract is actually retroactive to June 1st, since I unofficially started on the job while waiting for the paperwork to go through (though I’ve been keeping it relatively quiet, in case things went pear-shaped; I have to thank Chris Lilley for his heroic efforts in making it all work out). The position is funded through the Keio University W3C host office in Japan, and I’m excited about visiting there (and hopefully staying there for a time). For now, I’m working from home or on the road.

I wasn’t really a great fit at 6th Sense (my last job), though I think they’re all good folks, and I wish them well with what is truly an innovative service. Frankly, though, I was more passionately involved in my Standards work, and I don’t think that a start-up like that really has a strong need for a pet standards geek (they’re using standards, but not implementing them). Obviously, sometimes you have to sacrifice some of your passion for quotidian practicalities (I have a mortgage after all), but in this case, I was lucky enough to have a safety net: an open position at W3C, with a job description practically tailored to me. I’ve been actively involved with SVG for years, and as part of the WG for a year and a half; I’ve been in on WebAPI since it’s inception, and even presented at the Compound Documents Workshop where the idea was conceived. The pay is not nearly as good as I was getting before, but I think I will find it more fulfulling. Open standards gives me hope for the future.

But I’m not a believer in open standards because I’m an employee of W3C; I’m an employee of W3C because I’m a believer in open standards. I feel strongly that they are the only thing that allows the Web to flourish, and I have grave misgivings about proprietary formats (like Flash and Silverlight). This is an opportunity for me to devote myself to keeping the Web open and to move it forward. The W3C has had a bit of a rough couple of years, PR-wise, with criticism of its methodology, but I think that it is the best hope we have for a free Web. I’m honored to be a part of it.

Trapped in Tuscany

Okay, Okay, normally I wouldn’t complain about having to spend another day in Tuscany… but I have other plans.   Yesterday I missed my flight, and it had a domino affect that resulted in the worst tangle of travel complications I’ve ever had.  I’ve missed flights before –sometimes my own fault, sometime through circumstances beyond my control (this time it was a combination… the taxi took a long time to get to my hotel, and got trapped behind a slow-moving truck on the way in, but I should have budgeted more time in the morning)– but normally I hop on the next flight and it works out, usually with no fee.

This time was different.

For fare reasons, I had a fairly complicated flight plan, involving a round-trip from RDU to Zurich, and a second round-trip from Zurich to Pisa.  Though they are actually fairly close geographically, there are limited flights out of Pisa, all involving a layover (sometime 12 hours!), and when I missed my flight out of Pisa, there was simply no way of connecting through in time to catch my flight out of Zurich (and there’s only one of those to the States per day).  So half a day later of figuring out how to get in touch with the 4 airlines involved by payphone and Internet, and several outlandish rebooking fees later, I ended up with tickets the next day… for most of my trip.  I now get home 2 hours and an additional layover later on an already tight schedule to go on my vacation back to Missouri for my 20th high school reunion.  After flying for 18 hours, I’m not looking forward to a 15-hour drive nearly as much…

On the lighter side, a colleague drove me in his luxury sports car to Lucca, a nice little medieval city 25 kilometers away.  We strolled around all evening, talked technology and neurology and such, had a nice dinner and a gelato, and snapped pictures of the town.

This morning I snapped awake at 5:30, long before my wake-up call.  You’d better believe I’m making this flight… which is now boarding…. Ciao, y’all.

Transit Glorious Sunday

What a day! After a delicious breakfast on the patio with Andreas and J., I rushed off to the airport to travel to Pisa via Munich. Flying over the Alps was astounding. While I was waiting for my bus at the Pisa airport, I noticed a purse that had been left behind on a bench, with noone around. I reckoned it belonged to the Scottish family that had just walked away, so I grabbed it and ran after them… but no. So I took it inside to turn it over to lost and found; I was a little concerned about that, wondering if it would ever turn up in the right hands intact, so I took a shufti inside to see if I could find any contact info in case I could dial directly; nothing obvious, so I went to the police substation. One of them spoke English, but he was busy, so the other one took the bag and signaled me to follow… over to the bag scanner, where they checked it for (presumably) explosives, and where I got a quick lecture on how I shouldn’t have touched the bag. Sad sad. But then it was back to the police office to wait while he shuffled around for the proper form. Then in walked an older couple, and I recognized her from her photo. “Did you lose your purse? Is this it?” I asked… and she burst into tears of relief for a couple of minutes while her husband thanked me and shook my hand. She recovered and hugged me. “It’s our first day of vacation!” She reached into her bag, “Let me give you something!” When I refused, she said she’d give something to a children’s charity, which seems reasonable. The cop asked her to check the bag for anything missing (with an apologetic look to me that I waved away)… she’d had her camera, maybe 100 euros, an address book… all stuff I’d hate to lose myself. They thanked me again, as did the cop, and I felt pretty good… not because I felt I’d done anything exceptional, but because the little bit I’d done clearly meant a lot to her.

But all this was putting me at risk of missing my bus, so I rushed out across the parking lot, just to see my bus pulling away. I ran after it, and luckily it had to make a u-turn. I waved it down and was relieved to see the driver pull over 100 meters down the road. Once I’d thanked him and caught my breath, I showed him the address of my hotel, and he seemed to nod… I wasn’t dead certain he’d signal me, so I later asked the girl sitting front of me if she knew the stop I needed, but she didn’t speak English either. After around 20 minutes, he stopped, opened the door, and waved me out… it was in the middle of nowhere, between towns, but I stepped out. The doors closed, and the girl looked pretty skeptical, but I shrugged and smiled as the bus pulled away, then turned and took stock. A barren dirt road led off the main road, and a couple of old houses stood nearby, but that was pretty much it. I thought I would have to walk into town. But I ambled down the dirt road just to make sure, and saw a “hotel” sign off in the middle of a field in the distance. And sure enough, there was the Airone Pisa Park Hotel! I’d booked it online at the lead of Chris Lilley, who flew ahead, and I was amused and surprised to find it out in the country. It’s secluded and sprawling, with a nice landscape and casual feel.
I checked in and went round to see if Chris was up for dinner (I think I woke him from a nap), and while I waited for him, I wished I’d bought my swim trunks, since the pool was right outside my door… but the last people lounging there were just leaving, so I slipped on my most bathing-suit-like boxers and dived in. I’m not that good a swimmer, so I’m a little self conscious normally, but swimming by myself, and in this setting, was great. I usually just float around, but I actually swam a few of laps, and dived in several times. Then it was out of the pool and into a quick shower (the shower had one of those wall-o-nozzles thingies, which was novel), and a bit of a read on my stoop until Chris showed up.

The buses aren’t frequent on Sunday, so the manager lent us some bikes. It was great fun biking the few kilometers into Pisa to find a restaurant. We went by the Leaning Tower of Pisa (how could I not?!) and Chris indulged me by taking a series of shctick snaps of me pushing, leaning on, and propping up the tower (again, how could I not?). We had dinner at a little trattoria, then a gelato, and headed back in the dark (luckily one bike had a red light on the back). I called M. on the house VOIP phone in the lobby (I wish she were here), and just got back in from a midnight swim to cool down.

Tomorrow it’s back to work, but it’s been a great weekend!

Climbing the Alps

I’ve spent the last week here in Zurich, Switzerland, for an SVG F2F. I’m staying with Andreas Neumann (GIS PhD student, SVG pioneer, and organizer of the SVG Open conference series) and his wife J. (also a cartographer); they’ve been gracious hosts to Erik Dahlstrom and me, providing room and board in their spacious and elegant apartment nestled in a small village outside of Zurich. The weather has been nice, and several times we dined out on their patio, including Friday night when they had the whole Working Group over for dinner. The view is of the Alps is lovely, though Andreas says it’s even better when the sky is clear… they can see higher peaks further away. Yesterday, the four of us took a gloriously scenic train ride down to Lucano, on the shores of Lake Lugano in the Italian part of Switzerland. We hiked up a small mountain and had lunch at a restaurant at the peak. It was somewhat cloudy and rained a bit while we were eating (good timing), but the view was still lovely, and we all had a good time.

Speaking of climbing the Alps, the SVG F2F was a lot like that. We have all been channeling the bulk of our energies for the last several weeks (and to a lesser extent, months) toward preparing for the SVG Tiny 1.2 Test Fest. It’s been like climbing a mountain, with long tedious preparation before the event, culminating in a burst of exertion. Concentrating on the testing, we didn’t have the opportunity to cover as wide a variety of issues as we have in past F2Fs, though we did spend Friday afternoon discussing administrivia, some unresolved issues with the microDOM, and the other specs we’re working on, including Print and Filters.

Read on past the fold if you care for a little more detail about the technical stuff…
Continue reading “Climbing the Alps”