A demonstration showing how easy it can be to drive WS2812 NeoPixels.
The code sends bits and bytes directly to the LED strip without allocating memory for them, which allows to control hundreds of pixels with e.g. a small ATtiny85. The Adafruit NeoPixel library allocates 4 bytes per LED, and an ATtiny85 can only control a bit more than 50 pixels.
So why use the Adafruit NeoPixel library at all? There are good reasons for both.
Fast means less than 6 µs per pixel. This allows for some arithmetic operations, but a sine is already far too slow.
More in-depth info at: NeoPixels Revealed: How to (not need to) generate precisely timed signals