John Harding - Insert Catchy Title Here

Insert witty phrase/saying here.

Saturday, July 26, 2008


Now that I've got my fancy new domain name configured properly, I've moved my blog to The old name,, should continue to redirect indefinitely.

DNS cost optimization

I run a home server, which mainly exists for file serving and some hobby projects, and it's nice to have DNS actually work for it. When I first set this all up a long time ago, either my DNS registrar didn't offer any decent DNS hosting options, or I somehow missed it. No matter, as DynDNS offered cheap lifetime custom DNS service, and I wanted something like that to deal with my frequently-changing cable modem IP address.

A bit later, I went to set up a second domain, but DynDNS had stopped offering the lifetime service option, and had switched to charging ~$20/year. No big deal, signed up, and forgot about it.

Recently, I was finally able to sign up for after someone let their registration lapse, but no way was I going to pay another $25/year just to serve a few DNS records, so I finally looked into other options.

I'd registered the new domain at godaddy, mainly because it was cheap, but they also give you decent control over DNS. Armed with that, I can actually piggyback all my domains on the single DynDNS lifetime DNS service, since all you really need is a single authoritative A-record for your dynamic IP address. Everything else can just be CNAME'd to that record. Duh.

So, if your domain is hosted at godaddy, you just:
  1. Go to your domain manager interface, and select the domain you're trying to set up
  2. Click the "Total DNS Control and MX Records" link in the upper display area
  3. Click "Advanced Mode" to get a better UI
  4. Check the "Delete" box for the default A record and all the lame CNAMEs they set up, then "OK" to wipe those out
  5. Add 2 new CNAMEs: One from "www" to your A-record, and one from [your domain] to your A-record
For the second one, what I mean is if your new domain is "", you'll actually set "" as the host for the CNAME. Alternately, you can use their HTTP forwarding to have their web servers bounce "" to "", but that will only work for http, and results in an unecessary redirect, so I prefer the CNAME approach.

Update: Unfortunately, I can't seem to find a cheap, reputable registrar that will accept inbound 3rd-level .name transfers, such as for I guess that one is stuck where it is.

Wednesday, July 23, 2008

Windows pwnage

I use my iPhone on T-mobile (under contract until end of the month), after unlocking 1.1.4 with ZiPhone 3.0 back in March. Jealous of all the 2.0 excitement, I took the plunge and am in the middle of doing the hacked upgrade described here. Not sure if it was necessary, after ZiPhone hackage, but back on 1.1.4, I installed BootNeuter from and re-hacked that way. What I'm not clear on is what ZiPhone 3.0 actually did. As far as I can tell, my phone (an AT&T refurb) was already on the 3.6 bootloader, so I don't think anything wacky happened there. I'm a bit fuzzy on what exactly it was that ZiPhone was forced to downgrade - bootloader or baseband?

Regardless, my phone just rebooted after the 2.0 update and re-BootNeuter, and everything seems to be working fine. Kudos to the iPhone dev team!

Sunday, July 13, 2008

Update on encoding videos for iPhone/AppleTV

I've committed some updates to the mencoder-wrapper svn repo ( Notable changes:
  • Support for AppleTV output, including B-frames (NOTE: This, unfortunately, requires the use of mp4box, which you can get from the gpac project on sourceforge).
  • Better (for some definitions of "better") handling of scaling. Uses mplayer to detect the source size and aspect ratio, and explicitly calculates new dimensions to fit in the target's size constraints. Currently, this will use black bars to ensure size multiples, but I'll be adding an option to trade black bars for a bit of aspect ratio distortion (e.g. 480x272 vs. 480x270 w/ 1 pixel top and bottom for an anamorphic DVD on iPhone).
  • In order to implement the scaling, added an analyzer concept - currently only using "mplayer -identify" but others could be used.
  • Refactored the code a bit to make it easier to unit test.
Comments, suggestions, and feedback welcome as always.

Labels: , , ,