The first session started with the traditional announcements from the Program Chair, Christopher Small:
Chris then announced the best paper awards:
Kirk McKusick, chair of the Freenix committee, spoke about that track. They received 56 refereed paper submissions and accepted 29 of them. Most of the papers were open-source-related. Because the Freenix track was run with the same rigor as the refereed papers track, they also presented awards:
Andrew Hume, immediate past president of the USENIX Association (and now Vice President) announced the two annual USENIX awards:
Bill Joy presented the keynote address, his visions of the future of technology.
Based on his 25 years of experience Bill forecast the next 25-30 years in computing. But he started by looking back at that history: the eventual acceptance of software as research in computer science, the integration of networks and the operating system, and the growth of portability in computing. More and more we;ll see standards defined in English, perhaps passing code or agents instead. He also sees the continued need for maintaining compatibility with open protocols and specifications, noting that protocols often outlive the hardware systems for which they were designed.
Looking forward, Bill believes that Moore;s Law will continue. Based in part on molecular electronics and improved algorithms he expects to see up to a 1012 improvement over 30 years. The question of synchronization between different geographies becomes hard when you can store 64 TB in a device the size of your ballpoint pen. We need to improve resilience and autonomy for the administration of these devices to be possible. Further, he sees six webs of organization of content: near, the web of today, used from a desktop; far, entertainment, used from your couch; here, the devices on you, like pagers and cell phones and PDAs; and weird, such as voice-based computing for tasks like driving your car and asking for directions. These four would be the user-visible webs; the remaining would be e-business, for business-to-business computing, and pervasive computing, such as Java and XML. Finally, reliability and scalability will become even more important. Not only will we need hardware fault tolerance but also software fault tolerance . In addition we need to work towards a distributed concensus model so there's no one system in charge of a decision in case that system is damaged. This leads into the concepts of byzantine fault tolerance and the genetic diversity of modular code. We also need to look into the fault tolerance of the user; for example, have the computer assist the user whos forgotten her password.