Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!ucbvax!TRANSARC.COM!Craig_Everhart From: Craig_Everhart@TRANSARC.COM Newsgroups: comp.protocols.tcp-ip Subject: Re: Interesting uses of networking Message-ID: Date: 11 Jun 90 15:43:57 GMT References: <11363@mentor.cc.purdue.edu> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 37 The cs.cmu.edu Coke machine was hooked up to a computer by John Zsarnay and/or Lawrence Butcher (now at Xerox PARC); essentially, the six little out-of-product lights on the pushbuttons were monitored. These would flash on for a couple seconds while a particular bottle was dispensed, and of course stay on when a column was empty. They were connected, I believe, to a terminal server machine that was programmed by Mike Kazar to keep track of the time of the last transition (short-term and long-term) for each column. He and Dave Nichols put together a simple Coke@+(TM) protocol by which any machine on the local University-grant Ethernet, and later the Internet as a whole, could probe the current status of the machine; Dave wrote the program that became the ``coke'' command, which printed out the length of time since each column had been totally empty. (The idea, you see, was to notice when a column, having gone empty, was refilled with (warm, room-temperature) Coke, because in principle you wanted to select the coldest Coke available, and thus avoid those colums that had recently been refilled.) Ivor Durham, I believe, wrote the Finger server that, if you fingered ``coke@somemachine.cs.cmu.edu'' would execute the ``coke'' command and print out the column coldnesses. I don't know who wrote the program, which was one of the most-used Perq/Canvas applications, which displayed the status of the (imputed) coldnesses as an array of bar graphs displayed in the same layout as the selector buttons on the Coke machine itself. There was even a Gosling Emacs package that would run the coke command for you and tell you, as a one-liner, where the coldest one was. The Coke machine even had an internal holding bin, to combat the ``warm Coke'' problem, such that it would never dispense the last two bottles in a column. Thus, to sense when a newly-loaded bottle would be dispensed, you had to notice when the last two bottles had been dispensed. The protocol had a way to describe, separately, the imputed coldnesses (the refrigeration time) of these last two bottles, and it would recommend their use when appropriate. Sure, there are dozens of hacks throughout the world, but I know something about this one and it's fun. As far as I can tell, Dave Nichols spearheaded this one, having loved the idea of the SAIL (r.i.p.) Pony.