When it comes to programming a swarm of robots, the question has always been do you program from the top down or the bottom up? According to the Technology Review, you no longer have to decide between programming each robot individually or programming the flock as if it were a single entity. Carlo Pinciroli and a collection of his friends and colleagues at the Ecole Polytechnique de Montreal have come up with Buzz, a programming language that allows you to combine both kinds of commands into a single language. It allows you to tweak the two kinds of command structures to any level of detail you feel is required, and it scales easily to control any size of swarm. If that weren’t enough, they have started building and collecting libraries of program modules of common swarming behavior that researchers and hobbyists can drop into their own programming projects. That means for the first time swarm programmers can actually share their work in a common environment, and not have to be constantly reinventing the wheel someone else already solved.