[comp.protocols.tcp-ip] interesting uses of networking

aw0g+@ANDREW.CMU.EDU (Aaron Wohl) (06/05/90)

I made up a SNMP module for the excel spread sheet.  You can make
up worksheets with data that lives in router or systems (we have a
unix snmp deamon that read /dev/kmem) anywhere on the net.

Glen Marcy (gm0w@cs.cmu.edu) hacked a finger server on a tops20 to
connect to an rs232 line to the airconditioning computer on the roof.
One could finger temperature@te.cc.cmu.edu.

Someone is cs (try laurence butcher@cs.cmu.edu) wired up the coke machine.
You could finger coke@something and see how cold the coke was.

nelson@mentor.cc.purdue.edu (J. Nelson Howell) (06/07/90)

In article <caOiyei00WB9AJe1Bg@andrew.cmu.edu> aw0g+@ANDREW.CMU.EDU (Aaron Wohl) writes:

        ...

>Glen Marcy (gm0w@cs.cmu.edu) hacked a finger server on a tops20 to
>connect to an rs232 line to the airconditioning computer on the roof.
>One could finger temperature@te.cc.cmu.edu.
>
>Someone is cs (try laurence butcher@cs.cmu.edu) wired up the coke machine.
>You could finger coke@something and see how cold the coke was.

Actually, it did much more.  It would tell you when the machine was filled,
the temperature of each flavor, the last purchase of each flavor, and a few
things I have forgotten.  It was quite impressive to undergrads that were
trying to figure out the basics of networking (myself included at the time).

Come to think of it, it's still pretty impressive :-)


J. Nelson Howell                       | System Programmer
nelson@midas.mgmt.purdue.edu  Internet | Krannert Graduate School of Management
NELSON@PURCCVM                BITNET   | Purdue University
                                       | West Lafayette, IN

Craig_Everhart@TRANSARC.COM (06/11/90)

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.

Alessandro.Forin@SPICE.CS.CMU.EDU (07/21/90)

The old 'coke' program that once ran in our department has been
resurvived and extended.  Its major lack in functionality is now 
covered, and the program appropriately renamed "jf" (junk food).
The man pages for jf and xmnm are included.
Enquiries about this important progress of the Computer Science
field should be directed to eddie.
sandro-
-----------------------------------------------------------------------------



JF(6/22/90)         UNIX Programmer's Manual          JF(6/22/90)



NAME
     jf - Inquire about availability of junk foods in CMU CS
     vending machines.

SYNOPSIS
     jf [coke | mnm | mm ] [-reset]

DESCRIPTION
     jf inquires about the availability of Coke/Diet-Coke and
     M&Ms in the CMU CS vending area to save addicts an abortive
     trip from their distant offices.

     With no argument or with single argument coke jf gives the
     status of the buttons of 16oz bottles in the CMU CS Coke
     machine.  With argument mnm or mm it will give an estimate
     of the number of servings of M&Ms left in the vending
     machine.

     Providing an argument to identify the machine and the argu-
     ment -reset allows the vending machine fillers to inform the
     server when the machines have been refilled.  This is
     currently applicable only to the M&M machine because the
     Coke interface is essentially self-monitoring.  Proper
     credentials are requested before a reset may be performed.


BUGS
     As of 22-June-90, only the M&M interface is working.  The
     Coke interface is still being prepared.


SEE ALSO
     xmnm(1)


HISTORY
     22-Jun-90  eddie caplan (egc) at Carnegie Mellon University
          Updated man entry to reflect the new Coke machine con-
          figuration.  Added BUGS section while the Coke inter-
          face is down.

     29-Oct-85  Ivor Durham (id) at Carnegie Mellon University
          Created man entry. Client and server software by David
          Nichols with contributions from Ivor Durham.  Coke
          machine interface by John Zsarnay and M&M machine
          interface by Mark Zaremsky.
-----------------------------------------------------------------------------



XMNM(6/22/90)       UNIX Programmer's Manual        XMNM(6/22/90)



NAME
     xmnm - X11 program to monitor the availability of M&Ms.

SYNOPSIS
     xmnm [-update <rate>] [-shape | -noshape] [X11 switches]

DESCRIPTION
     Using an X11 window, xmnm graphically and continuously
     inquires about the availability of M&Ms in the CMU CS vend-
     ing area to save addicts an abortive trip from their distant
     offices.

     With no -update argument xmnm will check the status of the
     M&M machine every 1200 seconds (20 minutes).  By providing
     the -update argument, users can cause the status to be
     checked less or more frequently.  To keep the junk food
     server from becoming flooded with status requests, xmnm
     enforces a minimum sleeptime of 60 seconds.

     The -shape and -noshape arguments indicate whether the X
     window should take on the form of the M&M machine.  By
     default, shaping will not be done.


COMMANDS
     Clicking any of the mouse buttons in the M&M window will
     cause an update to occur.  That is, the junk food server
     will be queried.


BUGS
     Shaping just doesn't work sometimes, even though the
     software thinks it can be done.  Different window managers,
     mismatched versions of X, etc. can all contribute to the
     problem.


SEE ALSO
     jf(1), X(1)


HISTORY
      9-Jul-90  eddie caplan (egc) at Carnegie Mellon University
          Created man entry.