Knowledge exists not only in our minds but in the world around us. The field of tangible user interfaces aims to release knowledge inside computers into the physical world, and to extend our everyday world with graspable representations of knowledge as easily manipulated as everyday objects. Tangible programming provides a mechanism for directly manipulating procedures, configurations, and cybernetic behavior with our hands. We have created a set of electronic, stackable LEGO bricks which reveal their order and identity. We are using these bricks as a programming interface to a number of computational environments, including the behavior of children's toy cars and trains, microwave ovens (to specify the execution of a recipe), and music synthesizers.