One of my favourite products of IETF, the internet protocol standards body, is their publication of the Hyper Text Coffee Pot Control Protocol (HTCPCP) in RFC 2324. As a coffee drinker, I was quite intrigued about the idea of using the Internet to manage coffee brewing. HTCPCP is a protocol for managing devices capable of brewing the all-time popular caffeinated hot beverage. HTCPCP is important, because computer geeks, and indeed Internet addicts, are heavily dependent on this rejuvenating beverage.
RFC 2324 started out originally as an April Fool’s joke. IETF (which stands for the Internet Engineering Task Force), is known for its publication of many humorous documents on April Fool’s day. There are other examples, such as A Standard for the Transmission of IP Datagrams on Avian Carriers (RFC 1149), which describes how pigeons can be used to carry Internet traffic. This is also one of my favourites, and for your information, it was successfully demonstrated too.
RFC 2324 is a proper document which describes and specifies the protocol accurately and completely enough to create a real, non-fictional implementation of the protocol. It is not just an April Fool’s joke. Emacs has an extension to handle HTCPCP protocol, and Mozilla patches have been submitted to implement the browser handling of this protocol. HTCPCP specifies useful response types such as “406 Not Acceptable” when the coffee pot is unable to process a brewing requests (e.g. when Half-and-Half milk is requested but is not available), and “418 I’m a teapot” when a coffee brewing request is sent to a teapot.
Some years ago, I came across a write-up about an interesting program someone wrote. I can’t seem to find it anymore, but anyway here’s as much as I remember of it. The story was about how some computer researchers at a certain research facility had a pantry somewhere in the building. It was some distance from where their office was. When they needed their dose of coffee, they would go to the pantry. If they were in luck, there would be some coffee left in the coffee pot. But if otherwise, they would have to brew a new pot. Not a big problem. It takes a while, so they would head back to their office in the meanwhile and come back a little later. The trouble is that when they came back later, there was no guarantee that there would be any coffee in the coffee pot, because anyone could have come by to help themselves to the coffee.
So these ingenious people setup a camera, and wrote a simple X-Windows program to grab images from the camera and display it in a tiny window on their screen. (Yes, it was long ago enough that X-Windows was king, and there weren’t such things as web cameras.) This way, they could monitor the coffee brewing progress and check the status of the coffee level remotely.
These coffee and coffee related things may sound rather hilarious, but many computer and Internet geeks are really serious about their caffeinated drinks and their attendant paraphernalia.
http://en.wikipedia.org/wiki/Trojan_Room_coffee_pot