When I'm away from my computer, sometimes it would be really useful to be able to access it. I've only got a dial-up connection, so I can't leave the computer connected to the net all the time. I came up with this idea:
My modem is always connected to the phone line, and could in theory answer the phone for me, or respond to a certain sequence of rings. Using the latter, I could simply use any telephone to phone home and get my computer to do stuff. In particular I need the computer to do this:
Establish my dial-up net connection
Make sure sshd is running, so I can then use ssh to connect to and control my computer remotely
Find out the IP address I've been given by my ISP, and publish it somewhere (e.g. in a file on my website).
I would then have full access to my computer -- all I need is a net connection and an ssh client (and my passwords, of course :-)).
The power of Linux meant this was all very easy:
As I expected, I am far from being the first to have this idea. I found a program called xringd - "Extended Ring Daemon" - that does all the hard part of this scheme (getting the modem to respond to rings). It's completely configurable, so you can set up all kinds of ring sequences and corresponding commands. The software is of course free (man, I take that for granted all the time these days -- it's just unbelievable the amount that people fork out for Windows software, especially things like Uninstallers, Adware removers, system repair programs etc, all of which only exist because the operating system is such poor quality! but I digress...)
Linux always has command line tools first, nice GUIs second, so you can easily write scripts that do things like FTP, finding out IP addresses etc.
Put all the ingredients together in a quick script, and I'm done!
I haven't fully tested it yet (with real incoming rings) as I don't have another phone I can play with ATM, but apart from that it works a treat. I leave my computer on 24/7 anyway, so it now means I have access to my computer and everything it contains, whatever the time, wherever I am. In the case of a power cut, the computer will just reboot and xringd will be restarted, so no problem there either. This all gives me a warm fuzzy feeling inside :-). Man I'm such a geek.