Bunny has BellSouth as a DSL provider. They give her a dynamic IP address. A dynamic IP address makes it difficult for her to get back to her computer when she's at her office.
Looking around, it seems their clients assume the computer in question has the public IP address. Which in Bunny's case, isn't the case. Her DSL router has the public IP address.
Not to worry though—there's a Linux system at her house as well. But the Linux client isn't officially supported. Okay, but it appears to work anyway. But it's a Perl based client and call me a computer language bigot (“you computer language bigot!” thanks) but the idea of running a daemon written in Perl just doesn't sit well with me.
Besides, it too requires the computer in question to have the public IP address. Oh sure, you could configure the Linux client to use their CheckIP server, but when I tested it, I get the private IP address, not the public IP address .
Great CheckIP server there, guys.
So I figure I'll roll my own. It doesn't look that hard actually. Have a simple client program connect to a DNS server I control. The server side can grab the public IP address from the actual connection, and if the appropriate bits are sent across the wire, the server will then update the IP address in the appropriate zone file and that's that.
And I'm definitely overengineering the program.
But then again, in college I was told by a professor to stop the overkill on my programs.
Update on Monday, November 27th, 2006
Seems I made a mistake when I tested the CheckIP page. It works fine unless you use a web proxy, which I do.