Thoughts on P2P systems, distributed computing, and software development. Lessons learned from building real systems.