|
Web Coding in Romulan? Open Source at the Worldcon
Live from Chicago: It's Worldcon!What brings together Linux, FreeBSD, Macintosh, rocket scientists, authors, and the best technology of the United Federation of Planets? Answer: The World Science Fiction Convention, better known to its five thousand attendees as Worldcon. What started out over sixty years ago with a couple hundred people has grown into an event that fills one or several large hotels and attracts some of the biggest names in science fiction and fantasy. This year's Worldcon, number fifty-eight if you're counting, was held in downtown Chicago from August 31 to September 4. Because of its location, this year's Worldcon is also called Chicon. For those who have never attended a science fiction (SF) convention, or "con" as they are called for short, Worldcon is about as large as they get. There are literally hundreds of panel discussions, round tables, speeches, and classes on topics ranging from SF television series to costuming to orbital mechanics and space law. Walking the halls of the hotel, all day and all night, are thousands of SF fans and the authors who wrote the books and screenplays that make up the vast body of SF literature. Some of the fans are in costumes ranging from superb re-creations of movie and TV characters to ridiculous parodies of these and other characters. Other costumes resemble nothing ever seen in the mass media, instead expressing the pure creativity and vision of the costumer. Most attendees, though, are in casual street clothes. As you might expect, and many readers will know firsthand, there is a tremendous amount of crossover between SF fandom and the Linux/Open Source community. The traditional "Geek Codes," often seen in taglines in online Linux hangouts, even contain standard fields for expressing one's love (or hatred) for Star Trek and other SF shows. People who are interested in hacking code are often interested in general science and technology, and this frequently translates to an interest in fiction about those topics. Voila! Another geek becomes an SF fan. Or, for some of us, an early interest in reading science fiction led to a career in engineering, and another SF fan becomes a computer geek. Either way, the crossover correlation is undeniable and longstanding. Even Eric S. Raymond, author of The Cathedral and the Bazaar, can be found wandering the halls of the Chicon site! This year, though, Worldcon touched the Linux and Open Source movement even more closely than in years past, as Worldcon presented its first onsite web server. "Onsite" means that the entire server and development staff are right here at Worldcon, posting news and site updates almost as they happen. Worldcon and the World Science Fiction Society (WSFS), organizer of Worldcon, have had web presence for years but this is the first time for content delivery from the convention itself, in near-realtime. Linux and other Open Source software are fundamental to Worldcon's onsite web presence, and Erik V. Olson heads the team that brought the onsite portion together. Olson is an energetic, vigorous man of 34 who has a long history with Linux and an even longer history with SF conventions such as Worldcon. He started attending conventions in 1985 and was a Gofer (general-purpose volunteer helper) for Worldcon the next year. Soon he was working on organizing committees and he co-chaired Stellarcon in his home city of Greensboro, North Carolina. He took a long break from running conventions during the 1990s but returned in a big way by volunteering to assist webmaster Chaz Boston Baden with the 2000 Worldcon site, http://www.chicon.org/. When Olson suggested bringing an onsite aspect to the Chicon, Baden approved the idea as long as Olson was willing to take on the job. The result, http://onsite.chicon.org, has been highly successful, and Erik Olson credits the work of Open Source developers, who he says made his job much easier. When looking for the right tools for building the onsite Chicon web server, Olson took a pragmatic approach that has served well since he began learning computers on his first Radio Shack TRS-80 Model I. Calling himself a proponent of Open Source but "not a zealot," Olson says he simply picked the best tools for the job--and those tools happened to be Linux, PHP, Apache, and MySQL. Linux was an obvious choice for Erik Olson, who has used it off-and-on since "version 0.99 pre-something." He says that around the 2.0 kernels Linux "went from being an interesting toy to being a useful tool." Now he is happy to trust it with the demands of a production web environment. About Apache, Olson positively raves. "I'm extraordinarily thrilled," he says, adding that he had previously used both the CERN httpd server and Microsoft Internet Information Server. The latter did not impress him, and he says that configuring its security was much more cumbersome than setting up Apache security. For developing the back-end code, Olson selected PHP as the language and MySQL as the database. PHP had just gone "gold" with version 4.0, and he was lured to this new and relatively unproven version by some of its new features. He says he broke his own rule of never running x.0 releases, but that he has not been disappointed. PHP was his choice because of its rich library of standard functions, especially for database access and date/time formatting and conversion. As Olson puts it, the PHP and MySQL development teams "had already done all the hard work" of building a web database. Olson says he wrote less than 500 lines of code for the entire system. Originally, the program scheduler, Steven H Silver, sent to Erik Olson a Microsoft Word document containing a working iteration of the schedule. It was a file of considerable size, since over one thousand individual events and panels make up Chicon's programming. Olson couldn't use the file as it was, but used a Windows-based programmers' editor to do some preliminary cleanup. The rest of the data conversion process involved Microsoft Excel as well as custom scripts for vi and ed under Linux. As is his custom, Olson used both closed-source and Open Source tools in whatever mix was appropriate to accomplish the task at hand. Finally the data was available in a comma-separated text file, and it was easily imported into MySQL. It took relatively little effort, says Olson, to make simple query pages to allow Chicon attendees to browse and query the schedule online. He says that one of the most difficult tasks was deciding what queries not to include on the web page, to keep it easy for all levels of user to find what they needed. Comments from site visitors guided many changes and improvements to the query design and the overall navigation of the site, and Olson is proud that they had no complaints from visitors who couldn't find what they needed -- it was simply a matter of making it easier to do so.
Keeping it Dirt-Simple with PHPEventually, the scheduling team approached Olson to ask if they could simply use the web to enter their changes into the schedule, rather than giving them to Olson to enter. His reply was that the system was already done, and that he'd been using it for some time. Soon the team was entering live data directly onto the web site, saving time and reducing the possibility of errors. In addition to its easy interface for developers, Olson was happy to see that his PHP code's output was purely HTML 2.0 compatible, with no requirement for browser extensions or plugins. "By keeping it dirt-simple," he asserts, "I know that [any browser] from Lynx to the latest Mozilla beta can access it. And PHP had the library functions that I needed." The site shows this keep-it-simple approach with its detailed content and almost no graphics or ornamentation. During the convention, about ten staff members access the system for updates. Five of these volunteers are web operators; the other users are Erik himself and the Program Operations ("Program Ops") staff members. Typically two people at a time are on duty to update the web site from 8:00 a.m. to 8:00 p.m. each day. The Chicon 2000 on-site web has scored a number of Worldcon "firsts." In addition to being the first official server located at the convention site, the system is the first to allow online nomination and voting for the prestigious Hugo Awards for outstanding work in the science fiction genre. This year is also the first time for the server being onsite at the convention, but Olson says this was an easy decision for him. "Fear number seven of many," he says, "is 'it dies and I have to either abandon it or drive.'" The main web site, www.chicon.org, is running on BSD, while the staff and onsite servers run on Linux. Knowing that many of Chicon's attendees would want (or need) to stay connected to their homes and jobs via the Internet, the Chicon staff filled a room with iMac machines connected to the Net. For those with laptops, they added empty workstations with only an Ethernet line and DHCP server. Even here, Open Source played a role. The DHCP server and DNS server both ran on Free BSD systems. Staffers Ben Liberman and Michael Pins built the IP network, DHCP, DNS, and other infrastructural systems. Backing it all up were two T1 lines to the ISP as well as a standard Ethernet LAN that spanned much of the functional section of the hotel. Erik Olson says the hotel is working to get Ethernet into every conference space, but that some acceleration of the schedule was needed to make the needed cabling available in time for Chicon. Notably, the cable runs on the skyway crossing between the hotel's east and west towers was completed only a short time before the con. The immediacy of the on-site web updates has been popular with Chicon attendees, and Olson is especially proud of this aspect of the site. When fan writer Mike Glyer earned a Hugo for his work, the announcement was on the web literally seconds after it was made public, thanks to very careful coordination between Olson and the Hugo presenters. "By the time the winning nominee had reached the podium," he says, "I was hitting colon-W [in the vi editor] to post the fact that he had won, on the web page." Olson considers the fast delivery of information, and the high content level of the pre-planning and on-site web pages, to be his greatest success of this effort. Asked what he would do differently, Olson says he would spend even more time in advance preparation. He also wants to make available more web terminals throughout the hotel, to give visitors easier access to the online updates. Given the rate at which hotels are adding in-the-room web connectivity, Olson thinks this may be a non-issue by the time Worldcon is next held in Chicago (its location varies from year to year). He also wants to have a way to put more convention photos on the web, and to get them there faster. Future goals notwithstanding, Olson is pleased with the way things turned out and says the web teams have "established a good foundation for other cons to build on." Where will the Chicon 2000 web team go from here? Olson, ever ready for the next challenge, says he has already volunteered to work on web services for next year's Worldcon, to be held in Philadelphia. About the Author
|