A Quick Note on Salary Negotiation

Donnerstag, 21. Juni 2012, 17:32 Uhr von Felix

During the last two months I have been on the receiving end of the question What are your salary expectations? numerous times.

Much has been written about salary negotiation. Some people, among them Patrick McKenzie, advise you to never give a number first. While I agree with the general notion, I do not think this is universally feasible. At least not in all industries and especially not for entry-level positions such as the ones that I applied for. So you have done your research and you give a number. Confidently, you just state it with a calm voice and a straight face.

That was more or less the final part of your job interview. The interviewers ask you to wait a few minutes and leave the room in order to confer. You look around the room, stretch, drink a glass of water and here they are: We think you are a great fit for our team and would like to make you an offer!

First of all, good job. You got an offer, let us hear it. A salary of €48,000 is offered. Coincidentally, that is the exact number you gave them. Now what? You should be happy, should you not?
No, somehow you have got the feeling that you have not maxed out the room for negotiation. What would have happened, had I asked for €50,000 instead? you ask yourself on your way home. You will probably never know. However, due to the fact that they gave you exactly what you asked for, an additional €2,000 p.a. seems somehow likely. This leaves you with a bit of a sour taste.

To be honest, there is not much you can do this except following the aforementioned advice on never giving a number first. However, this article is not directed at you as a job applicant (ha!), but at the people on the other side of the table among whom you will likely be one day.

If a candidate is a great fit, his expectations are somewhat within your range and you really want him to join your company, exceed his expectations. Actually, this is dead simple: just make your number greater than his or hers.
If €48,000 are asked for, offer €50,000. If that is not feasible, offer €49,000 or €48,500. Hell, even offering a ridiculous amount of €48,231.07 or 48,056.89 would probably be better than parroting the €48,000 the candidate asks for. This signals to the candidate that (a) you are not a cheapskate, (b) you really want to have him and although you are limited by some magical upper ceiling that is beyond your control, you try to give the best deal your company possibly can offer. Does this sound reasonable to you?

Yes? (If not, please tell me in the comments.) So next time you have a great candidate, surprise him and exceed her or his expectations and he will be happier about your offer. Thus, you increase the chances to seal the deal in your favour — great candidates will have more than one offer.

I can manipulate your amazon.com recommendations

Mittwoch, 28. März 2012, 16:55 Uhr von Felix

I can put any item of my choice on your personalized amazon.com homepage. Did I hear you say Bollocks!? Well, here is proof:

  1. Open this page.
  2. Visit amazon.com.
  3. Observe Dale Carnegie’s classic How to win friends and influence people appear on your personalized amazon.com homepage (see screenshot below for comparison).
  4. Order it if you are interested, it is a great read (optional step ;-))!

So how does it work? The page contains a hidden iframe that triggers an HTTP GET request to the book’s page on amazon.com. Now amazon thinks you are interested in this article and recommends it and similar ones to you on their homepage. I would like to leave possible malicious applications to your imagination.

How to fix this? If the X-Frame-Options response header is set to SAMEORIGIN, modern browsers will not allow third party websites to include a page. Interestingly, the German amazon website amazon.de does this.

I have informed amazon.com of this issue via Twitter and E-Mail.

Disclosure: all links to amazon.com are referral links.

Update (2012-04-05): amazon.com got back to me and told me that they have added the X-Frame-Options header.

How to install Eclipse Galileo on your Ubuntu machine

Montag, 20. Juli 2009, 19:47 Uhr von Felix

The Ubuntu 9.04 packages contain only the outdated version 3.2 of the popular IDE Eclipse. If you want to install Galileo/3.5, the latest version, you will have to do it yourself. This will guide you through the necessary steps to install Eclipse on your Ubuntu machine (or any other Linux Desktop).

First, download the latest version of Eclipse to your desktop. I recommend to use Eclipse Classic (scroll down). While your computer is downloading the file, get yourself a cup of tea (or coffee).

When the download is finished, open a terminal and navigate to the opt directory, where optional software is to be installed.

cd /opt

This is were you want to unpack the downloaded tarball:

sudo mv ~/Desktop/eclipse-SDK-3.5-linux-gtk-x86_64.tar.gz /opt
sudo tar xfvz eclipse-SDK-3.5-linux-gtk-x86_64.tar.gz
# we do not need the tarball anymore
sudo rm eclipse-SDK-3.5-linux-gtk-x86_64.tar.gz

Please note that if you did not download the file to your Desktop directory or want to use another version of Eclipse, e.g. 32bit, you will have to modify the lines above. Use tab to save yourself some keystrokes.

Okay, now let’s run it with root rights. Why root rights? Because we want to install some plugins.

cd eclipse
sudo ./eclipse

Eclipse will ask for a workspace. The default should be fine. If Eclipse started successfully, click Help and then Install New Software to install your favourite plugins. I usually install C/C++ Development Tools, Ruby Development Tools as well as PHP Development Tools from the default update site (for 3.5 it is called Galileo) and PyDev (Python), Subclipse (Subversion) and TeXlipse (LaTeX). Right-click on the aforementioned links to copy the URL of the update site.

When you finished downloading and installing plugins, close Eclipse and execute the following command:

sudo ln -s /opt/eclipse/eclipse /usr/local/bin/eclipse

Now you can create a new starter and point it to eclipse. Click it, to start Eclipse. Tada! You are almost finished.

You might want to delete root’s workspace using the following command:

sudo rm --recursive --force /root/workspace

Now, you are finished. Congratulations! Fasten your seatbelt and start coding.

git push: invalid number of threads

Donnerstag, 23. April 2009, 23:16 Uhr von Felix

Today, I tinkered a bit with git and came across a strange error when I tried to push my commits to a remote repository.

git push origin master
# fatal: invalid number of threads specified (0)
# ...


This has to do with git packing objects before transferring them. Being the optimized piece of software that it is, git can spawn several threads for this in order to reduce packing time on machines with more than one CPU. Obviously, the configuration variable, pack.threads, was set to 0. According to the man page, this should lead to an automatic decision. For some reason this did not happen on my machine (Ubuntu Hardy). So I just configured it manually in ~/.gitconfig.

Tada, problem solved. I hope this posts will help some poor soul out there. (Hi!)


Sonntag, 08. Februar 2009, 15:14 Uhr von Felix

Recently I came across a very nice dark theme for the GNOME Desktop: Shiki-Colors. It’s far more than just a new set of colors: a fresh set of icons as well as login screen are included. Yeah, I could not resist:

New Desktop

Here’s the shopping list: GTK Theme, GDM Theme and Icon Theme. Again, I opted for a David Lanham wallpaper: Spring Trees.