Easy and secure VPN alternative

Having lived for a year in a flat that is owned by a University, I was using their internet connection, of course - and damn, will I miss having sustained 8 megabytes/sec downstream (yes, that's megaBYTES, not megaBITS). But not everything was roses: there were lots of restrictions in place, which I could understand, since it's a university network with several thousands of users and there are always those who like to misbehave. But it's still pretty annoying not being able to access anything other than HTTP, POP, IMAP and SSH on port 22.


JPEG, Zlib and Freetype not available for PIL in a virtualenv in Ubuntu

When installing PIL, the Python Imaging Library, in a virtualenv in Ubuntu with pip install PIL, the installer reports that there's no JPEG, Zlib or Freetype2 support available, even though I had installed all the corresponding packages.

It turns out that the PIL installer looks for the libraries in /usr/lib/ but in Ubuntu they are in /usr/lib/i386-linux-gnu/ or /usr/lib/x86_64-linux-gnu/, depending on the architecture you use.

A quick and dirty solution for this is to create symlinks to those libraries in /usr/lib/, like this:


How to add applets to the Gnome classic panel in Ubuntu 12.04

After getting Gnome classic back in Ubuntu 12.04 I was missing something crucial for my every-day use of Gnome: the ability to add/remove panel applets and program launchers.

Right-clicking on the panel doesn't bring up a menu like it used to - but there is a way to get it: super-key + alt + right-click (the "super-key" is also called the windows-key)
This is also how you move or remove items from the panel, by the way.


Getting Gnome classic back in Ubuntu 12.04

So I finally gave in and installed Ubuntu 12.04 on my desktop computer. Until now it was running Ubuntu 11.04, because I loathe Unity and Gnome 3 but I was starting to feel the need to have more up-to-date libraries and programs.

Fortunately I found out that I can avoid going insane, having the "classic" Gnome interface with pretty much the same look-and-feel as I was used to from Gnome 2, with a very simple change:

sudo apt-get install gnome-sesion-fallback


Template overrides for specific panel panes

So after some time bashing my head against the wall, I finally figured out how to override specific panel panes in Drupal.

Panels comes with a template file called "panels-pane.tpl.php" but you can't simply create a "panels-pane--my-pane.tpl.php" to override it, like you can with core template files or views.

This means you have to use a function to override the theme suggestion.


Arris password of the day generator - the actual generator


How to check if your LinkedIn password has been stolen

6.5 million passwords were stolen from LinkedIn (Slashdot, LinkedIn announcement, Mashable, NY Times) and a file containing them was released to the public.


Trustworthy Javascript learning resources

A friend of mine asked me what good websites I know for learning Javascript. Since Javascript is the world's most misunderstood programming language, there are tons of websites and blogs that contain misleading and even plain wrong information, so I wanted to give him a few sites that I know are trustworthy and have good content. I delved into my bookmarks and this is the list I came up with, which I now share in the hope that it is useful for other people too:


soapUI Exception in thread "XpcMessageLoop" in Ubuntu

If you use Ubuntu (and this probably happens in other Linux ditros as well) and soapUI spits out a Exception in thread "XpcMessageLoop" java.lang.NullPointerException, here's a simple "fix" for it: edit bin/ and uncomment the line

#   JAVA_OPTS="$JAVA_OPTS -Dsoapui.jxbrowser.disable=true"

so that it becomes

    JAVA_OPTS="$JAVA_OPTS -Dsoapui.jxbrowser.disable=true"


Why and how to use BCC when sending emails

What is BCC?

BCC: (Blind Carbon Copy) is an email field to which you can add several recipients, while the addresses remain hidden from everyone, unlike the addresses placed in the To: or CC: (Carbon Copy) fields, which are visible to anyone who reads the message.

Why should I use the BCC field?