The first day was pretty low-key. Many attendees won't arrive until today or Wednesday, and the exhibit floor doesn't open until Wednesday, so the convention center wasn't crowded.
All about Django
The first talk I attended was "Django: Web Development with Journalists' Deadlines" by Jacob Kaplan-Moss, one of the lead developers of Django. Django is a Python Web framework for rapid development of Web sites, used for Lawrence.com and LJWorld.com.
According to Kaplan-Moss, Django allows the staff of LJWorld.com to "have an idea at lunch and implement it by the time we go home." He mentioned a scenario where a reporter would approach developers in the morning about a story dealing with water contamination levels, with an idea to allow readers to search for contaminants by ZIP code -- and the requirement to have the feature ready by the next day, which Kaplan-Moss says is possible using Django.
About 25 to 30 people gathered to hear Kaplan-Moss discuss how Django works, and give tips on creating an application using Django. During the tutorial, which ran from 8:30 a.m. to 12:00 noon, Kaplan covered theories behind the Django design, setting up a Django project, how templates work, generic views that describe information on a Django page, and much more.
He demonstrated Django using a work-in-progress project called Jellyroll, written with Django, that's supposed to be able to search the histories of several "Web 2.0" applications to display them in a central location -- so users can see their Google search history, del.icio.us bookmarks, and so forth using a single application rather than having to visit each of those sites independently.
Not only is Django good for the Web, but Kaplan-Moss says he generated his presentation slides using Django, and that the LJWorld.com staff actually moves content from the Django site into QuarkXPress for the print edition. He also noted that PediaPress utilizes Django to generate publications on demand from Wikipedia articles.
Most of the audience seemed to be new to Python and Django, but interested in the features that Django offers. One of the features I found particularly interesting was the ability to define a database in the code, and have Django create the database and enforce the type of data entered into the database. For example, Django has a database type for URLs, and Django won't allow a invalid URL to be stored in the database.
The current stable release of Django carries the caveat that the API is not guaranteed to be stable until the Django 1.0 release. However, Kaplan-Moss says that the Django team should be releasing 0.95 at OSCON later this week, and that the API should be mostly stable at this point.
During the lunch break, I popped into the OSCamp room. The idea behind OSCamp, as I understand it, is to have an area with no preset agenda, where conference attendees can get together and work on or talk about whatever strikes their fancy. Only a few people were actually in the OSCamp room when I stopped by the first time, and very little was going on.
After the show, however, the room was hopping. About 20 people had gathered in small groups, and the conversations seemed to be pretty animated. It's an interesting experiment, and it will be interesting to see if anything comes out of it by the end of the conference.
Asterisk inside and out
After wandering around and getting lunch, I decided to head to the Asterisk tutorial. About 60 attendees turned up for "Asterisk Inside and Out," by Brian Capouch. Usually, it's a major distraction when an audience member's cell phone rings during a presentation, but Capouch counted on having a few cell phones in the audience to demonstrate his working Asterisk setup.
The Asterisk presentation started off with discussion of the "parameters of speech," and actual physical aspects of speech, and moved into a discussion of how traditional telephone services work and the complexities of sampling speech for transmission over analog and digital pipes.
Capouch covered quite a bit of territory, much of it only of historical or academic interest to a would-be Asterisk admin. While much of it was interesting, it might have been a better use of time to dive into Asterisk administration without first covering the history of telephony. At the mid-point before the session break, Capouch had only begun to start talking about Asterisk proper.
After the break, Capouch started off with a high-level look at Asterisk configuration, organization of configuration files, and the hierarchical orientation of Asterisk configuration. He then moved into call flow, how Asterisk extensions and modules work, and other more technical aspects of using Asterisk.
The next stage of the presentation was a look at what Asterisk does in different scenarios. Attendees were issued two manuals prior to the presentation, showing the output from the Asterisk CLI and the Asterisk management interface. Capouch then walked through a demonstration of Asterisk using a small live setup, and explained how the demonstration matched up with the events in the booklets.
The demonstration was an interesting look at how Asterisk works, and just how much complexity is hidden behind the scenes when making phone calls through Asterisk. Given the description in the O'Reilly schedule, I expected a little more coverage of actually setting up the Asterisk system, but it was a worthwhile presentation nonetheless.
So far, OSCON seems to be off to a good, if leisurely, start. The parties and after-hours Birds of a Feather (BoF) sessions will pick up later this week. Today features the O'Reilly Radar Executive Briefing during the day, and the Open Source Awards and Larry Wall's annual State of the Onion in the evening.