Saturday, October 23, 2010

IPv6, dyndns and all the rest

I have a dream! And that is listening to music from my server without 10 minutes of foo to get it started. I am still working on a solution that is plug'n'play. There are two major solutions that i considered: A network audio system and a filesystem share with a local player.. Since Pulseaudio (and basically every other network audio solution except esd) doesn't have MacOS support and because my admin wouldn't install nfs and sshfs under Mac is a joke I am going to rely on esd.

Now that server needs to push its sound to me somehow and i wanted this to be done without thinking about firewalls, natting and the like. That is why i wanted it to work over IPv6 since this is virtually unfiltered in the networks i live in at the moment. The only problem is that i need to push the data not pull, so the server needs to know my ip. I thought: That's easy, just use dyndns.
What i didn't know is how difficult it is to get a dynamical dns provider that actually supports ipv6. I had a long list of services grabbed from some update client.
  • dyndns.* would have been my first choice, if it weren't for them only doing ipv6 in beta in their non-free custom dns scheme. 
  • freedns.afraid.org was next and it has a ipv6 enabled dns server which you get for free but you can't update it via the client api! :(
  • no-ip.com doesn't have v6 at all from what i could gather
  • ... 
By this time i was annoyed and googled more thoroughly again and found: majimoto. Now that guy is awesome. Seems to be a german who does web hosting in his spare time and was annoyed by the same things as i am and just made a free, client updatable ipv6 enabled dynamic dns available to the general public. YEAH! This guy deserves some applause.
Now onto esd :)
Update:  Joshua from afraid.org answered me and yes it is supported just not officially:
"If you create a IPv4 A record, go to 'dynamic DNS' and get the update URL, you can then append &address=<ipv6 address> (without <>'s) and it will convert the record into a AAAA record "

MacOSX and IPv6

MacOSX supports IPv6 natively of course but what good is that if your ^.*$ network administrator won't allow that. Now my dorm is part of a larger network run by an organization which really goes out of its way to provide IPv6 and they offer static tunnels (unpractical in my case), Teredo (not stable/performant enough by their own judgement) and ISATAP.
Now Snow Leopards ISATAP support is virtually inexistent. In fact it was only offered by ancient miredo versions and support was dropped in version 1.1.6. I could have lived with an old version since i don't suscribe to the idea of software magically turning stale over time although this meant compiling by hand in this case. The only problem is miredo is just such a bitch to configure that i couldn't get it to work for the life of me.

Anyway I then used the linux instructions for doing it by hand and converted them to the mac equivalents:
#!/bin/sh 
ISATAP_RELAY="10.156.33.6" # isatap-relay.lrz-muenchen.de
IPV6_PREFIX="2001:4CA0:0:FE00::" # LRZ ISATAP-Prefix 
IPV4=$(ifconfig $(route get ${ISATAP_RELAY} | grep interface | sed -e 's/ interface: //') | egrep '\' | awk '{print $2;}')
ifconfig gif0 tunnel ${IPV4} ${ISATAP_RELAY} 
ifconfig gif0 inet6 ${IPV6_PREFIX}5EFE:${IPV4} prefixlen /128
route -n add -inet6 default ${IPV6_PREFIX}5EFE:${IPV4}

Test with: 
ping6 www.lrz.de 

Sunday, October 3, 2010

Zuchini, Tomato, Spinach Risotto

Today I was inspired to make do with what i had (read I didn't go shopping, it was sunday and i was pretty much out of everything). I had Tomatoes (molding), Zuchini (overdue) and frozen, thawed, refrozen spinache, rice, noodles as well as half a grana padano. I was sick of pasta with sauce and thus sat there for a while, pondering and finally came up with a splendid idea: risotto



List of ingredients:
  • A pound of rice
  • 4 tomatoes (estimated from what was left after cutting out the mold)
  • A third of a pack of frozen spinach
  • A yellow zucchini
  • 2 cloves of garlic
  • A big white onion
  • Butter
  • Olive oil
  • 150g grana padano
  • A tiny rest of ginger that had to go
  • 7 sun dried tomatoes rehydrated
  • A tea spoon of rosemary
  • A tea spoon of basil
  • Broth (half a liter?)
  • The last dregs of red wine
  • The juice of one lime 
  • A lily for decoration (I didn't have basil) 
The rest works as always, cut it all finely (or press the garlic if you are lazy), put onion, garlic, and ginger in a pot with a big stick of butter and let it fry in that for a while; add zucchini. Meanwhile put olive oil in a bigger pot and add the rice, heat and stir. Once you feel its good add red wine, (in my case it was gone shortly after so i didn't have to wait). Wait a bit until its not soggy anymore, add all the veggies and keep adding broth while stirring but only so much that it is barely covered, once you're out of liquid, add spices and grated cheese, fold it in and enjoy.

I have plenty of ideas on how to make it better (for a start take fresh veggies and herbs instead of old ones) but this was so tasty that I am still surprised. I haven't quite figured out what made it so yummy.

Friday, October 1, 2010

US Alt Gr Intl

I was annoyed by the weird keyboard layout on my mac (de) way back and so i learned about ukelele and hacked up my version of us alt gr intl. The problem is i can't find the full version anymore. I believe the woman i will always love took it with her on her external hdd when she dumped me. I only got the minimal version i use left, which is plain us + umlauts and ß.
If that is of any use to you get it here.