- Checking out
- Firewire Drivers for Linux
- Hitting the Exhibits Again
- Future Architectures for Apache
- Returning Home
We had to check out the hotel before noon or so, but the conference didn't end until 2. So, we left our bags with a hotel consierge. Unfortunately, he would not store my laptop for me, so I was forced to carry it around with me. It felt like I was going to have a permenant strap mark etched into my shoulder.
Firewire Drivers for Linux
Emanuel Pirker, a young gentleman from Austria, gave this presentation. He thoroughly convinced me that Firewire -- or IEEE 1394 -- is a good thing and that Linux is well on its way to getting good support for it.
I knew that Firewire was already in use as a fast serial bus for digital video transfers. You can do direct copies of digital video data straight from a digital video camera right onto your hard disk drive. Pirker talked about this and also mentioned a couple of other potential uses for this technology.
Firewire is very popular for consumer applications like digital cameras, video cameras, and digital video recorders. However, Pirker illustrated how it could be very useful for industrial applications where actuators, cameras, and host computers could exist on a IEEE 1394 bus.
IEEE 1394 currently support 400 Mbit per second transfer rates. However, future versions of the technology could support speeds up to 3.2Gbit per second.
In addition to support for high speeds, IEEE 1394 also includes Quality of Service (QOS) in it's data transfer protocol. This means that devices on the Firewire bus can request to reserve a guaranteed amount of bandwidth. For example, a digital video camera may require 12 Mbit per second full-time to reliably transfer video data in real time to a viewer process on a computer.
It is also possible to run IP over IEEE 1394- resulting in a very fast IP network. Two computer systems with Firewire cards installed could transfer data between them at 200 or 400 Mbit per second at a very low cost compared to gigabit ethernet or fiber solutions. The only limitation would be the physical distance between the two systems.
Firewire technology would work very well in parallel computing systems. In addition to the high data transfer rates, Firewire also uses a memory mapped architecture, making it possible for two computers connected across a Firewire bus to share areas of memory -- perfect for parallel computing applications.
It seems to me that manufacturers of data network equipment like CSU/DSUs should include IEEE 1394 ports (if they have not already) so that Linux machines configured as routers could use standard DCE equipment to connect to high speed data networks.
I'm looking forward to seeing video editing and manipulation software available for the Linux OS.
Hitting the Exhibits Again
I hit the exhibition floor again and got a few more goodies.
I talked to Hewlett Packard about their OpenMail product- which looks very interesting. OpenMail is a complete mail system for Unix environments which caters in every way to the traditional Microsoft Exchange user. Plus, OpenMail extends the capabilities of such users.
OpenMail will act as a server for Outlook users in every way Exchange does. It will act as a messaging server delivering e-mail via the same protocols Exchange uses, plus POP and IMAP as well. It also does scheduling and task management just like Exchange-- That's really nice.
Plus, OpenMail includes an integrated, fully-customizable CGI client for the OpenMail server. I saw a demo of it and was very impressed. I think many small to medium sized businesses would be very pleased with moving to OpenMail and dropping MS Exchange.
OpenMail uses a tweaked sendmail server as an MTA for mail delivery. OpenMail is a post office process which handles POP, IMAP, and Exchange-style mail delivery as well as the calendaring and scheduling portions.
Data Represenations showed off an impressive Java integrated development environment available for Linux (as well as any other JVM platform) called Simplicity for Java.
This visual development tool -- written entirely in Java -- not only lets you visually build user interfaces to your Java programs, but you can also build code visually as well. The Code Sourcer wizard allows you write event handlers for Java objects like buttons, text boxes, etc. without knowing any Java at all.
I don't know how Simplicity would work for complex development projects which require higher levels of sophistication, but what I saw was pretty impressive.
For lunch, I walked over to the Tech Museum of Innovation and at in the Primavera Cafe there and looked through their small novelty store there.
The cafe had pretty decent food. I had a pizza and was impressed to find out they cook their pizzas with the new flashbake ovens which can cook a pizza in less than a minute. They are roughly the size of a commercial microwave oven and use high wattage halogen bulbs to blast the food with light energy. The result is evenly cooked food which seems oven baked. For example, cooking a pizza in a microwave oven does not leave the crust crispy- but instead leaves it kind of rubbery. The flashbake ovens do it right- crispy, crunchy pizza crusts! My pizza was too hot to eat when I got it. I had to let it sit for a few minutes.
Future Architectures for Apache
Brian Behlendorf of the Apache development team led this session describing what the Apache team is working on for Apache 2.0.
The issue of multithreading is a big one. Apparently the Apache team is not convinced yet that it is the best direction to be moving in. They are doing continuing research to see if the benefits outweigh the overhead.
In the interest of promoting better cross-platform compatibility and compilability, there is ongoing work to abstract the system calls used in the Apache code. This is probably going to be done either with Netscape's Portable Runtime (NSRP) libraries or Apache will develop their own (APR).
The configuration language will mostly likely change for Apache 2.x in the interest of better support for GUI configuration interfaces and the new underlying infrastructure. Brian mentioned the new language may very well be built with XML.
The structure of the server is going to change. Instead of the 12-stage approach currently used in Apache 1.x, it looks like 2.x will adopt more of a three tier approach where the tiers include "Front End", "Filter Engine", and "Data Store". Basic requests would be served by the front end tier mostly. The filter engine would include things like language translation modules, mod_perl, etc. The data store tier is essentially the HTML files, although Apache is moving away from dealing with just files. The data store could contain database data, video streams, etc.
After the last session, we went back to Hotel to consolidate goodies into our bags and wait for the airport shuttle. After arriving at the airport, we had about ninety minutes to wait before we could board the plane, so I started reading my Perl Cookbook book I bought at the O'Reilly booth. Christian, of course, struck up conversations with a number of people also waiting for the plane who had also attended the conference.
The plane was packed. We were about fifteen minutes late departing San Jose. The flight was pretty smooth until we reached the Salt Lake valley and snow was creating some light turbulence. Christian and I talked with a couple of other Linux geeks sitting near us during the whole flight- creating a center of hyperactive geek talk near the back of the plane.
My wife Christine and her sister were waiting for us at the terminal and we went home.