function description() {
    echo "function joke() { echo 'Knock knock. Race condition. Whos there?'; }" > .joke.cfg

    echo "When you call one script from another," \
         "the new script inherits the environment of the original script," \
         "just like running any other program in UNIX." \
         "Explaining what this means is out of the scope of this guide," \
         "but for the most part you can consider the environment to be" \
         "the current working directory, open file descriptors," \
         "and environment variables, which you can view using the export command."
    echo "When the script that you ran (or any other program, for that matter)" \
         "finishes executing, its environment is discarded." \
         "This means, for example, you can't simply run a script to change" \
         "your current working directory for you."
    echo ""
    echo -e "What you can do is to source the script," \
            "instead of running it as a child." \
            "You can do this using the '${YELLOW}source${NORMAL}'" \
            "(or '${YELLOW}.${NORMAL}') command: " \
    echo -e "  ${YELLOW}\$ source ./myscript${NORMAL}"
    echo ""
    echo -e "${BLUE}# I'm sorry, but there is not much fun to be had with sourcing." \
            "So instead of a cool task you get a joke placed inside .joke.cfg." \
            "Source it and run the joke!${NORMAL}"
}

function hint() {
    true
}

function validate() {
    if [ "$*" == "joke" ] && [ "$BASHTUTOR_R" == 0 ]; then
        return 1
    fi
}
