Open Source - AUUG'99

September 8-10, 1999
Carlton Crest Hotel
65 Queens Rd
Melbourne, Victoria, 3004

Tutorial Programme

Monday, 6th September, 1999

Full day tutorials: 9:00am - 5:00pm


Always wanted Linux installed on your PC, but just couldn't quite get it to work? Bring your PC along, and draw on the collective conciousness gathered at this session to solve your installation woes.

Copies of Redhat Linux, OpenBSD, FreeBSD and NetBSD will be available for installation. Stay for as short or as long a time as you want. Entry is $10 to cover cost of room hire, free to conference or tutorial registrants. NOTE: There is no need to preregister for this event.

M.1 Sun Performance and Tuning
Adrian Cockcroft.

Featuring "Quick Tips and Recipes," as well as extensive reference information, this tutorial is indispensable both for developers who need to design for performance and administrators who need to improve overall system performance.

Performance expert, Adrian Cockcroft brings his unique expertise and structured approach to this complex and rapidly changing topic, providing detailed information on key aspects of performance tuning that are not available anywhere else.

Key topics covered include:

M.2 Installing FreeBSD
Greg Lehey.


FreeBSD is an operating system based very closely on 4.4BSD Lite, the last version of BSD UNIX to be developed at the University of California in Berkeley. As the name implies, FreeBSD is freely available without payment of licence fees. FreeBSD currently runs on the Intel 386 architecture, which includes all subsequent Intel processors and lookalikes from AMD, Cyrix and IBM, and also on DEC's Alpha chip.

FreeBSD is not a toy operating system. It outperforms commercial systems by a significant factor and is establishing a reputation as one of the most reliable systems available. It is increasingly becoming the operating system of choice for ISPs worldwide. Some of the largest Internet name server machines, including a number of root name servers and many of Telstra Internet's name servers, run FreeBSD. An increasing number of embedded system vendors also choose FreeBSD, for example Oracle's Network Computer. The Yahoo! search engines run on FreeBSD, as does, the world's busiest FTP server (currently transferring over 1400 GB of data a day from a single-CPU system). At the other end of the scale, many people are finding that an old PC, no longer capable of delivering noticable performance in a Microsoft environment, can be harnessed as an Internet gateway, mail and web server.

Purpose of the tutorial

UNIX systems are generally supplied with the operating system preinstalled, so few users are experienced in the installation of UNIX on the bare hardware. In addition, the PC environment is strongly oriented towards Microsoft products, which on the one hand introduce their own unusual problems, and on the other hand may also include the requirement of dual-booting: the system may be required to run either UNIX or Microsoft.

Due to this unusual situation, many users, even those with considerable experience both in UNIX and Microsoft, may have trouble installing the system. If they do, they are unlikely to find anybody nearby who can help them. This tutorial is designed to fill this gap, to introduce people to FreeBSD and its support environment.


The tutorial demonstrate how to install FreeBSD on a system currently running Microsoft, including the following topics:

All participants will receive a free set of CD-ROMs with the current version of FreeBSD. In addition, they will have the opportunity to purchase the book "The Complete FreeBSD" (3rd edition).

Morning Tutorials: 9:00am - 12:30pm

M.3 XML For Developers
Steve Ball

Prerequisites: Knowledge of programming one or more of C, C++, Java, Tcl, Perl or Python

Assumed Knowledge: An understanding of markup languages, especially XML, SGML or HTML.

The eXtensible Markup Language - XML - is the hot topic on the Web, and many tools now exist to aid developers in creating XML applications.

This tutorial will give an overview of XML and several related standards that impact upon application development. The tutorial will present a review of many tools, products and techniques for server-side, client-side and standalone creation and manipulation of XML documents.

Topics covered include


To complement this tutorial, Zveno is also presenting the course "XML For Webmasters" during the week preceding the AUUG conference - 2-3 September. "XML For Webmasters" is a two-day, hands-on course aimed at Webmasters, designers and Web application developers who may already be familiar with HTML and wish to get a head-start on XML.

Topics covered include an overview of XML, XML syntax, XML best practice, document types and related standards. For more information, visit:

Afternoon Tutorials: 1:30pm - 5:00pm

M.4 Basic user interface programming using the AWT and JFC
Jan Newmarch

This tutorial covers the fundamentals of user interface programming for the JDK 1.1 and 1.2. It uses both the older AWT and the new Swing components of the Java Foundation Classes. The intent is to write programs that will run now and in the future. The material covered includes:

A basic knowledge of Java will be assumed.

Tuesday, 7th September, 1999

Full Day Tutorials: 9:00am - 5:00pm

T.1 Inside SMB: all the dirt on the SMB protocol
Andrew Tridgell

This tutorial looks in detail at the insides of the SMB protocol, also known as CIFS or "Microsoft Networking". My experiences in implementing Samba have given me an intimate knowledge of this rather unusual protocol which I will now inflict on anyone careless enough to attend this tutorial.

I will go through the structure of the protocol pointing out the consequences of its design for the day to day operation of Windows based networks. Copious use of sniffer output will be used to illustrate some of the trickier protocol properties. The aim is to leave the attendees with enough knowledge to begin debugging their own SMB protocol problems and to make informed decisions about SMB network design.

T.2 CORBA Programming with C++
Michi Henning

This tutorial provides the basics that developers need to begin writing industrial-strength systems in C++ based on CORBA technology. You will learn about the basics of the OMG's Object Management Architecture (OMA), with a focus on its CORBA component. By the end of the tutorial, you will understand how to write object interface specifications using the OMG Interface Definition Language (IDL), how to write simple distributed applications in C++, how to use the new Portable Object Adapter (POA), the Dynamic Invocation Interface (DII) and the Dynamic Skeleton Interface (DSI), and the Interface Repository (IFR). You will also know the basics of several CORBAservices such as Naming, Trading, and Events. C++ examples will be used throughout the tutorial to show what working CORBA C++ code looks like, and ample course notes serve as reference material for post-tutorial study.

Morning Tutorials: 9:00am - 12:30pm

T.3 Linux: let's get technical
Richard Keech

Unless you've been on another planet, you will have heard of Linux by now. If you only know of Linux by reputation, this tutorial is an opportunity to get up close and sort out the myth from the reality. This will introduce Linux to the technically-savvy, and go below the surface to reveal its depth and breadth. The tutorial will emphasize Red Hat's flavor of Linux.

This tutorial will best suit computing professionals not yet using Linux or Unix.

This tutorial will cover the following topics:

Attendees will receive a copy of Red Hat Linux on CD.

T.4 A Cryptography Primer
Dr Lawrie Brown

Data encryption algorithms form an important technical component in providing secure and authenticated electronic security and communications. This workshop is designed to provide attendees with a brief overview of the field of cryptography, the terms, techniques, and algorithms.

It starts by introducing the classical cryptographic techniques which form the foundations of the field. We then survey modern private key ciphers, widely used for bulk and link data encryption, including a mention of the current US AES evaluation of a replacement standard encryption algorithm. Next we consider public key encryption algorithms and signature schemes, essential for the use of cryptography in large scale, wide area communications. We conclude with a brief look at a couple of cryptographic applications, illustrating the different ways these components are combined to build a security solution.

Topics covered include:

Afternoon Tutorials: 1:30pm - 5:00pm

T.5 Your Linux server survival kit
Richard Keech

This tutorial will cover the features of Linux that allow it to be used as a capable server operating system. It will outline system administration tools and practices in the Linux context, and show what is involved in configuring and maintaining an operational server. The tutorial will emphasize Red Hat's flavor of Linux.

This tutorial will best suit computing professionals involved with servers based on other operating systems.

The tutorial will cover the following topics:

Attendees will receive a CD containing updates and utilities for Red Hat Linux.

T.6 Writing Secure Software
Michael Paddon

Today, it is more important than ever that the software we are writing is designed and built with security as a primary goal. The ubiquitous global connectivity of the Internet has created unparalleled oportunities for malicious attack and compromise of our systems. Most compromises occur through the exercise of bugs, limitations and unintended functionality.

This tutorial will cover the fundamentals of designing and implementing programs that are secure from the ground up, including:

This tutorial is aimed at the practicing programmer or project manager, involved in building software destined for a networked environment.

Copyright 1999