Monday was the first day after Anneleen left. Obviously a sad day. Plus, due to the lack of sleep the night before she left, I was still feeling very tired.
I also got entirely fed up with the endless piles of rice being served. Both at lunch and dinner, the food would essentially look the same: one or two kinds of rice, combined with peas/string beans, some kind of tofu and some kind of meat. The meat is almost impossible to eat most of the time because we only have plastic cutlery. I only see potatoes about once a week. Rice, rice, rice, always rice! I — and my digestive tract — am accustomed to potatoes. Yup, that’s how we Belgians roll.
Note that all of this only applies to the kitchen in the 1050 building. The 1601 building has proper cutlery and more varying ingredients. But I’d lose about 20 minutes by going there and back again every time.
Since I still had this problem after 6 weeks, it didn’t seem like my body was going to adjust any time soon, I figured I’d just change my diet.
So, hoping my digestive system would cope better this way, I started eating cereals at lunch (Alpha Bits1). I also got some very nice (seedless!) Californian grapes at Whole Foods, of which I ate a bunch every night as a movie snack.
Soon thereafter, I started feeling much better :)
Crunching numbers, not cereals
Anyway, besides crunching cereals, I also worked very hard on Monday and Tuesday, to prepare for a presentation on Tuesday afternoon. I was going to present my intern project to another team. This team had presented at the Engineering summit in the previous week. They were doing data mining/machine learning at an enormous scale and had lots of classifiers, but nothing like I’m doing. So I reached out to them and this presentation was the result.
Although it was (inherently) very dry, apparently my presentation was still found to be interesting, so hurray! :)
They may be implementing the same algorithms, or variations thereof. At first they thought I had invented the algorithms I’m using (FP-Growth & FP-Stream), because my articles about them were actually at the top of their search results — that’s Drupal’s SEO aptness kicking in again!
This week at Facebook
On Wednesday, I got a dry e-mail stating that my two days off the previous week are not paid :P
Also Starting on Wednesday, I started working shorter days (leaving at 9:00 and arriving back home around 20:00). I had to recover from the lack of sleep the past week-end, but I also started feeling burned out. Sleep, work, sleep with virtually all my waking time spent behind a computer turns out to be not so great for morale. I actually started feeling more effective :)
Nevertheless, the many hours that I put in the first five weeks were well spent, I think, because it enabled me to ramp up faster.
This week, I focused on getting more useful test results and did some more instrumentation work. I only spent a small amount of time on my intern project’s code, although to great effect: I made parts of the parser run in parallel, map-reduce style (thanks to Qt’s awesome
QtConcurrent API). On my quad-core laptop from Facebook (with Hyper-Threading, so effectively, 8 threads can be executed simultaneously), this made the parsing almost three times as fast. Not bad for picking the low-hanging fruit!
Thursday: hanging out at Google
I had forgotten about this, but as Thursday neared its end, Okay (my manager) asked me how I was planning on getting to the Google offices that evening, where the next SF & SV WebPerf meetup was going to be. Fortunately, my Facebook colleague Stoyan Stefanov was also going; in fact, he was going to be on the panel that night.
What’s cool is that Stoyan has helped me with my bachelor thesis, over two years ago. Back then, he was working for Yahoo and he developed smush.it, which losslessly optimizes images by removing unneeded cruft. More details in my article from 2010 about File Conveyor’s design.
So, I would now get to meet a person who I’d met in my search for cool web performance optimization stuff well over two years ago, and he’s now working at the same company where I’m interning! Silicon Valley is a small world indeed :)
The panel discussion was about the feasibility of automating web performance optimization. In short: some things can be automated, human inspection is always necessary and if you’re running a very big site, then it makes sense to take full control.
Site Speed … skeleton crew?
Funny note: on Friday, there were only one colleague (John Allen) and I on the Site Speed Team’s island — other colleagues were either on a hackamonth, sick, hoteldesking2, working from home or traveling in Cambodja (hi there, Ben the boss! :)).
As John put it:
Site Speed skeleton crew is making me frowny… everyone come back to work NOW!
In the late afternoon, I attended the weekly Q&A again, and after that, it was time for …
Cirque du Soleil!
Typical Facebook-style, nothing was too expensive for its interns. That’s how we all ended up in Cirque du Soleil’s Tapis Rouge — its VIP care. Refined food (and in very small volume, bien sûr), fancy drinks (wine, champagne and … Stella Artois), a CD, a very nice booklet and … the best seats.
I was very excited to see the Cirque du Soleil in action — after all, presumably it’s the best circus in the world!
So I went in with high expectations.
And I was blown away.
I estimate that for 50% of the show3, I was looking up, my mouth wide open, stunned by the acrobatics being performed. Amazing. Breathtaking. Must-see!
Computer History Museum
There are so many interesting stories to be told, but let me just recount one that’s particulary funny, interesting and awesome. It’s a story about the JOHNNIAC5 computer (of which there’s a picture above: the computer with the fancy blue lights).
For much of its life, JOHNNIAC operated more than one shift. Its nighttime operations were under the control of the same people who operated the other computers we had. On lengthy computations, the operator would start the machine, switch off the room light, and go away — to come back for the completed work. On many such occasions it was noticed that machine errors were made, and eventually, the story got around that “JOHNNIAC was afraid of the dark.” So it turned out to be. Upon investigation, we found that certain small neon tubes in the machine were sensitive to light, and did require the presence of light for reliable operation. So it is that we have a row of fluorescent lights just inside the doors.
— Willis H. Ware, JOHNNIAC Eulogy, March 1966
Or what a long & wonderful way computing has come over its course of less than a century that it has existed!
“0 Grams of Sugar Per Serving” & “Excellent Source of Whole Grain” — according to Wikipedia, “100% of its contents are whole grain and every serving comes with 3 grams of fiber”. To be taken with a grain of salt. ↩︎
I looked into visiting it in the first few weeks here, when I didn’t have a bike yet, and then it seemed so far away, because no bus route was well-suited for the trip. I guess that’s a universal truth: bus ride durations make things seem farther away than they really are. ↩︎
John von Neumann Numerical Integrator and Automatic Computer. ↩︎