Friday, October 21, 2011

Earthquake

Ignoring briefly the fact that I'm way overdue for a news update, we just had an earthquake. The epicenter was at Berkeley and it measured 4.2. It wasn't very strong in Santa Clara but I could definitely feel it. Apparently there was one earlier today too. Hopefully it's not a precursor to a massive one!

Thursday, October 06, 2011

Noogler

Well, the post most of you have probably been waiting for - I'm and now an official Noogler.

The last few days have been filled with orientation programs to introduce me and the rest of the new recruits to Google. Disclaimer - Google, like most large companies, are fairly secretive, and privacy is very important - I'm talking lose your job important. So I'm going to be vague on a lot of things because I'd rather err on the side of caution.

There were quite a lot of Nooglers starting with me and most of them are foreigners. I've met people from India, China, Japan, Argentina, the Netherlands, Russia, Poland, Bulgaria, Romania, France, Switzerland, Jordan, Iceland, Sweden, Canada and the USA. I'm sure there are other countries I can't remember right now. It's a fascinating mix of accents and back stories. It's also great because there are a lot of people who are in a similar position to me and have to go through a lot of the same things I need to do - find a place to live, get a social security number, get a car and driver's license, etc.

On day one I drove in. After a long day (got there about 7:30, left about 7:30) I drove home in the dark and in the rain. This is very stressful as I'm on the "wrong" side of the road, not sure where I'm going, and I can't see the road markings. I'd missed my turnoff when a fire truck comes up behind me with its alarm going off. I'm freaking out in the car - not sure what to do. So I'm slowing down, half expecting the fire truck to go around me. The fire truck guy is hooting, waiting for me to pull over, which I do eventually. Because of that debacle I missed the next turn-off and had to make a detour before getting home. Praise Sheba for GPS! I think there are still finger marks indented on the steering wheel I was gripping it so tightly!

Today is the end of day three and I'm getting a feel for the layout of the Google campus. It's really big - I think there are close to 40 Google buildings here. I can also see why Nooglers put on weight when they get here - there is food everywhere and it's really good. They do assist Googlers to eat healthy by indicating what the healthy options are, but the unhealthy options are still there, and they're so tempting!

I've also met my team and have an idea of what I'll be working on. I can't really give specifics - both because at this point I don't know enough to really understand it, and because it's internals that I can't talk about, but I can say I'm on the ads team working on infrastructury stuff. I think it'll be an interesting project and a good one to start with.

For those of you who haven't got the details yet - I also have an American cell phone number - +1 650 861 2847. I'm on a plan at the moment that gives me unlimited international SMSes and calls to international land lines, so if you're not usually available to chat on Skype, but want to catch up, give me a land line where I can call you.

Bella Vista

On Sunday I checked into my temporary accommodation in Bella Vista apartments. The apartment is decent, nice finishes and spacious for a single person. The place is fairly kitted out - high speed internet, cable TV, fridge, washing machine, dryer, dishwasher, large stove... pretty much all the modcons you'd want.

I almost had an awkward moment. I checked in a lot earlier than they usually have people check in. I had cleared this with the rental agency but they hadn't passed on the information to the maintenance guy. So I arrive directly from Cowper Inn before having taken a shower thinking it'll be much nicer to do this in my own apartment, with my stuff unpacked, and so on.

So I'm butt naked preparing for the shower when I hear my front door being unlocked, and a voice asks "Is anyone home?" So I tell the guy, "Yes, and I'm not wearing anything right now... give me a couple of minutes and I'll come out to you." Pretty funny - I think the maintenance guy felt a bit awkward. On the plus side he fixed the broken light bulbs that I had emailed the rental agency about 20 minutes earlier.

I went for a food shop that afternoon and purchased over $200 worth of groceries. I though food here was supposed to be cheap! Granted, I went to Safeway, which I later learned was one of the more expensive stores, but still! And apparently at CostCo, the cheap alternative, you can only buy in bulk. We're talking about a gallon of milk, a gallon of hand soap. It also didn't help that although the kitchen had the basics in terms of utensils - pots, pans, cutlery - there was nothing as far as food was concerned. I had to get everything - right down to salt and pepper.

$200 worth of groceries - less than you'd think.
From Bella Vista

The apartment complex is quite nice - it has a couple of gyms, a couple of pools, a business office (fax, scanner, etc), and lots of security. There is a creek across the road where one can go walking or cycling. Not a terrible place to stay. It was also nice to end of the week with some home made spag-bol. Simple, uncomplicated cooking, that I'd started missing with all the eating out (shame, life can be so hard).

Palo Alto

Downtown Palo Alto is, quite simply, awesome. It's the first place I've been to here where my initial reaction was "Yes! I want to be here."

I stayed at a place called Cowper Inn. It's about two blocks away from downtown Palo Alto. It may be the quintessential California smug B&B, and I love it. It's an old house, build in the late 1800s, and it has loads of character. Old wooden floors, weird interesting books, very trendy in that old-fashioned way.

It's nestled in Palo Alto's leafy suburbs. It's probably the university influence, but Palo Alto just feels like it has more class and character than the other cities in the area. There is certainly more culture. Walking down University Street you'll pass Indian, Thai, Chinese, American, French, Italian and other restaurants. Gourmet yoghurt is popular, frozen and regular.

On Friday I took a drive with Eloise around Menlo Park, Palo Alto, Los Altos and Mountain View to get a feel of the different city downtown areas. Palo Alto is the nicest, but the others aren't bad. Mountain View actually has a decent downtown area and they're busy improving it, so it's certainly an option for a permanent place to stay - it's also a lot cheaper than Palo Alto.

On Saturday I hung out with Ted Bigham, an old FireID colleague and the only person I know in the bay area. He works for EA and a colleague of his was hosting a BBQ and college football get-together. It was a pretty fun afternoon, although I don't think a bunch of software engineers with little to no interest in sports are the best group for a football party. Ted's wife is South African and she had some good tips on how to find South African versions of common products. She also tipped me off to a lady in the bay area who bakes rusks, so I can continue to feed another of my indulgences.

Friday, September 30, 2011

Mountain View

I'm still having trouble shaking the jet lag. The cold hasn't helped as I've been going to bed ridiculously early, then I wake up in the wee hours of the morning. It's a vicious cycle.

Anyway... two nights in Mountain View have come and gone. The Ramada (the place I'm staying), is, well, it's not great. Nothing wrong with it - big room, complimentary breakfast (if you like sugar), but it doesn't inspire at all. Next to a freeway, no character, nothing interesting within walking distance. I'm looking forward to my last two holiday nights at Cowper Inn in Palo Alto. It looked interesting, and is within walking distance of downtown Palo Alto, which I'm hoping will have a Stellenbosch feel to it.

I was a real muppet when I picked up the rental car yesterday morning. The guy at the counter pushed this extra insurance on me. His English was bad, and I got confused as to whether I needed the insurance or not, and somehow managed to fall for it. Anyway, even before I had reached the vehicle I wasn't feeling happy about the situation. I actually started walking back to the counter but turned around, thinking I'd at least check if I would be reimbursed for it. So I drove through to Mountain View (30 minutes) tried to check in (I was there way too early) and checked up on the insurance thing. By this point I'd definitely decided I didn't need it, and upon discovering I wouldn't be reimbursed I decided to cancel the insurance. Except it turns out you can do it over the phone (or via their online chat help), and you can't do it at the local mountain view branch (which I drove to), I had to go back to the airport, have the contract voided, and have a new one drew up. This cost me an extra hour on the road, and almost made me late in meeting Eloise, the lady who helps with settling in.

By that point I was super tired so I drove out to shoreline park (on the shoreline side of the Google campus) which was pretty close and I was sure would have something to eat. Nice enough looking park boasting a golf course (and hence very artificial looking). I stopped at the boating cafe and had a nice vegetarian lasagne. I also discovered Minute Maid lemonade which I am becoming fond of (or ODing on - we shall see). Very pleasant. Also very hot. It was one of those days where you could feel the sun burning the second you stepped out of the shade.

There were these little birds at the boat cafe that obviously eat scraps and leftovers from the tables. They were quite aggressive and it became quite a task to constantly shoo them away. By the time I was done eating there must've been about 10 of the little guys.

Thursday morning I went for breakfast at the Ramada. A grand affair (sic). They actually have a decent spread, but it was all so unhealthy. I had two little boxes of cereal (fruit loops - woot) and a make-it-yourself waffle. Yep, you make your own waffle. There is a machine the dispenses waffle mix which you pour into a waffle iron. Weird. By that point I could feel I was going to be buzzing so I healthed things up with some fruit.

As I'm still not 100% over the cold thing I didn't want to do too much, so I took a drive towards the mountains. After winding my way up this little mountain road I came to what they call open space preserves (we'd call them nature reserves). You can get a bit of a view over Silicone Valley from up there, and it was nice seeing what the native vegetation looked like. I also loved how the signs inform you you're in natural mountain lion territory, and if you see one you should make yourself as big as possible and loud as possible to scare them away. If they attack - fight back!

All that nature makes a man hungry, and I finally caved to something really close to full on American style junk food. Clarke's - which has apparently won best burger in Mountain View 6 times. Well, it's ok. You get standard processed white buns, and the patty didn't taste like much. I no food snob, but best burger? Where are the interesting choices for toppings, real taste in the patties (herbs anyone?). My goal posts have definitely shifted with regards to food, even for burgers. I'd like to see home baked bread rolls, don't be afraid of texture and flavour, patties containing onions, herbs, spices, real beef. If you're going to add sauce don't be afraid to make some sauce with real natural ingredients. Damn, going to have to find me a decent burger joint... and I haven't even tried the pizza yet!
Mountain View
I also got an american sim for my cell phone. Number is 650 861 2847. That was fun too - I started at Verizon, but their network is only CDMA, then I went to AT&T but apparently there are problems with the Nexus One and 3G, so I ended up at T-Mobile where I got unlimited talk, text, and data for $70. Sure it's a fair amount of money - but show me anywhere in SA where you get unlimited all those things, or anything similar at even remotely close to the price.

I have received information regarding the first week at Google and I finally know where to go on day one. As expected the first week looks like a lot of training. I'm really looking forward to getting started.

There's a nice bike route from where I'll be staying to the office and looks like a great choice once I'm settled and have my bikes.

Right, after having been up for 3 (4?) hours, I'm going to walk up to the place that apparently has the best breakfast in Mountain View. One thing I've found really weird since arriving is in some ways I'm eating very little. The past few days I've only had two meals a day. It'll be good to get into a rhythm again. I'm missing that, and my granola and joghurt. It also feels like all I'm doing is eating - at least that's all I seem to have to talk about in these blog posts.

Wednesday, September 28, 2011

Alcatraz... Almost

I'm a little jet-lagged and woke up at 4am. I felt pretty good though - any sleep after a long flight always feels amazing. Unfortunately I had picked up a bit of a cold and my throat was hurting.

I searched on Yelp for a good breakfast spot and ended up walking to the Little Griddle. Decent breakfast - eggs, toast, hash browns, and apple smoked bacon.

The plan for the day was to visit Alcatraz, but it turns out it's a really popular attraction and you need to book in advance to go. The next opportunity would be the next day in the afternoon, and by that time I'd already be on my way down to Mountain View. Bummer. As a consolation I took a ferry to Tiburon, which claimed fine dining and shopping. Turns out it feels like a retirement town. Sure, lunch was good (and expensive), and I had a nice beer, but on the whole the place was pretty dull. On the return trip we went past Angel Island which would've been a better option. It's a small island which is a State Park. You can walk or bike around it, or even take a Segway tour.

By the time I got back to shore I was feeling pretty tired so I went back to the hotel and straight into bed. I slept through supper and woke up at 1am. Now the trick is to get in a few more hours of sleep and try waking up at a reasonable hour. Hopefully this cold thing will also be better by then. Today I pick up the rental car and go down to Mountain View. I'm also meeting Eloise, who is my orientation contact, and she'll let me know what to do for all the official type things like getting a social security number.

Some pics from the Tiburon trip.

Tuesday, September 27, 2011

San Francisco Arrival

Having had a good night's rest I'm now feeling much more human.

The flight into SFO started feeling long when there were about 5 hours to go. The flight was fine, but it just drags on forever. I sat next to a retired couple from a town called Clearwater Lake, which is a couple of hours north of San Francisco - sounds like a nice place.

Passage through customs and immigration was completely painless. Either I have a "not guilty" face, or I'm just lucky, but I'm yet to have any problems with airport security. On the BART into the city I chatted with an Aussie lady who is into a round-the-world ticket trip. Turns out they're not that expensive and I think it'll be a great way to spend a year. Her highlights included Indonesia, and apparently China is very difficult to do by yourself as no-one speaks any English, even at the airport.

I've checked into The Mosser for the two nights in SF. Cute hotel, pretty standard and nicely situated. Last night after getting cleaned up (nothing makes you feel human again like a shower, brushing your teeth, and a quick rest) I took a stroll through some of the city. I had a quick bite to eat at Bangkok BBQ and Noodle Bar. The cashew chicken was delicious. I then walked towards the Pacific hoping to catch a glimpse of the ocean. There ended up being too many hills in the way - SF is really hilly! The neighbourhoods are very pretty and all sport the distinctive North American style of wood facades and bay windows. While I'm ultimately not a city guy I could see myself living in some of the areas I walked through.

On the way back I stumbled across a cathedral (I forget the name). Very impressive stained glass windows. It's funny walking around SF compared to a European city. Much like in SA the history here just doesn't go that far back - usually not more than a couple of hundred years. So even the impressive "old" buildings aren't really that old. It does make me wonder though if modern society spends enough effort creating buildings and spaces that will still be appealing, and standing, in 500 hundred years. On exiting the cathedral the masonic chapter is on your left. I tried to snap a photo - I think it'll appeal to Murray's conspiracy tendencies.

I got to bed just after 8 completely exhausted. I bought some chips and an apple on the way to the hotel, and can barely remember finishing them off before passing out.

Unfortunately I woke up with a sore throat today. Not too surprising considering I sat next to a sick girl on the way to London, spent about 24 hours in a semi-waking state, and had a lowered immune system anyway from the stress of the last few days before departure. Hopefully I can get over it quickly. I woke up feeling amazingly rested (comparatively speaking anyway) at 4 in the morning. Jet lagged much?

Today the plan is to go to Alcatraz. I'll see how I feel health wise, and if I'm feeling good I'll see what else there is to do, otherwise I might just end up sleeping as much as possible. It's may seem like a waste, but at least I've visited the city before, and I'd much prefer to be healthy on the 2nd than doing lots of sight seeing now.

Some pics from my phone (hopefully, if they've uploaded by now) of the restaurant, the food and the walk.

Monday, September 26, 2011

US Move

Packing and goodbyes.

Arrivé London

I'm in Terminal 5, Heathrow London. Specifically I've just had a berry compote and apple and lime juice to wash down the airline breakfast. The last few days were quite hectic (bru), and it's nice to actually feel like I can relax for a bit. Thanks to everybody who's spent time with me over the past few days - it's been great, and I really appreciate it. The flight was like every other flight - shit. I think there may be even less leg room than there used to be. The movies were not great. I started watching Source Code, some "comedy" about a spoiled rich guy, and some other action film so awful I can't remember anything about it. One film that I started, and hope to finish on the flight to SFO was called "The Walk". It's about a guy whose son dies in an accident on the Santiago el Camino. He then goes to collect the body and decides to walk the trail himself. It starts Martin Sheen and Emilio Estevez (his son in real life). It's mostly cool that I get to see something of the el Camino while the rest of my family is actually walking it. In retrospect it probably would've been a good move to wangle things to join them. Coming up - a post with pictures of the packing and last couple of days.

Thursday, August 04, 2011

Rails Timeseries Plots

I needed to plot timeseries data for a project recently and struggled to find a combination of tools that did the job correctly. Most charting libraries only plot fixed interval data which wouldn't work for my use case.

Open flash chart seemed promising initially with their scatter plot, but for some reason the line didn't display. The points were there, and you could mouseover them, but no line.

I tried gnuplot and the ruby-gnuplot wrappers next but I couldn't figure out how to get the image data on the wire without first saving it to a file. I wanted to return the data directly from my controller.

I also tried Gruff but it doesn't do time series / scatter plot properly. After scratching a little in the code it became obvious adding support for that was more work than I wanted to do.

I finally stumbled upon SVG::Graph with has a time series chart. I looks good and is about the easiest to use. Only problem - it outputs SVG. Bring in RMagick for a quick image conversion and I was ready to go.

The code (most of this is taken from the SVG::Graph::Timeseries documentation):
require 'rubygems'
require 'svggraph'
require 'time'
require 'date'
require 'RMagick'

# Data sets are x,y pairs
projection = ["6/17/72", 11,    "1/11/72", 7,    "4/13/04 17:31", 11,
             "9/11/01", 9,    "9/1/85", 2,    "9/1/88", 1,    "1/15/95", 13]
actual = ["8/1/73", 18,    "3/1/77", 15,    "10/1/98", 4,
          "5/1/02", 14,    "3/1/95", 6,    "8/1/91", 12,    "12/1/87", 6,
          "5/1/84", 17,    "10/1/80", 12]

title = "Ice Cream Cone Consumption"

graph = SVG::Graph::TimeSeries.new( {
  :width => 640,
  :height => 480,
  :graph_title => title,
  :show_graph_title => true,
  :no_css => true,
  :key => true,
  :scale_x_integers => true,
  :scale_y_integers => true,
  # :min_x_value => '',
  # :min_y_value => '',
  :show_data_labels => true,
  :show_x_guidelines => true,
  :show_x_title => true,
  :x_title => "Time",
  :show_y_title => true,
  :y_title => "Ice Cream Cones",
  :y_title_text_direction => :bt,
  :stagger_x_labels => true,
  :x_label_format => "%m/%d/%y",
})

graph.add_data({
        :data => projection,
  :title => 'Projected',
})

graph.add_data({
        :data => actual,
  :title => 'Actual',
})

puts Magick::Image.from_blob(graph.burn()) { self.format = 'SVG' }[0].to_blob { self.format = 'PNG' }