Scroll down
With enough practice, any interface is intuitive.
Beware of bugs in the above code; I have only proved it correct, not tried it.
Programming is like sex: one mistake and you have to support it for the rest of your life.
One person's data is another person's program.
Hindsight is an exact science.
"The Three Laws of TDD: 1) You may not write production code until you have written a failing unit test. 2) You may not write more of a unit test than is sufficient to fail, and not compiling is failing. 3) You may not write more production code than is sufficient to pass the currently failing test."
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
You never finish a program, you just stop working on it.
Proverb
Never trust a programmer in a suit.