I’ve been struggling a bit with IPv6 source address selection. Normally, when you initiate a new connection, you only specify the destination address (or have DNS resolve the name to an address). The choice of the source address is usually left to the OS by setting it to :: (IPv6’s version of 0.0.0.0).

RFC 6724 specifies how this selection should happen. Karl Auer explains it in a bit less painful way on his blog. But sometimes I want to influence the chosen address: how can I twist these rules to match my wishes? Karl also has an interesting post on this. In summary, use any combination of:

  • Deprecate the addresses that you don’t want to use: ip addr change 2001:db8::1:1/128 dev tun preferred_lft 0
  • Make your own label to group addresses: ip addrlabel family
  • Use privacy extension addresses

After some searching, I’ve found a Polish website that is hosted on an IDN domain name, which makes it a useful test vector.

I’ve been struggling with my dd-wrt setup lately. So I started looking around for potential alternatives. One thought was to use a Raspberry Pi as router, but I was worried about its performance. So I did a few tests.

Continue reading ‘Raspberry pi as broadband router’ »

I’ve started using tmux, but found out that the standard keyboard bindings to resize panes (C-b C-<cursor>) doesn’t work in Mac OS X’s Terminal.app. I found this post very helpful.

Continue reading ‘Fixing Terminal.app to enable tmux resizing’ »

All of my data is stored on my NAS, from where it is automatically backed up daily. But doing photo-editing on a remote file was slow, especially over WiFi and/or VPN. So I decided to store all photo’s locally, but without loosing the automatic backups. I solved this problem with a Launchd agent to watch the directory for changes (and run every hour anyway), and rsync for the actual transfer.

Additional challanges were that user permissions needed to be synced across as well. (Usernames did match on both machines, but UIDs did not)

Continue reading ‘Automatically rsync from OS X to linux’ »

Facebook, Twitter and Google have the nasty habit of tracking your every move on the internet. This ABE-script prevents this:

# Allow Facebook scripts and objects to be included only
# from Facebook pages
Site .facebook.com .fbcdn.net .facebook.net
Accept from .facebook.com .fbcdn.net .facebook.net
Deny INCLUSION(SCRIPT, OBJ, SUBDOC)

# also stop google+ widget
Site plus.google.com
Accept from plus.google.com
Deny INCLUSION(SCRIPT, OBJ, SUBDOC)

# and twitter
Site platform.twitter.com
Accept from twitter.com
Deny INCLUSION(SCRIPT, OBJ, SUBDOC)

I’ve been re-searching for this page long enough to make a note this time.

http://newbiedoc.sourceforge.net/system/kernel-pkg.html (local copy)

I had some difficulties creating a bootable USB stick on MacOSX. Most guides use hdiutil and dd to put the image on the stick, but this failed to boot on my linux machine…

This article was very helpful, and confirms what I was thinking. The main difference is that this method makes a MBR partition table, adds MBR boot code and puts the data onto the first partition (as opposed to putting the data straight onto the disk).

Continue reading ‘Making bootable USB sticks on MacOSX’ »

I found this blogpost by Kenneth Reitz, explaining that you don’t need the full Xcode anymore to just get GCC. Apple now officially provides “Command Line Tools for Xcode” as a free download with any AppleID. Which reduces the required download from 1.6GB to only 118MB!

I have a home server with a Western Digital Caviar Green WD20EARS 2TB disk in it. Recently, I’ve come across this post explaining that this drive’s IntelliPark parks the head after only 8 seconds of being idle. Linux by default caches disk access for 30 seconds on an idle system, leading to up to 120 load/unload cycles per hour!

Continue reading ‘Prolonging the life of a WD Green HDD’ »