YaK:: that BURRITO command [Changes]   [Calendar]   [Search]   [Index]   [PhotoTags]   
[mega_changes]
[photos]

that BURRITO command

$ burrito -time +:30 b+g+cc+jf+jf+sf+sc-sc+i"Black Beans"+n:2/Ross \ b+v:cc+g+cm+sc+i"no rice"/Kathie

FoodSpec::=<type>[options*][/<name>] <type> ::= [b|t|m|q|T] (burrito, taco, mexico city, quesadilla, Taqitaco) )

+g gucamole ... +cc cotija ... +jf fresh jalapenos ... +sf fire salsa ... +sc sour cream ... +cm monterey ... +i"note"

Subject: Ordering burritos from my SPARC
X-Name: Curtis Jackson
From: cjackson@mv.us.adobe.com (Curtis Jackson)
To: tanstaafl@colossus.apple.com
Date: Tue, 08 Sep 92 09:12:20 PDT
Return-Path: <tanstaafl-request@colossus.apple.com>
Cc: cjackson@mv.us.adobe.com

There is a little Mexican grocery nearby that has an assembly-line
burrito operation in back. You walk down the line with the person
who is making your burrito, telling them exactly what you want on it.
The problem is that the place is so good and such a good value that
the lines get quite long at times. So La Costena (that's a tilde n)
put in a fax machine and allows you to fax in your orders. Well, we've
gone a quantum leap beyond that with the following.

This is NOT a joke. Ross has taken advantage of the fact that some
PostScript Level 2 printers now have fax capability. Read the whole
doc below when you get a chance -- it represents true burrito decadence!

Curtis
======================================================
Tired of standing in line at La Costena?  This file documents an
automatic facility for sending a fax to La Costena that orders 1 or
more burritos, quesadillas, tacos, and whatever.  The command will
compose the fax, and send it to your favorite PostScript fax printer,
for direct transmission to La Costena, and no paper at this end will
be generated.  Then, when you get there, your food will be waiting.
No worries.

To use this, you will want to add the following lines to your .cshrc
file:

setenv BURRITOPRINTER = <printer>
alias burrito /user/thompson/public/burrito<mach>

where <mach> is dec, sun, or sparc, as appropriate.  Requests to
support other machine types will be greeted with enthusiasm if the
following conditions are met:
 1) I can get the code to compile with a minimum of effort.
        (I expect no difficulties, but you never know).
 2) I am provided with the name of a machine on which to do the build.

<printer> should be the name of a PostScript level 2 printer that
supports fax and is connected to an external phone line. I use
griffin, which is located in building A upstairs.  However, griffin's
queue has been stuck for days, and so if you have an alternative
printer you can use, I recommend you use it.  (Also, please let me
know what it is.)  I have been trying to get Andy and Ron to unstuck
griffin, but they are very busy people and ordering burritos doesn't
seem to be a priority with them for some reason.

You will also probably want to create a .costenarc file, to define
your burrito macros in.  The one in /user/thompson/.costenarc is
designed to stand as an example that you can use.  Feel free to copy,
modify, whatever.  I think the syntax should be pretty
straightforward, if you understand how to describe a burrito.

In keeping with long standing Unix tradition, the syntax for
specifying burritos is somewhat obscure. Here is an attempt at
explanation, with some examples at the end.  For a better
understanding, the energetic reader will attempt to thoroughly
comprehend the contents of my .costenarc file.

burrito [-n "name"] [-t <time>] [-p phone#] [-d] [-x] [FoodSpec [...]]

    -n  specify the name at the top of the order blank.
           This should be the name of the person who will pick
           up the order.  Default is current user, as defined in
           /etc/passwd.
    -t  specify the time at which you will pick up the order.
               time may be absolute 24 hour time or +delta. Default is +1:00.
               Note that La Costena specifies a 20 minute on small orders
           and 60 minute on large orders minimum notification time.
    -p  specify callback number in case La Costena has questions.
           default is as found in /usr/local/adobe/phones/adobe.phones.
           If your phone number is not specified, and burrito can't
           figure it out by looking in adobe.phones, an error will result,
           and the order will not be transmitted.
           syntaxes for phone numbers:
                    entry                interpretation
                (408)123-4567                (408)123-4567
                123-4567                (415)123-4567
                x4567                        (415)962-4567
            If you are entering the phone number on the command line
            (instead of using a macro) please note that the ()'s need
            to be escaped: \(408\)....
  The following two options are installed primarily to help me debug
  the code.  There is probably no reason for general use of these options,
  unless you have some perverse desire to see the guts of this thing
  in operation.
    -d  debug: print the file locally rather than faxing it.
    -x  xmit off: don't run the shell script at all.  PostScript file
        will be left in ~/.faxorder.ps

Up to six FoodSpecs can be specified:

FoodSpec::=<type>[options*][/<name>]
<type> ::= [b|t|m|q|T]
    (burrito, taco, mexico city, quesadilla, Taqitaco)
options:
    +g  gucamole
    +c  cheddar
    +cc cotija
    +cl cilantro
    +cm monterey
    +i"note" special instructions (e.g. black beans, no rice, etc.)
        NOTE: the "s need to be escaped if the shell sees them:
           +i\"note\"
    +j  whole jalepenos
    +jf fresh jalapenos
    +js sliced jalapenos
    +n:<i> <i> copies of this food item. (default = 1)
    +o  olives
    +s  medium salsa
    +sc sour cream
    +sf fire salsa
    +sh hot salsa
    +sm mild salsa
    +sv salsa verde
    +t  tomato
    +v:ca carne azada
    +v:cc chile colorado
    +v:cv chile verde
    +v:f  fiesta
    +v:l  lengua  (beef tongue)
    +v:m  mole    (chicken)
    +v:p  pastor
    +v:pb pollo borracho
    +v:rb rice and beans (default)
    +v:v  vegetarian
    +z:l  large
    +z:r  regular (default)
    +z:c  chico (small)

    -[option] cancels option.  Not valid for ":" options or +i.
       This is useful for modifying burrito macros specified in
        .costenarc file.

example:

burrito -time +:30 b+g+cc+jf+jf+sf+sc-sc+i"Black Beans"+n:2/Ross \
   b+v:cc+g+cm+sc+i"no rice"/Kathie

interpretation:
logged in user will pick up an order in 30 minutes.
  Ross wants two rice and bean (default) burritos with
    guacamole
    cotija
    fresh jalepenos (double)
    fire salsa
    no sour cream (cancelled)
    Black beans (comment)
  Kathie wants a Chile Colorado burrito with
    guacamole
    montery cheese
    sour cream
    no rice (comment)

You should keep your +i comments short, because there isn't much space on
the form for them, and the space is not used particularly well by my
PostScript program.  "Black beans, no rice" is about as long a
message as it can handle.

FILES:
        /etc/passwd
        /usr/local/adobe/phones/adobe.phones
        $HOME/.costenarc
        $HOME/.faxorder.ps

ENVIRONMENT VARIABLES:
        BURRITOPRINTER

BUGS:
   There's all kinds of ways to break this thing.  The lines in your
.costenarc file should be less than 1000 characters, or the stack will
get trashed.  The PostScript program does not make particularly good
use of the "Comments" section of the form (controlled by the "+i"
switch), and doesn't detect when it is writing things off the side of
the page.  I have no idea what will happen if the disk is full when
burrito tries to write the .faxorder.ps file, or if it can't open it
because the directory is protected, or whatever.  But if you are
reasonable in your expectations of the program, and don't try to break
it, I think you'll find that it's adequate.  For bug reports, see my
comments below about future enhancements.

FUTURE ENHANCEMENTS:
   This is the kind of thing that everybody will have suggestions on
how to improve.  I will duly record every feature enhancement request,
but I can't promise that I'll do any more than that.  I have no
intention whatsoever, for example, of writing a Graphical User
Interface for this thing, even though so many people think that it's a
natural.  As I have said (many times) before about this: "When I'm
done with the program, you are more than welcome to add any features
that you wish."  Well, I'm (essentially) done.  Anyone who wants the
source, it's in /user/thompson/public/burrito.c.  Go for it.



------- End of Forwarded Message


References

https://hn.algolia.com/?q=Ordering+burritos+from+my+SPARC

https://web.archive.org/web/20230203144713/http://www.mit.edu/afs.new/sipb/user/marthag/postscript/burritos

https://news.ycombinator.com/item?id=25897535

https://www.ietf.org/rfc/rfc1530.txt ( Malamud & Rose; Principles of Operation for the TPC.INT Subdomain: General Principles and Policy; October 1993 )


(unless otherwise marked) Copyright 2002-2014 YakPeople. All rights reserved.
(last modified 2023-06-17)       [Login]
(No back references.)