My family know I like puzzles so they gave me this one recently: Fork me on Github The code for this along with a Jupyter notebook for it is on github. When you take it out the box it looks like this: And very soon after it looked like this (which explains why I've christened the puzzle "the snake puzzle"): The way it works is that there is a piece of elastic running through each block.