I thought something looked fishy about this during the stream. Is there a category for future bugs?

`random`

will never be 0. That means the first tip in your array will never display.

Try it:

**Gives 1, 2, 3 as possible values (what your code is doing)**

`Math.ceil(Math.random() * (['a','b','c','d'].length - 1));`

**Gives 0, 1, 2, 3 as possible values (use floor and remove the -1)**

`Math.floor(Math.random() * (['a','b','c','d'].length));`

Merry Christmas, @Tom!