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.