To solve an interesting problem, start by finding a problem that is interesting to you.
Eric S. RaymondThe combination of threads, remote-procedure-call interfaces, and heavyweight object-oriented design is especially dangerous... if you are ever invited onto a project that is supposed to feature all three, fleeing in terror might well be an appropriate reaction.
Eric S. Raymond