mms:// 2004 Videos
LCA04_Keynote_Bdale-56.wmv(56k, 352MB, 1:04'35)
LCA04_Keynote_Bdale-128.wmv(128k, 352MB, 1:04'35)
LCA04_Keynote_Bdale-384.wmv(384k, 352MB, 1:04'35)

Where Would You Like One Hundred Thousand Users to Go Today? (Bdale Garbee)
When any new technology gets deployed to average users on a scale of tens or hundreds of thousands at a time it impacts a whole generation of people. The technology becomes ubiquitous and takes on a momentum of its own, because it is part of people's lives and the processes of society. Free software is now at that point, and Bdale gets paid to be involved in this process all over the world.

Large deployments of Linux to the desktop in government and educational settings are underway in many nations. Particularly in the developing world, there can be immediately obvious economic benefits. But closer inspection reveals that saving money is only a small part of the equation.

What's really going on? Why are governments lining up to invest in Free Software? Why is Debian the distribution of choice in virtually all of these deployments? What are some of the challenges being faced? What roles can companies play in these deployments? Does Bdale really know the answers to any of these questions?

LCA04_Keynote_Maddog-56.wmv(56k, 281MB, 55'36)
LCA04_Keynote_Maddog-128.wmv(128k, 281MB, 55'36)
LCA04_Keynote_Maddog-384.wmv(384k, 281MB, 55'36)
MD5SUM: ad1c98c24169e4c5aa0d7855108c66bd
Programmers Are From Mars, Users/Managers/Companies are from Venus (Jon "maddog" Hall)
This talk will outline some of the issues of programmers (and particularly Free Software programmers) have versus what Users/Managers and Companies expect. It will try to explain to each audience why the other seems so odd. The speaker has been in each of these positions, both in large and small companies, and it will be given in his most inimitable way.
LCA04_PenguinDinner-56.wmv(56k, 376MB, 1:08'55)
LCA04_PenguinDinner-128.wmv(128k, 376MB, 1:08'55)
LCA04_PenguinDinner-384.wmv(384k, 376MB, 1:08'55)
MD5SUM: f7f238e6b7e9f9e66ab0c645f67f9a58
Penguin Dinner
LCA04_AOL7-56.wmv(56k, 247MB, 43'05)
LCA04_AOL7-128.wmv(128k, 247MB, 43'05)
LCA04_AOL7-384.wmv(384k, 247MB, 43'05)
MD5SUM: 0f668522c065b0a4da3546fc8ba650ad
Free Software. Why we did it. The AOL|7 Story (Graeme Merrall)
Enterprise level web development in Australia is on the whole quite Microsoft-centric. In the banking and finance sector, for example, all of the top 10 sites except for Citibank used Microsoft IIS as their web serving platform[1].

AOL|7 has taken the less common path of pursuing the Free Software alternative for its enterprise hosting and ISP services. In March 2003, AOL|7 launched a DSL-based broadband service utilising Free Software in its infrastructure. In addition, AOL|7 builds and hosts websites for Channel 7's online properties. The Seven Network is using Free Software in nearly all aspects of site development and hosting including development tools, databases, operating systems.

This paper discusses the Free Software AOL|7 has used in its products and infrastructure. Also discussed will be the history and motivation behind AOL|7's use of Free Software in the enterprise. The presentation will also touch on some of the hurdles AOL|7 has encountered along the way and the lessons that have been learnt. Finally there will be an overview of various Free Software initiatives at AOL Time Warner.

[1] Source: Red Sheriff June 2003 report

LCA04_APTGetUpdates-56.wmv(56k, 220MB, 37'28)
LCA04_APTGetUpdates-128.wmv(128k, 220MB, 37'28)
LCA04_APTGetUpdates-384.wmv(384k, 220MB, 37'28)
MD5SUM: 9bf19b4d8af38aa682eff5a033bb5a3d
Maintaining lots of apt-get capable linux machines with apt and getupdates (Marc Merlin)
* Introduction to apt-get/apt-rpm
* Pushing versus pulling updates
* Design and benefits of getupdates
o Clients are all kept up to date and receive and apply updates, even if they've been down for an unknown amount of time
o Clients can be installed from a boot floppy, or any boot media, or from an old disk image which will update itself when the machine is booted
o Updates are checkpointed and designed to stop on any failure and restart and re-run until they succeed, guaranteeing a consistent, known state for all clients
o Any install where the RH portion completed, and getupdates was installed can continue and recover even if the machine is unplugged or crashes during the postinstall
o No need to write separate scripts for the install and machine updates: an update automatically gets run by the install
o Support for several TARGETS (tracks) that a server can be in, which allows client to either be tracking a server install or a workstation install, and run either unstable/testing updates (LEAD), or stable/tested updates (GOLD)
LCA04_GStreamer-56.wmv(56k, 203MB, 36'52)
LCA04_GStreamer-128.wmv(128, 203MB, 36'52)
LCA04_GStreamer-384.wmv(384k, 203MB, 36'52)
MD5SUM: a478678dc7b7b94e17889615c115ebb0
The GStreamer Multimedia Architecture (Steve Baker)
GStreamer allows the construction of graphs of media-handling components, ranging from simple mp3 playback to complex audio (mixing) and video (non-linear editing) processing. Applications can take advantage of advances in codec and filter technology transparently. Developers can add new codecs and filters by writing a simple plugin with a clean, generic interface.

GStreamer is released under the LGPL, with many of the included plugins retaining the license of the code they were derived from, usually GPL or BSD.

More information can be found at the GStreamer project site.

This presentation will include:

* A walk-through of the various sub-systems that make up GStreamer
* An overview of the plugins, applications and language bindings that are available
* A discussion of current Intellectual Property issues
* Demos of working pipelines and code samples
* A look to the future at what new features are being developed

This presentation should be of interest to those who write multimedia applications or libraries. Some of the presentation will be high-level enough to be of general interest.

LCA04_HighPerformance-56.wmv(56, 285MB, 47'13)
LCA04_HighPerformance-128.wmv(128, 285MB, 47'13)
LCA04_HighPerformance-384.wmv(384k, 285MB, 47'13)
MD5SUM: 14c09335e5c580e1c40c790a6b0a9df0
Design of a High Performance Clustered Storage Architecture for Linux (Richard Sharpe)
While Linux clusters have been very successful in providing large amounts of compute power for relatively small amounts of money, less attention has been paid to how to provide shared data and the large amounts of aggregate IO bandwidth that some of these Linux clusters require.

Panasas has been engaged in the development of an Object-based Clustered Storage Architecture that is poised to deliver multiple Gigabytes per second of data throughput and is in use or being evaluated by a number of customers with large Linux Clusters. This architecture that decouples metadata access from data access using an out-of-band control mechanism and allows compute nodes to schedule file IOs simultaneously across the multiple Object-based Storage Devices that an individual file might reside on.

This presentation will discuss the architecture of the Panasas Storage Cluster and identify some of the differences between it and more traditional approaches. We will also look at the Linux client and what Panasas is planning to do with it. We will also present some of the approaches that Panasas is utilizing to provide more traditional file systems like NFS and CIFS.

LCA04_LinuxSimulation-56.wmv(56k, 251MB, 50'11)
LCA04_LinuxSimulation-128.wmv(128k, 251MB, 50'11)
LCA04_LinuxSimulation-384.wmv(384k, 251MB, 50'11)
MD5SUM: d6208fea4b95eff5580a413bd3ae48c7
Linux and Simulated Systems (Dan Shearer)
Complete operating systems running in fully simulated environments are important to developers, administrators and these days often users. Linux is involved in all aspects of the simulation scene. Knowing which technology to pick can be difficult, and this tutorial visits some of the main ones. Since the LCA LiveCD is implemented using these technologies it won't be hard to crash-test this talk :-)

* User Mode Linux - run Linux inside Linux (inside Linux, if you wish) in order to safely test new kernels, run with more CPUs than you really have, use a copy-on-write filesystem to capture exactly what changes a program is making, and plenty more.
* Can't afford 64-bit hardware yet? The Hercules 31/64-bit freeware simulator for 31 and 64-bit IBM mainframes, and Bochs with AMD x86-64 instruction set.
* Want to see ucLinux boot inside a virtual PalmPilot? The POSE emulator is a good way to get familiar with embedded platforms commonly used for tiny firewall, VPN and similar applications.
* Building fake environments. Loopback mount sparse files for those multi-terrabyte RAID arrays. Use tmpfs for dozens of Gb of RAM. Create entire fake WANs using the tuntap virtual ethernet driver and iptables magic. These are the tools of the trade.
* QEMU: a modular future for simulators. QEMU can boot a Linux system, but can also be decomposed for use in projects like Wine and DOSemu, making such projects completely portable. Valgrind, which accomplishes its memory debugging magic by means of an embedded x86 processor emulator. The ability to detech CPUs and drivers from a simulated system and use them elsewhere will become increasingly important.
* The Xen, MacOnLinux and Basilisk approach.

LCA04_LSBCompliant-56.wmv(56k, 207MB, 38'00)
LCA04_LSBCompliant-128.wmv(128k, 207MB, 38'00)
LCA04_LSBCompliant-384.wmv(384k, 207MB, 38'00)
MD5SUM: 1c54c4d421f34bd9dcb40cd8128b7d65
Building LSB Compliant Applications (Christopher Yeoh)
The goal of the Linux Standard Base (LSB) is to develop and promote a set of standards that will increase compatibility among Linux distributions and enable software applications to run on any compliant Linux system. There are now specifications available for IA32, 32 and 64 bit PowerPC, Itanium, and 31 and 64 bit zSeries architectures.

The presentation will cover what is involved in building and certifying an LSB compliant application. It will address the most important areas of the specifications that developers should be aware of, the tools available to help build compliant binaries, the test suites that can be used to check for incompatibilities, and the informal and formal certification programs.

LCA04_MySQL-56.wmv(56k, 226MB, 41'58)
LCA04_MySQL-128.wmv(128k, 226MB, 41'58)
LCA04_MySQL-384.wmv(384k, 226MB, 41'58)
MD5SUM: b5d03533bb08a6608e9761d5c1066ba5
MySQL RoadMap - what we have now and where we are heading (Arjen Lentz)
In this presentation I will first outline the current key features of the MySQL RDBMS, supported by a little history and an overview of the MySQL development and release philosophy. We then go on to look at what new funky stuff the MySQL development team is working on.

Come and hear it all from the source - your "when will MySQL support ?" will be answered! Interestingly, the answer these days is often in the form of "yes we have supported for a few years now, since version x.xx" ;-)

LCA04_PhpApd-56.wmv(56k, 171MB, 32'12)
LCA04_PhpApd-128.wmv(128k, 171MB, 32'12)
LCA04_PhpApd-384.wmv(384k, 171MB, 32'12)
MD5SUM: df68aac5e8127d59490e7b53a720cd9a
php-apd (Jonathan Oxer)
PHP has undergone incredible growth in the last couple of years and is now being used for a huge range of tasks ranging from tiny scripts to large-scale web applications. Some web applications have hundreds of thousands of lines of PHP code, and the fact that PHP can scale to these sorts of levels is a great testament to its design and the efficient Zend Engine that actually manages PHP code execution.

Of course, bigger and more complex projects result in more load on your servers, and when you throw a database into the mix you have even more potential performance bottlenecks to keep track of. A typical scenario is that you've added a few new features to a web application, and now you're seeing more server load and memory usage, and pages seem to load slower. What can you do? Maybe you can afford to throw bigger hardware at the problem, but even if that's a viable option you should also find the parts of your code that are causing slowdowns and optimize them.

In this paper I outline the use of performance profiling to run PHP code in a controlled environment, and show how to generate a report giving statistics such as time spent within each function, how long each database query takes, and how much memory has been used.

Examples and demonstrations are based on APD, the Advanced PHP Debugger, for which I am the Debian package maintainer. I demonstrate installation of APD, show how to integrate a profiling trace into a live site without compromising performance for normal users or being overwhelmed by debugging output, process the trace output using the pprofp tool, and explain how to interpret the pprofp output.

If time permits, hints are then given on approaches to streamlining code.

LCA04_SCO-56.wmv(56k, 283MB, 50'23)
LCA04_SCO-128.wmv(128k, 283MB, 50'23)
LCA04_SCO-384.wmv(384k, 283MB, 50'23)
MD5SUM: 58b6469f7a6b85f062be21f77dfa2f7e
Could SCO v IBM Happen to You? (Jeremy Malcolm)
SCO's litigation against IBM is widely and properly regarded as an opportunistic and disingenuous gambit that has seriously backfired on the company. However, SCO's point is that the open source development model does not adequately vet contributors' code for violations of intellectual property rights. There is some truth in this, particularly since it is possible to breach intellectual property rights (such as patent rights) completely innocently. Regardless of the merits of SCO's claim, open source developers do need to sit up and take notice of the issues the litigation has raised. This presentation will enumerate those issues, and suggest some of the steps that open source developers should be taking to address them, and thereby protect themselves against litigious intellectual property owners.
LCA04_ScriptingPythonGnome-56.wmv(56k, 262MB, 49'05)
LCA04_ScriptingPythonGnome-128.wmv(128k, 262MB, 49'05)
LCA04_ScriptingPythonGnome-384.wmv(384k, 262MB, 49'05)
MD5SUM: 2ffb72a3e5ad5a311e6a3d3a85e911e5
Remote Control and Scripting of Gnome Applications with Python (James Henstridge)
Gnome 2.x contains a number of hooks that allow scripting of applications using CORBA. These hooks include:
* custom CORBA interfaces exposing the functionality of an application.
* Accessibility framework exposes information about the user interface of applications.

The Python bindings for Gnome 2.x include a new CORBA binding called PyORBit that makes interaction with Gnome's CORBA services a lot easier. The new CORBA bindings can load interface information from IDL files, type libraries or from CORBA servers directly through introspection (without the need of an interface repository).

This talk will give a brief description of what PyORBit is, and then go on to show how it can be used with the Gnome Python bindings to control other applications.

Examples will include use of Nautilus and Evolution interfaces, and the use of the AT-SPI accessibility interfaces.

LCA04_ucLinux-56.wmv(56k, 281MB, 49'17)
LCA04_ucLinux-128.wmv(128k, 281MB, 49'17)
LCA04_ucLinux-384.wmv(384k, 281MB, 49'17)
MD5SUM: 9ed67c5a12a824d2d209a630c3e7aa59
uClinux --- Micro-controller Linux (Greg Ungerer)
Micro-Controller Linu3x (uClinux) is an open source project that adds support to Linux that enable it to run on microprocessors without Memory Management Units (MMU). These types of processors have traditionaly made up the bulk of processors used in embedded systems. Some examples include the Motorola M68K and ColdFire embedded devices, ARM7 and some ARM9 cores, NEC v850, Hitachi H8/300, and FPGA soft cores like NIOS, Microblaze and Sparc LEON.

This session will cover the basic architecture of uClinux, and in particular the design and code changes required to deal with not having any memory management. The kernel, device driver, library and application level changes will be detailed and explained. Many people will be surprised at how similar Linux is without an MMU!

The presentation will also cover tools required, porting Linux to different hardware platforms, porting and developing device drivers, porting and developing applications within the uClinux environment. It will give a run down on what hardware platforms uClinux currently runs on and also what library and application packages have been ported.

The process of developing and building embedded systems around uClinux will also be covered. Particular emphasis will be given to the implications of running and developing without memory protection. This will also cover packaging of kernels and filesystems for embedded use.

This session is aimed at giving not only an introduction to uClinux, but also a "state of the nation" on where uClinux is at, and where it is going in the future. In particular the integration into the 2.5 series kernels will be covered.

Videos can also be downloaded here

Copyright Linux.Conf.Au - February 2005 All rights reserved. Encoding services by