Blog

25 November, 2011

Work hard, play hard

This week, I worked very hard to get as much work done as possible — as I did the preceding weeks, but with renewed energy and focus — before Anneleen would arrive Saturday that week.

I focused mostly on getting “meaningful” (in that they lead to new, unknown insights) test results from my work so far, because I must be able to convince my manager and colleagues of its potential. Otherwise, it won’t be used and my project may be suspended.
I was not able to produce much test results because I encountered several problems with analyzing the data sets, which were less clean and more skewed in certain ways than anticipated. So I focused on adding features that enable us to deal with these challenges.
Amongst others, I added the ability to perform pattern mining on a subset of the data by allowing “item constraints” (“filtering”, really: “only consider samples that do or don’t contain X”) to be defined for the parser, not just for the pattern miner. This allows one to focus on a subset of the data that may otherwise have been skewed.

Anneleen!

Unfortunately, Anneleen’s plane to San Francisco got cancelled due to (repeated) technical problems, so she got stuck in Frankfurt (I will spare you the whole United Airlines ordeal). Thus, I had another day to fill. So I decided to pay a visit to Stanford!

17 November, 2011

Biking in the States

On Monday, I biked to Facebook and back. Since I left early, it was cold. Very cold. Belgium cold. What’s worse though, is the state of biking. There’s no such thing as separate biking lanes here, like in Belgium. If there are bike lanes, then they’re simply part of a super wide parking lane. Far from safe.
But I knew that. I could deal with that.

Plus, there are a few bike trails (many for such a small region by U.S. standards, it appears). So what can go wrong?

These bike trails are nice, very nice, even somewhat idyllic during daytime, but at night, they’re absolutely horrible. What I did not anticipate, was the complete lack of lighting on these bicycle trails. Sure, there is no risk of you getting hit by a car. But there’s all the more risk of you hitting a pedestrian, or that pedestrian’s dog. (Yes, that actually almost happened…)

There are maybe five street lanterns along several kilometers of bike trail. And to be fair, those few street lanterns serve little more purpose than a lighthouse-at-land.

26 October, 2011

This workweek was rather uneventful. I just worked very hard on pushing my project forward.

On Wednesday, I got a ride home by a colleague (travel time of 10 minutes instead of ±55…). He gave me a ride home before. This time he brought his other car.
A casual Porsche.

So I mentioned the commute to and from Facebook by public transport. I used to take the bus1. It averages 55 minutes (doorstep to doorstep, so including walking).
Ever since moving in to my suite, now two weeks ago, I’d been taking the bus. That’s about 2 hours per day. Gone.
I hate wasting time. I hate it when a site takes 200 milliseconds longer to load than it should. Needless to say, I really hated this massive waste of time.

23 October, 2011

On the Tuesday of the second week, I started feeling very much at home here in the sunny Silicon Valley.

Not because the mobile phone reception is so poor here and because that reminds me of my parents’ place, which is probably the only spot in a wide area where you’re guaranteed to lose reception when you drive by.
The reception is very poor here though, apparently especially on AT&T’s network, with calls being dropped very frequently — I saw it happen three times with my own eyes.
That’s right, you peeps in Belgium envying me because I’m in Silicon Valley. It turns out that in Silicon Valley of all places, mobile reception is worse than in Belgium! (Although, when it works, mobile internet is much faster here.)

I failed to mention this in the blog post about my first week here, but at the Zen Hotel, I’ve also had the worst Wi-Fi access ever.

And more than once, my Skype video calls to my girlfriend back home from within the Facebook offices have been dropped. Call quality is generally pretty poor. 1

18 October, 2011

Orientation at Facebook

While I obviously can’t publish the details here, the orientation was very cool. The guy who was doing orientation was very energetic and enthusiastic, and this definitely had a positive effect. He explained how the company functions (flatness for the win!), the rationale behind some of its core technologies and products.

Badge and notebook!

What’s also very amazing, is that he’d only been there for 4 months!
In fact, as you talk to more and more Facebook employees, you’ll learn that most of them have actually joined in the past year or so. It’s amazing. It’s also very strange if you’re not used to the start-up culture and the optimistic atmosphere that’s seemingly inherent to Silicon Valley.

In the afternoon, we got our laptops (either MacBook Pros or Lenovo Thinkpads) and phones (iPhones, although you can request an Android device later on). Quite impressive, seeing dozens of new devices lined up in rows and waiting to be used productively.

After the orientation was wrapped up (which included a tour of the headquarters), there was a Happy Hour (i.e. beer), which I skipped to go and meet my manager, Okay Zed, and the rest of the Site Speed team.

17 October, 2011

Saying goodbye

I didn’t expect the goodbye to be easy, but I never expected it to be so hard, either. I think it was one of the hardest things I ever did, on that 23rd of September, 2011.

I was going to miss my friends and family back home, but that’s absolutely nothing in comparison with the goodbye to Anneleen (my girlfriend — she’s awesome!). It was very hard. We barely managed. I wish I could’ve taken her with me. The only way we managed was by telling ourselves that it’s too big an (career) opportunity to pass on, and that the experience I’d gain at Facebook would help my career and thus us for the rest of our lives.

The flight

Facebook booked the flight with British Airways. I’m used to flying with lowcost airlines such as Ryan Air, Brussels Airlines, and so on; so I expect to have to pay for everything.

Well, that simply doesn’t apply to British Airways. The flight booked for me by Facebook’s travel agent to London was in Economy class, but the one to San Francisco was in “Club World class”1. More about that later.

18 September, 2011

Jacob Singh did a presentation at DrupalCon London about “How to have an open relationship … with software (and still make paper)”. I’m one of the people he interviewed for his presentation.

One of the questions he asked, was this one:

How do you use version control, spreadsheets, text files, napkins, etc to track your customizations to Drupal modules and core? Until the DOG project is done, what is the best worst practice here? On the Gardens team for instance, we used a PATCHES.txt file which listed the date, author, description and link for every patch to core or contrib. low tech, somewhat functional. How do you do this?

He liked my answer so much that he told me I should write a blog post about it — even if I’d just copy my answer verbatim. I’d been wanting to do that for years now. “Better late than never”, right? Although it’s actually too late now, because this system was actually designed to work when Drupal’s code still lived at http://cvs.drupal.org…

15 August, 2011

On July 1, 2011, I successfully defended my master thesis at Hasselt University’s Expertise Centre for Digital Media. As usual, it’s very hard to compress the entire spectrum of interesting things to explain in the small allowed period of time that we’re allotted (15 minutes this time). I spent a lot of time polishing my presentation to make sure it was as understandable as possible (despite the fast talking pace), but also as interesting as possible. And apparently it paid off!

Afterwards, I received a lot of very positive feedback my presentation from those attending the defense presentation. Fortunately, the content itself was also deemed interesting and solid: I received a score of 80% (16/20)! I’m of course very satisfied with this result :)

However, it doesn’t end here…

Update August 16, 21:30 CET

Now that Steve Souders tweeted about this, I think it’s necessary to link from this post to important related information:

25 July, 2011

The last blog post I wrote about my master thesis was on June 1st. The final blog post has been long overdue. To the (very few) readers interested in the technical details, I apologize for the long delay in writing about the last part.
That last blog post was about FP-Growth. This one is about FP-Stream. Whereas FP-Growth can analyze static data sets for patterns, FP-Stream is capable of finding patterns over data streams. FP-Stream relies on the FP-Growth for significant parts, but it’s considerably more advanced. So, in essence, this phase only adds the capability to mine over a stream of data. While that may sound like it is not much, the added complexity of achieving this turns it into a fairly large undertaking.

1 June, 2011

The previous blog post covering my master thesis was about the libraries I wrote for detecting browsers and locations: QBrowsCap and QGeoIP.
On the very day that was published, I reached the first implementation milestone, which implied that it was already finding causes of slow page loads, but not over exactly specified periods of time, but rather over each chunk of 4,000 lines that was read from an Episodes log file. To achieve this, an implementation of the FP-Growth algorithm was completed, which was then modified to add support for item constraints.

FP-Growth {#FP-Growth}

Thoroughly explaining the FP-Growth algorithm would lead us too far. Hence, I’ll include a brief explanation below. For details, I refer to the original paper, “Mining frequent patterns without candidate generation” by J. Han, J. Pei, Y. Yin and R. Mao which can easily be downloaded when searched for through Google Scholar.