Linux and Kylix

This two day seminar is designed to accomplish two goals:

  1. Present an overview of Linux from the point of view of a programmer

  2. Explore how to use Kylix to create powerful applications that run natively on the Linux platform.

Linux Overview

This first part of the talk is an introduction to Linux for Object Pascal programmers. It is designed to tell you in a relatively short space the most important things programmers need to know about Linux. It starts with the basics, but goes on to explore more advanced topics.

What Lies Ahead

This talk is divided into several section:

The Linux Way of Life

Most people who really like Linux view it as more than just a piece of software. For them, Linux is a way of life. This section of the talk explores Linux as a cultural phenomenon.

Camps in the Land of Linux

There are many camps inside the land that is Linux. There is Richard Stallman's GNU camp, and there is Eric Raymond's Open Software camp. There are the entrepreneurs of the software business, such as Bob Young at RedHat or Tim O'Reilly at O'Reilly books. And there are also the full time rebels, some of whom are admirable idealists, and others who are simply social misfits. This section of the talk explores some of these aspects of the Linux political landscape.

Linux and Programmers

Linux is not the kind of software your recommend to your spinster aunt who wants to find sites on the web dedicated to crocheting. The people who are most at home with Linux are developers. In the programmer's Valhalla that is Linux, one finds more programming languages than there are trees in one of Tolkein's forests.This is an OS that was designed to be programmed. Not programmed by wizards, by programmed by mere mortals. This section of the talk explains how to use simple programming tools to get Linux to do what you want.

Linux Strengths and Weaknesses

Linux has three great strengths:

  1. Powerful multitasking

  2. Powerful networking

  3. Powerful scripting

Linux has two great weakness:

  1. Newbies find the install difficult

  2. Lack of good applications!

This section talks about the strengths and weakness of Linux.

Distributions

Everyone asks about distributions, and which one to get. This section talks about the various distributions, there relative merits, and how to choose the one you want.

Install

The Linux install can be a bit tricky for newcomers. Linux can be the only OS on a system, or it can be dual booted with other OSes. This section talks about the install process, and the options you might want to consider while wrestling with the demon. Learn about installing network cards and video cards.

Part II: Linux Technology

The Command Line Vs the X Window System

Linux is different from Windows in that it runs natively at the command line, rather than in a GUI. This section of the talk explores the power of the Linux command line.

Directories

Directories on Linux are different than directories on Windows. Or rather, Windows is only recently coming around to the Linux view of how directories should be structured. Your disk is divided up into various directories that serve specific purposes. This section of the talk describes these directories and explains their import.

Linux Utilities

There are many important Linux utilities. In this section of the talk I describe some of the utilities I think all developers should know how to use. The basic features of the utilities are described, and then techniques for mastering them are gone over in some depth.

Editors

Learn about EMACS, Joe, Vi, and KEdit

Scripting Languages

Learn about Bash Scripting, Perl, and Python

System Utilities

Learn about key system utilities such as su, cron and shutdown.

Configuration Files

The configuration files in the etc directory play the same role in Linux that the registry does in Windows. Learn about fstab, ftpaccess, hosts.deny, and many other key configuration files. Learn to use LinuxConf to configure many of these files.

Logs

To maintain your system properly you need to pay attention to the log files it generates. In this section you will learn about messages, lastlog, secure, and other key logging files or logging mechanisms.

Linux Networking

Learn about Samba and NFS.

Books

To get started, you need books. In this section of the talk I recommend some good books.

Part III: Kylix Architecture

This part of the talk is designed to give you a relatively advanced, in depth, view of Kylix.

CLX Overview

Learn about the basics of the CLX architecture. Which parts of CLX give you access to system services, which give you access to component architectures, which give you access to databases, and which give you access to internet technologies?

baseCLX

Learn how to use Kylix from the command line, how to access system features, how to create libraries, how to link in code from other languages, how to share your code with other languages.

visualCLX

Learn how to create components, how to create GUI interfaces, how to build packages, how to work with interfaces, and how to construct robust architecures.

dbCLX

Learn how to create database applications based on the new dbExpress architecture. Learn how to thrive in a world that has no Borland Database Engine. A significant portion of this section of the talk will be dedicated to an exploration of Midas.

Creating Internet Applications

Learn about creating CGI applications, working with Apache, wrestling with TCP/IP, FTP, HTTP, finger and ping.

Graphics Programming

This section of the talk focuses on using the graphics services provided by CLX or made available through calling native Linux APIs.

Summary

In this two day seminar you have gotten a good long look at both the Linux operating system itself, and of Kylix. Linux was explored from the point of view of a developer, and Kylix was examined as a tool for developing applications that are suited to the Linux environment.