NFS behind NAT on Mac OS X

Sometimes solutions are so easy, you just overlook them. I had been having problems getting my NFS volumes mounted when I was connected to a network behind a masquerading NAT router. While trying to mount the directory “/home/jabo” from my server on my Mac, the mounting would appear to succeed, but it would never get accessible, and eventually I would just get the “Server connection interrupted”” message from the Finder. Not a very descriptive error. The log file on the server side would say everything is OK:

Sep 11 15:25:22 persephone rpc.mountd: authenticated mount request
    from xxxxx.utwente.nl:57945 for /home/jabo (/home/jabo)

So the problem had to be on the client side. A look at system.log confirmed this:

Sep 11 15:32:47 mango kernel[0]: 
    nfs server dawuss.student.utwente.nl:/home/jabo: not responding

Of course, thinking about it, this made perfectly sense: UDP connections are stateless, and therefore cannot be masqueraded properly (there is no way of knowing where a UDP packet is supposed to go when it arrives at the router). The solution is simple: use TCP for the NFS connection. Doh!

The GUI connects using UDP, so it doesn’t work. However, nothing stops us from using the command line, so it was just a matter of opening my favorite terminal program (iTerm) and entering:

mango:~ dawuss$ mkdir /Volumes/jabo
mango:~ dawuss$ mount -t nfs -o tcp \
   dawuss.student.utwente.nl:/home/jabo /Volumes/jabo/

Assuming you already set up your NFS server to work using unprivileged ports, this will set up the NFS connection as usual, only now using TCP as transport protocol instead of UDP. You can confirm this using the mount command:

mango:~/Downloads/Disk Images dawuss$ mount
/dev/disk0s3 on / (local, journaled)
devfs on /dev (local)
fdesc on /dev (union)
 on /.vol
automount -nsl [114] on /Network (automounted)
automount -fstab [172] on /automount/Servers (automounted)
automount -static [172] on /automount/static (automounted)
dawuss.student.utwente.nl:/home/jabo 
    on /Volumes/jabo (nodev, nosuid, mounted by dawuss)

Of course I wanted it to show up in Finder too, as it would when using the “Connect to Server” dialog. To get this done, I simply had to open the “Go to Folder” dialog (Command+Shift+G) and enter the mount point: “/Volumes/jabo”.

It really is that simple, but it took me quite a while, and some suggestions from people on IRC to figure it out, because searching the web for “NFS behind NAT” really didn’t produce any sensible results.

Next step for me will be setting up a nicely encrypted SSH tunnel in the way described in this document :)

iPod nano – 42 grams of pure pleasure

The new iPod nano - BlackYou have to give it up for Apple, because they did it again. This new iPod nano just has to make you drewl. This just has to be the sexiest MP3 player Apple ever delivered, especially in black.
Of course I can’t really tell until I get my hands on one, but things look really good for the nano. It’s small, light weight, and it comes in black. The battery capacity is not that great (it will only play for 14 hours), but it offers a lot in return and hey, it only weighs 42 grams!

The nano will replace the iPod mini, leaving Apple with a complete coverage of the MP3 player market:

  • A big harddisk player, with plenty of capacity and a color screen
  • A slim, lightweight player, with a nice amount of storage capacity, and a color screen
  • A tiny player you use when going for a walk. No screen, barely any buttons, just music

I think Apple made a very good move replacing the iPod mini. It had all the disadvantages of it’s larger brother (mainly the fragility of a hard-drive), and it was only slightly smaller in size, while significantly smaller in capacity.

Can’t wait to get my hands on one ;)

Battery Status Widget

Battery IconKim Bauters has built a nice Battery Status widget for Mac OS X Tiger’s Dashboard. It is roughly based on coconutBattery and it will show you your battery fitness (current capacity), the number of charge cycles it’s been through, and a graphical representation of your battery’s decay.
According to this widget, my battery is still almost brand new, which is a miracle considering the way I abuse my PowerBook: I use it as a drop-in desktop replacement, but when the weather is nice, I yank it off it’s charger for use on the much cooler balcony. I take it to college a few days a week, and it barely ever gets properly charged in between.
About twice a month it gets to go on a nice long trip through the country, so it does get completely drained regularly enough.
Below, you’ll find links to download this widget from it’s original location, or from my personal mirror. It’s not yet available through Apple’s own Widget Repository.
A screenshot of the battery widget on my system

Download from: original location or my mirror.

Still 7 days?

In deze entry had ik het over een promotie actie voor The Ring 2, waarbij je een link naar een filmpje naar een vriend / kennis / … kunt sturen, waarbij vervolgens als ze het kijken de telefoon rinkelt, en ze te horen krijgen dat ze nog 7 dagen te leven hebben.
Natuurlijk heb ik het eerst even op mezelf uitgeprobeerd, want ik ben natuurlijk wel benieuwd wat ik andere mensen aandoe, en het werkte prima.
Blijkbaar zit er echter wat mis in die killer-griet d’r administratie, want ik heb afgelopen zaterdag gebeld, en ze vindt nog steeds dat ik nog 7 dagen te leven heb.

Alleen een beetje jammer dat ze me daar ‘s ochtends om 8:00 voor uit mijn bed belt…

Pitloze druiven… Mjam!

DruivenAargh, wat zijn die dingen lekker! Ik heb d’r net een hele tros van op, en ik ben helemaal verslaafd :9
Need… More!

7 days

Best wel freaky, deze promotie voor The Ring 2.
Pak je telefoonlijst erbij en laat de fun beginnen ;)

De zoete smaak van wraak: Brassen Revisited

Waar ik mij gisteren nog afvroeg wat de tegenprestatie zou zijn voor mijn gebraste Hawaii krans, vandaag zijn de rollen totaal omgekeerd.
Het was, moet ik bekennen, niet zo’n verfijnde brasactie als waar ik zelf slachtoffer van mocht zijn, maar dat doet niet af aan het feit dat het wel degelijk een authentieke bras was. Een belangrijke les voor het (verder anonieme) telematica meisje: Hang je T-shirt maar niet los aan je broek ;)
Ik ben benieuwd wat men voor een mooi oranje Tegel shirt over heeft >:)

Brassen

De kunst van het brassen lijkt met de generatie verder weg te kwijnen. Tenminste, dat dacht ik.
Vanavond is er namelijk voor het eerst weer eens een keer echt iets van me gebrast, terwijl ik dacht dat dat al lang niet meer zo gebeurde.
Even een korte toelichting op het fenomeen brassen: Het is de bedoeling dat je op een subtiele manier voorwerpen die eigenlijk alleen emotionele waarde hebben ontvreemd van mensen, op het moment dat ze net even niet opletten, tegen ludieke tegenprestatie. Een onbewaakt shirt of mascotte is bijvoorbeeld snel de lul.
De laatste jaren lijkt brassen echter te zijn gereduceerd tot het lomp uit de handen rukken van voorwerpen, vlaggen jatten door er met 20 man op te stormen en er mensen af te meppen enzovoorts. Weinig ludieks aan dus.
De gratis hawaï krans, en het cheapass Hongaarse kettingkje ben ik echter toch mooi kwijt aan een eerstejaars telematica studente. Ik was zo onder de indruk van de authentieke brastechnieken dat ik verder maar weinig heb gedaan om ‘t terug te krijgen.
Ik ben benieuwd naar de tegenprestatie :P

Google Talk – All talk and no play?

With a lot of fuss, Google announced a new service: Google Talk. A quick look on the supported clients page, showed nothing spectacular: voice chats are only possible with Google’s own client, which is unfortunately only supported on Microsoft’s Windows platform.
The system used for instant messaging, however, is just plain old Jabber, which means it’s open and free, and the number of supported clients on all platforms is far greater than the list Google keeps.

Let me show you how to get it to work on my favorite client: Adium X.

First, launch Adium X, go to it’s preferences window and select the “Accounts” tab. Click the little “+” at the bottom left, and select “Jabber” from the list of supported protocols.
Add a new account

Next, enter your GMail account information like this:

Enter account information

And finally, enter the server settings:

Enter server info

Yes, that’s right. It’s that simple. Just connect an arbitrary Jabber client to talk.google.com on the default port, and have fun!
I’m really getting curious what Google Talk uses for audio communication. For now, Skype is the only client with decent Mac support, so I’ll stick to that :)