The core of the Lockraker application is basically just this: for (x=1; x<=20; x++) { for (y=20; y>0; y--) { dialClear() dialForwardTo(x) dialReverseTo(Y) for (z=1; z<=20; z++) { dialForwardTo(Z) pullClasp() if (isOpen()) { print x, y, z exit } pushClasp() } } } The bulk of the program is the graphics showing current status, ETA calculations, the menu-driven UI for preferences, the diagnostic screen, and other userland fluff.