-    # bad way
-    pixels = zip(*[iter(buf)]*3)
-    for i, pixel in enumerate(pixels):
-        #print(pixel)
-        ws.ws2811_led_set(channel, i, pixel[0]<<16 | pixel[1] << 8 | pixel[2])
+    for i in range(len(buf) // 3):
+        r = buf[3*i]
+        g = buf[3*i+1]
+        b = buf[3*i+2]
+        pixel = (r << 16) | (g << 8) | b
+        ws.ws2811_led_set(channel, i, pixel)