USENIX Technical Session Wrap-Up
by Ellen Siever06/29/2001
Today (June 28) I attended the first day of technical sessions at the USENIX Annual Technical Conference in Boston. There are over 1,400 attendees and three tracks: General, Invited Talks, and Freenix. I attended the keynote, one of the Invited Talks, and one of the Freenix sessions.
Before the keynote, Andrew Hume, vice president of USENIX, presented the Lifetime Achievement Award to the GNU project. He asked everyone in the room who had ever contributed to GNU in any way to stand and told them that the award was for them. Andrew also presented the Software Tools User Group (STUG) Award to the Kerberos team for the Kerberos Network Authentication system.
Daniel Frye, director of the IBM Linux Technology Center, gave the keynote. The theme of the talk was Linux as a disruptive technology, but the major motif was that IBM got into the Linux business (to the tune of $1 billion this year) not because of the technology but "because it's good business." He cited the ingredients for a disruptive technology as being a desire to work on the project, an open culture, and the existence of the necessary skills. Interestingly, he repeatedly emphasized that a technology can be disruptive without being open source; that an open culture is not the same as open source; and... well, you get the idea.
Daniel also told us that IBM was making three announcements today: version 1.0 of the Journaled File System (JFS); version 1.0 of its next-generation POSIX multithreading software; and a joint announcement with SGI of a customer workload test project.
After the keynote, I went to the first of the Invited Talks. Sandeep Singhal, chief technology officer of ReefEdge, Inc., talked about WAP (Wireless Application Protocol) and the mobile Internet. He described WAP as a set of industry standards for connecting mobile devices to the Internet and the Web. The standards include both protocols and content formats based on previously existing standards, with extensions to support the unique features required for mobile devices. Such features include push technology and the ability to merge voice and data. WAP is layered; from top to bottom the layers include application services, content formats, transport and security protocols, and bearer network adaptations. (For more information about WAP, see the WAP Forum home page.)
Sandeep said that the mobile Internet has had some successes. Service and devices are available, and there are an estimated 5-million-plus pages of WAP-enabled Web content available. In spite of that, user adoption of the technology has been slow. Some of the reasons he gave are the limited bandwidth of the cellular network, high-network latency, the small display size and processing power of the hardware, poor graphics capability, and the fact that every device is different. He also mentioned that the way usage is metered and charged makes users very aware of how much any download is going to cost, so they ask themselves if they really need that huge Web page that will take time to download when they're being charged for every second of connection time.
The solution requires a combination of the right technology, content, business model, price, and user experience, which doesn't exist yet (except possibly in Japan, where mobile Internet devices have become popular). Sandeep concluded with the proposition that in-building wireless solutions are likely to be the new testing ground for the mobile network.
Next I went to a scripting session in the Freenix track. The session was moderated by Erez Zadok from SUNY at Stony Brook and consisted of three papers. First, continuing the mobile device theme, Brian Ward, from the University of Chicago, presented a scripting environment he's been developing for mobile devices based on dynamic-content generation. His environment includes a language called HHL (Hand Held Language) and a VL runtime environment (Brian says VL doesn't stand for anything). The source code includes an HHL compiler, the platform-independent core of VL, and a platform-specific front-end for each target system. The system currently runs on Unix and the Palm, but can be ported to other devices by writing new front-ends.
The second paper, "Nickle: Language Principles and Pragmatics," won a best paper award. It was written by Bart Massey of Portland State University and Keith Packard of SuSE, and was presented by Bart. Nickle was written as an application language for supporting calculation, as a scratchpad for experimenting with algorithms and notation, and for rapid prototyping. One of the interesting aspects of Bart's talk was a set of "rules" for when it's OK to create your own language rather than using an existing one. Basically, he says, don't compete needlessly, don't invent needlessly, don't let it become a lifestyle, and don't release too soon. Some other interesting points Bart made are that there is no separation between the programming language and the expression language, and that Nickle has no object-oriented features, no text-processing features, and no intention of adding either. Thus, it doesn't compete with languages like Perl and awk.
O'Reilly has recently updated two of its best-selling Perl and awk books: Learning Perl, 3rd Edition and Effective awk Programming, 3rd Edition.
Finally, Luke Mewburn of Wasabi Systems and a member of the NetBSD core team presented the design and implementation of the NetBSD rc.d system, which replaces the older /etc/rc startup mechanism. At first, I couldn't see how this topic fit into a scripting session. It does, though, because scripts are used to manage the startup of the various system services. Rather than using a single script to start all services, with the sequencing dependent on the lexigraphical ordering of the filenames, the new system uses a separate script for each service. This makes it easier to manage individual services and to insert third-party scripts.
After describing how the new system works, Luke finished up by saying that the entire process was contentious and difficult to implement. Commenting that because a group of users are very vocal, it's important to remember that they aren't necessarily a majority; he said that in the end consensus isn't necessarily achievable and sometimes a core team needs to intervene to simply get the job done.
Ellen Siever is an associate editor at O'Reilly, specializing in open source topics. She has coauthored Linux in a Nutshell, 3rd Edition, and Perl in a Nutshell.