

GitHub Zen API - bencevans
https://api.github.com/zen

======
packetbeats
After curl-ing for a while in a loop, and sort -u:

    
    
      Anything added dilutes everything else.
      Approachable is better than simple.
      Avoid administrative distraction.
      Design for failure.
      Encourage flow.
      Favor focus over features.
      Half measures are as bad as nothing at all.
      It's not fully shipped until it's fast.
      Keep it logically awesome.
      Mind your words, they are important.
      Non-blocking is better than blocking.
      Practicality beats purity.
      Responsive is better than fast.
      Speak like a human.

~~~
peterjmag
Got the same list after about 100 authenticated requests:
[https://gist.github.com/peterjmag/6551440](https://gist.github.com/peterjmag/6551440)

~~~
jlgaddis
You could turn these into a data file for fortune[0].

I currently use the "Cluefire and Damnation"[1] fortunes and pipe it into
ponysay[2] at login.

[0]:
[https://en.wikipedia.org/wiki/Fortune_%28Unix%29](https://en.wikipedia.org/wiki/Fortune_%28Unix%29)

[1]: [http://www.cluefire.net/](http://www.cluefire.net/)

[2]: [https://github.com/erkin/ponysay/](https://github.com/erkin/ponysay/)

------
bryogenic
Great fun with cowsay

    
    
      $ curl https://api.github.com/zen -s | cowsay
    
       _____________________
      < Speak like a human. >
       --------------------
            \   ^__^
             \  (oo)\_______
                (__)\       )\/\
                    ||----w |
                    ||     ||

~~~
gizzlon
Have you seen that it comes with other examples?

    
    
         ls /usr/share/cowsay | xargs -n1 -I{} cowsay -f {} foo | less
    

Some of them are.. well..

"Cow Operation"? WTF

~~~
seiji
Best ones: vomit cow and Kosh.

Kosh works exceptionally well with tiny zen sayings.

    
    
        ______________________________________ 
       < Mind your words, they are important. >
        -------------------------------------- 
           \
            \
             \
         ___       _____     ___
        /   \     /    /|   /   \
       |     |   /    / |  |     |
       |     |  /____/  |  |     |     
       |     |  |    |  |  |     |
       |     |  | {} | /   |     |
       |     |  |____|/    |     |
       |     |    |==|     |     |
       |      \___________/      |
       |                         |
       |                         |

~~~
angersock
whoa whoa whoa there is a command-line vorlon available? what?

~~~
jlgaddis

        $ ls /usr/share/cows/
        beavis.zen.cow  dragon-and-cow.cow     hellokitty.cow  moofasa.cow    sodomized.cow    turtle.cow
        bong.cow        dragon.cow             kiss.cow        moose.cow      stegosaurus.cow  tux.cow
        bud-frogs.cow   elephant.cow           kitty.cow       mutilated.cow  stimpy.cow       udder.cow
        bunny.cow       elephant-in-snake.cow  koala.cow       ren.cow        supermilker.cow  vader.cow
        cheese.cow      eyes.cow               kosh.cow        satanic.cow    surgery.cow      vader-koala.cow
        cower.cow       flaming-sheep.cow      luke-koala.cow  sheep.cow      telebears.cow    www.cow
        daemon.cow      ghostbusters.cow       meow.cow        skeleton.cow   three-eyes.cow
        default.cow     head-in.cow            milk.cow        small.cow      turkey.cow

~~~
angersock
On Debian, how do I get all these magnificent cows?

~~~
joshuacc
Once you have cowsay installed, you can invoke them with cowsay -f.

For instance: cowsay -f kosh "Understanding is a three-edged sword."

------
brbcoding
Never realized there was an emojis api too...
[https://api.github.com/emojis](https://api.github.com/emojis)

------
gizzlon
Surprisingly profound: _Anything added dilutes everything else_

~~~
nfzufxjlidp
Of course this is false if you add more of the same. ;)

~~~
IceyEC
except that it still DOES dilute everything except the thing that was added

~~~
jxfgdxjvmhf
no.

------
jlgaddis

        $ grep bofh .bash_aliases 
        alias bofh="nc bofh.jeffballard.us 666 | tail -n 1 | sed -e 's/Your excuse is: //'"
    
        $ bofh
        The air conditioning water supply pipe ruptured over the machine room

------
RobAley
The comments below demonstrate that, while cute, virtually all of the
statements it comes up with are entirely subjective, quite superficial,
totally ambiguous, and useless for most things.

Great conversation starter though!

------
burgeralarm
This reminds me of a small project I tossed together:

[http://git-fortune.bclune.org](http://git-fortune.bclune.org)

It grabs a random commit message from a github repo and displays it. By
default, it pulls from a repo containing the original debian fortunes as
commit messages. But you can point it to other repos like this:

[http://git-fortune.bclune.org/twbs/bootstrap](http://git-
fortune.bclune.org/twbs/bootstrap)

Inspired by What the Commit? and /usr/bin/fortune.

------
nekgrim
"Non-blocking is better than blocking."

You don't say.

~~~
technoweenie
FWIW this is not a statement about programming (node.js vs ruby or whatever)

~~~
VeejayRampay
I wonder who would naturally equate blocking to Ruby specifically. Or non-
blocking to Node.js for that matter.

Is Node.js VS Ruby even a thing?

~~~
seiji
They're in constant battle for the hipster programmer crowd. Ruby is too old
for "I used it before it was cool," but node is kinda still there.

~~~
technoweenie
Oh right! I meant to say Go vs Node.js. Only one walks away.

~~~
seiji
Go has a weird subset of admin/programmer people who haven't discovered erlang
and think they are too good for C.

Node has a weird subset of web people who haven't discovered erlang and think
they are too good for deploying a message/job dispatch queue with python or
ruby.

If you want to be _really_ bored with all these "modern" programming
advancements, learn erlang and lisp and smalltalk. Everything is just
reinventing their aspects over and over and over again targeted to audiences
as "new new new!"

------
arjunbajaj
$ npm install github-zens -g

$ zen

A Node Module which prints the zens (offline list).
[https://github.com/arjunbajaj/github-
zens](https://github.com/arjunbajaj/github-zens)

------
talles
Is there anything related to the zen of python?

I got "practicality beats purity", that is in it ("Special cases aren't
special enough to break the rules. Although practicality beats purity.").

------
Void_
If you wanna read short messages from which you won't benefit in any way,
might as well try:

[http://whatthecommit.com](http://whatthecommit.com)

------
andmarios
I had made something like that with fortune and php many-many years ago.

I wonder if GitHub has a static list of quotes (like fortune does) or they
generate them dynamically.

------
ismaelc
[https://www.mashape.com/community/github-
zen#!documentation](https://www.mashape.com/community/github-
zen#!documentation)

------
leddt
Is this used anywhere at all, or is it just an easter egg ?

------
cliveowen
"Responsive is better than fast."

I don't agree with this.

~~~
btown
I assume it's not a reference to responsive ("self-resizing") HTML, but rather
things like user input lag (a common problem in apps.) Better to have a zero-
lag async calculation than a nominally faster but UI-blocking synchronous
calculation or request.

~~~
derefr
I think it's actually meant to encourage putting up things like spinners, page
transitions, etc. Make the user feel that something is happening, and they
won't feel slowed down.

~~~
manojlds
But that doesn't mean it is better than fast. I would say "if not fast, be
responsive"

~~~
ihsw
I think the message is this: fast is an impossible standard to meet since
there will always be inconsistent user experiences, so aim to be responsive
before being fast.

------
odiroot
Check response headers. Pretty strict rate limiting.

------
taf2
it just says "design for failure" ?

[edit] okay i get it refreshing gives another message etc. etc.

