the unnamable:

reference page

Glossary, bibliography, and links.

to return, use your
	      browser's BACK button
h o m e

An old format for binary executables on Linux. Over the last 2 or 3 years, a.out has been largely phased out in favor of the ELF format.


A computer criminal; in particular, someone who breaks into and sometimes wreaks havoc with other people's systems, often simply because they enjoy doing it. Compare with hacker.


A Document Type Definition. See SGML.

free software

To those in the know, free refers not to "free of charge" but "freedom." In fact, free software (not to be confused with freeware) can be and sometimes is sold for profit. A good example is the Linux distributions: anyone can obtain Linux free of charge over the Internet, but many people buy it in order to have the convenience of a CD, access to technical support, or value-added software packages.

Regardless of whether they pay for it or not, users of free software always have the freedom to modify and redistribute the programs they use. This freedom is guaranteed by one of several free software licences, the most famous being the GPL.

Recently, however, many people have come to feel that the term "free software" has anti-business connotations. Thus the term Open Source has been coined to represent the same good tools with a new, less confrontational attitude. Although some see the change as a rejection of a proud heritage, the new label has gained broad support in the user/developer community.


Though the names are almost identical, freeware should not be confused with free software. Freeware is generally used to mean public domain software, which can be obtained free of charge; but the source code is not necessarily available, and generally the developers take no responsibility for maintaining and improving the software.


File Transfer Protocol is the primary means for moving large files such as software from point to point over the Internet. A protocol is a code that computers use to exchange data over a network.

GNU Project

A collaborative effort, guided by the Free Software Foundation, to produce a complete set of high-quality software tools licensed under the GPL. Programs produced by the GNU Project include the Emacs text editor and the GNU C Compiler (GCC), which are widely used not only on free platforms such as Linux, but also on various proprietary platforms. GCC is considered one of the best C compilers available, if not the best.

GNU, by the way, stands for "GNU's not UNIX." It is an example of a recursive acronym (that is, it contains itself). Hackers enjoy this sort of thing.


GPL stands for GNU General Public License . The GPL is a software license that guarantees the right of users to modify and redistribute the programs it covers. Here is the full text of the GPL.

See also free software.


Graphical User Interface is an interface that enables a user to control a computer by manipulating graphical objects on the screen, usually using a mouse. The concept of the GUI was developed at Xerox in the 1970s, and popularized by Apple with its Macintosh computer.


This term is often misused by the media to mean a computer criminal. Properly speaking, a hacker is a skilled programmer who enjoys digging deep into the mysteries of hardware and software. More often then not, hackers use their talents for good, or at least for morally neutral projects -- though their purposes may seem mysterious to non-hackers. Compare with cracker.


A widely-used macro package for TeX. Whereas plain TeX deals with low-level formatting commands (make this word bold, give this page a 12-point margin, etc.), LaTeX implements a high-level system of styles and document classes, so that authors can concentrate on the content of their writings; based on styles selected by the author, LaTeX can automatically produce high-quality formatted documents.

LaTeX shares with SGML the important principle of separating a document's structure and its appearance.


Most computer programs have many functions in common with other programs. A (shared) library is a file that contains one or more of these common functions; it is separate from any single program, and the library functions can be used by several running programs at once. The advantages of shared libraries are that software can be developed very efficiently by reusing existing code; and if the user has several programs using the same library, it conserves memory and disk space.

On Windows platforms, shared libraries are known as DLLs -- yes, the infamous DLLs. Although many people have bad experiences with DLLs, the real problem is not the DLLs themselves. On any platform, applications need compatible versions of shared libraries. Sometimes if you install a new program, it requires a new library, while other programs on your system require an older version. The problem on Windows is the lack of a good system for managing these version conflicts.


A free operating system for PCs and other computers. Linux is a POSIX-based system, which means that from a user's point of view it is more or less identical to UNIX. Linux is sometimes referred to as GNU/Linux, because many of the core applications for Linux systems are the work of the GNU project.

Chances are you've heard of Linux by now, but if you're not sure what it is or how to get started with it, here are a few links for you:

to return, use your
	      browser's BACK button
h o m e
Open Source

See free software.


"Proprietary software" means computer programs for which a particular company or organization retains the source code and has exclusive control of the program's distribution and modification. Proprietary software is often called "commercial software", but this is confusing because it implies that only proprietary software can be professionally packaged and marketed, or sold for a profit, which is not the case. See free software.

regular expression, regexp, regex

A pattern of characters used for searching or replacing text. Regexps can be used to efficiently edit complex patterns in large files.

For those who want to learn about regular expressions: I've been searching for a good tutorial on the web. I've found a number of tutorials that apply to specific editors or programming languages, but so far no general introductions to regexps. I'm considering writing one myself and posting it here.

In the meantime, Myriad Voices has a nice interactive tutorial on using regexps in JavaScript.


Acronym for Standard Generalized Markup Language. Although people often refer to "SGML documents" or "SGML markup," technically speaking SGML per se is not used in end-user documents; rather it is used to create Document Type Definitions (DTDs), each of which defines a markup language used for a particular type of document.

SGML application

Application here is used not to mean a computer program, but rather in the traditional sense, i.e., a particular usage of SGML.

HTML is the best-known SGML application, though it is not necessarily the easiest to understand or most representative.


A great programming language for rapidly developing graphical applications. Well, to be more exact, it's a Tool Command Language with a GUI ToolKit. Originally developed at Sun Microsystems, Tcl/Tk has traditionally been used mostly on UNIX systems, but it also runs on Windows and Macintosh, and is becoming popular for platform-independent applications.


Widgets (sometimes known as "controls") are the components of a GUI. Examples of widgets include buttons, scrollbars, and text entry fields.

the X Window System

Popularly known as "X Windows," or simply "X," the X Window System is the standard windowing environment for Unix-like systems, including Linux. This means that it is not itself a GUI, but provides the foundation for a GUI. On Microsoft platforms the windowing system and GUI are combined in a single software package (Windows), but Unix-like systems use X Windows, in combination with a program called a window manager, plus one or more graphical widget sets, to provide a GUI. This is a double-edged sword: X Windows-based GUIs can be extensively customized, but they are often hard to install and configure.

to return, use your
	      browser's BACK button
h o m e
TeX, tex

TeX is a computer typesetting system developed by Dr. Donald Knuth of Stanford University. It is widely used for scholarly documents, especially in mathematics and natural sciences. Although it is neither very easy to use or to configure, TeX is widely considered to produce better printed copy than any other software available for PCs. It is also one of the most stable and bug-free software packages in existence.

The name, by the way, has nothing to do with guys in cowboy hats. It is derived from Greek and rhymes, more or less, with "blecch." The TeX form of the name generally refers to the system as a whole and to the markup language used for TeX documents. tex is the name of a specific program used to process TeX documents; .tex is the usual filename extension for TeX documents. See also LaTeX.