Blog

27 February, 2012

On January 2, I announced that I was looking for a job. Since that announcement, I’ve talked with >65 companies. I’ve had actual interviews with >30 of them. Most of them are based out of Belgium, some were remote. Many were Drupal shops, several were start-ups (some of which from Belgium, but most of which from the U.S.) but there were also many different types of companies. From very small to very big. So much choice!

(Also see The Paradox of Choice.)

Startup

Whenever I felt that a company was interested in possibly pursuing the start-up idea that I have had for a long time, I pitched it. The few times that I did this, there was a lot of enthusiasm. But only one company really pushed forward in pursuing this: Nascom. Funny enough, this also happened to be the company that offered me the most interesting, versatile and challenging job. This made me realize that a start-up (in Belgium!) might not be as unrealistic as I had first thought.

15 February, 2012

You want to set up key-based authentication so you can ssh into a server without entering that pesky password over and over again?

If you have to do this often, then use this wonderful one-liner to install the public key of your system on a remote server1:

cat ~/.ssh/id_?sa.pub | ssh <host> 'mkdir -p .ssh; cat >> ~/.ssh/authorized_keys'

Easy, right2? Replace <host> with your host, or possibly even user@host. To be able to use just <host>, you’ll want to configure SSH host aliases, e.g.:

Host seedbox2
    HostName norris.com
    User chuck
    Port 55555

  1. I use this to add seedboxes to driverpacks.net’s hosting infrastructure — the Seedbox hosting companies switch machines quite frequently, which means I have to change the rsync scripts to point to the new hosts. 

2 January, 2012

The time has finally come.

I’m looking for a job!

After ±5 years of hard work at Hasselt University, I will graduate as a master in computer science next month. I finished my master thesis and courses in June 2011 and have just completed my internship at Facebook a few weeks ago (on December 16). I’ve received an awesome job offer to work full-time at Facebook.

But my super-duper awesome girlfriend, Anneleen, is studying medicine here in Belgium. If she’d continue to study medicine in the U.S., she’d have to start all over, so that’s not really an option (not to mention the ridiculous costs). This summer, we’ll move in together in a (yet to be found) apartment in Leuven, Belgium.
Also, I just like Europe better than the United States.

I’ve already talked to several companies, months ago and more recently, but since there are so many interesting companies, projects and challenges out there, I decided to write this blog post.

My main interests (and areas of expertise) are:

  • WPO (Web Performance Optimization): making websites faster
  • Drupal
  • data mining

Want to talk to me? Contact me at http://wimleers.com/contact.

1 January, 2012

Wrapping up

My last week at Facebook … it seemed so long until I could finally return to my beloved Anneleen. Simultaneously, time seems to have flown by. And by now, I had grown accustomed to living in the United States.

Anyway, on the first day of this week, I had lunch with Steve Souders at Google. It was an interesting peek at Google’s way of dealing with performance, how it differs from Facebook in general and … how the food differs. We had lunch in Google’s largest cafeteria — it had a very diverse offering!

Google building 43

They also had an awesome T-rex replica in front of building 43. The flamingos that are swarming all over it are not real, for what it’s worth.

1 January, 2012

This week at Facebook

On Monday, I worked on getting my code committed and tied up many loose ends. I got very positive feedback from my manager! :)
(This is the feedback based upon which I would or would not get an offer).

I then struggled until about midnight with getting a subtree of one git repository merged into a new subtree in another git repository. Because this other git repository (Facebook’s) was many gigabytes in size and this was a non-trivial task (at least for somebody who’s not a git-adept), I had to undo my changes a few times. Thus I had to wait several times for many minutes. Very frustrating to say the least. I also created a list of the things that still needed to be done for a MVP (minimum viable product), as my manager had requested.

8 December, 2011

Static build of Qt: VICTORY!

On Monday, I finally got Qt committed (if you’ve been reading my blog, then you’ll know that I started this two weeks ago). It cost me about five full work days.

Funny note about git (the Qt build must be committed to a massive ‘third party code’ repository): interactive rebasing (git rebase -i) would result in out of memory errors … on a (shared) dev server with 64 GB RAM, of which 15 GB was free. Yes, that implies >15 GB of RAM was necessary. git doesn’t seem to perform particularly well for doing diffs over hundreds of files at the same time, especially if there are also binary files among them.

On Tuesday, I again fought with git, because there was a tiny glitch in the Qt build that had gotten committed: a wrong --prefix parameter had been passed, causing an in correct QT_INSTALL_PREFIX being baked into qmake and other Qt binaries…

7 December, 2011

My ninth week here can be summarized very briefly: the work week was very short. Thanks to Thanksgiving on Thursday, we got off on Thursday and Friday. From Monday through Wednesday, I pulled long hours again, and very frustrating ones at that. Getting a statically linked Qt (which I already talked about last week) built turns out to not be a sinecure…

On Thursday, I staid at home and worked on organizing photos I took and worked on getting some blog posts out. I also suffered from a severe neck pain that had been getting worse over the preceding days: it went away by Thursday evening and didn’t come back.
Seems like a pretty clear correlation between sitting extremely frustrated behind a computer and neck pain to me.

Thanksgiving

My manager had invited me to come to his place in San Francisco, to celebrate Thanksgiving. I felt like I’d be intruding their family sphere, but apparently that happens on Thanksgiving itself (the night before), the day after is usually reserved for a more relaxed, less formal version of Thanksgiving among friends. So I went.

6 December, 2011

mail@domain.tld

This week, I finally got around to reporting an issue that has been bothering me for a long time on Facebook. In fact, it’s the reason I initially refused to register at Facebook (after I was finally convinced I’d sign up for my first social network site ever): my e-mail address was being refused. It appears that e-mail addresses of the form mail@domain.tld are simply refused, because this is typically a spamtrap. Since Facebook obviously doesn’t want its emails to be marked as spam, they’re very cautious to not send e-mails to these kinds of addresses, even if users attempt to register with such addresses.

Unfortunately, it means that an out-of-band verification system is necessary, such as adding a DNS CNAME record or adding a file to your domain’s root with a specific filename (which is what e.g. Google Webmaster Tools requires). Fortunately, I found at leat one other Facebook employee who wants to see this happen. Now I only need to find the time to implement it…

“My cousin ain’t your cousin”

A friend also reported the incorrect translation for “cousin” and “nephew” in the Dutch version of Facebook. The problem is that there’s apparently a big semantical difference between Dutch and English.

27 November, 2011

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.

26 November, 2011

This week at Facebook

Facebook, or well, my manager, graciously allowed me to take two days off — I believe in large part because I had been working so hard in the first 5 weeks of my internship. It was especially welcome because we had already lost a full day. So I took the day off on Tuesday (the last day of good weather that week!) and on Friday.

On Wednesday, there was Facebook’s Engineering Summit, where the major new tools, systems, APIs and whatnot where presented. They do this because Facebook has grown so large and there are so many teams, that it is impossible to know on a company-wide scale what is being worked on. So an event like this enables software engineers to leverage as many of these novelties as much as possible, for maximum impact.
Clearly, this is a major cost for Facebook, to put hundreds of engineers together in one room and pay them to not work. They’re simply confident that this will pay off.

On the remaining two days, I presented my initial deep analysis (based on the patterns found by my project) on Facebook Groups’ performance to somebody of the Groups team, dived deeper into this and worked on several non-project related tasks, including instrumentation for Facebook’s photo tagging functionality.

On Monday — Halloween! — there was also some Halloween-themed food at Facebook: