It's all centered around the Perl module SMS::Send.
I did two interesting things with this:
1) A simple 10 line script that sends a message to my phone. This has been exploited in several interesting ways:
- Alerts when a large job is done - I can walk around the house or office, and my phone buzzes when a task is complete.
- maildrop filters that send the subject of certain emails to my phone
- libpurple plugin that sends instant messages to my phone when I am away
These have done something interesting to my interaction with the computer. In essence, I've gone from polling to interrupt-driven. This saves me the time I would otherwise spend checking to see if there are new emails, RSS updates, new IMs, etc. It both puts this all in one place, and - more significantly - makes this one place fit in my pocket.
Of course, I've quickly learned the importance of disabling interrupts - thankfully, this can be done either explicitly by turning off the phone, or implicitly by ignoring when it dings, as appropriate. Conveniently, missed interrupts are naturally queued.
While the system at present is quite usable, it could undoubtedly benefit from some phone-side tweaks in presentation and manipulation of messages. Perhaps when I get a phone running Android, I'll play around with such... For now, though, I'm quite happy.