Some advice for people seeing this article in 2020: you might consider using a more modern microcontroller which supports DMA for new projects today. The ATMega328p which is used in Arduino Unos and Nanos is a reliable workhorse, but it's also slow and expensive compared to modern 32-bit MCUs.
Check out ESP8266/ESP32 or ARM Cortex-M cores. They're fast enough to make buttery-smooth animations, they have enough memory for thousands of LEDs, and DMA lets you set up a continuous data transfer to the LEDs which does not require CPU time. These days, there are plenty of ARM Cortex-M boards which work with the Arduino IDE while still being a hair cheaper than "Arduino" knock-offs, and ESP8266 boards let you control your patterns over WiFi.
If you're starting to learn about embedded development today, it's not a bad idea to start with more modern hardware; projects like MicroPython and Arduino support a wide variety of chips.
Also, if you use the Arduino IDE and appreciate their work, consider buying a genuine Arduino Nano. They cost a bit more than $3-5: