bash generate random words

Recently, I needed some random words for test data so I used bash to generate them:

# requires bash 4, see

# load up the dictionary
mapfile dict < /usr/share/dict/words

# count lines in dicitonary
WC=$(cat -n /usr/share/dict/words | wc -l)

# default to 50 words unless user passes param
if [ $# -eq 1 ]; then
if echo "$1" | grep -qE ^\-?[0-9]+$; then

# create file for output
rm -f random_words.txt && touch random_words.txt

# pick random words
for i in `seq 1 $NUM_WORDS`; do
# generate a single number within WC range using jot
RAND_INDEX=$(jot -r 1 1 $WC)
echo ${dict[$RAND_INDEX]} >> random_words.txt

how to make a unicorn

Managment: We need a unicorn, how long will it take to make one?

Artist: I’ve never drawn a unicorn before, I…

Management: Nevermind that, I need a number. Give me a breakdown of how long it will take to draw each body part.

Artist: Uhh…okay. 2 days for the head, 1 day for the body, 0.25 days for each of the limbs, I guess.

Management: Okay! I have you scheduled to draw four limbs before end of day. Tomorrow you can draw the head and finish off the week attaching the body to both.

Later that week…


Management: Shit, we forgot the tail. We should fix the alignment issues between the head and body but we’ve run out of time. Meh. Ship it.