Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

As we know, apt-get has Super Cow Powers and aptitude does not:

$ apt-get --help | grep -i cow
                       This APT has Super Cow Powers.
$ aptitude --help | grep -i cow
                  This aptitude does not have Super Cow Powers.

and of course, APT has an Easter egg to go with it:

$ apt-get moo
         (__) 
         (oo) 
   /------\/ 
  / |    ||   
 *  /\---/\ 
    ~~   ~~   
...."Have you mooed today?"...

I'm curious, is there are story behind this Easter egg? What's its history? I know it's been in apt for a long time—from a quick grep of apt sources in old Debian releases, it gained it sometime between Debian 2.2 (potato; apt 0.3.19) and Debian 3.0 (woody; apt 0.5.4).

edit: According to a message from Jacob Kuntz on the Debian-Devel mailing list, it was in apt 0.5.0 in Feb. 2001. A message from Matt Zimmerman on the Debian bug tracker makes it sound like 0.5.0 is when it was added.

share|improve this question
3  
@derobert - 11 ups, it's like taking candy from babes with this softball Q 8-) –  slm Sep 24 '13 at 17:37
3  
I found the commit that added the "This APT has Super Cow Powers" line. Unfortunately it seems to be a merge, and I haven't found the repo yet where this originally came from. –  Martin von Wittich Sep 24 '13 at 23:13
1  
@slm It'll be even more scary if this question hits 100... –  Michael Kjörling Sep 25 '13 at 12:11
2  
@slm: Apparently a lot more people care about Cows than we suspected. –  Faheem Mitha Sep 25 '13 at 15:38
2  
@derobert I sent an e-mail to Jason Gunthorpe about it, don't now if he'll bother giving some light about the cows :) –  woliveirajr Sep 25 '13 at 18:36
show 10 more comments

5 Answers 5

up vote 73 down vote accepted

Apt started its life around 1997 and entered Debian officially around 1999. During its early days, Jason Gunthorpe was its main maintainer/developer. Well, apparently Jason liked cows. I don't know if he still does. :-) Anyway, I think the apt-get moo thing was added by him as a joke. The corresponding aptitude easter eggs (see below) were added later by Daniel Burrows as a homage, I think.

If there is more to the story, Jason is probably the person to ask. He has (likely in response to this question) written a post on Google+. A small bit of it:

Once a long time ago a developer was known for announcing his presence on IRC with a simple, to the point 'Moo'. As with cows in pasture others would often Moo back in greeting. This led to a certain range of cow based jokes.

Also:

$ aptitude moo
There are no Easter Eggs in this program.
$ aptitude -v moo
There really are no Easter Eggs in this program.
$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
$ aptitude -vvv moo
Stop it!
$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
$ aptitude -vvvvv moo
All right, you win.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
$ aptitude -vvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course.
share|improve this answer
1  
Perhaps he was influenced by Gary Larson comics? I don't know... –  Keith Sep 24 '13 at 16:30
45  
The aptitude easter egg refers to the begin of Antoine de Saint-Exupéry's novella "Little prince". –  jofel Sep 24 '13 at 16:38
3  
@jofel Maybe it is. Or maybe it is just a generic elephant being eaten by a snake. Only Daniel knows. –  Faheem Mitha Sep 24 '13 at 16:40
6  
Why should any one be frightened by a hat? –  hexparrot Sep 24 '13 at 22:10
2  
Jason Gunthorpe has the "super cow powers" even in his google plus: plus.google.com/113373031907493914258/about –  woliveirajr Sep 25 '13 at 12:55
show 7 more comments

I always assumed that this feature derived from cowsay & cowthink. See the Wikipedia article on Cowsay. I've been using these for years on Fedora (I believe they predate 1999) and were used as a way to display fortunes in a more interesting way.

$ fortune | cowsay
 ________________________________________ 
/ It doesn't matter what you do, it only \
| matters what you say you've done and   |
\ what you're going to do.               /
 ---------------------------------------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

You can also use either of these to pass your own strings:

$ cowthink 'I love Fedora, Debian? Not so much!'
 _____________________________________ 
( I love Fedora, Debian? Not so much! )
 ------------------------------------- 
        o   ^__^
         o  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

It also includes the ablility to use altnerate .cow files so you can swap other ones in, inplace of the cow, suchas tux.

$ cowthink -f tux 'mmmmm....Fedora!'
 __________________ 
( mmmmm....Fedora! )
 ------------------ 
   o
    o
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/
share|improve this answer
2  
Holy cow! (No pun intended...) Where do I find the "cowthink" binary? I'm not able to find it in CentOS 6.x. :/ –  Suman Sep 24 '13 at 18:12
1  
EL6 - pkgs.org/centos-6-rhel-6/epel-i386/… –  slm Sep 24 '13 at 18:15
14  
You know, cowsay is an excellent program for getting people, especially children, introduced to command lines. It takes in piped input, and has options for customizing the cow, so users can practice all these kinds of conventions. Oh, and .cow files which are here-docs with substituted variables. –  Kaz Sep 24 '13 at 21:44
5  
And it pipes well with -n. E.g., apt-get moo | cowthink -n -e"♥♥" | cowthink -n | cowthink -nt –  dr jimbob Sep 25 '13 at 4:30
2  
LinuxMint used to have this run fortunes by default every time you opened a new terminal. It was funny the first time, cute the second and extremely annoying from then on. They eventually removed it :). –  terdon Sep 25 '13 at 15:15
add comment

I believe this comes a long way, from the "pre-http" era. Either Usenet, or even BBSs. Maybe as early as around 1987?...

I remember that there was tons of ascii-art circulating in the early days of Usenet. And IIRC in one of them it started to feature a cow, then some other posts featured more cows, then a post was entirely dedicated to several cows ascii-arts. I believe this easter-egg comes from someone reading those at that time...

I did a few seaches and found out a geocities (!!) page talking about it:

http://www.geocities.com/spunk1111/history.htm

That page states (excerpt:)

Besides digrams and charts, probably the earliest ASCII art from the Internet
are the "Spy at the Wall" collection and the "Silly Cows" collection.
David Bader, an ASCII art enthusiast and editor of the 'Cows",  recently sent
me the COMPLETE, UNCUT, ORIGINAL, and OFFICIAL Silly Cow collection!
These cows can be seen all over the Internet and are truly considered to be
"classic" ASCII art.. 

with "Silly cows" linking to : http://www.geocities.com/spunk1111/cows.htm

Of course a true reference lies in usenet archives, but I don't have much time yet to do proper research (I may update this post in the near future)

At some point there was even a alt.cows.moo.moo.moo newsgroup created (probably quite a bit after cows started to invade ascii arts? But maybe before, I lack time to research properly) (see for example : http://www.418-teapot.com/topics/usenet/ )

To prove how popular it was in Usenet, the first question mentionned on the Internet Oracle wikipedia page: http://en.wikipedia.org/wiki/Internet_Oracle is about cow(s).

share|improve this answer
add comment

If Apt started life 1997 and entered production 1999, isn't that "Super Cow" coming from the Cow and Chicken cartoon running exactly that time frame?

share|improve this answer
1  
That's a good guess, but it's just speculation without some confirmation from one of apt's authors, CVS logs, etc. –  derobert Sep 24 '13 at 22:53
    
Yes. I am speculating. But I'd say the unusual phrase and the timeframe makes a compelling case. –  chx Sep 25 '13 at 6:16
4  
maybe this best fits as a comment –  Geeo Sep 25 '13 at 10:18
add comment

Hmm I always assumed (perhaps wrongly, and they both stem from the same source) that it had something to do with the then insanely popular RC5 Challenge which involved Distributed.net's client: http://www.distributed.net/RC5 Which coincidentally was in 1997 as well...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.