341

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.

11
  • 5
    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. Commented Sep 24, 2013 at 23:13
  • 4
    @slm: Apparently a lot more people care about Cows than we suspected. Commented Sep 25, 2013 at 15:38
  • 2
    @OlivierDulac Cool, the cow mystery must be solved! Amazingly no one has bothered to ask any of the Debian folks yet...
    – derobert
    Commented Sep 25, 2013 at 15:55
  • 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 :) Commented Sep 25, 2013 at 18:36
  • 1
    Some guys have all the luck... I'll be lucky if any question I write or answer gets above 20. Love the history lesson
    – eyoung100
    Commented Aug 11, 2015 at 22:20

5 Answers 5

265

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.
14
  • 2
    Perhaps he was influenced by Gary Larson comics? I don't know...
    – Keith
    Commented Sep 24, 2013 at 16:30
  • 128
    The aptitude easter egg refers to the begin of Antoine de Saint-Exupéry's novella "Little prince".
    – jofel
    Commented Sep 24, 2013 at 16:38
  • 16
    @jofel Maybe it is. Or maybe it is just a generic elephant being eaten by a snake. Only Daniel knows. Commented Sep 24, 2013 at 16:40
  • 36
    Why should any one be frightened by a hat?
    – hexparrot
    Commented Sep 24, 2013 at 22:10
  • 4
    Jason Gunthorpe has the "super cow powers" even in his google plus: plus.google.com/113373031907493914258/about Commented Sep 25, 2013 at 12:55
97

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 ability to use alternate .cow files so you can swap other ones in, in place of the cow, such as tux.

$ cowthink -f tux 'mmmmm....Fedora!'
 __________________ 
( mmmmm....Fedora! )
 ------------------ 
   o
    o
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/
15
  • 16
    Holy cow! (No pun intended...) Where do I find the "cowthink" binary? I'm not able to find it in CentOS 6.x. :/
    – Suman
    Commented Sep 24, 2013 at 18:12
  • 49
    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
    Commented Sep 24, 2013 at 21:44
  • 15
    And it pipes well with -n. E.g., apt-get moo | cowthink -n -e"♥♥" | cowthink -n | cowthink -nt
    – dr jimbob
    Commented Sep 25, 2013 at 4:30
  • 17
    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
    Commented Sep 25, 2013 at 15:15
  • 2
    I've amended that now to add | lolcat at the end. @terdon
    – TRiG
    Commented Feb 4, 2020 at 14:37
27

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. 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 (also available on the Internet Wayback Machine at : https://web.archive.org/web/20131225210911/http://www.geocities.com/spunk1111/cows.htm , or go rather to https://web.archive.org/web/*/http://www.geocities.com/spunk1111/cows.htm and click in the agenda below on the day of the Snapshot you want to see...)

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).

3
  • 7
    So the usenet group you mentioned might be called more of a moosgroup?
    – Chris
    Commented Jan 13, 2015 at 2:25
  • Unfortunately, those geocities links are gone now. Any chance we could get archived versions? (They point to some random company's homepage. Go figure Yahoo would steal that domain to try to make some cash)
    – anon
    Commented Jan 13, 2016 at 17:14
  • @QPaysTaxes thx for the update, I dig it via the Internet Wayback Machine and I will put some erxerpt in my answer as well... Commented Jan 13, 2016 at 17:37
8

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?

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

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...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .