Saturday, November 28, 2009

From Russia with ow!

So, I had this meeting. The rationale behind it went something like this; Google will soon be releasing certifications and courses related to those certifications to developers. That mean not only 'learn how to administer adwords' but 'learn how to develop with the Maps API' or 'learn how to make a decent App Engine app in Python', that kind of stuff.


I was talking to Shannon, who is a training and documentation manager at Google, about starting up a Swedish Qualified Education Center focusing on hardcore development rather than administrative tasks. She was going to be in Europe in the beginning of November, together with Stephanie, my GTUG boss (and a lot of other people) doing the Google Developer Days in Prague and Moscow. I was going to go to Berlin the very day of the Prague GDD, so my only option was to met her in Moscow.

Now, Moscow isn't really Europe. At all. Whatsoever. Regretting my decision daily, I began the ridiculously Kafkan process of applying for a Visa for Russia. The most poignant memory of that was realizing that they would keep my passport for a whole week (no doubt shipping it by nuclear submarine to Irkutsk to be steamed open and copied to numerous spetsnaz operatives), which had me standing in line to get my passport back in the morning, the very same day I was flying to Berlin!

Also, I was home about 8 hours from before getting in the Taxi again, going to the plane that was taking me to Moscow, seeing my family only briefly.  After arriving to the commandeered cinema where the GDD event took place, I recognize the Hookah lounge from pictures Stephanie has posted on twitter (which was very helpful).

I then try (after doing some panic work for one of my favourite clients, involving a Layar REST endpoint) to talk to Stephanie (pictured with wine above, which I served her and Shannon on a Gitub coaster, courtesy of the github developers I met at jsconf) and Shannon about my training center plans. However, the place is quite noise, and a lot of people come in and ask questions about Google things, mostly directed to me, not even being a Google employee - I'm just the unofficial PR manager :).

After the evening progresses (and I haven't even checked in to my fairly remote hotel yet, schlepping around my computer case), I get invited to a Google post-conference dinner with the speaker and arrangers of the day. It was really cool to meet and shake hands with some of the Wave team, the EMEA Sales manager (hi Timbo!), The PM for the V8 JS Engine (Hi Anders!) and lots of other really cool people.

Here's a pic where the Wave team respond to the "Who wants vodka?" call. And as you can see, the food was epic. Grilled cheeses, soups, sausages, blinies, pancakes, breads, pies and so on. Thank you (again, for the tenth time) so very, very much.

Naturally, there's no real time to talk shop during the dinner, so in the wee hours, Shannon and I agree to meet the next day at the Moscow sales offices instead. Great. No problem. The very nice Russian head of office (whose name I've forgot - sorry) helps me get into a cab on the street, where he negotiates price, direction, duration, associations and who knows what to put the driver in a customer-friendly mood.

However, after 45 minutes we start to veer out into industrial areas, spotty lighting, semi-rural fields and people sitting and drinking on the sidewalk. Here my driver stops and walks out of the car.

It turns out he's asking directions from the drinking people. Good call. Sort of. He gets back in, swerves around and starts backing up for a long, long way, going here and there after that in the adjoining industrial neighborhoods. It's in the middle of the night, the driver doesn't speak English and he don't know the way. Great.

Eventually, to spare you more details, he does manage to find the hotel, and I collapse in the surprisingly roomy 'suite', knowing that I have to get up in six hours to get to the actual meeting back in the city center. Woe to you oh earth and sea, et.c.

Then the taxi I managed to get hold of tries to renegotiate the price when we start driving, which gets me so mad, I scream at the driver to stop immediately and open my door without thinking of the consequences. We'travelling quite slowly, and the driver gets kind of upset - but so am I. After some intense broken English negotiations, I get the original price and our drive continue in a communal, surly silence.

When I arrive at the sales office, two things are apparent; 1) There's no Shannon working there (I know, she's from the MTV office) and there's no meeting scheduled (since it was agreed upon in the middle of the night), which makes the security-minded secretary less than open towards my feeble efforts in trying to stay in the office. Just when I really have to leave, before the situation becomes unbearable, Shannon calls the office. That first picture with me in front of the Google logo is taken in the sales office, which happened to be the wrong office. Time for another quick taxi across town..

It turns out that a quick dash across town takes almost an hour, at which time Shannon is 15 minutes away to take her own cab back to the airport. I do find time to get my picture taken in front of the other office's logo and steal up on some iced tea (thanks!).

In the end, we conduct a very interesting meeting in the very cab back to the airport, even if it finds me twiddling my thumbs for a number of hours, waiting for my own flight to come up.

It was a roller-coaster adventure, buffeted only by the kindness of Google employees along the way. I would have had a much rougher visit ion Moscow without access to the right people (including my own connections who picked me up at the airport; Hi Alexander!), but then again, without those very people it would never had crossed my mind to visit.


November GTUG Stockholm Meeting

My apologies for not having time to blog about this sooner (Hi Steph! :) but there you go. The 5/11

meeting was a bit shorter on attendance than what we were used to. It turned out quite that at the very same day, we had attendual interference from the week-long Öredev developer event, a local Java users group meeting and an open house day at The Royal Technical Highschool (IIRC), so we got somewhere between 40 and 50 people (of which only 30 or so registered - due to some people showing up a bit late, things happens).

The order of the day was yet another Wave demo with some focus on how a Wave bot works (I used the Wolfram Alpha source code), and a thorough 2-part talk by Jonas Burell on his upcoming open-source collaborative music-making Android application called Cntrllr.

Since I had two different speakers defaulted on their presentations for this meeting, I threw in a beta of my upcoming talk on dojox.gfx cross.browser 2D graphics.

As always there was a lot of great discussions over a broad range of subjects of beers and sandwiches in the pauses in between talks, and as always great and passionate people attending. Did I mention I like arranging these things? :)


Tuesday, November 24, 2009

The German Connection

Hoo boy, I'm still tired from Berlin :) Or maybe it's the accumulated trips that have caught up with me. Either way it has taken me some time to get around to unload the camera and sleep and work and.. oh wait, I just realized I had planned to post about the latest GTUG Stockholm meeting. Oh well, next up I guess.

I missed the original and first JSConf in Washington, since I had a client default on me at around that time. No nice experience, double so because of missed attendance.

I was dead set at not missing the European at any price, and was more than happy when I was admitted as a speaker with my dojox.gfx talk. I had never been to Berlin before and to Germany only once, twenty years ago (yes I am that old!), so I had no idea what to expect, really.

Well, two things stuck me at once: 1) Berlin is *huge*, 2) It's also beautiful. Due to the first fact, you have to take Taxi everywhere (which generally a) lack onboard GPS and Maps R2D2, b) lack any card readers, forcing you to luggage around lots of Euros).

Oh, the conference? The conference was a huge success, but more than that it was immensely enjoyable. Day one had a great opening by Dion Almaer (now, as we all know, of Palm).

What I took away from most of the speeches is that I probably need to brush up on the noble art of making slides. Dion's presentation was fun, tons of fun, and also very nice to look at. What do I have? Slapped together pictures and pages of code. Not much fun that :) Actually, that was also a theme underlying much of Dion's speech,something I know but don't react enough on - sex sells, people want to have fun, et.c.

Some other notable talks was Remy's HTML5 presentation (mot least because it contained Sharks with lasers!), The cappuccino presentation by Francisco Tomalsky was also really good, but after a lot of head-wrangling I feel that I somehow still want to code my clients and that the WYSIWYG will only get in the way. Well, right, they had stellar support for hand-coding as well. OK, OK, I admit it, I'm just jealous. There, I said it, can we move on?

The CommonJS and Server-Side JavaScript in general lay as a barely audible hum throughout the two days of presentations. A comment from Malte on how he had used Joose on the server-side, the OpenAjax guys (Hi Lieke, Mike and everyone else from Javeline), naturally who made their very own SSJS VM, and lots of other comments in and around the talks made SSJS feel very present.

The natural focus of Server-Side would of course had been Kris Kowal's CommonJS talk, which was very good in itself, but what really dropped a bomb was @ryah's node.js unveiling. Naturally, as everybody (now) knows, node.js has been going on for over half a year, but it hasn't had lots of attention. Until now. What got our attention was the off-beat assertion by Ryan

that using thread-based logic was doing everything wrong.

He talked about how he had done quite a lot of advanced magic (with threads, inside node.js) to be able to expose system events, pipes, sockets and services to be handled by JavaScript callbacks- that is node.js.

By implementing non-blocking I/O and using event handlers instead of threads, the logic for common servers and services could be made much simpler.

He had a simple IRC server going, which was implemented in its entirety in JavaScript. I have done some of that before, having fiddled with 10gen's application server, but instead of living inside Rhino, node.js includes the Google V8 JavaScript VM, and exposes system services, such as streaming file operations and DNS lookup (non-blocking you see :).

I could go on, and probably will, but for the record, node.js was the mount everest peak ascent, or maybe Roswell crash of JSConf. Nothing will be the same ever again. But in a good way.

And the partying was excellent. I finally got to met the Uxebu Dojo folks, including Nikolai Onken (@nonken), PHP, github and jQuery people, including @paulca and @furf (who just had reinvented deferred's (something I've never done)) and lots and lots of other people, champion drinkers one and all.

Almost noone managed to get hit by quick bicycle ladies in the early morning, and most of us got some sleep between the two conference days, but it was a total blast. I had also a small request from @frebro who has designed my business cards - could I possibly take a photo of them in a cool setting? Not to let him down I shot them together with both Remy Sharp and

Douglas Crockford, who were nice enough to lend their star quality to my nefarious purposes.

The day I was travelling home, on Monday, I had planned to do some general shopping four hours before the plane should lift, and then take a quick taxi to the airport some two hour later.  Little did I know that this specific Monday was the 20 year celebration of the fall of the Berlin wall, unification and so on. The traffic stood practically still. it took me nearly all of the time I had to get to the airport in time.

I arrived home late in the evening, fully aware that I was leaving for Moscow 10.20 the day after. but more of that in another blog post.

And that's me in the middle. The long-haired, thin guy without a beard.


Sunday, November 8, 2009

My JSConf presentation

So, still a bit tired from yesterdays awesome Nokia-sponsored party at Homebase in Berlin, I managed to survive my presentation on dojox.gfx, cross-browsed native 2D graphics. I got a lot of comments from people afterwards that they had no idea that this existed, which made me even happier for my subject choice.

And without further ado, here's the slides: