I saw a man pursuing the horizon
Round and round they sped.
I was disturbed at this,
I accosted the man.
"It is futile," I said,
"You can never--"

"You lie," he cried,
And ran on.
-- Steven Crane

You should be able to access this page at the permanent location purl.org/net/emarsden/home/links.html.

Operating Systems

Multics was an early mainframe time-sharing operating system, with many advanced features.

The HURD is the planned future kernel of the GNU project. It will support sophisticated features in the form of servers for various services, such as the filesystem, which will make it easier to users to adapt their working environment to their needs.

The FreeBSD project maintains a free Unix-like kernel. It differs from Linux mainly in its development philosophy, which is more cathedral-like than bazaar-like. This means it has fewer developers, and trails Linux in many aspects, particularly in the areas of drivers for new hardware components and peripherals, but also gives it a reputation for solidity and reliability which make it a favorite for large web servers and ISPs. See also TrustedBSD (focussed on supporting the Information Technology Security Evaluation Common Criteria), OpenBSD (aiming out-of-the-box cracker resistence) , NetBSD (aiming at maximal portability).

Amoeba is a distributed operating system developed at the University of Utrecht, in the Netherlands. It requires several machines connected to a high-performance network. The operating system allocated processes to local or distant processors, transparently to the user. There is a Unix interface layer.

Plan9 is an operating system developed at the former Bell Labs (inventors of Unix, C and C++, now renamed Lucent). It is not freely available. It includes a very simple windowing system named 8 1/2. Nowadays Lucent seem to be focussing on Inferno, their network operating system for embedded computing.

VSTa is an operating system core which runs on several x86 configurations. It takes ideas from several research operating systems and is mainly POSIX-like. It supports SMP. See also Operating Systems Project Information.

The self-certifying filesystem from the MIT PDOS group.

Linux

[Penguin]

Linux is the kernel of a Unix-like operating system, written by Linus Torvalds and a cast of thousands of hackers across the Internet. It is moving towards POSIX compliance, and runs on several different architectures, including multi-processors (the x86 version is the most stable).

Linux is distributed under the terms of the GNU General Public Licence, which means that it can be copied free of charge, and that all further developments based on it come under the same rules.

Escape the Gates of Hell
Use Linux!

No Bill, No Bugs!

Emacs

Q: How do you recognize an experienced Emacs user?
A: He wishes the terminal had pedals.

Emacs is an extremely powerful, extensible editor. It is a flagship of the free software movement, since it was the success of an early version of the editor which convinced Richard Stallman that users were interested in the concept of free software.

XEmacs is an alternative development branch from the GNU Emacs group.

Gnus is a very powerful news and email reader integrated with emacs. It allows you to split mail into groups, which is indispensible if you're on a few mailing lists, and has offline newsreading capabilities.

The Elisp Archive, and a more recent list of Emacs Lisp packages.

Programming

Scripting

The original scripting language in the Unix world is the shell, and the Unix philosophy is based on using the shell as a glue to hook together many small, specialized tools. More recently scripting languages have gained popularity for rapid prototyping, especially for GUI building. Another important use is as an extension language for complex applications, allowing the user to customize and extend the behaviour of the application. The best example is Emacs, which incorporates a Lisp interpreter.

Lisp

Scheme is a small and clean programming language from the Lisp family. It has very clear and simple semantics, and a small number of ways of forming expressions. Scheme is the language chosen by the GNU project for embedded scripting ; the GIMP (the Gnu Image Manipulation Program, or Photoshop beater) includes the SIOD interpreter, the Bash shell will soon include one, and the next major Emacs version will be based around Scheme rather than Emacs Lisp, which is showing its age.

The language is defined in the Revised Report on Scheme; Dorai Sitaram has written Teach Yourself Scheme in fixnum days. See also the mythical textbook The Structure and Interpretation of Computer Programs (SICP).

Several Scheme implementations exist (a more complete list is at dmoz.org) :

There are also compilers for Scheme which improve runtime performance :

The other main dialect of Lisp currently in use is Common Lisp, whose emphasis is more on the practical building of large, complex programs than on the simplicity and orthogonality attained in Scheme. It has two namespaces, one for variables and one for functions (unlike Scheme), and many different declarative forms (compared with Scheme's define and define-syntax). Several implementation of Common Lisp offer very good performance (they can compile to native code on several platforms), rivalling that of languages such as C and Fortran.

Forth

Forth is an interactive stack-oriented programming language and development environment. It is atypical in using postfix notation (like HP calculators) and in being extensible. Forth systems provide a dictionary of predefined words (which correspond to functions in other languages). Programming consists of adding new words, each defined in terms of existing words, to the dictionary, building up a vocabulary which solves the problem at hand.

As a language Forth is deceptively simple. There are only a few general purpose building blocks to learn before being able to write programs. The minimal syntax (words are defined as sequences of letters separated by spaces) eliminates the need for a parser. Nevertheless, Forth is a very powerful language, letting the programmer define intelligent data structures and even custom control structures. It allows rapid, interactive, modular software development. It has been said that learning Forth changes your attitude to programming.

Forth is a small, efficient language which is widely used in resource-constrained embedded systems. Implementations are available for just about every computer under the sun. And indeed Forth is used in the boot subsystem of Sun workstations.

The Forth FAQs are available online, in six sections:

PostScript

PostScript is a page description language developed by Adobe which is used in most high-end laser printers. It differs from other page description languages such as HPGL in being a programming language, heavily inspired by Forth.

Networking

People

Some interesting people on the net :

Miscellaneous


Last modified 2002-01-29 by Eric Marsden <emarsden@laas.fr>
Validate links, HTML, accessiblity.