A mathematician by original intention and a software developer by final decision
I'm Dany Shaanan,
and I'm a software developer with a formal background in mathematics,
and an informal background in art and design.
I think that the combination of programming, math, and design is great,
and I try to show that in some of the things I do.
My open source code is hosted on
and comprises mainly of
frontend projects (like this site and those linked below),
and various snippets.
Instead of supplying a step-by-step guide for solving the Rubik's cube and spoiling the fun,
I have this chart that shows the three basic moves I use to solve it, and a little general explanation on how to use them.
First, you should be able to solve one full layer by trial and error.
Notice that you are not moving and placing one-color tiles,
but pieces of plastic with one, two, or three colors on each. (Lets call those 'cubies').
This means that while you solve the first face, you should also take care of the other sides of the cubies you place.
Once you've solved one full layer, turn it until it fits the centers of the adjacent faces, and go ahead and figure out the chart:
The first column on the left shows a move that helps with switching the two marked cubies without messing up anything in the lower layer, the one you have solved.
The second column is the first's mirror. With those two, you should be able to have two layers of the cube solved.
The third shows a move that helps with switching the two marked cubies on the top layer without messing up anything in the two lower layers.
The forth shows a move that helps with switching the three marked cubies and nothing else.
The fifth is the forth's mirror. By now, you should be able to place every cubie in its final place, even if not oriented correctly.
The right-most column shows how to turn two corners using a combination of the forth and fifth columns.
There are a few small details missing from this short explanation, but that's some of the challenge...