Programming Texts and Tutorials ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Heh. I've just topped 3000 entries, at least by one rough count. Time for a beer. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ A list of freely available documents (i.e. tutorials, books, guides, reference manuals, etc.) for learning how to program in various languages as well as about various Linux and UNIX related topics. Feel free to link to this. If you instead wish to copy it, then I request that you provide a link to the original page at http://stommel.tamu.edu/~baum/programming.html. Pages Linked To This Page known by AltaVista Google! _______________________________ Google Search ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Recent changes: * Added Cron section on 11/5/03 * Added Shell Portability section on 11/19/01 * Updated and expanded the Perl and mod_perl sections on 9/23/02 * Updated and expanded the Python section on 10/7/02 * Added Forth section on 10/31/02 * Updated and expanded the Shells section on 10/31/02 * Updated and expanded the Ruby section on 10/31/02 * Updated and expanded the Samba section on 11/4/02 * Updated and expanded the Scheme section on 11/4/02 * Updated and expanded the SCSI section on 11/4/02 * Updated and expanded the sed section on 11/4/02 * Updated and expanded the Smalltalk section on 11/4/02 * Updated and expanded the Filesystems section and added File Undeletion, AutoFS, devfs, Distributed Filesystems, Encrypted Filesystems, ext3, JFS, LVM, NFS, ReiserFS and XFS subsections on 11/12/02 * Updated and expanded the Sockets section on 11/13/02 * Updated and expanded the SQL section on 11/13/02 * Updated and expanded the Tcl/Tk section on 11/13/02 * Updated and expanded the Standard ML section on 11/13/02 * Updated and expanded the STL section on 11/13/02 * Updated and expanded the TCP/IP section on 11/13/02 * Updated and expanded the Apache section on 11/14/02 * Expanded and categorized the Shells section on 11/14/02 * Updated and expanded the CVS section on 11/15/02 * Updated and expanded the Regular Expressions section on 11/15/02 * Created an assembly language section on 11/15/02 * Updated and expanded the SMP section on 11/18/02 * Updated and expanded the Multibooting section on 11/18/02 * Updated and expanded the Kernel section on 11/19/02 * Updated and expanded the Make section on 11/20/02 * Updated and expanded the Prolog section on 11/20/02 * Updated and expanded the Rexx section on 11/20/02 * Updated and expanded the RPC section on 11/20/02 * Updated and expanded the Multimedia section on 12/2/02 * Updated and expanded the Backups section on 12/4/02 * Updated and expanded the Email section on 12/5/02 * Updated and expanded the Printing section on 12/5/02 * Created Little Languages section on 12/6/02 * Created Eiffel section on 12/7/02 * Updated and expanded the Emacs section on 12/8/02 * Created Mixed Language Programming section on 12/10/02 * Updated and expanded the vi section on 3/27/03 * Updated and expanded the Networking section on 3/27/03 * Added netfilter/iptables subsection to Firewalls subsection on 3/27/03 * Updated and expanded the Multicast subsection on 3/27/03 * Added a PPTP subsection on 3/27/03 * Updated and expanded the Routers and Routing subsection on 3/27/03 * Updated and expanded the Telephone Modems subsection on 3/27/03 * Updated and expanded the UUCP subsection on 3/27/03 * Updated and expanded the VPN subsection on 3/27/03 * Updated and expanded the Ethernet subsection on 3/27/03 * Added Wireless subsection to Networking section on 3/27/03 ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Linux * SMP * Mosix * Booting + LILO + GRUB + Multibooting * Backups * Compiler Optimization * Cron * Email + Elm + Filtering * Printing * Discs (hard drives, CDs, floppies, Zips, etc.) + Floppy Discs + CD Drives and CD-ROMs + RAID * Filesystems + File Undeletion + AutoFS + devfs + Distributed Filesystems o NFS + Encrypted Filesystems + ext3 + JFS + LVM + ReiserFS + XFS * Kernel * Multimedia + Sound and Video + Sound + Video * Networking + Wireless + xDSL/DSL + Cable Modems + DHCP + DNS + Ethernet + Firewalls o ipchains o netfilter/iptables + FTP + Multicast + PPP + PPTP + Routers and Routing + Telephone Modems + UUCP + VPN * Devices and Device Drivers + USB * Emulation/OS Interoperability * Security + Intrusion Detection + SSH/OpenSSH * Misc Linux/UNIX Software * Apache + Apache modules o mod_perl * assembly language * awk/gawk * autoconf/automake * automount * C + Objective-C * C++ * CGI * CORBA * CSS * CVS * Debugging * DHTML * Eiffel * Emacs * Expect * Forth * Fortran + Reference + Tutorial + Compiler-specific + Parallel + Mixed language programming * GIMP * GNOME * Gnuplot * graphics (general) * GTK * HTML * IEEE 754 * ILU * IPC * ipchains * iptables * IP-Masquerading * Java * JavaScript * JX * lex/yacc * Lisp * Little Languages * Make * Matlab * MIDI * Mixed Language Programming * ML * Motif * MPI * networks * OpenDX * OpenGL * Parallel * Pascal * Perl + Perl Modules * PHP + PHP with Databases * PostScript * Povray * Prolog * PVM * Python * Qt * REBOL * regular expressions * Rexx * RPC * Ruby * Samba * Scheme * SCSI * security * sed * Serial Programming * SGML * Shells + bash + Shell Portability * Smalltalk * Sockets * SQL + MySQL + PostgreSQL * SSI * Standard ML * STL * Tcl/Tk * TCP/IP * TeX * Threads * UNIX * vi * VRML * XDR * X11 + Xlib + Xt + X11 Toolkits/Wrappers o GTK+ o Qt o Motif o JX * XML * Miscellaneous ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Linux The original version of this document resides at http://stommel.tamu.edu/~baum/programming.html. * SMP: + Linux SMP + Linux in High-Performance Computing (May 1996) + Linux SMP HOW-TO - David Mentr (Nov. 1999) + Linux Parallel Processing HOW-TO - Hank Dietz (Jan. 1998) + Linux Parallel Processing Sites - Hank Dietz (Mar. 1998) + Volume Multi-Processor Systems - Chris Rijk (5/02) o Introduction to MP Systems o MP System and CPU Design Aspects o Some Current MP System Designs o Next Generation MP System Features o New Systems Coming in 2002-2003 o General Aspects of the Market + OpenMP + 2CPU.com o x86 SMP on the Cheap - Armin Lenz o Forums: # SMP Developer's Corner Forum # Linux Forum # Motherboards Forum # Applications/Software Forum + Hyperthreading: o Multithreading, Hyper-threading, Multiprocessing: Now, What's the Difference? - Andrew Binstock o Introduction to Multithreading, Superthreading and Hyperthreading - Jon Stokes o Intel's Pentium 4 3.06 GHz Processor with Hyper-Threading - Scott Wasson (Nov. 2002) o Hyperthreading Performance Explored (Sep. 2002) o Patch: Fully HT-Aware Scheduler Support - Ingo Molnar (Aug. 2002) o Linux First to P4 HyperThreading - Rick Hodgin (Dec. 2001) o Hyper-Threading Technology - Intel o Intel Hyperthreading Traced to DEC Tech - Michael Kanellos (Oct. 2002) o Hyper-Threading without the Hype - Rupert Goodwins (Oct. 2002) * Mosix: + OpenMosix - Daniel Robbins o Part One o Part Two o Part Three * Booting and System Initialization: + How Your Computer Boots - Daniel Bovet and Marco Cesati (1/01) + From Power Up to Bash Prompt HOWTO - Greg O'Keefe (11/00) + A Look at System V Initialization - Mayank Sarup (1/01) + Boot Process Tips - Donnie Barnes (12/99) + Linux Bootdisk HOWTO - Tom Fawcett (11/00) + Linux Boot Prompt HOWTO - Paul Gortmaker (5/99) + The Linux Boot Process - Craig Van Degrift (2/00) + Introduction to the Linux Boot Sequence - K. Subramaniam o Relevant Documentation o Three Approaches to Making Linux Rescue Diskettes or CD-ROMs o A Guided Tour of a Linux Boot + Linux Boot Scripts - Richard Gooch (11/00) + Boots and Shutdowns - Lars Wirzenius and Joanna Oja From The Linux System Administrator's Guide. + LILO o LILO FAQ - Cameron (3/01) o LILO User Guide - Werner Almesberger (12/98) o LILO Technical Overview - Werner Almesberger (6/96) o LILO Mini-HOWTO - Miroslav Skoric (11/00) o LILO Configuration and Usage - Mayank Sarup (11/00) o An In-Depth Look at LILO - Trevor Warren (1/01) o LILO Linux Crash Rescue HOWTO - Alavoor Vasudevan (12/00) o Booting Multiple Operating Systems with LILO - Steve Limkemann o Configuring LILO - Vince Veselosky (99) o LILO Lessons - Steve Litt (99) o Win95 + WinNT + Linux Multiboot Using LILO Mini-HOWTO - Renzo Zanelli (3/98) o LILO Error Codes + GRUB o GNU GRUB FAQ - Okuji Yoshinori o Multiboot with GRUB mini-HOWTO - Ivan Kanis (1/01) o The GRUB Manual - Gordon Matzigkeit and Okuji Yoshinori o Zen and the Art of Using GRUB - Gerald Homeyer o GRUB: Multi-Boot Without LILO - Mayank Sarup (2/01) o The GNU GRUB Boot Loader - Jaswinder Kohli o Making a GRUB Boot Floppy Disk - Bruce Marshall (Sep. 2002) o Boot with GRUB - Wayne Marshall (May 2001) + Other Boot Loaders: o Extended-IPL Can be installed from FreeBSD, Linux or DOS, and can boot *BSD or Linux from the end (greater than 8 Gb) of a single hard drive or from a second or later hard drive. o GAG Can boot OSs installed in primary and extended partitions on any available hard disk. Supports and can be installed from nearly all OSs, e.g. OS/2, Windows, Linux DOS, *BSD, SCO, etc. o nuni Designed to avoid BIO limitations by not using the BIOS, i.e. can be used to boot from any place on a hard drive up to 137 Gb. Works with the ext2 filesystem and IDE drives. o OSL2000 Uses something called UltraIO to "work with almost all x86 PCs, operating systems and partition types." The installation requirements are a PC clone, a hard disk and a single FAT partition. o Smart Boot Manager "Absolutely OS independent." o SYSLINUX A boot loader that operates off an MS-DOS/Windows FAT filesystem, i.e. it can (only) boot Linux from a FAT filesystem. o Two Kernel Monte A kernel module that allows Linux to boot another kernel image into RAM and restart the machine from that kernel. o UNILOAD Officially supoprts DOS, FreeBSD and Linux. o XOSL Supports BeOS, MS-DOS, FreeDOS, Linux (with LILO), Solaris, VxWorks 5.x, Windows 95/98/ME, Windows NT/2000 and "others." This also has many features not found in other freely available boot manager. # XOSL HOWTOs and FAQs # XOSL Quick Install HOWTO - Philipp G. (Apr. 2001) # User Manual for XOSL - Geurt Vos (Jun. 2000) # Installation Walkthrough for XOSL - Guert Vos (Jun. 2000) # CD-ROM Booting HOWTO for XOSL o Multibooting: # The Multi-Boot Configuration Handbook - Rod Smith (7/00) This is a commercial offering that costs around $40. The Amazon reviews indicate that it covers all the major available x86 operating systems except for Solaris x86. All the material therein is probably covered in the following freely available entries, but if you want it all in one place and can afford to part with the Franklins, then there it is. I'm not paid a cent for any commercial listings I may put in here, by the way. # Guide to Multibooting - Reuel Miller # Setting Up a Multi-Boot Machine with Linux and other OS - T. W. Burger (12/00) # GRUB: Multi-boot without LILO! - Mayank Sarup (Feb. 2001) # Linux Multibooting HOWTOs: @ Linux + Win9x + Grub HOWTO - Joel Rosen (Jan. 2002) @ Multiboot with GRUB Mini-HOWTO - Ivan Kanis (Jan. 20010) @ Win95 + WinNT + Linux Multiboot using LILO Mini-HOWTO - Renzo Zanelli (Mar. 1998) @ Linux + Windows HOWTO - Jonathan Katz and Robert Meier (Nov. 1999) @ Linux Installation Strategies mini-HOWTO - Tobby Banerjee (May 2001) @ Linux + Windows NT mini-HOWTO - Miroslav Skoric (May 2002) @ Windows NT OS Loader + Linux mini-HOWTO - Bernd Reichert (Sep. 1997) @ Linux + Windows 95 mini-HOWTO - Jonathan Katz (Mar. 2001) @ Linux + DOS + Win95 + OS/2 mini-HOWTO - Mike Harlan (Nov. 1997) # Linux and Windows XP dual boot: @ Dual Booting Linux with NT/2K/XP @ Dual-Boot Linux and Windows 2000/XP with GRUB HOWTO - Ed Park (Oct. 2002) @ Dual Booting Redhat 7.2 and Windows XP Version 1.1 - John Oates (Apr. 2002) @ Dual Boot Linux and Windows [XP] - Chris DiBona (Aug. 2002) @ Tips & Tricks: Dual Booting Windows XP/2000 with Linux - RedHat (2002) @ RedHat 8.0 Manual: Configuring a Dual Boot System @ Support Both OSs: Dual Boot Windows XP and Red Hat Linux 7.3 - Scott Lowe (Aug. 2002) @ Dual Booting: Windows XP and Red Hat Linux 7.3 - Bill Moss (Jun. 2002) @ Windows XP Dual Boot Tip Page @ Mandrake: Multi-booting Win98SE, Win2k and Mandrake # Linux + Windows ME dual boot: @ Real DOS-Mode Patch for Windows Millennium - Reines (8/00) To install Linux on a machine which already has Windows ME taking up the entire hard disk, one must embark on a series of steps including one - the repartioning step - that entails booting into real DOS mode via ME. Bill Gates has seen fit to hide this option in ME. This site offers a method of working around this perfidious decision. @ DOS Lives in Windows: How to Regain the Ability to Boot and Run in Character Mode - Brian Livingston (10/00) An article detailing how to use the patch described in the previous entry. @ How to Restart from Windows Millennium into Windows 98 DOS Mode - (8/00) Another method for booting into DOS from ME that requires a copy of Windows 98. @ Boot Into DOS Mode from Windows ME - Joel Durham Jr. (11/00) Yet another option that entails creating a bootable floppy in ME, a process that Gates has also deliberately made more difficult than it used to be. # Booting Linux with the Win 2k Boot Loader - Vinod Unny (Aug. 2000) # Multibooting MS-DOS 6.22, Windows 98, Windows NT Server 4.0 and Linux - Tom de Blende (Nov. 1999) # BSD Flavors: @ Dual and Multi Booting FreeBSD, Linux and OpenBSD - George Shaffer (2000-2002) @ OpenBSD: - Linux + OpenBSD: It's Possible - Marc Espie (5/00) - Ranish Partition Manager - Mikhail Ranish A recommended option for booting OpenBSD along with Windows 3.1, Windows 95/98 and DOS. = Partitioning Primer - Mikhail Ranish A most helpful primer on hard drives and how they are partitioned. - Multibooting OpenBSD - (1/01) How to multiboot OpenBSD and Windows NT using NTloader. = The NTLDR Hacking Guide - Jason Locke (9/96) "Describes how to use NTLDR to boot Windows NT, Windows 98, Linux and old versions of DOS using NTLDR." @ FreeBSD: - Installing and Using FreeBSD with Other Operating Systems - Jay Richmond (7/96) - Linux + FreeBSD mini-HOWTO - Niels Jensen (3/00) @ NetBSD: - Booting NetBSD or DOS/Windows/Other Via a Menu - BSD/mac68 Booter Manual - Brian Gaeke and Nigel Pearson (6/98) "A MacOS application which boots the NetBSD/mac68k (and OpenBSD/mac68k) operating system." # Linux + Solaris mini-HOWTO - Max Berger (4/00) # How to Dual Boot Linux and Solaris # Loadlin + Win95/98/ME mini-HOWTO - Chris Fischer (2/01) # Linux Remote Boot mini-HOWTO: Configuring Remote Boot Workstations with Linux, DOS, Windows 95/98 and Windows NT - Marc Stuckelberg and David Clerc (2/99) o XDM: # xdm Man Page - Keith Packard # XDM and X Terminal mini-HOWTO - Kevin Taylor (11/00) # X Display Manager Repair and Removal Pre-Shrunk Ultra-Mini HOWTO - Karsten Self (10/00) # Configuring XDM - A Graphical Login Interface - Mark Nielsen (7/99) # An XDM Session - Chris Carlson (7/99) # Taming the X Display Manager - Miles O'Neal (7/96) # Xdm: Advanced Topics - Alexander Leidinger (12/00) # GNOME Display Manager + Cron o Cron Tutorial (Mar. 2002) o Automating Things with Cron - Laurence Hunter (1999) o Configuring a Cron Task - Red Hat 7.2 Manual o Doing Things Periodically Using Cron - Erik Forsberg o Cron Help Guide o Automating Tasks with Cron and Crontab Files - Linux Administration Made Easy + Compiler Optimization: o The New Intel C Compiler for Linux - Jake Jenkins (Apr. 2002) o Intel Compilers for Linux - Compatibility with the GNU Compilers o Optimizing Applications with the Intel C++ and Fortran Compilers for Windows and Linux o GCC/Absoft F90 vs. Intel ICC/IFC - Michael Sabielny (Aug. 2002) o Linking LAPACK and SLATEC with IFC for Linux + Backups: o Linux Backup HOWTO - Pierre Scotney (Oct. 1999) o Linux Backups Mini-FAQ - Karsten Self (Oct. 2001) o Linux Sysadmin Guide: Backups - Lars Wirzenius et al. o Debian Sysadmin Manual: Backup and Restore - Tapio Lehtonen (Nov. 2002) o Redhat 8.0 Manual: Planning for Disaster o Whys and Whens of Backup and Restore - Gerhard Mourami and Madhu "Maddy" (2000) o How to Backup Data on UNIX o Linux Backup - Linux Consulting (Feb. 2002) # Backup Issues and Media # Copying Directories and Files # Deleting/Undeleting Directories and Files # Backup Failure Modes # Full/Incremental Backups # Example Backup Commands # Backup Programs/Scripts o Linux Bare-Metal Recovery - W. Curtis Preston (2000) o Backups and Disaster Recovery - Gopi Garge (Sep. 2001) o The Skinny on Backups and Data Recovery - Marcel Gagne 1. A Case of Restored Identity 2. A Cure for the "No Tape Drive, But I Got a CD Writer" Blues 3. Options for Backups, Tape, Tips and Tapers 4. Backup Tools and Cool Graphical Backup Tools) o Backup for the Home Network - J. C. Pollman and Bill Mote (Nov. 1999) o Specific Tools: # GNU tar: @ Performing Backups and Restoring Files (with GNU tar) @ Securing and Optimizing Linux: Automating Backups with tar - Gerhard Mourani and Madhu "Maddy" (2000) @ Remote Backups: GNU tar through rsh - James Dennis (Aug. 1998) # dump: @ dump Man Pages: - Linux - FreeBSD - OpenBSD - BSDI - SGI @ Backups Using Dump @ The dump Backup Program - Gerhard Mourani and Madhu "Maddy" (2000) @ Redirecting a dump Backup from Remote to Local - Dan Penrod (Jun. 1995) @ cddump: Backup to CD-R and CD-RW - Fraser McCrossan (2002) # rsync: @ rsync Man Page - Andrew Tridgell and Paul Mackerras @ rsync Faq-O-Matic @ Using Rsync - Vans Information (May 2001) @ Creating Filesystem Backups with 'rsync' - Brian Wilson (Nov. 2001) @ Easy Automated Snapshot-Style Backups with Linux and Rsync - Mike Rubel (2002) @ How to Use Rsync for Backup to Disk - Darrell May @ Backups Using Rsync - Wilder (Feb. 2002) @ Rsync Mirroring HOW-TO and FAQ - Karsten Thygesen (Oct. 1999) @ Duplicity: Encrypted Bandwidth-Efficient Backup Using the Rsync Algorithm - Ben Escoto # Using Mondorescue for Linux Backups - CCP14 # Amanda: @ Top Five Open Source Packages for Sysadmins - No. 5: Amanda - AEleen Frisch (Sep. 2002) @ Using Amanda - John Jackson (2000) @ Amanda Faq-O-Matic @ Using Amanda for Backups - FrankenLinux (May 2001) @ Amanda Users Mail Group Archive @ Secure Backups with Amanda and GPG - NSS (2000) @ Backup Over the Net with Amanda - Carla Schroder (Jul. 2002) @ Enjoy Fast Network Backups and Restores with Amanda - Carla Schroder (Jul. 2002) @ Amanda Guide - Steve Mitchell (Apr. 1996) @ Amanda, the Advanced Maryland Automated Network Disk Archiver - Drew Einhorn (Dec. 2000) + Email: o A Beginner's Guide to Effective Email - Kaitlin Sherwood o Linux Mail User HOWTO - Eric Raymond (2000) o Linux Electronic Mail Administrator HOWTO - Guylhem Aznar (Jan. 2000) o Teaching Your Email to Fetch - Kevin Mullet (Oct. 2000) o How to Set Up a Linux Mail Hub - Paul Dunne o Scalable Webmail HOW-TO - Jason Belich (Aug. 1999) o Mail for the Home Network - J. C. Pollman and Bill Mote (Sep. 1999) o Mail User Agents (MUA): # elm # Elm User's Guide: A Painless Introduction to Electronic Mail with Elm # Elm Configuration Guide: How to Install and Customize Elm # Elm Reference Guide: A Comprehensive List of All Commands and Options # Elm Forms Mode Guide: What It Is and How to Use It # Elm Alias System Users Guide: What Aliases Are and How to Use Them # Elm Mail System Reference - Syd Weinstein # Elm Filter System Guide - Syd Weinstein # ELM FAQ # Elm Mail User Agent FAQ - Piero Serini (Feb. 1996) # Email with the Elm Mailer (Aug. 2002) # Elm Tutor (Jan. 1997) + Mail Transfer Agents (MTA): o Sendmail: o Postfix # Postfix Documentation, HOWTOs and FAQs o Qmail: # A Newbie's Guide to Qmail - Jay Dyson (Apr. 2001) # Life with Qmail - Dave Sill (Aug. 2002) # Qmail HOWTO - Adam McKenna (Sep. 2002) # Qmail FAQ - D. J. Berstein # Living with Qmail - Tips and Advice # Qmail Man Pages # The Qmail Newbie's Guide to Relaying - Chris Johnson # Qmail Single UID HOWTO - Paul Gregg (1998) # Qmail Spamfilter - Paul Gregg (Oct. 2000) # Qmail Anti-Spam HOWTO - Chris Hardie (Aug. 2002) # Qmail and MySQL # Linux Qmail Toaster (Jun. 2002) # Life with Qmail-LDAP - Henning Brauer (May 2002) + Filtering: o Filtering Mail FAQ - Nancy McGough o procmail: # Getting Started with Procmail - Catherine Hampton (Apr. 2000) # Procmail Tutorial - elflord # Procmail: A One-Size-Fits-All Mail Processor - Paul Dunne (Mar. 1999) # Procmail Basics - Dru Lavigne # Filtering Spam with Procmail - Dru Lavigne # Procmail Mini-Tutorial: Automated Mail Handling - Jim Dennis (1997) # Procmail Documentation Project @ Procmail Tips # Procmail Tips and Recipes - Timo Salmi (Nov. 2002) # Procmail FAQ # Mail Filtering with Procmail - Ian Soboroff # Procmail Quick Start - Nancy McGough et al. (Dec. 2002) # Enhancing E-Mail Security with Procmail: The E-Mail Sanitizer - John Hardin (2002) # Catching Spam with Procmail - Anne Bennett (Jun. 2002) # Fight Spam with Procmail - Joshua Drake (1998-2002) # Filtering Mail with Procmail - Gene Wilburn (Jul. 2001) # Procmail Mailing List Archive # Supplementary or Ancillary Programs: @ Filtering Spam with Postfix and Procmail - Joshua Stein (Dec. 2001) @ Filtering Email with Postfix and Procmail - Part 1 - Brian Hatch (Jun. 2002) @ Filtering Email with Postfix and Procmail - Part 2 - Brian Hatch (Jun. 2002) @ Filtering Email with Postfix and Procmail - Part 3 - Brian Hatch (Jun. 2002) @ Filtering Email with Postfix and Procmail - Part 4 - Brian Hatch (Jul. 2002) @ Busting Spam with Bogofilter, Procmail and Mutt - Nick Moffitt (Nov. 2002) @ Junkfilter: Spam Filtering with Procmail - Gregory Sutter (May 2002) @ Automatic Email Decryption Using Procmail and PGP - Roble (1999) o SmartList FAQ (Nov. 2002) o Foiling Spam with an Email Password System - Timo Salmi (Dec. 2002) o Filtering Mail with PerlMx - Mike DeGraw-Bertsch (Oct. 2001) o Sendmail Milters in Python - Jim Niemira and Stuart D. Gathman (Oct. 2002) o Filtering malware and spam with Postfix - Advosys (Nov. 2002) o Notes on Postfix and Fighting Spam - Doug Bagley (Mar. 2003) + IMAP "MAP stands for Internet Message Access Protocol. It is a method of accessing electronic mail or bulletin board messages that are kept on a (possibly shared) mail server. In other words, it permits a "client" email program to access remote message stores as if they were local. For example, email stored on an IMAP server can be manipulated from a desktop computer at home, a workstation at the office, and a notebook computer while traveling, without the need to transfer messages or files back and forth between these compuuters." - What is IMAP? o What is IMAP? o RFC 2060: Internet Message Access Protocol - M. Crispin (Dec. 1996) o IMAP on Linux: A Practical Guide - David Jao (Dec. 1998) o Message Access Paradigms and Protocols - Terry Gray (Sep. 1995) o Comparing Two Approaches to Remote Mailbox Access: IMAP vs. POP - Terry Gray (Sep. 1995) o Cyrus IMAP Server Overview (1997) o UW IMAP Toolkit FAQ o Implementing IMAP with UW imapd - Jauder Ho (1999) o Courier-IMAP README o Courier-IMAP FAQ o Courier-IMAP + Maildrop + QMail + Userdb + Virtual Domains HOWTO - Alex Porras + LDAP "Lightweight Directory Access Protocol (LDAP) is an open-standard protocol for accessing X.500 directory services. The protocol runs over Internet transport protocols, such as TCP. LDAP is a lightweight alternative to the X.500 Directory Access Protocol (DAP) for use on the Internet. It uses TCP/IP stack verses the overly complex OSI stack. It also has other simplications, such as the representing most attribute values and many protocol items as textual strings, that are designed to make clients easier to implement." - OpenLDAP Faq-O-Matic o OpenLDAP Faq-O-Matic o LDAP FAQ - Mark Wahl (Nov. 1998) o LDAP Roadmap and FAQ - Jeff Hodges (Dec. 2001) # Introduction to Directories and the LDAP - Jeff Hodges (1997) o LDAP Linux HOWTO - Luiz Malere (Sep. 2002) o LDAP: Use as Directed - Tim Howes (Feb. 1999) o Don't Make Me LDAP You - Mark Komarinski and Cary Collett o Light Up LDAP: A Programmer's Guide to Directory Development - Cameron Laird and Kathryn Soraiz 1. Write Your First LDAP Application (Jul. 1999) 2. Choosing an LDAP Server o LDAP in Action - Rawn Shah 1. Do You Want to Dig for Your Data, or Would You Rather Have It at Your Fingertips? 2. Designing an LDAP Directory Service 3. Putting the Pieces Together o Deploying Directory Enabled Networks Using Open Source - Adam Williams (2001) o OpenLDAP Administrator's Guide (Aug. 2002) o Sendmail + LDAP HOWTO - Jason Radford (Aug. 2000) o Life with Qmail-LDAP - Henning Brauer (May 2002) * Printing: + Printing HOWTO - Grant Taylor (Jan. 2001) + Linux Printing Usage HOWTO - Mark Komarinski (Feb. 1998) + Linux Printer Compatibility Database + Linux Printing Made Easy - Joshua Drake 1. Our CUPS Runneth Over (Nov. 2000) 2. Configuring CUPS - Even for Unsupported Printers (Nov. 2000) 3. Configuration via the KDE/Qt Interfaces (Dec. 2000) 4. Configuring cupsd - the CUPS Daemon (Dec. 2000) + Taming the Horrors of Printers and Printing - Marcel Gagne 1. Demystifying Printers and Printing (Jan. 2000) 2. Remote Printing, JetDirects, Ghostscript and Other Beasties (Feb. 2000) 3. Not-So-Stupid PostScript Tricks, "WinPrinters", StarOffice and More (Feb. 2000) 4. Printer Buying Advice, CUPS of Print Job Security and Printing PDQ (Feb. 2000) + Experts Exchange Linux Printing Q&A + A Guide to Linux Printing - Steve Singer + Printer Tips - RedHat + Systems: o CUPS: # FAQ # Troubleshooting CUPS and Asking for Help HOWTO - Kurt Pfeifle (Feb. 2002) # Overview - Michael Sweet (Jul. 2000) # Software Administrators Manual (1997-2002) # Software Programmers Manual (1997-2002) # Software Users Manual (1997-2002) # Using CUPS - Ralph Krause (Jan. 2001) + Open Source Printing Summit 2000 + Internet Resources for Postscript and Ghostscript * Discs (hard drives, CDs, floppies, Zips, etc.) + Hard Disk Upgrade Mini-HOWTO - Yves Bellefeuille + Adding Additional Hard Drives in Linux - Alexander Prohorenko + Adding a Second Hard Drive to Your System - Mendel Leo Cooper + Adding a Hard Drive in Linux - In Five Steps - shaggy112 + Hard Drive Tweaking Mini-Guide - Davion + Hard Drive Speed Tweak for Linux - Fancy Piper + Zip Drive Mini-HOWTO - Kyle Dansie + Jaz Drive HOWTO - Herbert S. DaSilva + How to Use a Ramdisk for Linux - Mark Nielsen + Floppy Discs: o Creating Floppy Disks o File Transfer to Floppy Disks Under Linux o Using Your Floppy Drive - Tammy Fox o Archiving Floppy Disks Using Images - Charlton Rose + CD Drives and CD-ROMS: o Writing CDs with Linux - Katja and Guido Socher o Installing an IDE CD-R Under Linux - Linux Gurus o Creating CDs - Alex Withers o CD-ROM HOWTO - Jeff Tranter o CD Writing HOWTO - Winfried Trmper o CD Server HOWTO - Randolph J Tata + RAID: o What is RAID? o RAID Primer o RAID Solutions for Linux o Software RAID in the Linux 2.4 Kernel - Daniel Robbins 1. Installation and a General Introduction 2. Setting Up RAID-1 in a Production Environment o Software RAID HOWTO o Quick and Dirty RAID Information o Linux RAID Functions o Striping and Mirroring RAID o Software RAID Tips o Root Filesystem on RAID o Multi Disk System Tuning HOWTO + Root Filesystem on RAID - Martin Schulze (Jun. 1999) * Filesystems: + Overviews: o Filesystems HOWTO - Martin Hinner (Aug. 2000) o Filesystems and Disks - Tim Parker o Design and Implementation of the Second Extended Filesystem - Remy Card et al. o Journal File Systems - Juan Santos Florido (Jul. 2000) o First Attempt at Creating a Bootable Live Filesystem on a CD-ROM - Mark Nielsen (Jun. 2000) o Large File Support in Linux - Andreas Jaeger (Nov. 2002) To support files larger than 2 GiB on 32-bit systems, e.g. x86, PowerPC and MIPS, a number of changes to kernel and C library have to be done. This is called Large File Support (LFS). The support for LFS is not yet complete in Linux and this article should give a short overview of the current status. o Large File System Support in Linux 2.5.x + File Undeletion: o Recovering Lost ext2 Linux Filesystems - Steve Friedl o Averting Disaster: Undeleting Files - Jason Perlow (Aug. 2000) o Linux Ext2fs Undeletion Mini-HOWTO - Aaron Crane (Feb. 1999) o Ext2fs Undeletion of Directory Structures Mini-HOWTO - Tomas Ericcson (Nov. 2000) + AutoFS: o automount and autofs - Frederic Raynal (Jan. 2001) o HowTo Setup Linux AutoFS o autofs Tutorial - Mark Nielsen (Jun. 1999) o Autofs Automounter HOWTO - Alvin Oga (Dec. 1998) o Autofs Hacking - Jeremy Fitzhardinge (Feb. 2000) + ext3: o EXT3 File System Mini-HOWTO - Rajesh Fowkar (Aug. 2001) o Linux ext3 FAQ (Jul. 2002) o Whitepaper: Red Hat's New Journaling File System ext3 - Michael Johnson (2001) o Introducing ext3 - Daniel Robbins (Nov. 2001) o Surprises in ext3 - Daniel Robbins (Dec. 2001) o Exploring the ext3 Filesystem - Bill von Hagen o Using the ext3 Filesystem in 2.4 Kernels - Rajesh Fowkar + XFS: o Introducing XFS - Daniel Robbins (Jan. 2002) o Journal File Systems - Juan Santos Florido (Jul. 2000) o Linux XFS FAQ o XFS Man Pages o Working with XFS Filesytems # XFS for Linux Features # Working with XFS Filesystems # Making a Linux XFS Root # The Data Management API (DMAPI) o Scalability in the XFS File System - Adam Sweeney et al. (Jan. 1996) o XFS: It's Worth the Wait - Vincent Danen (Jul. 2000) + JFS: o JFS Overview: How the Journaled File System Cuts System Restart Times to the Quick - Steve Best (Jan. 2000) o JFS Layout: How the Journaled File System Handles the On-Disk Layout - Steve Best and Dave Kleikamp (May. 2000) o JFS on GNU/Linux - Steve Best (Mar. 2002) o JFS Fundamentals - Daniel Robbins (Jan. 2001) o JFS Root Boot HOWTO - Paul Larson (May 2001) + LVM: o Logical Volume Manager HOWTO - A. J. Lewis (2002) o Linux Logical Volume Management HOWTO - Richard Allen and Bert Hubert (2000) o Using Logical Volume Management - George Toft (Sep. 2002) o A Walkthrough of the Logical Volume Manager for Linux - S. Foskett o Learning Linux LVM - Daniel Robbins # Storage Management Magic with Logical Volume Management (Mar. 2001) # The cvs.gentoo.org upgrade (Apr. 2001) o The Linux Logical Volume Manager - AEleen Frisch (Nov. 2000) o Using the Logical Volume Manager - Vinayak Hegde (Nov. 2002) o A Logical Volume Manager for Linux, Finally! - Moshe Bar (Jul. 2000) o Logical Volume Manager for Linux - Rafeeq Ur Rehman o Logical Volume Managers - Ramon Casha (Aug. 2001) o The Logical Volume Manager (LVM) - Part 1 - Michael Hasenstein (2001) o The Logical Volume Manager (LVM) - Part 2 - Michael Hasenstein (2001) o Linux Volume Manager Basics + devfs: o Using DEVFS: How Device Programmers Can Write Code for the DEVFS Environment - Alessandro Rubini (Aug. 2000) o Linux Device File System (devfs) FAQ - Richard Gooch (Aug. 2002) o Linux devfs and SCSI Interaction - Doug Gilbert (Jan. 2001) + Distributed Filesystems: o Distributed Filesystems for Linux - Bill von Hagan o Coda: # The Coda Distributed Filesystem for Linux - Bill von Hagen # Coda HOWTO - Peter Braam et al. (Jan. 2000) # The Coda Distributed Filesystem - Peter Braam # Coda File System User and System Administrators Manual - M. Satyanarayanan et al. (2000) o InterMezzo # Using the InterMezzo Distributed Filesystem - Bill von Hagen # Keeping in Sync - Moshe Bar (Jan. 2002) # InterSync and InterMezzo HOWTO (Mar. 2002) o NFS: # NFS HOWTO - Tavis Barr et al. (Aug. 2002) # Linux NFS FAQ - Tom McNeal # RFC Documents: @ RFC 1094 - NFS: Network File System Protocol Specification - Bill Nowicki (Mar. 1989) @ RFC 1813 - NFS Version 3 Protocol Specification - B. Callaghan et al. (Jun. 1995) @ RFC 2054 - WebNFS Client Specification - B. Callaghan (Oct. 1996) @ RFC 2224 - NFS URL Scheme - B. Callaghan (Oct. 1997) @ RFC 2623 - NFS Version 2 and Version 3 Security Issues - M. Eisler (Jun. 1999) @ RFC 2624 - NFS Version 4 Design Considerations - S. Shepler (Jun. 1999) @ RFC 2755 - Security Negotiation for Web NFS - A. Chiu et al. (Jan. 2000) @ RFC 3010 - NFS Version 4 Protocol - S. Shepler et al. (Dec. 2000) @ RFC 3010b - NFS Version 4 Protocol - S. Shepler et al. (Nov. 2002) # The Network File System - Olaf Kirch and Terry Dawson (Jun. 2000) # Understanding NFS (Feb. 2002) # NFS - Network File System Introduction - Frederic Raynal (Nov. 2000) # Sharing, the NFS Way - Mayank Sarup (Feb. 2001) # Mounting Network File Systems the Easy Way - Joshua Drake # NFS Server in Linux: Past, Present and Future - Hongjiu Lu (Aug. 1999) # An Enhanced Disk-Caching NFS Implementation for Linux - Greg Badros (Apr. 1998) # Sun NFS White Paper (1994-2002) + Encrypted Filesystems: o Encrypting Your Disks with Linux - Doobee Tzeck (Oct. 1999) o How to Create Encrypted Filesystems on Linux - Steve Weigand (Jan. 2001) o Implementing Encrypted Filesystems on Linux o Loopback Encrypted Filesystem HOWTO - Ryan Rhea (Nov. 1999) o Cryptographic File System Under Linux HOW-TO - Alexander Yuriev (Mar. 1996) o Transparent Cryptographic File System 3.0.1 FAQ (2001) o StegFS: # StegFS FAQ + ReiserFS: o Introduction to ReiserFS - Hans Reiser (Sep. 2002) o Journaling and ReiserFS - Daniel Robbins (Jun. 2001) o Using ReiserFS and Linux 2.4 - Daniel Robbins (Aug. 2001) o An In-Depth Look at Reiserfs - Scott Courtney o Tips on ReiserFS - Nicholas Petreley o ReiserFS Improves Linux File Handling - Nicholas Petreley (Nov. 2000) o ReiserFS FAQ o ReiserFS Man Pages o Adventure ReiserFS - Kristian Rink (Apr. 2000) o Racing to ReiserFS on Red Hat - Mayank Sarup (Apr. 2001) o ReiserFS or ext2: Which Journaling Filesystem is Right for You? - Nicholas Petreley (Nov. 2001) + Advanced Filesystem Implementor's Guide - Daniel Robbins 1. Journaling and ReiserFS (Jun. 2001) 2. Using ReiserFS and Linux 2.4 (Aug. 2001) 3. Using the Virtual Memory (VM) Filesystem and Bind Mounts (Sep. 2001) 4. Introduction to devfs (Sep. 2001) 5. Setting up devfs (Oct. 2001) 6. Implementing devfs (Using the init Wrapper) (Oct. 2001) 7. Introducing ext3 (Nov. 2001) 8. Surprises in ext3 (Dec. 2001) 9. Introducing XFS (Jan. 2002) 10. Deploying XFSM (Apr. 2002) 11. Filesystem Update (Jun. 2002) 12. Introduction to EVMS (Oct. 2002) * Kernel: + Linux Kernel HOWTO - Brian Ward and Al Dev (Jun. 2002) + Conceptual Architecture of the Linux Kernel - Ivan Bowman (Dec. 1998) + Concrete Architecture of the Linux Kernel - Ivan Bowman et al. (Oct. 1998) + Linux Kernel Archives + Linux Kernel Mailing List FAQ + Linux Kernel Mailing List Archive + Linux Kernel 2.4 Internals - Tigran Aivazian (Aug. 2002) + The Linux Kernel - David Rusling (1996-1999) + Understanding the Linux Kernel - Daniel Bovet and Marco Cesati (Oct. 2000) o Table of Contents o Sample Chapter: Process Scheduling + Kernel Rebuild Procedure - Kwan Lowe (Jul. 2002) + Linux Kernel Installation - David Bandel (Nov. 1997) + Rebuilding the Linux Kernel + Kernel Hacking HOWTO - Andrew Ebling (Mar. 2002) + Linux Kernel Hackers' Guide + Upgrading to the 2.4.x Kernel - Amit Chattopadhyay (Feb. 2001) + Meet the 2.4 Linux Kernel - T. W. Burger o Part 1: When Will We Get It and What Will We Get? o Part 2: What Specialized Hardware Support Will We Get? + Linux Kernel Configuration Help Texts The complete text of the configuration help files for kernels 1.2.x through 2.2.x. + Kernel Modules: o Linux Kernel Module Programming Guide - Ori Pomerantz (1999) o (Nearly) Complete Linux Loadable Kernel Modules - pragmatic (Mar. 1999) + Index of Documentation for People Interested in Writing and/or Understanding the Linux Kernel - Juan-Mariano de Goyeneche (Feb. 2002) * Multimedia: + Linux Multimedia - Sander van Vugt (May 2002) + Sound and Video: o Generic Graphics Interface (GGI) Project "GGI stands for "General Graphics Interface", and it is a project that aims to develop a reliable, stable and fast graphics system that works everywhere. We want to allow any program using GGI to run on any platform requiring at most a recompile." o SDL: # SDL Introduction - Sam Lantinga # SDL FAQ # SDL Library Documentation - Sam Lantinga and Martin Donlon (Sep. 2001) @ SDL Guide @ SDL Reference # SDL: The DirectX Alternative - Howard Wen (Sep. 2001) # SDL: Making Linux Fun - Sam Lantinga (Sep. 1999) # GFX with SDL - Marius Andra (2001-2002) # Using SDL - Sam Lantinga and Lauren MacDonell 1. Creating a Game for Linux from Scratch (Sep. 1999) 2. First Steps to Coding the New Game (Mar. 2000) 3. Story Development and Graphic Design (Apr. 2000) 4. lex and yacc: Building Parsers for Scripts and Gui Design (May 2000) 5. Simplicity, Consistency and Immersion (Aug. 2000) # Graphics Programming with Python and SDL - Andre Renaud et al. (Aug. 2000) # SDL and KDevelop Mini-HOWTO - Sam Hart (Aug. 2001) # Java for SDL (Oct. 2002) # A C++ Wrapper for the SDL # The SDL from a Win32 Perspective - Ernest Pazera 1. Setting Up Your System for SDL 2. SDL Video + Sound: o Linux Audio Users Guide - Patrick Shirkey o Linux Sound HOWTO - Jeff Tranter (Jul. 2001) o Linux Sound Playing HOWTO - Yoo Chung (Aug. 1998) o Linux Audio Quality HOWTO - Paul Winkler (Nov. 2001) o Linux Soundcard Drivers: A Brief Guide for Users and Developers - Dave Phillips (May 2001) o Streaming Media with Linux - Dave Phillips (Mar. 2001) o Linux Sound Support - Jeff Tranter (Aug. 1994) o Setting up a Multitrack Audio Recording Studio - Alex Heizer (Sep. 2001) o Soundings: Explorations in Linux Sound - Larry Ayers (Nov. 1999) o Linux Laptop Sound Configuration - Dave Phillips (Sep. 2002) o ALSA (Advanced Linux Sound Architecture) # ALSA Wiki # ALSA HOW-TO - Jorn Nettingsmeier (2000) # ALSA Sound Mini-HOWTO - Valentijn Sessink (Nov. 1999) # A Tutorial on Using the ALSA Audio API - Paul Davis (2002) # ALSA 0.9.0 Developer HOWTO - Matthias Nagorni (May 2002) # ALSA Library API - Jaroslav Kysela et al. (1997-2001) o OSS/4Front: # OSS Support Forum # OSS Programmer's Guide o LADSPA (Linux Audio Developer's Simple Plugin API) # LADSPA SDK # LADSPA Plugin Developers' Documentation (May 2000) # Linux Audio Plug-ins: A Look Into LADSPA - Dave Phillips (Feb. 2001) o Audio CDs: # Creating Audio CDs with Linux - Dave Phillips (May 2001) o Linux MIDI + Sound Pages - Arne DiRusso (1996-2000) o Sound & MIDI Software for Linux - Dave Phillips # Documentation and Newsworthy Items # Sound Cards and Drivers o Getting Your SBLive to Work - Morganth (Aug. 2002) o MP3 Linux Players - Craig Knudsen (Jul. 1999) + Video: o YoLinux Tutorial: Video, DVD, TV and Multimedia # Digital Video Editing and Capture # DVD # View TV/Listen to FM Radio # Video File Formats o Video MPEG Editors, Encoders and Recorders o Video for Linux Resources (Nov. 2002) o Video for Linux Two - Bill Dirks (Mar. 2002) o Extended Linux Video o Linux and the TV - Amit Chattopadhyay (Dec. 2000) o Linux Media Labs o DVD Ripping and Transcoding with Linux - Moritz Bunkus o DVD+RW/+R for Linux - Andy Polyakov * Networking: + The Linux Network Administrator's Guide - Olaf Kirch and Terry Dawson (Mar. 2000) 1. Introduction 2. Introduction to TCP/IP 3. Configuring the Networking Hardware (PLIP, PPP, SLIP) 4. Configuring the Serial Hardware (modems, tty) 5. Configuring TCP/IPi (Ethernet) 6. Name Service and Resolver Configuration (DNS and BIND) 7. Serial Line IP (SLIP) 8. The Point-to-Point Protocol (PPP) 9. TCP/IP Firewall (ipchains, iptables, netfilter) 10. IP Accounting 11. IP Masquerade and Network Address Translation (NAT) 12. Important Network Features (inetd, tcpd, RPC, rlogin, ssh) 13. The Network Information System (NIS) 14. The Network File System (NFS) 15. IPX and the NCP Filesystem (NetWare) 16. Managing Taylor UUCP 17. Electronic Mail (elm) 18. Sendmail 19. Getting Exim Up and Running 20. Netnews (usenet) 21. C News 22. NNTP and the nntp Daemon 23. Internet News (INN) 24. Newsreader Configuration (tin, trn, nn) + Linux Networking Overview HOWTO - Daniel L. Ridruejo (Jul. 2000) + Home Network Mini-HOWTO: RedHat as an Internet Gateway for a Home Network - Paul Ramsey (Jun. 2000) + Red Hat Network Device Configuration Tips - Will Harris (Apr. 1999) + IP Sub-Networking Mini-HOWTO - Robert Hart (Aug. 2001) + Setting Up IP Aliasing on a Linux Machine Mini-HOWTO - Harish Pillay (Jan. 2001) + NFS Tips - Will Harris (Apr. 1999) + Wireless o Wireless LAN Resources for Linux - Jean Tourrilhes # Linux Wireless LAN HOWTO @ Introduction @ The Devices and Drivers @ Wireless LANs in Use @ Wireless Extensions for Linux @ Wireless LAN Technology Overview o Wireless HOWTO - Roberto Arcomano (Jul. 2002) o Wireless FAQ - Personal Telco (Mar. 2003) o Wireless Router HOWTO - Michael Taht and Greg Retkowski (Dec. 1998) o Low Cost Wireless Network HOWTO - GBPPP (Mar. 2003) o Using a UNIX Computer as a 802.11 Wireless Base Station - Ross Finlayson (Feb. 2003) o Linux Bluetooth Information - Delbert Matlock o Linux WLAN Project o PCMCIA: # PC Card Resource Directory # Linux PCMCIA Information Page @ Linuxx PCMCIA HOWTO - David Hinds (Feb. 2003) @ Linux PCMCIA Programmer's Guide - David Hinds (Jan. 2003) @ PCMCIA man pages # Linux, PCI-PCMCIA Adapters, PCMCIA Cards and Cardbus Cards - Tony Olech o 802.11b: # Anatomy of IEEE 802.11b Wireless - Joel Conover (Aug. 2000) # 80211 Planet # Recipe for a Linux 802.11b Home Network - Schuyler Erle (Mar. 2001) # 802.11b Tips, Tricks and Facts - Rob Flickenger (Mar. 2001) # PCMCIA Wireless Cards (802.11b) and Linux # WIFI and the Penguin: Setting Up 802.11b Under Linux # Using SSH Tunneling (with 802.11b) - Rob Flickenger (Feb. 2001) # Getting Started with Lucent's 802.11b Wireless LAN Card - Rob Flickenger (Nov. 2000) # Linux 802.11b and Wireless (In)security - Michael Kershaw (Mar. 2002) + xDSL/DSL: o xDSL and Linux: Go Speed Racer! - Nicholas M.M. Donovan o DSL for Linux o DSL HOWTO for Linux - Hal Burgiss et al. (Jul. 2002) o ADSL Bandwidth Management HOWTO - Dan Singletary (Sep. 2002) o ADSL Easy HOWTO for Linux Systems - SirPlaya (Sep. 1999) o Web Hosting Through DSL and Linux (Feb. 2001) o Verizon DSL with the Fujitsu Bridge - Seanet o Using Linux with Bell Atlantic Infospeed DSL - D. Foster o Using Linux with Earthlink DSL (Jul. 2002) o The PPPoE World for Linux - Bernhard Kaindl o Cable/DSL Tweak Guide - Dustin "TimmyC" Jones (Sep. 2000) o Cable Modem and DSL Security Issues and Solutions - John Broughton (2000) + Cable Modems: o Linux Cable Modem Info o Cable Modem Configuration - Tammy Fox (Apr. 2001) o Cable Modem Mini HOWTO - Vladimir Vuksan (Jun. 1999) o Cable Modems and Linux - Woody Hughes o How to Set Up a Cable Modem Router and Print Server with Linux - Casey McGinty (Aug. 1999) + DHCP: o Resources for DHCP # RFCs for DHCP # DHCP FAQ o How to Make Network Configuration as Easy as DHCP - James Mohr (Apr. 2000) o DHCP Primer - Michael Calore (Sep. 2000) o DHCP Mini-HOWTO - Vladimir Vuksan (Oct. 2000) o Linux and DHCP - James Andrews o DHCP for the Home Network - J. C. Pollman and Bill Mote (Dec. 1999) o Linux Troubleshooters: DHCP - Steve Litt (1999) o Installing and Using the DHCP - Alpha Centauri o The ISC's DHCP Distribution - Ted Lemon (Jun. 1998) o NetBSD DHCP How-To (Oct. 2002) o FreeBSD DHCP - Greg Sutter o Linux Laptop DHCP Configuration - RISC (Nov. 2001) o Linux DHCP Configuration and IP Masquerade o Beyond DHCP: Work Your TCP/IP Internetwork with Dynamic IP - Oscar Cepeda et al. (Jan. 2000) "Explores important network design issues for today's modern mixed intranets. The authors discuss many different platforms, including Windows 95, Windows 98, Windows NT, OS/2 Warp, OS/2 Warp Server, AIX, Macintosh, WorkSpace On-Demand, Linux, Solaris, and others. The [536 page] book examines how to connect these systems in a reliable, flexible, high-performance TCP/IP network." o Cisco IOS DHCP Server Manual o Integrating UNIX and NT Technology: DHCP - Emmett Dulaney et al. (Jun. 1999) + DNS: "The DNS directory service consists of DNS data, DNS servers, and Internet protocols for fetching data from the servers. The billions of resource records in the DNS directory are split into millions of files called zones. Zones are kept on authoritative servers distributed all over the Internet, which answer queries according to the DNS network protocols. In contrast, caching servers simply query the authoritative servers and cache any replies. Most servers are authoritative for some zones and perform a caching function for all other DNS information. Most DNS servers are authoritative for just a few zones, but larger servers are authoritative for tens of thousands of zones." - What is DNS? o DNS Resources Directory # What is DNS? o Building a DNS - Robert Kohlhepp (Feb. 1997) o Take Command: An Introduction to DNS and DNS Tools - Neil Anuskiewicz (May 2001) o Introduction to DNS - Andreas Gundacker (May 1998) o Domain Name Service - Peter Burden o DNS HOWTO - Nicolai Langfeldt (Dec. 2001) o Setting Up Your New Domain Mini-HOWTO - Christopher Neufeld (Oct. 2000) o Exploring the Domain Name Space - Kristin Windbigler (Jan. 1997) o DNS Oversimplified...or, Even a Rocket Scientist Can Understand DNS - R. Scott Perry (Jul. 2000) o DNS Demystified - Al Berg o DNS for the Home Network - J. C. Pollman and Bill Mote (Aug. 1999) o Red Hat DNS Tips - Red Hat o Setting Up DNS Servers - Bhavin Patel (Feb. 2001) o Setting Up a Basic DNS Server for a Domain - Craig Richmond (Aug. 1993) o Securing Your Name Server - Cricket Liu (Dec. 1998) o DNS Overview with a Discussion of DNS Spoofing - Sinead Hanley (Nov. 2000) o Domain Name Glossary o DNS Alert o DNS LOC: Geo-Enabling the Domain Name System - Christopher Davis (Mar. 2001) + Ethernet: " The term Ethernet refers to the family of local-area network (LAN) products covered by the IEEE 802.3 standard that defines what is commonly known as the CSMA/CD protocol." " The original Ethernet was developed as an experimental coaxial cable network in the 1970s by Xerox Corporation to operate with a data rate of 3 Mbps using a carrierxi sense multiple access collision detect (CSMA/CD) protocol for LANs with sporadic butxi occasionally heavy traffic requirements. Success with that project attracted early attentionxi and led to the 1980 joint development of the 10-Mbps Ethernet Version 1.0 specificationxi by the three-company consortium: Digital Equipment Corporation, Intel Corporation,xi and Xerox Corporation." - Internetworking Technology Handbook: Ethernet o Internetworking Technology Handbook: Ethernet - Cisco o Linux Ethernet HOWTO - Paul Gortmaker (Oct. 2000) o Linux Ethernet Drivers # Cluster Adapters # Gigabit Ethernet # PCI and CardBus Ethernet Adapters # USB Ethernet Drivers # ISA, EISA, Parallel and Other Ethernet Device Drivers # Unsupported Hardware o Ethernet Web Site - Charles Spurgeon # The Ethernet Standard # 10 Mbps Ethernet # 100 Mbps Fast Ethernet # Gigabit Ethernet # 10 Gigabit Ethernet # Multi Segment Configuration Guidelines + Firewalls: o Internet Firewalls: FAQ - Matt Curtin and Marcus Ranum (Dec. 2000) o Configuring an Internet Firewall and Home LAN with Linux - Robert Ziegler (Sep. 1999) o Firewall and Proxy Server HOWTO - Mark Grennan (Feb. 2000) o netfilter/iptables Netfilter is the system compiled into the kernel which provides hooks into the IP stack which loadable modules (e.g. iptables) can use to perform operations on packets. IPTables consists of two parts: user-space tools and kernel-space modules. The latter are distributed with the kernel, and include the main ip_tables module as well as modules for NAT, logging, connection tracking, etc. The former takes the form of the iptables binary, distributed separately from the kernel and used to add, remove or edit rules for the various modules. The netfilter/iptables project is the Linux 2.4.x / 2.5.x firewalling subsystem. It delivers you the functionality of packet filtering (stateless or stateful), all different kinds of NAT (Network Address Translation) and packet mangling. # netfilter: firewalling, NAT and packet mangling for Linux 2.4 @ netfilter/iptables FAQ - Harald Welte (Jul. 2002) @ Linux Networking Concepts HOWTO - Rusty Russell (Jul. 2001) @ Linux 2.4 NAT HOWTO - Rusty Russell (Jan. 2001) @ Linux 2.4 Packet Filtering HOWTO - Rusty Russell (Jan. 2002) @ Netfilter Hacking HOWTO - Rusty Russell and Harald Welte (Jul. 2002) @ Netfilter Extensions HOWTO - Fabrice Marie # iptables: What is it? - James Stephens (Dec. 2002) # The Netfilter Framework in Linux 2.4 - Harald Welte (Sep. 2000) # Linux Gets Stateful Firewalling: Introducing Netfilter (iptables) - Jay Beale (2000) # Using Linux 2.4 Firewalling - Building a Firewall with Netfilter - Jay Beale (2000) # Linux Kernel 2.4 Firewalling Matures: Netfilter - Dave Wreski (Feb. 2001) # Taming the Wild Netfilter - David A. Bandel (Mar. 2003) # Filtering Packets with iptables - Joe Brockmeier (Mar. 2001) # Using iptables - Joe Brockmeier (Apr. 2001) # Iptables Tutorial - Oskar Andreasson (2002) # How to Use iptables - Krnlpanic # iptables Basics - Prince Kenshi (2003) # Netfilter Connection Tracking and NAT Helper Modules - Harald Welte (Oct. 2000) # Comparison of iptables Automation Tools - Anton Chuvakin (Apr. 2001) # iptables Connection Tracking - James Stephens (Oct. 2002) o An Introduction to Using Linux as a Multipurpose Firewall - Jeff Regan (Mar. 2003) o Transparent Firewalling - Federico and Christian Pellegrin (Mar. 2003) o Building a Firewall with IP Chains - Pedro Bueno (Mar. 2003) o Linux Firewall Survey, Part 1: Open Source Product Roundup - Pawel Leszek (1998-2003) o Auditing Your Firewall Setup - Lance Spitzner (Mar. 2000) o Installing a Firewall - Sam Mikes and Danielle Michaels 1. Get the Details of a Secure Trustix 1.1 Installation 2. Tips for Configuring Secure, Lean Mail and Network Services 3. Tweaking Trustix to Create a Secure Firewall and Server + FTP: o FTP in One Easy Lesson - David Culp o Automating FTP - Part 1 - David Culp o Automating FTP - Part 2 - David Culp + Multicast: " Internet Protocol (IP) multicast is a bandwidth-conserving technology that reduces traffic by simultaneously delivering a single stream of information to thousands of corporate recipients and homes. Applications that take advantage of multicast include videoconferencing, corporate communications, distance learning, and distribution of software, stock quotes, and news." - Internet Protocol Multicast o Internet2 Multicast Working Group o IP Multicast Groups Homepage - Cisco # A Brief History of Internet Multicast - John Zwiebel (Jun. 2000) # Multicast Routing - Cisco (1996-1999) # Internet Protocol Multicast Technology Overview - Cisco (1992-2002) o Linux Multicast FAQ - Andrew Daviel (May 1995) o Multicast over TCP/IP HOWTO - Juan-Mariano de Goyeneche (Mar. 1998) o Linux Multicast Information - Mike Esler (1996-1999) o MBone (Multicast Backbone) FAQ - Steve Casner (Aug. 1994) o Linux Mrouted Mini-HOWTO: How to Set up Linux for Multicast Routing - B. Trojanowksi (Oct. 1999) o Source Specific Multicast Homepage - Cisco + PPP: o Linux PPP HOWTO o 5-Minute Linux PPP HOWTO o How to Hook Up PPP in Linux o Getting Started with PPP o PPP Setup Tips o Linux PPP Dial-on-Demand and IP Masquerade o Setting Up a PPP Dial-In Server o Diald HOWTO + PPTP: "Short for Point-to-Point Tunneling Protocol, a new technology for creating Virtual Private Networks (VPNs) , developed jointly by Microsoft Corporation, U.S. Robotics, and several remote access vendor companies, known collectively as the PPTP Forum. A VPN is a private network of computers that uses the public Internet to connect some nodes. Because the Internet is essentially an open network, the Point-to-Point Tunneling Protocol (PPTP) is used to ensure that messages transmitted from one VPN node to another are secure. With PPTP, users can dial in to their corporate network via the Internet." - Webopedia o Point to Point Tunneling Protocol (PPTP) Technical Specifications - Kory Hamzeh et al. (Jun. 1996) o Analysis of Microsoft PPTP Version 2 - Bruce Schneir and Mudge (1999) o Linux PPTP Masquerading - Gordon Chaffee o PPTP Client o Creating a VPN Using PPTP - FreeBSD Diary (Apr. 2002) + Routers and Routing: o Linux Advanced Routing and Traffic Control HOWTO - Bert Hubert et al. (Jul. 2002) o Building High Performance Linux Routers - Terry Dawson (Sep. 2000) o Policy Routing in Linux - Matthew Marsh (Jun. 2000) o Introduction to Routing - David Piscitello and A. Lyman Chapin (1993) o Configuring a Quick-and-Dirty Router and Proxy - Joshua Drake (Feb. 2001) o Linux Router Project "A networking-centric micro-distribution of Linux that can be used in place of a traditional router. LRP is small enough to fit on a single floppy disk, and makes building and maintaining routers, bridges, firewalls, switches, and access servers very easy." + Telephone Modems: o Linux Modem HOWTO - David Lawyer (Mar. 2003) o Choosing a Modem for Linux (May 2001) o Linux Modem Sharing Mini-HOWTO - Friedemann Baitinger (Sep. 2001) o Linmodem Mini-HOWTO - Sean Walbran and Marvin Stodolsky (Feb. 2001) o Modem-Dialup-NT HOW-TO - Al Dev (Jun. 2002) o Winmodems and Linux HOWTO - Alexandre J. (Apr. 2001) o Linux Winmodem Support o Winmodems Are Not Modems: Linux Information - Rob Clark + UUCP "Short for Unix-to-Unix Copy, a Unix utility and protocol that enables one computer to send files to another computer over a direct serial connection or via modems and the telephone system. For most file transfer applications, UUCP has been superseded by other protocols, such as FTP, SMTP and NNTP." - Webopedia o RFC 976: UUCP Mail Interchange Format Standard - Mark Horton (Feb. 1986) o Linux UUCP HOWTO - Guylhem Aznar (Dec. 2001) o Taylor UUCP - Ian L. Taylor o Linux UUCP and sendmail - Brian Candler (Jun. 1998) o UUCP Internals FAQ - Ian L. Taylor (Jul. 1995) o Configuring Taylor UUCP under Linux - Andrew Cosgriff (1995) o The UUCP Project (Jan. 2000) + VPN (Virtual Private Network): "A private data network that makes use of the public telecommunication infrastructure, maintaining privacy through the use of a tunneling protocol and security procedures." - VPNC Glossary o VPN HOWTO - Matthew D. Wilson (Dec. 1999) o VPN FAQ o VPNC (Virtual Private Network Consortium) # VPN Protocols/Standards # VPN White Papers o VPN Masquerade HOWTO - John D. Hardin (Oct. 2000) o Workings of a Virtual Private Network, Part 1) - David Morgan (Mar. 2003) o Linux VPN Masquerade - John Hardin (1999-2003) o Private Networks and Roadrunner Using IP Masquerading - Mark Nielsen and Andrew Byrd (Mar. 2000) * Devices and Device Drivers: + Fail Safe Port Allocation for Linux Device Drivers - B. Thangaraju (Nov. 2002) + Linux Device Drivers (2nd Ed.) - A. Rubini and J. Corbet (Jun. 2001) + External Parallel Port Devices and Linux (1/00) + Linux and Parallel Port IDE Devices (9/99) + Getting the Wheel to Work: Wheel Mice - David Culp + Linux Device Drivers Demystified - James Andrews (Sep. 1999) + Plug-and-Play Hardware + The Linux SCSI Subsystem in 2.4 + Linux devfs and SCSI Interaction + USB: o Linux USB FAQ o Programming Guide for Linux USB Device Drivers o The Linux USB Subsystem o 2.4 Kernel and USB Mass Storage o Linux USB Device Overview o Linux USB Interoperability Guidelines * Emulation/OS Interoperability: + Windows or Linux, Linux or Windows? Linux and Windows: Samba + VNC: Windows Under Control + Setting Up and Using VNC - David Culp + Wine: Installation and Setup + How to Create a Multiple Partition System * Security: + Linux Administrator's Security Guide + Linux Security HOWTO + Armoring Linux + Securing Linux + Securing the Home Linux System + Workstation Security Primer + Thwarting the System Hacker 1. Introduction 2. Reading the Trail: What a TCP Wrapper Can Tell You 3. Getting to Know Your Enemy Through Network Ports and Port Scanners 4. Verifying the Integrity of Your Files 5. Looking for the Invisible 6. An Intro to Network Sniffers + Building a Secure Gateway System (Part 1, Part 2) + Setting Up Portsentry + A Look at the Buffer-Overflow Hack + Amateur Fortress Building in Linux + Intrusion Detection: o Intrusion Detection on Linux o Intrusion Detection: Knowing When Someone is Knocking on Your Door o Intrusion Detection Primer o Build a Secure System with LIDS + Intrusion Detection Systems for Your Network 1. Introduction 2. Installing Tripwire 3. Snort 4. Logcheck + SSH/OpenSSH: o SSH Tutorial o SSH FAQ o Getting Started with SSH o OpenSSH FAQ o OpenSSH Manual Pages o Getting Started with SSH - Kimmo Suominen (Oct. 2002) o OpenSSH: A Secure Alternative o SSH: Introduction, Setup, and Basic Problem Resolution - NCAR (Aug. 2002) o SSH: An Introduction - Bob Johnson (2001) o SSH Tutorial - Tom Berger (Oct. 2001) o OpenSSH Key Management - Daniel Robbins # Understanding RSA/DSA Authentication (Jul. 2001) # Introducing ssh-agent and keychain (Sep. 2001) # Agent Forwarding and Keychain Improvements (Feb. 2002) o The 101 Uses of OpenSSH # Part 1: Scratching the Surface o All About SSH # Part 1: Replacing telnet/rlogin/rsh with SSH # Part 2: OpenSSH o Secure Shell (SSH/SSH2) Setup o SSH Port Forwarding + Writing PAM Modules - Jennifer Vesperman o Part One o Part Two o Part Three * Misc: + Tuning Linux for Maximum Performance + Graphical Login Setup + Multiple Operating System Booting + Synching a Palm Pilot to Linux ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ UNIX/Linux Software The original version of this document resides at http://stommel.tamu.edu/~baum/programming.html. Apache * Installation and Getting Started + An Introduction to Apache 2.0 - Ryan Bloom (May 2000) + Getting Started with Apache 1.3 - Ken Coar (2000) + Building and Installing Apache 2.0 - Kevin Reichard (Jul. 2000) + The Newbie's Guide to Installing Apache - Kevin Reichard (Jul. 2000) + Configuring Your Apache Server Installation - Rich Bowen (Jul. 2000) + Getting, Installing and Running Apache - Rael Dornfest (Feb. 2000) + How to Build the Apache of Your Dreams - Darren Chamberlain (Sep. 2000) * Security: + Security and Apache: An Essential Primer - Ken Coar + Maximizing Apache Server Security - Ramon Hontanon (Jul. 2000) + Securing Your Web Pages with Apache - Ken Coar (2000) + Preventing Image 'Theft' (with Apache) - Ken Coar (2000) + Authentication: 1. Introduction - Rich Bowen (Jul. 2000) 2. Using mod_auth_dbm for Authentication - Rich Bowen (Jul. 2000) 3. Using MySQL for Authentication - Rich Bowen (Aug. 2000) 4. Automating Password List Maintenance - Rich Bowen (Aug. 2000) * Apache 1.3 FAQ * Apache 2.0 FAQ * Apache Tutorial - KPLUG * Getting More Out of Apache - Part 1 - icarus (Jan. 2001) * Getting More Out of Apache - Part 2 - icarus (Jan. 2001) * Using Apache as a Proxy Server - icarus (Jun. 2002) * Using Zope with Apache - icarus (May 2002) * Official Apache 1.3 Documentation + User's Guide: o Authentication, Authorization and Access Control o Dynamic Content with CGI o Configuration Files o Content Negotiation o Environment Variables o Apache Performance Notes o Handlers o Log Files o Security Tips for Server Configuration o Server Side Includes o Server-Wide Configuration o Apache suEXEC Support o Mapping URLs to Filesystem Locations o URL Rewriting Guide o Virtual Hosts * Official Apache 2.0 Documentation + User's Guide: o Binding o Configuration Files o Configuration Sections o Content Negotiation o Dynamic Shared Objects (DSO) Support o Environment Variables o Log Files o Mapping URLs to the Filesystem o Apache Performance Notes o Security Tips o Server-Wide Configuration o SSL/TLS Encryption o suEXEC Support o URL Rewriting Guide o Virtual Hosts * Apache Server Survival Guide - Manuel Ricart * Improving Apache's Performance (May 2000) * Apache Debugging Guide (1999-2002) * URL Rewriting with Apache - Ralf Engelschall * Apache Guide: + The Newbie's Guide to Installing Apache - Kevin Reichard (Jul. 2000) + Configuring Your Apache Server Installation - Rich Bowen (Jul. 2000) + For More Information... - Rich Bowen (Feb. 2001) + Dynamic Content with CGI - Kevin Reichard (Jun. 2000) + Setting Up Virtual Hosts - Rich Bowen (Jul. 2000) + Generating Fancy Directory Listings with mod_autoindex - Rich Bowen (Oct. 2000) + Server Side Includes (SSI): 1. Introduction - Rich Bowen (Jun. 2000) 2. Further and More Complicated Examples - Rich Bowen (Jun. 2000) 3. Advanced Techniques - Kevin Reichard (Jun. 2000) + Authentication: 1. Introduction - Rich Bowen (Jul. 2000) 2. Using mod_auth_dbm for Authentication - Rich Bowen (Jul. 2000) 3. Using MySQL for Authentication - Rich Bowen (Aug. 2000) 4. Automating Password List Maintenance - Rich Bowen (Aug. 2000) + Logging: 1. Understanding Your access_log - Rich Bowen (Aug. 2000) 2. Error Logs - Rich Bowen (Aug. 2000) 3. Custom Logs - Rich Bowen (Sep. 2000) 4. Log File Analysis - Rich Bowen (Sep. 2000) 5. Advanced Logging Techniques and Tips - Rich Bowen (Sep. 2000) * Using Apache with Suexec on Linux - Ken Coar (Jan. 2000) * Using .htaccess Files with Apache - Ken Coar (2000) * Adding PHP to Apache on Linux - Ken Coar (1999) * Using the Apache CVS Repository - Ken Coar (2000) * The Apache Web Server Documentation Project - Ken Coar (2000-2001) * Perchild: Setting Users and Groups per Virtual Host - Kevin Reichard (Aug. 2000) * Keeping Your Images from Adorning Other Sites - Ken Coar (Jun. 2000) * Filtering I/O in Apache 2.0 - Part 1 - Ryan Bloom (Sep. 2000) * Filtering I/O in Apache 2.0 - Part 2 - Ryan Bloom (Oct. 2000) * Apache modules: + Apache 2.0 Module Index + Apache Module API - Robert Thau + Writing Apache Modules with Perl and C - Lincoln Stein and Doug MacEachern (Apr. 1999) + Introduction to Programming for the Apache API - Sameer Parekh + mod_perl o What is mod_perl? - Stas Bekman o mod_perl 2.0 User's Guide - O'Reilly & Associates (Sep. 2002) o mod_perl 2.0 API Guide - O'Reilly & Associates (Sep. 2002) o mod_perl 2.0 Developer's Guide - O'Reilly & Associates (Sep. 2002) o Interactive Debugging Under mod_perl - Stas Bekman o Improving mod_perl Site Performance - Stas Bekman 1. Choosing Operating System and Hardware (Dec. 2000) 2. Benchmarking Applications (Dec. 2000) 3. Code Profiling and Memory Measurement Techniques (Jan. 2001) 4. Sharing Memory (Jan. 2001) 5. Sharing Memory (continued) (Jan. 2001) 6. Forking and Executing Subprocesses from mod_perl (Feb. 2001) o mod_perl Strategy and Implementation - Stas Bekman 1. Introduction, Installation and Basic Configuration 2. Advanced Setup 3. Adding a Proxy Server 4. The Squid Server 5. More About Proxy Servers o mod_perl Coding Guidelines - Stas Bekman 1. Perldoc, Warning Reports, Using Global Variables and Compiled Regular Expressions 2. Scoped Variables in Nested Subroutines 3. Registry Secrets and Making Scripts Work 4. Reloading Modules and Required Files o At the Forge - Reuven Lerner 1. Combining Apache and Perl (Jul. 1998) 2. Speeding Up Database Access with mod_perl (Aug. 1998) 3. Writing Modules for mod_perl (Apr. 1999) 4. Advanced "New" Labels with mod_perl (Aug. 1999) o Stately Scripting with mod_perl - Lincoln Stein and Doug MacEachern (Spring 1998) o A Web Proxy Module for mod_perl - Lincoln Stein (Fall 1998) o Creating Applications with mod_perl and Apache - Mike Fletcher (Fall 1998) o A Dynamic Navigation Bar with mod_perl - Lincoln Stein (Winter 1998) o Authentication with mod_perl - Michael Parker (Winter 1998) o Managing Streaming Audio (with mod_perl) - Lincoln Stein (Winter 1999) o Using a Cleanup Handler in mod_perl - Jim Woodgate (Fall 2001) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ assembly language * Linux Assembly HOWTO - Francois-Rene Rideau and Konstantin Boldyshev (1996-2002) * Introduction to UNIX Assembly Programming - Konstantin Boldyshev (1999-2000) * Using Assembly Language in Linux - Phillip (Jan. 2001) * Inline Assembly for x86 in Linux - Bharata B. Rao (Mar. 2001) * Linux Assembler Tutorial - Robin Miyagi (Jan. 2001) * Linux Assembly "Hello World" Tutorial - Bjorn Chambless * Programming from the Ground Up - Jonathan Bartlett * A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux - Brian Raiter * Tiny Programs - Brian Raiter * Introduction to GCC Inline Asm - Robin Miyagi * Using the GNU as Assembler - Dean Elsner and Jay Fenlason (Jan. 1994) * Assembly Programming Journal * Assembly Language - Brian Brown (1988-1999) + The History of Assembly Language Programming * x86 Assembly Language FAQ - 1/3 - Raymond Moon et al. (Feb. 2000) * x86 Assembly Language FAQ - 2/3 - Raymond Moon et al. (Feb. 2000) * x86 Assembly Language FAQ - 2/3 - Raymond Moon et al. (Feb. 2000) This FAQ contains x86 assembly language information common to all assemblers. * The Art of Assembly Language Programming - Randall Hyde + Linux Assembly Language Programming o Linux System Calls for Assembly Language Programmers A PDF document. + High Level Assembly Language * PC Assembly Tutorial - Paul Carter "The tutorial has extensive coverage of interfacing assembly and C code and so might be of interest to C programmers who want to learn about how C works under the hood. All the examples use the free NASM (Netwide) assembler. The tutorial only covers programming under 32-bit protected mode and requires a 32-bit protected mode compiler." * Assembly Language Tutorial - Brian Howard (Apr. 1998) "This document describes the basics of assembly language programming for the Intel 80x86 microprocessors. It is geared towards using the freely available NetWide Assembler, NASM, to generate programs that will run under MS-DOS. As such, it will concentrate on producing 16-bit .COM programs, using only the facilities that have been present since the original 8086." * Guide to 80x86 Assembly - Gavin Estey (1995,1996) * FreeBSD Assembly Language Programming - G. Adam Stanislav "In this tutorial I will attempt to show you how you can use assembly language writing Unix programs, specifically under FreeBSD. This tutorial does not explain the basics of assembly language. ... However, once the tutorial is finished, any assembly language programmer will be able to write programs for FreeBSD quickly and efficiently." * Assembly Language Tutor - Hugo Perez Perez (1995-1996) * TI-86 Assembly Programming Tutorial - Dux Gregs ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ awk/gawk "Why is AWK so important? It is an excellent filter and report writer. Many UNIX utilities generates rows and columns of information. AWK is an excellent tool for processing these rows and columns, and is easier to use AWK than most conventional programming languages. It can be considered to be a pseudo-C interpretor, as it understands the same arithmatic operators as C. AWK also has string manipulation functions, so it can search for particular strings and modify the output. AWK also has associative arrays, which are incredible useful, and is a feature most computing languages lack. Associative arrays can make a complex problem a trivial exercise." - Bruce Barnett (from Awk) * comp.lang.awk FAQ - Russell Schulz (May 2002) * Awk - A Pattern Scanning and Processing Language - Alfred Aho, Brian Kernighan and Peter Weinberger * Awk - Bruce Barnett * Getting Started with Awk - Andrew Ross * Awk by Example - Daniel Robbins 1. An Intro to the Great Language with the Strange Name (Dec. 2000) 2. Records, Loops and Arrays (Jan. 2001) * Introduction to Awk - Brian Brown (May 1994) * Introduction to Gawk - Ian Gordon (May 1996) * How to Get Things Done with Awk - Sakari Mattila (Mar. 1999) * How to Use Awk - Patrick Hartigan * Awk Tutorial * An Awk Tutorial - Greg Goebel (Jan. 2002) * Effective AWK Programming - Arnold Robbins (2002) * Examples with Awk: A Short Introduction - Javier Bermejo (Sep. 1999) * GAWK Manual * Awk Filters * Network Access with Gawk - Jurgen Kahrs (Dec. 1998) * Network Administration with AWK - Jurgen Kahrs (Apr. 1999) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ autoconf/automake * Autoconf: Creating Automatic Configuration Scripts * GNU Automake * Developing Software with GNU (w/ Learning Autoconf and Automake) * The GNU Configure and Build System * Autoconfiscating AMD: Automatic Software Configuration of the Berkeley Automounter * Adding Fortran 77 Support to Automake ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ automount * Am-utils (4.4BSD Automounter Utilities) User Manual - Erez Zadok * Getting Started with AMD * Automount Mini-HOWTO - April 1999 * Mark's Autofs Tutorial Revisited - Mark Nielsen (June 1999) * Automount and AutoFS - Frederic Raynal (Jan. 2001) * Configuring automount - Kevin McCormick (Feb. 2002) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ C * C FAQ - Steve Summit * Infrequently Asked Questions in C - Peter Seebach * C Programming Reference - Martin Leslie * The Development of the C Language - Dennis Ritchie * Indian Hill C Style and Coding Standards - L. W. Cannon et al. * Recommended C Style and Coding Standards - L. W. Cannon et al. An extended and annotated version of the previous entry. * GNU Coding Standards - Richard Stallman * ANSI C Rationale - X3J11 * Identifiers NOT to Use in C Programs - Stan Brown * The Ten Commandments for C Programmers - Henry Spencer * Notes on Writing Portable Programs in C - A. Dolenc et al. * Improving and Fixing C Code * Programming in C: A Tutorial - Brian Kernighan * C Language Tutorial - The Webwizard * Notes on Programming in C - Rob Pike * A Tutorial on Pointers and Arrays in C - Ted Jensen * The Ground Cero Guide to C - Henrik Sorensen * Phil's C Course * C Programming Course - Steve Holmes * C Programming Tutorial - Tony Mantoan * C Programming Class Notes - Steve Summmit * ANSI C for Programmers on UNIX Systems - Tim Love * An Introduction to C Development on Linux - Nathan Thomas * An Introduction to C Programming - Brian Brown * Introduction to C Programming - Marshall Brain * C Programming for Spatial Information Scientists * C Optimization Tutorial - Adrian Barnett * Programming in C: UNIX System Calls and Subroutines Using C - A. D. Marshall * Compiling C and C++ Programs on UNIX Systems - gcc/g++ - ? * CScene: An Online Magazine for C and C++ Programming * Sams Teach Yourself C in 21 Days (4th Ed.) - Peter Aitken and Brad Jones A free account must be established to view this. * Sams Teach Yourself C in 24 Hours - Tony Zhang A free acount must be established to view this. * Building and Using Static and Shared C Libraries - ? * Program Library HOWTO: Creating and Using Program Libraries on Linux - David Wheeler * The C Standard Library - Ross Richardson * The Standard C Library for Linux - James Rogers 1. stdio.h file functions 2. stdio.h character input/output 3. stdio.h formatted input/output 4. ctype.h Character Handling 5. stdlib.h Miscellaneous Functions * Objective-C: + Objective-C FAQ - David Stes + Objective C Book - NeXT A PDF version of the following entry. + Object-Oriented Programming and the Objective-C Language - NeXT An HTML version of the previous entry. + Objective-C is Fun - Adam Fedor (Jan. 2002) + The GNU Objective-C Language Manual - Andrew McCallum + The GNU Objective-C Runtime Library - Scott Christley + Object Oriented Programming in Objective-C - Gerrit Huizenga + Objective-C is Fun - Adam Fedor + A First Look at Objective-C - Noah Roberts + A 10 Minute Introduction to Objective-C - Paul Burchard + Debugging Objective-C with gdb - Martin Cracauer ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ C++ * References: + C++ FAQ Lite - Marshall Cline + C++ Glossary - Bjarne Stroustrup (Sep. 2002) "This is a glossary of C++ terms, organized alphabetically by concept." + C++ Style and Technique FAQ - Bjarne Stroustrup (Nov. 2002) + Wildfire C++ Programming Style with Rationale - Keith Gabryelski (1997) + C++ Programming Style - Scott Anderson (1998) + ISO/ANSI C++ Draft + Advanced C++ Techniques - Kirk Rader (2002) + comp.std.c++ FAQ - Matt Austern et al. (Dec. 2000) + alt.comp.lang.learn.c-c++ FAQ - Sunil Rao and Rich Churcher (Sep. 2001) "alt.comp.lang.learn.c-c++ is a self-moderated newsgroup for the discussion of issues that concern novice to intermediate C and C++ programmers." + G++ FAQ - Joe Buck (Jun. 1998) + Available C++ Libraries FAQ - Nikki Locke (Jul. 2002) + C++ Portability Guide - David Williams (Mar. 1998) "What follows is a set of rules, guidelines, and tips that we have found to be useful in making C++ code portable across many machines and compilers. This information is the result of porting large amounts of code across about 25 different machines, and at least a dozen different C++ compilers. Some of these things will frustrate you and make you want to throw your hands up and say, ``well, that's just a stupid compiler if it doesn't do [insert favorite C++ feature].'' But this is the reality of portable code. If you play by the rules, your code will seamlessly work on all of the Mozilla platforms and will be easy to port to newer machines." + Reducing Dependencies in C++ - Gaz Igbal (Aug. 2000) + Programming in C++: Rules and Recommendations - Mats Henricson and Erik Nyquist (1990-1992) + Well-Mannered Object-Oriented Design in C++ - Taligent (May 1994) + C++ Coding Standard - Todd Hoff (Jun. 2002) + C++ Tip-of-the-Day - Allan Clarke (Dec. 2000) + Compiling C and C++ Programs on UNIX Systems - gcc/g++ + CScene: An Online Magazine for C and C++ Programming + C++: A Critique of C++ (3rd Ed.) - Ian Joyner (Nov. 1996) * Tutorials: + C++ in Action: Industrial-Strength Programming Techniques - Bartosz Milewski (Aug. 1997) + Thinking in C++ (2nd Ed.) - Bruce Eckel + Who's Afraid of C++: The WWW Edition - Steve Heller (2000) + C++ Programming Language Tutorials - Douglas Schmidt + C++ Language Tutorial - The Webwizard + Online C++ Tutorial - David Wegman + C++ Tutorial + How to Think Like a Computer Scientist: Learning with C++ - Allen Downey (Jul. 2001) + A Beginner's C++ - Neil Gray (2002) + From the Ground Up: A Guide to C++ (1996) + Programming with Class: A Practical Introduction to Object Oriented Programming with C++ - Neil Gray (Mar. 1996) + Neil's Guide to C++ - Neil Obremski (2002) + Data Structures and Algorithms with Object-Oriented Design Patterns in C++ - Bruno R. Preiss (Aug. 1998) + TTT Fundamentals of Programming Using C++ + C++ Summary - Michael Gray + Sams Teach Yourself C++ in 21 Days (2nd Ed.) - Jesse Liberty Requires free registration to view. + Understanding C++: An Accelerated Introduction - Marshall Brain + Pinky and the Brain Learn C++ - Luke Stelling + Introduction to Object-Oriented Programming Using C++ - Peter Muller + Learning Object Oriented Programming in C++ - Gillius + Techniques for Scientific C++ - Todd Veldhuizen + C++ Programming for Scientists - Roldan Pozo and Karin Remington + Scientific Computing: C++ vs. Fortran - Todd Veldhuizen + C++ Tutorial for C Users - Eric Brasseur + Learning C/C++ Without Classes - Gillius "Meant for programmers making the transition from BASIC or Pascal to C or C++." + C++ Annotations - Frank Brokken (1994-2001) "For knowledgeable users of C who would like to make the transition to C++." * Advanced C++: + More C++ - Tim Love + C++ Idioms - James Coplien + Advanced C++ Idioms - Kirk Rader + Optimizing C++: The WWW Edition - Steve Heller + Optimizing C++ Programs - Kirk Rader "Some general guidelines for avoiding some of the more common mistakes that will cause code bloat." + An Introduction to C++ Class Hierarchies - Marshall Brain and Kelly Campbell + Making C++ Loadable Modules Work - Frank Pilhofer + Debugging C and C++ Code in a UNIX Environment - J. Dassen + A Beginner's Guide to Pointers - Andrew Peace + C++ Pointers - CS170 + Smart Pointer Templates in C++ - David Harvey "A template idiom providing a class which allows us to wrap an instance of another class, maintaining access to that class's members, but adding functionality in a way that is transparent to the wrapped class." + Advanced String Techniques in C++ - Fredrik Andersson o Part 1: Unicode o Part 2: A Complete String Class + Implementation Hiding in C++ - Alan Griffiths + Casting in C++: Bringing Safety and Smartness to Your Program - G. Bowden Wise + C++ Exception Handling - Denton Woods + C++ Streams: Internals and Applications - Christopher Piedmonte + Template Metaprograms - Todd Veldhuizen A technique for writing programs in a subset of C++ which are interpreted at compile time, e.g. language features such as for loops and if statements can be replaced by template specialization and recursion. + Expression Templates - Todd Veldhuizen "A C++ technique for passing expressions as function arguments." ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ CGI * CGI Programming on the World Wide Web - Shishir Gundavaram (Mar. 1996) * The Common Gateway Interface - NCSA * CGI Programming OpenFAQ - Thomas Boutell * CGI Programming FAQ - Nick Kew * CGI Programming 101 - Jacqueline Hamilton * CGI Programming Tutorial - Scott Gasch * CGI Tutorial - Nik Silver * A CGI Tutorial for the Absolute Newbie - Eirik Johansen * CGI Made Really Easy - James Marshall * A Tour of HTML Forms and CGI Scripts - Sanford Morton * Reading CGI Data: URL-Encoding and the CGI Protocol - Sanford Morton * CGI/Perl Tips, Tricks and Hints - Sanford Morton * CGI Developer's Guide Requires free registration for access. * CGI Manual of Style - Robert McDaniel Requires free registration for access. * Introducing CGI - Jeffry Dwight Requires free registration for access. * CGI Programming Unleashed Requires free registration for access. * Sams Teach Yourself CGI Programming with Perl 5 in a Week (2nd Ed.) Requires free registration for access. The angry badger quelled our fears by pontificating about interfrastic counterfactuals. * Advanced CGI Programming - Lincoln Stein * CGI Security: Better Safe Than Sorry - Pankaj Kamthan * CGI Security Tutorial - Michael Van Biesbrouck * Speed Thrills: CGI Please ... and Fast! - Pankaj Kamthan * CGI Programming Made (Relatively) Easy Using Libraries - Pankaj Kamthan * Perl: + Perl CGI Programming FAQ - Shishir Gundavaram and Tom Christiansen + The Idiot's Guide to Solving Perl CGI Problems - Tom Christiansen + Debugging CGI Scripts 101 - Eric Wienke + Intro to Perl for CGI - Colin Ferm + Beginner's Guide to CGI Scripting with Perl - John Callender + Beginner's Guide to CGI in Perl - Nathan Poole + Idiot's Guide to CGI in Perl - Tom Christiansen + CGI Programming in Perl + Cross-Platform Perl/CGI Tips and Tricks - Dave Edis + Using Templates with Perl/CGI - Dave Edis + CGI/Perl Taint Mode FAQ - Gunther Birznieks + CGI.pm - A Perl5 CGI Library - Lincoln Stein + CGI.pm Basics - icarus + CGI.pm, the Middleman - Aaron Weiss + URL Redirects with CGI.pm - Jonathan Eisenzopf + More Examples of Scripts Created with CGI.pm + CGI.pm man Pages: o CGI o CGI::Carp o CGI::Cookie o CGI::Fast o CGI::Pretty o CGI::Push + cgi-lib.pl: A Library for CGI Scripting in Perl - Steven Brenner * Python: + Python CGI FAQ - Dave Mitchell + Five Minutes to a Python CGI - David Mertz + Writing CGI Programs in Python - Preston Landers + Writing CGI Scripts in Python - Michel Vanaken + A CGI Framework in Python - A. M. Kuchling + CGI in Python: An Interactive Instruction * C/C++: + Programming CGI in C/C++ - Sam Thomas + Writing CGI Programs in C or C++ - Martin Heller + GNU cgicc: A C++ Library for Writing CGI Applications - Stephen Booth + cgic: An ANSI C Library for CGI Programming - Thomas Boutell + LUCGI C++ Library for CGI - Chris Duerr + cgihtml: A C Library for CGI Programming - Eugene Kim * Java: + CGI Programming with Java - Marty Hall + Write CGI Programs in Java - Pat Durante + Servlets and JavaServer Pages (JSP) 1.0: A Tutorial - Marty Hall * Other Languages: + Guide to Writing CGI Scripts in REXX and Perl - Les Cottrell + Writing WWW CGI SCripts in REXX - Les Cottrell + Writing CGI Scripts in REXX - Les Cottrell + Using Fortran Programs as CGI Scripts - L. Chiappetti ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ CORBA * CORBA FAQ * CORBA and Object Technologies - Christopher Browne * CORBA Basics - OMG * Introduction to CORBA * Introduction to CORBA - Matthew Newhook and Brent Eagles * CORBA: Theory and Practice - Paul Dreyfus * CORBA Tutorials - Douglas Schmidt * CORBA Tutorial * Programming with CORBA - Gabriel Minton * A Brief Tutorial on CORBA - Kate Keahey * Notes on CORBA - Robert Thurston * CORBA 2.0 Specification * Sams Teach Yourself CORBA in 14 Days * CORBA Program Development - J. Mark Shacklette and Jeff Illian 1. The Basics 2. Naming and Event Services 3. CORBA Implementations in Java * Linux Network Programming, Part 3 - CORBA: The Software Bus - Ivan Griffin et al. * CORBA Meets Java - Bryan Morgan * ORBit Beginners Documentation - Ewan Birney et al. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ CSS CSS stands for Cascading Style Sheets and is a simple styling language which allows attaching style to HTML elements. Every element type as well as every occurance of a specific element within that type can be declared an unique style, e.g. margins, positioning, color or size. * Reference: + W3C CSS Home Page + CSS FAQ + comp.infosystems.www.authoring.stylesheets FAQ - Jan Eriksson + Stylesheet Authoring FAQ - Jan Eriksson + CSSPG Not-a-FAQ + Cascading Style Sheets FAQ - Brian Wilson + Cascading Style Sheets, Level 1: W3C Recommendation + Cascading Style Sheets, Level 2: W3C Recommendation + CSS1 Reference - Miloslav Nic + CSS2 Reference - Miloslav Nic + Changes from CSS1 to CSS2 + W3C CSS1 Test Suite + W3C CSS Validation Service + CSS Bugs and Workarounds + The Little Shop of CSS Horrors - Matt Haughey * Tutorials: + Style Sheets in HTML Documents - W3C + Introduction to Style Sheets - Alan Richmond + Adding a Touch of Style with CSS - Dave Raggett + Putting Style Sheets in Perspective - Linda Cole + Cascading Style Sheets: Designing for the Web - Alan Richmond + The CSS Anarchist's Cookbook - Eric Meyer + Stylesheet Cookbook - Steve Knoblock + The CSS Anarchist Strikes Again! - Eric Meyer + Using CSS as a Diagnostic Tool - Eric Meyer + What Makes CSS So Great? - Eric Meyer + Introduction to CSS - Nic Miloslav + Guide to Cascading Style Sheets - John Pozadzides and Liam Quinn + CSS School + CSS 2 Tutorial - Miloslav Nic + CSS2 Tutorial * Specific/Advanced Topics: + Defining CSS Media Types - Chuck Musciano + CSS2 Printing: Left and Right Layouts - Chuck Musciano + Controlling Table Layout with CSS2 - Chuck Musciano + More Savvy Table Tricks with CSS - Chuck Musciano + Linking Styles to Documents - Alan Richmond + CSS Positioning, Part I + CSS Positioning, Part II + CSS Floats, Part I + CSS Floats, Part II ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ CVS * CVS Home FAQ-O-Matic * CVS Quick Reference * CVS for New Users - Bob Arnson (1999-2002) * CVS for the Developer or Amateur - Daniel Robbins (Mar. 2001) * Introduction to CVS - Jim Blandy (1999-2002) * Open Source Development with CVS - Karl Fogel + An Overview of CVS + Repository Administration + Advanced CVS + Tips and Troubleshooting + CVS Reference * Version Management with CVS - Per Cederqvist et al. * Concurrent Version System Tutorial - Ben Fennema (1996) * Gentoo Linux CVS Tutorial - Daniel Robbins (Aug. 2001) * Version Control Management with CVS - Part 1 - Jan Borsodi (Nov. 2000) * Version Control Management with CVS - Part 2 - Jan Borsodi (Nov. 2000) * Version Control Management with CVS - Part 3 - Jan Borsodi (Apr. 2001) * CVS Tutorial - Clifford Besher * Introduction to CVS - Henner Zeller (2000) * CVS Introduction - GNOME Project * CVS Version Control for Web Site Projects - Sean Dreilinger * Configuration Management FAQ - Pascal Molli ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Debugging * Mastering Linux Debugging Techniques - Steve Best (Aug. 2002) * Linux Software Debugging with GDB - David Seager (Feb. 2001) * Debugging with GDB (GNU Manual) * Debugging C and C++ Programs using gdb * Guide to Faster, Less Frustrating Debugging ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ DHTML * What is Dynamic HTML? * Introduction to Dynamic HTML * Dynamic HTML Lab: 1. New JavaScript Mouse Event Handlers 2. Low Bandwidth Rollovers: Using CSS Positioning and Client-Side Image Maps for Dynamic Menus 3. Dynamic Images: Zooming Images In-Page 4. Database Front End: Using DHTML for Client-Side Storage and Display 5. Dynamic Content in IE4: Using the New Properties and Methods for Client Interaction 6. Drag and Drop, Part I: Dragging Positioned Elements in Navigator 4 7. Drag and Drop, Part II: Dragging Positioned Elements in Explorer 4 ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Eiffel * Eiffel FAQ - Frank Arnaud (Sep. 2002) * Eiffel: An Advanced Introduction - Alan Snyder and Brian Vetter (Nov. 1997) * Eiffel: The Reference - NICE (Jul. 1995) * Invitation to Eiffel - ISE * An Eiffel Tutorial - ISE * Object-Oriented Software Engineering with Eiffel - Jean-Marc Jezequel (1996) * Object-Oriented Programming in Eiffel: The On-Line Book - Rob Rist + Tutorials for "Object Oriented Programming in Eiffel" - Rob Rist + Eiffel Lectures - Rob Rist * Why Eiffel? - Todd Plessel (Dec. 1998) * Why Your Next Project Should Use Eiffel (May 1996) * Eiffel Online Manuals and Tech Papers * Eiffel for Native Speakers of C++ - Patrick Doyle (Aug. 1998) * SmartEiffel + FAQ + Tools Documentation + Classes Documentation + Technical Information ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Emacs * Emacs Beginner's HOWTO - Jeremy Zawodny (Mar. 2001) * Emacs Wiki * Emacs FAQ - Reuven Lerner et al. (1995) * EMACS: The Extensible, Customizable Display Editor - Richard Stallman * Multics Emacs: The History, Design and Implementation - Bernard Greenberg (1979, 1996) * GNU Emacs Manual - FSF (Apr. 2002) * Basic Emacs - Paul Anderson (Dec. 1998) * Emacs Tips - Alan Wehmann (Jul. 2001) * Emacs: The Software Engineer's ``Swiss Army Knife'' - Norman Matloff (Nov. 1997) * Programming in Emacs Lisp - FSF (Jan. 2002) * GNU Emacs Lisp Reference Manual - FSF (Nov. 1998) * The Craft of Text Editing: Emacs for the Modern World - Craig Finseth (1991) * A Tutorial Introduction to Emacs - Keith Waclena (Jun. 1997) * The Get to Know Your Emacs Guide - Shai Shen-Orr * Emacs Macros and the Power-Macros Package - Jesper Pedersen (Nov. 1999) * EMACSulation - Eric Marsden + Templating Mechanisms (Apr. 1999) + Time Saving (Jan. 1999) + Customizing Emacs (Aug. 1998) + Emacs as a Server (Jun. 1998) + Ediff - An Emacs interface to diff and patch (Apr. 1998) + Internet-ready! (Mar. 1998) + Handling Compressed Files (Feb. 1998) * Why I Became an Emacs User - Charles Sebold (2000) * Polyglot Emacs 20.4 - Jon Babcock (Mar. 1999) * Emacs for vi Users ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Expect * Automating Tasks with Expect * Advanced Programming in Expect: A Bulletproof Interface * What Can you Expect?--A Data Collection Project Using Linux ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Forth * Forth Tutorial - Phil Burk * Learn 4tH the Easy Way * Spectra Forth Tutorial - Matteo Vitturi (2000-2001) * An Introduction to Forth - J. Kevin McFadden (Sep. 2001) * Forthmacs Tutorial - Hanno Schwalm (Jan. 2000) * JForth Manual - Martin Randall * Thoughtful Programming in Forth - Jeff Fox * MuP21 Machine Forth Tutorial - Jeff Fox (Jan. 2001) * Forth: A Language for Interactive Computing - Charles H. Moore and Geoffrey C. Leach (1970) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Fortran * Reference: + The Fortran Saga - Brian Meek (Oct. 1990) + Fortran FAQ - Keith Bierman (Jan. 1997) + F90 FANs: Fortran 90 Frequently Asked About News - Michel Olagnon + Fortran 90/95 Information File - Michael Metcalf + Fortran Technical Recipes - Arnaud Desitter (Sep. 2002) o Compiler and Tools Tricks o Using Shared and Static Libraries Across Platforms + Introduction to Fortran: A Reference Manual - Aleksandar Donev (Jan. 2000) "This handout should serve you only as a reference to the commands of Fortran in the ANSI 77, 90 and 95 standards. Only rudimentary examples are given to remind you of the syntax, and some tedious details that you are not expected to remember are tabulated for reference purposes." + User Notes on Fortran Programming (1996-1998) "This guide concentrates on topics which are not discussed in ordinary Fortran courses and regular textbooks: good programming practices, and various technical and numerical issues." o Home (Israel) o USA o Poland o Germany o Russia o Austria + Running Fortran Codes Under Linux - Jeff Templon (May 2002) + Fortran Journal "The Fortran Journal is no longer published. However, a few old issues are available online." + European Standards for Writing and Documenting Exchangeable Fortran 90 Code - Phillip Andrews, et al. (Oct. 1996) + Safe Subsets of Fortran 77 - L. Hatton This one has been lost to the ages, although leaving it in allows me to spot those who borrow this page without attribution. + Fortran Standards + Comparison of C++ and Fortran 90 for Object-Oriented Scientific Programming - John Cary and Svetlana Shasharina + Fortran 90 and 95 Page - Ian Chivers and Jane Sleightholme (Dec. 2001) * Tutorials: + Professional Programmer's Guide to Fortran 77 - Clive Page + Interactive Fortran 77: A Hands-On Approach - Ian Chivers and Jane Sleighthome + Programming in Fortran + Fortran Programming for Physics and Astronomy - Eric Myers (1997,1998) + Numerical Methods: Fortran and Mathematica - Harold Schranz (Jun. 1997) + Fortran 90: An Introduction to the Language for Beginners - Dimitris Tsaptsinos et al. + A Fortran 90 Tutorial - Zane Dodson (Nov. 1996) + Fortran 90 Tutorial - C.-K. Shene (1997) + Fortran 90 and Computational Science - CSEP (1991-1995) + Introduction to Fortran 90 - John Steel (Oct. 1996) + High Performance Computing with Fortran 90 - Sverker Holmgren + Modular Programming with Fortran 90 - A. C. Marshall (Sep. 1997) + Object-Oriented Programming in Fortran 90 - Viktor Decyk et al. + Migrating from Fortran 77 to Object-Based Fortran Programming - C. Nardone (Oct. 1997) + Fortran 90: A Course for Fortran 77 Programmers + Fortran 90 for the Fortran 77 Programmer - Bo Einersson and Yurij Shokin (1996) * Compiler-specific Information: + A Survey of Compilers Available Under Linux/Intel (Sep. 2002) + Benchmarks: o Linux Benchmark Suite Homepage (May 2002) o Linux Benchmarking HOWTO - Andre Balsa (Aug. 1997) o Linux PC Single CPU Benchmark Comparison - Peter van Keken (Jul. 2002) o Cactus Benchmarks o MM5 Version 2 Timing Results o Intel/Linux Compiler Comparisons: Fortran 90 Benchmarks o The STREAM Benchmark - John McCalpin o The FEATFLOW Benchmark (Apr. 2000) o Some Linux Fortran Benchmarks - G. J. van Oldenbough (Feb. 2000) o 3DField Benchmarks - Vladimir Galouchko o Fortran 90 Compiler Correctness and Performance Evaluation o ConMan Benchmark Times + DEC/Compaq/HP/etc.: o Compaq Fortran for Tru64 UNIX Alpha Systems o Compaq Fortran for Linux Alpha Systems o Compaq Fortran for OpenVMS VAX Systems o Compaq Fortran for OpenVMS Alpha Systems o Compaq Fortran for Windows o Compaq Fortran Documentation o DEC Fortran 77 Manual + f77/f2c: o f2c Manual and Software o Using and Porting GNU Fortran - James Burley (1999) o The f77 Problem Page - Wolfgang Wander (Nov. 1998) "Solves some compatibility problems of the f2c Fortran-to-C translator and other f77-extended-standard compilers." + NAGWare f95 Compiler + Absoft: o User Guide + Lahey: o LF95 User's Guide o LF95 Language Reference + Portland Group/PGroup: o PGI Workstation User's Guide o PGF77 Workstation Reference Manual o PGHPF Compiler User's Guide o PGHPF Workstation Reference Manual + Sun ONE Studio o Fortran Compiler + IFC: o Official Manuals: # User's Guide # Technical Issues FAQ # Getting Started Guide # Release Notes # Errata # Optimizing Applications with the Intel C++ and Fortran Compilers for Windows and Linux # Compatibility with the GNU Compilers o Building NetCDF with IFC o Installing Intel Fortran 90 Compiler in FreeBSD - Alberto Ramos (Sep. 2002) o Using Processor-Specific Optimizations to Maximize Performance on Dell Servers - Arrian Mehis et al. o Intel IFC Developer Forum + Applications Programming in Windows FORTRAN - Vladimir Vasilchenko o Tutorial for Windows 95/98/NT/2000 Applications Programming in FORTRAN o Using Common Controls in Advanced Windows GUI Programming in FORTRAN o Advanced Topics of Windows Applications Programming in FORTRAN * Parallel Fortran: + OpenMP Fortran Specification + OpenMP: A Parallel Programming Model for Shared Memory Architectures + An Introduction to OpenMP + Introduction to OpenMP + Introduction to OpenMP - Charles Kuelbel + Introduction to the OpenMP Fortran API - Robert J. Allan + High Performance Fortran (HPF): History, Overview and Current Status - Harvey Richardson + High Performance Fortran Forum (HPFF) o HPF 1.0 Language Specification o HPF 2.0 Language Specification + An HPF Encyclopedia - D. Bergmark + HPF Compilers Survey + Tools for High Performance Fortran: A Survey - Jean-Louis Pazat + High Performance Fortran for Programmers + A Program-Based HPF Introduction - + An Introduction to HPF - John Merlin and Anthony Hey + High Performance Fortran 2.0 Tutorial - John Merlin and Barbara Chapman + High Performance Fortran Seminar + EPCC HPF Course: Writing Data Parallel Codes with HPF - A. K. Ewing et al. + HPF Essentials + Special Topics in HPF + HPF: Programming Linux Clusters the Easy Way + Converting Fortran 77 to High Performance Fortran + Special Topics in HPF + Optimizing HPF: A User's Experience - A. K. Ewing * Mixed language programming: + cfortran.h: Interfacing C or C++ and Fortran - Burkhard D. Steinmacher-Burow + Using C and C++ with Fortran - Nelson Beebe (Nov. 2001) + Mixed Language Programming - Fortran and C - P. M. Allan et al. (Jan. 2000) + Mixed Language Programming: C and Fortran - Bo Einarsson (May 1991) + Mixed Language Programming: Mixing ANSI-C with Fortran 77 or Fortran 90 - Bo Einarsson (Oct. 1995) + C from Fortran Home Page - Gary Ferland + Mixing C and Fortran on the SP - Richard Gerber (Nov. 2002) + Interfacing Fortran and C - Janne Saarela + Interfacing C and Fortran: A Tutorial - Alfred Nathaniel + The C/Fortran Interface Kit + C-Fortran Interface From the Sun Fortran Programmer's Guide. + Calling C from Fortran + Fortran and C: Mixing Fortran and C - R. K. Owen + Mixed C and Fortran Programming on Standard UNIX Systems + Mixing Absoft Fortran 77 and 90 with Absoft C/C++ + Fortran to C Header Translation - Tomasz Barszczak + Programming (C, Fortran, etc.): Mixing Code in C, C++ and Fortran on Unix (Jun. 2002) + Fortran and C/C++ Mixed Programming - Ravi Kochhar + Mixing C, C++ and Fortran 77 + Mixed Language Programming Using C++ and Fortran 77 - Carsten Arnholm + Putting a Java Interface on Your C, C++ or Fortran Code - Chris Anderson + Mixing Fortran and C/C++ - Alex Pletzer + Pyfort: The Python-Fortran Connection Tool - Paul Dubois "Pyfort is a tool for connecting Fortranroutines to Python." + Fortran to Python Interface Generator - Pearu Peterson "A Python program that generates Python C/API modules wrapping Fortran 77/90/95 codes to Python." + Combining Java and Fortran: An Incomplete Primer - Mark Fardal + Calling Java from Fortran: Using a C Language Wrapper - Mark Fardal + Putting a Java Interface on Your C, C++ or Fortran Code - Chris Anderson + Bibliography on Mixed Language Programming -Boe Einarsson (Sep. 2001) * Ancillary documents: + Adding Fortran 77 Support to Automake ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ GIMP * The GIMP User Manual * GIMP User FAQ * GIMP Core Tools: + The Clone Tool + The Eraser + Bucket Fill + The Blend Tool + The Pencil Tool + Dynamic Keybindings in GIMP * The Quick Start Guide to the GIMP, Part 1 * The Quick Start Guide to the GIMP, Part 2 * The Quick Start Guide to the GIMP, Part 3 * The Quick Start Guide to the GIMP, Part 4 * Gimp.org Tutorials: + The Basics + Easy Patterns + More Patterns + Summary of Basics and Patterns + Using the Displace Filter + Creating Displacement Maps * GIMP Guide * GIMP Tutorial Index * GIMP: The RRU Tutorial * Photo Touch Up and Enhancement in the GIMP * Touching Up Black and White Scans * Creating and Editing Animations with GIMP * Creating Simple Dropshadows * Creating Fire Effects with the GIMP * Graphical Photocomposition with GIMP * Pseudo 3-D with GIMP * Creating a Web Plaque: A GIMP Tutorial * Creating Text with the GIMP * A Tutorial for Perl GIMP Users * A Scheme Tutorial for GIMP Users * Script-Fu Tutorial * GIMP-Perl: GIMP Scripting for the Rest of Us * Writing a GIMP Plugin * GIMP Plugins Example Page ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ GNOME * Making Application Programming Easy with GNOME Libraries: + Part 1: Everything You Need to Get Started + Part 2: Building a Sample Genealogy Program + Part 3: Adding File Saving and Loading Using libxml * Application Programming Using the GNOME Libraries * Developing Gnome Applications with Python - Part 1 * GNOMEnclature: + Creating GTK+ Widgets with GOB: An Easier Way to Derive New GTK+ Widgets + Handling Multiple Documents: Using the GnomeMDI Framework + Keeping Your Hands Clean: Designing a GTK+ Interface Graphically with Glade and Libglade + Livening Things Up: Graphics Made Easy Using the GNOME Canvas + Intro to Bonobo: Using CORBA and ORBit in GNOME Applications ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Gnuplot * Gnuplot: An Interactive Plotting Program - Thomas Williams and Colin Kelley (Dec. 1988) * Gnuplot: Scientific Plotting - Bernhard Reiter (Jan. 2002) * Gnuplot Wiki * Gnuplot - An Interactive Plotting Program - Ben Voshino (Aug. 2002) * Gnuplot: Manual and Tutorial - Henry Gavin (Jul. 2001) * Introduction to Gnuplot (Nov. 1996) * Gnuplot Tutorial (May 2002) * Quick Guide to Gnuplot - Malcolm Low * Gnuplot FAQ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ graphics (general) * An Introduction to Physically Based Modeling + Differential Equation Basics (PDF) + Particle System Dynamics (PDF) + Energy Functions and Stiffness (PDF) + Continuum Dynamics (PDF) + Constrained Dynamics (PDF) + Rigid Body Dynamics I (PDF) + Rigid Body Dynamics II (PDF) * Scientific Visualization Tutorials * GIF Animation Tutorial ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ HTML * The ABCs of HTML * Advanced HTML: How to Create Complex Multimedia Documents for the Web * How to Use HTML 3.2 * HTML by Example * HTML Table Tutorial * Sharky's Netscape Frames Tutorial * Creating a Client-Side Image Map * Forms: + Introduction to Forms - Chuck Musciano + Form Buttons - Chuck Musciano + Form Tricks - Martin Webb + Working with Form Elements - Dan Steinman ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ IEEE 754 "IEEE 754-1985 governs binary floating-point arithmetic. It specifies number formats, basic operations, conversions, and exceptional conditions. The related standard IEEE 854-1987 generalizes 754 to cover decimal arithmetic as well as binary." - IEEE 754 Group * What Every Computer Scientist Should Know about Floating-Point Arithmetic - David Goldberg (Mar. 1991) * Differences Among IEEE 754 Implementations - Doug Priest * What's Wrong with the IEEE 754 Floating Point Standard? - Ross Harvey "So I conclude that 754 is a virus, infecting individual programs, and making them unable to run on non-IEEE-754 hardware." * Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic - W. Kahan (May 1996) [ieee754.ps] * The Baleful Effect of Computer Benchmarks Upon Applied Mathematics, Physics and Chemistry - W. Kahan (Aug. 1995) [baleful.ps] * What Can You Learn About Floating-Point Arithmetic in One Hour? - W. Kahan (Feb. 1996) [cs267fp.ps] * Handling Floating Point Exceptions in Numeric Programs - John Hauser (Mar. 1996) * IEEE Arithmetic Model (in Numerical Computation Guide: Forte Developer 7 Documentation, Sun, 2002) * IEEE Standard Arithmetic (in PowerPC Numerics, Jul. 1996) * Some Proposals for Revising ANSI/IEEE Std 754-1985 + IEEE Standard for Binary Floating-Point Arithmetic - IEEE 754 (1985) + IEEE Standard for Radix-Independent Floating Point Arithmetic - IEEE 854 + IEEE Standard for Floating-Point Arithmetic - IEEE 754r (Mar. 2003 Draft) * An Interview with the Old Man of Floating Point - Charles Severance (Mar. 1998) * Algorithm 722; Functions to support the IEEE standard for binary floating-point arithmetic - W. J. Cody and Jerome T. Coonen (1993) * Bibliography of Material on Floating-Point Arithmetic - Nelson Beebe (Jan. 2003) * IEEE 754 Floating-Pont Test Software - Nelson Beebe "This directory contains a small collection of test programs for examining the behavior of IEEE 754 floating-point arithmetic, together with test input andxi output files. There are also a few additional test programs for other data types." * IEEE 754 Compliance Checker - Brigitte Verdonk and Annie Cuyt "A precision and range independent tool to test whether an implementation of floating-point arithmetic (in hardware or software) is compliant with the principles of the IEEE floating-point standard." * SoftFloat - John Hauser "A free, high-quality software implementation of the IEC/IEEE Standard for Binary Floating-point Arithmetic." * TestFloat - John Hauser "A program for testing whether a computer's floating-point conforms to the IEC/IEEE Standard for Binary Floating-point Arithmetic." ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ILU "The Inter-Language Unification system (ILU) is a multi-language object interface system. The object interfaces provided by ILU hide implementation distinctions between different languages, between different address spaces, and between operating system types. ILU can be used to build multi-lingual object-oriented libraries ("class libraries") with well-specified language-independent interfaces. It can also be used to implement distributed systems. It can also be used to define and document interfaces between the modules of non-distributed programs. ILU interfaces can be specified in either the OMG's CORBA Interface Definition Language (OMG IDL), or ILU's Interface Specification Language (ISL). - Inter-Language Unification Page * ILU Reference Manual - Bill Janssen et al. (Sep. 1999) * Using ILU with Java: A Tutorial (1995) * Using ILU with Python: A Tutorial (Jan. 1998) * Using ILU with ANSI C: A Tutorial (Jan. 1998) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ IPC "The IPC interface in BSD-like versions of Unix is implemented as a layer over the network TCP and UDP protocols. Message destinations are specified as socket addresses; each socket address is a communication identifier that consists of a port number and an Internet address. The IPC operations are based on socket pairs, one belonging to a communication process. IPC is done by exchanging some data through transmitting that data in a message between a socket in one process and another socket in another process. When messages are sent, the messages are queued at the sending socket until the underlying network protocol has transmitted them. When they arrive, the messages are queued at the receiving socket until the receiving process makes the necessary calls to receive them." - Sockets Programming in Java * Linux, Real-Time Linux and IPC - Frederick M. Proctor (Nov. 1999) * IPC Mechanisms (from Linux 2.4 Kernel Internals - Tigran Aivazian, Aug. 2002) * Introductory 4.4BSD Interprocess Communication Tutorial - Stuart Sechrest (1986, 1993) * Advanced 4.4BSD Interprocess Communication Tutorial - Samuel Leffler et al. (1986, 1993) * Berkeley UNIX System Calls and Interprocess Communications - Lawrence Besaw et al. (Jan. 1991) * BSD Sockets: A Quick and Dirty Primer - Jim Frost (Dec. 1996) * Beej's Guide to UNIX Interprocess Communication - Brian Hall (1997) * UNIX Multi-Process Programming and IPC - Guy Keren (1998-2002) * A Socket-Based IPC Tutorial * Sockets Programming in Java: A Tutorial - Qusay H. Mahmoud ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ IP-Masquerading * Setting Up IP-Masquerading - Guido Socher (Jan. 2001) * Linux Networking: Using Ipchains - William Wong (Jul. 2000) * Setting Up IP Masquerade - David A. Ranch (Aug. 1999) * Using Apache ProxyPass to access servers behind a Masquerading Host - Atif Ghaffar (Jan. 2001) ipchains * Linux ipchains HOWTO - Rusty Russell (Jul. 2000) * Linux Networking: Using Ipchains - William Wong (Jul. 2000) * Ipchains: Easy Links to the Net - Andrew Chen (Nov. 1999) * ipchains: Packet Filtering for Linux 2.2 - Paul Russell (1999) * Using Linux and iptables/ipchains to Set up an Internet Gateway - Greg Ippolito (2002) iptables * See netfilter. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Java * comp.lang.java FAQ * Official Documentation: + Essentials of the Java Programming Language, Part 1 + Essentials of the Java Programming Language, Part 2 + Writing Advanced Applications for the Java Platform + Glossary of Java and Related Terms + The Java Language Environment + Java Language Specification + Java Look and Feel Design Guidelines + Java Virtual Machine Specification (2nd Ed.) + JavaBeans Short Course + Java Beans [Part 1 | Part 2 | Part 3 | Part 4 ] + Introduction to the JavaBeans API + Enterprise JavaBeans Tutorial + JDBC Short Course + Swing Tutorial + Fundamentals of JFC/Swing [Part 1 | Part 2 ] + Servlets: o Story of a Servlet: An Instant Tutorial o Java Tutorial: Servlet Trail o Fundamentals of Java Servlets o JavaServer Technologies [ Part 1 | Part 2 ] + Fundamentals of Java Security + Fundamentals of RMI + Introduction to CORBA + Introduction to the Collections Framework * Setting Up a Java Development Environment for Linux * Programming with Java - Part I * Programming with Java - Part II * Beginner's Guide to JDK * Java Servlets: An introduction to writing and running Java servlets on Linux * GUI Development in Java * Thinking in Java - Bruce Eckel (Jun. 2000) * Bleeding at the Keyboard: A Guide to Java Programming - Gregory Rawlins (1999) * Java Tutorial: A Practical Guide for Programmers * Brewing Java: A Tutorial - Elliotte R. Harold (1995-2002) * How to Think Like a Computer Scientist: Java Version - Allen B. Downey (2002) * Introduction to Computer Science Using Java - Bradley Kjell (2001) * Introduction to Programming with Java - David J. Eck (Jul. 2002) * Java: An Object First Approach - Fintan Culwin (Oct. 1997) * Java Gently (3rd Ed.) - Judith Bishop (2001) * The Design Patterns Java Companion - James W. Cooper (1998) * Java Developer's Guide * Java Developer's Reference * Java Unleashed (2nd Ed.) * Java 1.1 Unleashed (3rd Ed.) * Hacking Java: The Java Professional's Resource Kit * Sams Teach Yourself Java in 21 Days (Professional Reference Ed.) * Understanding Java * Introduction to Java * Shlurrrppp ... Java: The First User-Friendly Tutorial on Java * The Advanced Java/J2EE Tutorial * Java for C++ Programmers * Java Tutorials + Introductory + Intermediate + Advanced * JFC Unleashed * Java Networking FAQ * Swing: A Quick Tutorial for AWT Programmers * Java2D: An Introduction and Tutorial * Java Servlet Tutorial * Java Game Programming Tutorial * Sockets Programming in Java * Java RMI Tutorial ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ JavaScript * ECMAScript Language Specification * JavaScript FAQ * JavaScript Authoring Guide * Core JavaScript 1.5 Guide * Core JavaScript 1.5 Reference * Core JavaScript 1.4 Guide * Core JavaScript 1.4 Reference * Client-Side JavaScript 1.3 Guide * Client-Side JavaScript 1.3 Reference * Server-Side JavaScript 1.4 Guide * JavaScript Primer * JavaScript Tutorial for Programmers - Aaron Weiss * Javascript Programming and Interactive Web Pages - Walter Houser and Jason Hart * EchoEcho JavaScript Tutorial * Voodoo's Introduction to JavaScript - Stefan Koch * JavaScript Tutorial - Richard Baldwin * JavaScript Tutorial - Thau * Advanced JavaScript Tutorial - Thau * Sams Teach Yourself JavaScript 1.1 in a Week (2nd Ed.) * Doc JavaScript by Tomer Shiran and Yehuda Shiran 1. Universal JavaScript Rollovers 2. Mastering JavaScript Dates 3. Rotating Text Banners 4. Text Rollovers 5. Pattern Matching and Regular Expressions 6. Browser Compatibility 7. Window Spawning and Remotes 8. Crispy JavaScript Cookies 9. The Navigator Event Model 10. The Internet Explorer Event Model 11. The Cross-Browser Event Model 12. JavaScript Selections 13. Scrolling JavaScript Banners 14. Pop-out Elements 15. Lookup Lists 16. Dynamic Tooltips 17. Screen Properties 18. JavaScript Animations, Part I 19. JavaScript Animations, Part II 20. Embedding Sound in Web Pages, Part I 21. Embedding Sound in Web Pages, Part II: An Audio Jukebox ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ lex/yacc * lex and yacc: Tools Worth Knowing - Dean Provins * Compiler Construction Tools - Part I: JFlex and CUP - Richard Sevenich * Compiler Construction Tools - Part II: Installing JFlex and CUP - Specific Instructions - Richard Sevenich * Compiler Construction Tools - Part III: Creating a Calculator Usign JFlex and CUP - Christopher Lopes * A Compact Guide to Lex and Yacc - Thomas Niemann * A Little Manual for Lex and Yacc - Etienne Bernard * The Roles of Lex and YACC - Ben Steel * How to Write a Simple Parser with Lex and Yacc - Ashim Gupta * A Brisk Tutorial on Lex and Yacc * Compiler Construction Using Flex and Bison - Anthony Aaby * What is Lex? What is Yacc? * What Do Lex and Yacc Do? - Paul-Michael Agapow * Lex: A Lexical Analyzer Generator - M. E. Lesk and E. Schmidt * Yacc: Yet Another Compiler-Compiler - Stephen C. Johnson * Creating an Input Language with the lex and yacc Commands * GNU Flex Manual - Vern Paxson * GNU Bison Manual - Charles Donnelly and Richard Stallman * ANTLR system documentation: + Lexical Analysis with ANTLR + Language Translation Using PCCTS and C++ - Terence John Parr + Compiler Construction with ANTLR and Java - Gary Schaps * Eli system documentation: + Beginners Guide + Lexical Analysis + Syntactic Analysis * Parsers 1. Introduction - Greg Voss and Terrence Parr 2. Building a Java Class Browser - Greg Voss and Terrence Parr 3. A Parser for the Java Language - Jim Coker and Terrence Parr 4. A Java Cross-Reference Tool - Scott Stanchfield and Terrence Parr * Lexical Analysis and Java: Part 1 - Chuck McManis * Lexical Analysis and Java: Part 2 - Chuck McManis ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Little Languages * Little Language Wiki * Program Transformation Wiki * Five Little Languages and How They Grew - Dennis Ritchie (Mar. 2002) * RDF for "Little Languages" - Graham Klyne (Dec. 2002) * The MIT Lightweight Languages Workshop - Eugene Kim (Feb. 2002) * 1st USENIX Conference on Domain-Specific Languages (Oct. 1997) * 1st ACM SIGPLAN Workshop on Domain-Specific Languages (Jan. 1997) * 2nd USENIX Conference on Domain-Specific Languages (Oct. 1999) * OOPSLA 2001 Workshop on Domain Specific Visual Languages * Compiling Little Languages in Python - John Aycock * Parsing with Yapps - Amit Patel (Aug. 2002) * Little Languages: Little Maintenance? - Arie Van Deursen and Paul Klint * Building Domain-Specific Embedded Languages - Paul Hudak (Dec. 1996) * Modular Domain Specific Languages and Tools - Paul Hudak (1998) * The Promise of Domain Specific Languages - Paul Hudak (Nov. 1997) * Little Languages and Their Programming Environments - John Clements et al. (2001) * Domain Specific Language Lectures - Tim Menzies (2001) * Advanced Perl Programming: eval - Sriram Srinivasan * Domain-Specific Languages: An Annotated Bibliography - Arie van Deursen et al. * DSL Project * Domain-Specific Languages (Mar. 2001) * Domain Specific Languages - Holger Kienle (Jul. 2002) * Using Domain Specific Languages to Instantiate Object-Oriented Frameworks - Marcus Fontoura et al. * Notable Design Patterns for Domain-Specific Languages - Diomidis Spinellis * Lightweight Languages as Software Engineering TOols - Diomidis Spinellis (1997) * Domain-Specific Languages - Paul Morrow and Michael Alexander (1999) * Jargons for Domain Engineering - Lloyd Nakatani et al. (Oct. 1999) * Build Your Own Languages with JavaCC - Oliver Enseling (Dec. 2000) * CC: A Generic Framework for Domain Specific Languages - Markus Fromherz et al. * Khepera: A System for Rapid Implementation of Domain Specific Languages - Rickard Faith et al. (Oct. 1997) * MetaL: A XML-Based Meta-Programming Language ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Lisp * Lisp FAQ - Mark Kantrowitz * Common Lisp HyperSpec * Common Lisp the Language (2nd Ed.) - Guy Steele * Successful Lisp: How to Understand and Use Common Lisp - David Lamkins * LISP Primer - Colin Allen and Maneesh Dhagat * An Introduction and Tutorial for Common Lisp - Marty Hall (1996-1999) * Common Lisp Hints - Geoffrey Gordon * LISP Tutorial - Marc Schwarz * Lisp Tutorial - Eduardo Villamil * Lisp Tutorial Notes by Philip Fong 1. Basic LISP Programming 2. Advanced Functional Programming in LISP 3. Data Abstraction in LISP 4. Imperative Programming in LISP * Lisp Programming Tutorial Notes - Sau-Ming Lau * A Brief Guide to CLOS - Jeff Dalton * Programming in EMACS LISP - Robert Chassell ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Make * Creating Makefiles: A Mini Tutorial - Tedi Heriyanto (Oct. 2002) * GNU Make Manual - Richard Stallman and Roland McGrath (May 1998) * A GNU Make Tutorial - Byron Becker (Jan. 1996) * GNU Automake Manual - David MacKenzie and Tom Tromey (Apr. 1998) * Getting Started with Make - Derek Barber + The Basics (Mar. 2000) + Makefiles, Variable Definitions and Rules (Mar. 2000) + Directives (Nov. 2000) * Automating Program Compilation - Writing Makefiles * Programmer Support Tools on Unix Systems: Make (1996) * Make - A Tutorial - Ben Yoshino (Feb. 2000) * Introductory Tutorial on Make - Randall Fisher (Feb. 2000) * Make Tutorial - James Lacy (1998) * Makefiles by Example - Hector Urtubia * Make Tutorial - Greg * Introduction to Make - NERSC * A Brief Introduction to Make - Dan Ellard (Nov. 1994) * Recursive Make Considered Harmful - Peter Miller (1997) * Building Projects with Imake - Otto Hammersmith (Apr. 1998) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Matlab * Matlab - Official Online Manuals in PDF and HTML + Matlab Manual * Matlab Tips and Tricks * Matlab Array Manipulation Tips and Tricks - Peter Acklam (Oct. 2001) * Matlab Tips, Tricks and FAQs (1996) * A Practical Introduction to Matlab - Mark Gockenbach (Sep. 1999) PostScript version. * Using Matlab * Getting Started with Matlab - Clinton Wolfe and David Hart (Jun. 1999) * Plotting with Matlab - David Hart (Mar. 2000) * Matlab Manual - S. H. Davis (1996) * Matlab Hypertext Reference - Gerald Recktenwald * Matlab Tutorial - Kermit Sigmon (1993) * Matlab Summary and Tutorial * Matlab Basics Tutorial * Matlab Tutorial - Univ. of Utah * Matlab Tutorials - Univ. of New Hampshire * An Introduction to Matlab * Control Tutorials for Matlab - Univ. of Michigan (1996) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ MIDI * Tutorial on MIDI and Music Synthesis * Basic MIDI Tutorials ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Mixed Language Programming * See also Mixed Language Programming with Fortran * EPOC Mixed Language Programming [C, C++, assembler] - Matt J. Gumbley * Mixed-Language Programming: Overview [C, C++, MASM, Fortran] - MSDN * Art of Assembly: Mixed Language Programming * A Wrapper Generator for Wrapping High Performance Legacy Codes as Java/CORBA Components - M. Li et al. (2000) * Bibliography on Mixed Language Programming - Bo Einarsson (Sep. 2001) * Specific Implementations: + Matwrap "A wrapper generator for matrix languages." + SWIG (Simple Wrapper Interface Generator) o SWIG Users Manual - David Beazley o SWIG: An Easy to Use Tool for Integrating Scripting Languages with C and C++ - David Beazley (Jul. 1996) o SWIG - Scott Bolte (1997) o Feeding a Large-Scale Physics Application to Python - David Beazley et al. (Oct. 1997) o Perl Extension Building with SWIG - David Beazley et al. (Aug. 1998) o Tcl and SWIG as a C/C++ Development Tool - David Beazley (1998) + TclBlend: Blending Tcl and Java - Scott Stanton (Feb. 1998) + Inline "Inline.pm is a new module that glues other programming languages to Perl. It allows you to write C, C++, and Python code directly inside your Perl scripts and modules." o Inline Wiki o Inline Reference Manual - Brian Ingerson et al. (2001) o Using Inline in Perl - Michael Roberts (Jun. 2001) o Pathologically Polluting Perl - Brian Ingerson (Feb. 2001) + Boost.Python "A C++ library which enables seamless interoperability between C++ and the Python programming language." + SIP "SIP is a tool that makes it very easy to create Python bindings for C++ libraries." + Pyrex "Pyrex lets you write code that mixes Python and C data types any way you want, and compiles it into a C extension for Python." + Weave "The weave package allows the inclusion of C/C++ within Python code." + SILOON "SILOON (Scripting Interface Languages for Object-Oriented Numerics) gives users the ability to rapidly prototype their scientific codes in a simple yet elegant fashion using the popular scripting languages Python and Perl. While programming in these flexible and dynamic languages, SILOON users maintain the capability of accessing the full power and complexity of C++ and FORTRAN 90 libraries executed on high-performance parallel computers." ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ML * A Gentle Introduction to ML * ML Tutorial * Programming in Standard ML '97 * Moscow ML Owner's Manual ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ MPI * MPI Forum * MPI FAQ - Shane Herbert (Jan. 1997) * Introduction to MPI - PACS Training Group * MPI Tutorial - LAM Team * Getting Started with MPI - Robert Cruise (Aug. 2001) * A User's Guide to MPI - Peter Pacheco (Mar. 1998) * Writing Message-Passing Parallel Programs with MPI - Neil MacDonald et al. (Aug. 1995) * MPI: The Complete Reference - Marc Snir et al. (Sep. 1995) * Tutorial on MPI: The Message-Passing Interface - William Gropp * Tuning MPI Applications for Peak Performance - William Gropp et al. * Message Passing Interface - Ian Foster (from Designing and Building Parallel Programs) * Cornell Theory Center Virtual Workshop MPI Modules: + Basics of MPI Programming + Point to Point Communications I + Point to Point Communications II + Collective Communication I + Collective Communication II + Groups and Communicator Management + Derived Data Types + Persistent Communication * Introduction to Parallel Programming Using MPI - Peter Jimack * MPI: Portable Parallel Programming for Scientific Computing - William Gropp * MPI Performance Topics - LLNL * Optimization of MPI Applications - Rolf Rabenseifner (Jan. 2002) * MPI/RT A project to create an integrated messaging, scheduling, and parallel programming API together with syntax and semantics to support the emerging computational hierarchies of node architectures and gigabit/s networks efficiently. + MPI/RT Forum * OpenMP The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer. + OpenMP.org + OpenMP Specifications + Getting Started with OpenMP - Robert Cruise (Apr. 2002) + Writing and Tuning OpenMP Programs on Distributed Shared Memory Machines - Gabriel Mateescu + OpenMP Tutorial - LLNL + The Design, Analysis and Implementation of Algorithms for Parallel Shared Memory Machines - C. Rodriguez Leon (Aug. 2002) + COMPunity - A community of OpenMP users, researchers, tool developers and providers. * Implementations + MPICH + LAM/MPI + AMPI + MPI-LITE + MPICH-G2 ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ networks * Tutorial on Internet Monitoring * Tutorial: Insight Into Current Internet Traffic Workloads * Cable Modem Tutorial * VDSL Tutorial * Frame Relay Tutorial ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ OpenDX * OpenDX FAQ * Introduction to OpenDX - Chris Pelkie * Getting Started Using OpenDX - Chris Pelkie * The OpenDX Data Model (Introduction) - Chris Pelkie * The OpenDX Visualization Process - Chris Pelkie * The OpenDX Data Model (Intermediate) - Chris Pelkie * OpenDX Tutorial - Chris Pelkie * The Data Explorer Cookbook - A. C. Davenhall * IBM Visualization Data Explorer: + QuickStart Guide + User's Guide + User's Reference + Programmer's Reference + Installation and Configuration Guide + Building Applications * Data Explorer Tutorials for Oceanographers: + Viewing Topology/Bathymetry Data + 3-D Look, Vectors and Animation + More Vectors and Adding Text * Correlative Visualization Techniques for Disparate Data in the Earth, Space and Environmental Sciences - Lloyd Treinish ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ OpenGL * OpenGL FAQ * OpenGL Overview * OpenGL Programming Guide - The Red Book * OpenGL Overview * OpenGL Tutorial - Chris Homan * The Design of the OpenGL Graphics Interface - Mark Segal and Kurt Akeley * NeHe OpenGL Tutorials * Java Personal OpenGL Tutorial (JPOT) * OpenGL: From the Extensions to the Solutions * Using OpenGL to Create 2D and 3D Graphics * Programming with OpenGL: Advanced Techniques - Tom McReynolds * Programming with OpenGL: Advanced Rendering - Tom McReynolds * Advanced Graphics Programming Techniques Using OpenGL - David Blythe * O'Reilly Network series by Chris Halsall: + Preparing to Build an OpenGL Application + OpenGL Rendering and Drawing + Creating Real Time 3D Graphics with OpenGL + Building a Black Hole with OpenGL * Linux Focus series - Miguel Sepulveda + What is OpenGL? + GLUT Programming: Windows and Animations + GLUT Programming: Windows Management + GLUT Programming: Using Menus + OpenGL Programming: Simple Polygon Rendering + OpenGL Programming: More About Lines + OpenGL: The 3D Scene * All About OpenGL Extensions - Mark Kilgard * Advanced OpenGL Texture Mapping - Nate Miller * High-Level OpenGL-Based Libraries: + Open Inventor "An object-oriented 3D toolkit offering a comprehensive solution to interactive graphics programming problems." o Open Inventor General FAQ o Open Inventor Technical FAQ o Open Inventor C++ Reference Pages o Open Inventor 2.1 Porting and Performance Tips o Open Inventor: A Toolkit for 3D Graphics - Rajesh Sharma o Creating Open Inventor Scene Descriptions - Reid Pinchback "Using Open Inventor to create 3D scenes and animation effects." o The Inventor Toolmaker - Josie Wernecke "Describes how to create new classes and how to customize existing classes in the Open Inventor toolkit." o Open Inventor: Nodes Quick Reference o How to Write and Open Inventor File Translator + OpenGL Performer "A powerful and comprehensive programming interface for developers creating real-time visualization and other performance-oriented 3D graphics applications." o OpenGL Performer 2.4 FAQ o OpenGL Performer 2.4 for Linux FAQ o OpenGL Performer 2.4 Getting Started Guide - George Eckel et al. o OpenGL Performer 2.4 Programmer's Guide - George Eckel and Ken Jones o IRIS Performer Class Reference Guide for C Programmers - George Eckel o Overview of OpenGL Performer and Summary of the C Language Bindings o IRIS Performer Class Reference Guide for C++ Programmers - George Eckel o Overview of OpenGL Performer and Summary of the C++ Language Bindings o The OpenGL Performer 2.4 Application Development Environment (dev) o OpenGL Performer File Translator (pfconv) + OpenRM Scene Graph "A development environment used to build portable 2D/3D/stereo high performance graphics, virtual reality, visualization applications and games for UNIX/X11 and Win32 platforms." + Online Man Pages o RM A core library that handles all the details and functionality of the scene graph, e.g. nodes, primitives, geometry, etc. o RMAUX "Provides user interface and window interface functionality." o RMV "Provides a library of routines for building scientific visualization applications." + Quesa3D "A high-level 3D graphics library which offers binary and source level compatibility with Apple's Quickdraw 3D API." + Gizmo3D "A high performance 3D scene graph and effect visualization toolkit for Linux, Win32 and IRIX." + BJUGL "A graphics library designed for drawing two or three dimensional graphics of a scalar function of two variables and a two dimensional vector field on a variable grid." + GEM + DDG Toolkit + Fast Light Tool Kit + FOX + gleem + Open CASCADE + VTK ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Parallel Programming * Designing and Building Parallel Programs * Parallel Programming - Basic Theory for the Unwary * High Performance Fortran in Practice * Building a Beowulf System * Introduction to OpenMP * Tutorial Material on MPI * Tutorial on MPI * HPF + HPF: Programming Linux Clusters the Easy Way ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Pascal * Pascal Language Tutorial * Pascal Programming OnLine Notes * Roby's Pascal Tutorial ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Perl * Perl man pages * Perl FAQ - Tom Christiansen and Nathan Torkington (1997-99) * Infrequently Asked Questions About Perl - Ilya Zakheravich (Apr. 1999) * Rex Swain's HTMLified Perl 5 Reference Guide (Aug. 1997) * CPAN (Perl Modules) * A Quick Introduction to Perl * The Perl Reference Guide - Johan Vromans (May 2000) * Perl 5 by Example - David Medinets (2002) * Perl 101 - Vikram Vaswani and Harish Kamath 1. The Basics (May 2000) 2. Of Variables and Operators (and Conditional Expressions) (Jun. 2000) 3. Looping the Loop: Control Structures 4. Mind Games: Interaction with System Files and Array Functions 5. Sub-Zero Code: Subroutines and Efficient Code Structuring 6. The Perl Toolbox: Built-In Functions 7. CGI Basics: CGI Scripting 8. Putting It to the Test: Developing Real Applications * Web Client Programming with Perl - Clinton Wong (Mar. 1997) * Picking Up Perl - Bradley Kuhn (Mar. 2002) * Practical Perl Programming - A. D. Marshall (1999) * Perl Tutorial for System Managers - Tim Christian (Dec. 1998) * Take Ten Minutes to Learn Perl - Barry Floyd * Introduction to Perl - Univ. of Missouri (Apr. 1999) * An Introduction to Perl - Univ. of Georgia * Perl Tutorial - B. Johnson (May 1998) * Perl Tutorial - Nik Silver * Perl Part I - Introduction - Guido Socher (Sep. 1999) * Perl Part II - Writing a Real Program - Guido Socher (Nov. 1999) * Perl Part III - Arrays - Guido Socher (Jan. 2000) * Object-Oriented Programming in Perl, Part 1 - Vikram Vaswani (Nov. 2000) * Object-Oriented Programming in Perl, Part 2 - Vikram Vaswani (Jan. 2001) * perltoot: An Object-Oriented Tutorial for Perl - Tom Christiansen (1997-98) * Robert's Perl Tutorial (Apr. 1999) * The Perl Programming Language - Neal Holtz (Jan. 1996) * Perl Regular Expression Tutorial - Carl Franklin and Gary Wisniewski (1994-96) * CGI/Perl Tips, Tricks and Hints - Sanford Morton (Sep. 1998) * Sams Teach Yourself Perl 5 in 21 Days (2nd Ed.) - David Till (1996) * PERLs of Wisdom - Steve Litt (1998-2000) * Learning Perl - Martin Heller 1. An Overview for Novices (Feb. 2000) 2. A Look at Objects in Perl (Mar. 2000) 3. Applying Perl to Websites (Apr. 2000) 4. Introductory Perl Books (May 2000) * Perl Practicum - Hal Pomeranz 1. Out of Sorts (Aug. 1993) 2. Know All the Angles (Oct. 1993) 3. The Swiss Army Chainsaw (Dec. 1993) 4. You Say `rsh' and I Say `remsh' (Feb. 1994) 5. I'm Beginning to See a Pattern Here (Apr. 1994) 6. It Slices, It Dices... (Jun. 1994) 7. A Plea for Clarity (Dec. 1994) 8. Fun with Format (Jun. 1995) 9. The Camel Spins a Web (Aug. 1995) 10. DB or Not DB? (Dec. 1995) 11. Failed to Understand the Reference (Feb. 1996) 12. Thanks for the Reference (Apr. 1996) 13. The Devil in the Details (Jun. 1996) 14. Network Wiles, Part I (Aug. 1996) 15. Network Wiles, Part II (Oct. 1996) 16. Network Wiles, Part III (Feb. 1997) 17. The Email of the Species (Apr. 1997) * 'UNIX Review' Perl columns - Randall Schwartz 1. Basic Parsing (Mar. 1995) 2. Word Counts 3. Regular Expressions 4. Tiny Database 5. Subroutines 6. Sorting 7. Simple References 8. Subroutine References 9. Text Grep 10. Wrappers 11. List Manipulation 12. Here Documents 13. Intro to Objects 14. More About Objects 15. Logfile Analysis 16. Recursive Directory Tasks 17. Finding Shadowed Executables 18. Bit Operations 19. Include Files 20. Expressions in Text 21. Making Choices for Choices 22. Using the CPAN Effectively 23. Editing Files In-Place 24. Persistent Data 25. Getting a Date with Perl 26. Computing Primes 27. Expanding Symbolic Links 28. Compiling Regular Expressions 29. Figuring Phone-y Words 30. Deep Copy and Recursion (Feb. 2000) * 'Web Techniques' Perl columns - Randall Schwartz 1. CPAN and NNTP (Apr. 1996) 2. Giving 'more' 3. Getting 'more' 4. Flocking and Recent Visitors 5. A Tiny Database and htaccess 6. What's New? 7. Bad Links 8. Browser Dependence 9. Random Thoughts 10. Tracking Bad Hits (Jan. 1997) * 'Linux Magazine' Perl columns - Randall Schwartz 1. Using Things from the CPAN (Jun. 1999) 2. Tieing Up Loose Ends (Jul. 1999) 3. Scripting Your Apache Server with Perl (Aug. 1999) * The Road to Better Programming (with Perl) - Teodor Zlatanov 1. Developing Coding Guidelines (November 2001) 2. Commenting Your Code (November 2001) 3. Loops, Clean Code and Perl Idioms (December 2001) 4. Functional Programming (January 2002) 5. Modules and Objects (January 2002) * Cultured Perl - Teodor Zlatanov + Parsing with Perl Modules - April 2000 + Save it With Perl: A CPAN Solution to Data Persistence (July 2000) + Small Observations About the Big Picture: Simple Techniques to Increase Reliability and Maintainability in Perl Code (June 2000) + Writing Perl Programs that Speak English: Using Parse::RecDescent to Create a Simple and Efficient Command-Line User Interface (August 2000) + Review of Programming Perl, Third Edition (September 2000) + Application Configuration with Perl (October 2000) + Debugging Perl with Ease: Catch the Bugs Before They Bite (November 2000) + Perl 5.6 for C and Java Programmers (January 2001) + A Programmer's Linux-Oriented Setup (March 2001) + One-Liners 101: Perl as a Command Utility (April 2001) + Automating UNIX System Administration with Perl (July 2001) + The Elegance of JAPH (July 2001) + Genetic Algorithms Applied with Perl (August 2001) + Reading and Writing Excel Files with Perl (September 2001) + Intro to Cfengine for System Administration (February 2002) * XS Mechanics - Steven McDougall 1. Introduction 2. Architecture 3. Tools 4. Modules 5. Align::NW Module * Network Programming with Perl - James Lee (April 1999) * Perl Embedding - John Quillan (November 1998) * Perl Modules: + Introduction to Perl Modules and CPAN - O'Reilly & Associates(1998) + Perl Modules: An Introduction - Eric Foster-Johnson + Perl Module Mechanics and Related Phenomena - Steven McDougall (Dec. 2001) + Perl Modules - David Medinets + Installing Perl Modules - Rich Bowen + Using Perl Modules - Steve A. Chervitz (Nov. 2000) + The Perl 5 Module List - Tim Bunce and Andreas Konig (Sep. 2002) + Perl/Tk o Perl/Tk FAQ - Nick Ing-Simmons (1995-96) o Getting Started with Perl/Tk - Steve Lidie (Apr. 1999) o A Drag-and-Drop Primer for Perl/Tk - Steve Lidie (Dec. 2001) o Perl and the Tk Extension - Steve Lidie o Creating Custom Widgets - Steve Lidie (Jan. 2002) o Create Your Own Widgets o Drag and Drop with Perl/Tk (Feb. 2002) o File Dialogs with Perl/Tk o Perl/Tk Menus + HTML::Embperl o Official Embperl Documentation - Gerald Richter (1997-2002) o Introduction to Embperl o Creating Modular Web Pages with Embperl - Neil Gunton (Mar. 2001) o Introduction to Object-Oriented Website Creation with Embperl - Neil Gunton o Embperl FAQ - Gerald Richter w/ Nora Sikes o Embperl: Modern Templates - Reuven Lerner (Oct. 1998) o HTML::Embperl - More Than Simply Embedding Perl in HTML - Gerald Richter o Creating Dynamic Pages with Embperl - Paul Vining o Using Databases with Embperl - Paul Vining o Choosing a Templating System - Perrin Harkins (Aug. 2001) o A Short Course in Embperl - Aaron Weiss (Nov. 2000) + HTML::Mason o Introduction to Mason - Jonathan Swartz, Dave Rolsky and Ken Williams o Mason Developer's Manual - Jonathan Swartz, Dave Rolsky and Ken Williams o Mason Administrator's Manual - Jonathan Swartz, Dave Rolsky and Ken Williams o HTML::Mason FAQ o Programming with Mason - Jonathan Swartz 1. Introduction 2. Form Handling, Persistent Sessions and Data Caching 3. Building Sites With Template-Driven Design and Navigation ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ PHP * PHP FAQ * PHP 101: 1. Secret Agent Man: The Basics of PHP 2. Shakespeare's Rose: Conditional Statements and Operators 3. Chocolate Fudge and Time Machines: Loops 4. Look Ma ... It's Alive!: PHP and MySQL 5. The Wonderland Factor: File Functions * Introductory PHP Tutorial * PHP Manual * PHP3 Introduction * Introduction to PHP * PHP Tutorial * Gimpster PHP Tutorial * Troubleshooters.com PHP Tutorial * PHP Knowledge Base * PHP Tutorials * PHP How-To Columns * An Introduction to PHP3 * Object Oriented Programming in PHP * PHP with Databases: + Integrating PHP with Database Servers + Database Normalization and Design Techniques + PHP/MySQL Tutorial + Managing a Simple Mailing List using MySQL + PostgreSQL and PHP Tutorial + Simple Connection with PHP to: o MySQL o PostgreSQL o mSQL o ODBC o Oracle + Building an E-Commerce Site with PHP and MySQL: 1. Building a Product Catalog 2. Managing Users with Sessions 3. Catalogs and Shopping Carts * PHP Builder: + PHP for PDF * WAP-Enabling a Website with PHP3 * Templates, the PHPLib Way * PHPLib Templates * Creating a Mailing List Manager with PHP * Image Generation with PHP * Back to Class: Object-Oriented Programming with PHP * Using Variable Variables in PHP * Stream Me Up, Scotty: PHP with HTTP and FTP, Part 1 * Stream Me Up, Scotty: PHP with HTTP and FTP, Part 2 * Themed Web Sites Using PHP Fast-Templates HOWTO ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ PostScript * Adobe Technical Notes (PDF documents): + PostScript Language Reference (3rd Ed.) + PostScript Language Document Structuring Conventions (DSC) Specification - Version 3.0 + Encapsulated PostScript (EPS) File Format Specification - Version 3.0 + PostScript Printer Description (PPD) File Format Specification - Version 4.3 * PostScript FAQ - Allen Braunsdorf * PostScript Quick Tips - Herb Weiner * PostScript Tutorial - Paul Bourke * A First Guide to PostScript - Peter Weingartner * Practical PostScript: A Guide to Digital Typesetting - David Byram-Wigfield * Thinking in PostScript - Glenn Reid A book available in PDF format. * PostScript Tutorial and Reference - Ian Utting * A Tutorial Introduction to PostScript - Gregor Koomey * PostScript Tutorial - Ken Monk * PostScript I: The Language - Emre Demiralp * PostScript II: The Operand Stack, Manipulations and Mathematical Operators - Emre Demiralp * PostScript III: The Operand Stack of PostScript: Arrays, Variables, Loops and Macro Definitions - Emre Demiralp * Understanding PostScript Programming - Lance Lovett * About PostScript Errors * How to Use Adobe PostScript Language Files Properly - Randolph Herbert * EPS in Ten Easy Stages * Making an EPS File * Tutorials by Eric Weeks: + Converting PostScript to Other Formats + Creating Simple PostScript Pictures + Converting Data to PostScript Graphs and Pictures + Simple PostScript Commands Tutorial I + Simple PostScript Commands Tutorial II + Color PostScript Tutorial * Display PostScript: + Developing Applications for the Display PostScript System - DEC + A DPS Extension for XFree86 + Display Ghostscript System (dgs) + Display PostScript System: Global Index to the Reference Manuals + Display PostScript System: Client Library Reference Manual + Display PostScript System: Client Library Supplement for X + Display PostScript System: Introduction - Perspective for Software Developers + Display PostScript System: pswrap Reference Manual + Display PostScript System: Display PostScript Toolkit for X + Display PostScript System: Display PostScritp NX Software ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Povray * The Online POV-Ray Tutorial * Povray I: First Steps * Povray II: Basic Notions * Povray III: Design of Recursive Structures ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Prolog * comp.lang.prolog FAQ - Jamie Andrews (Feb. 1997) * Prolog Programming: A First Course - Paul Brna (May 1999) * Prolog Tutorial - J. R. Fisher * Introduction to Prolog - Tamsin Treasure-Jones * Prolog Tutorial - A. Aaby (May 1997) * Prolog: A Tutorial Introduction - James Lu and Jerry Mead (May 2002) * Prolog for Software Engineering - Peter Reintjes (Apr. 1994) * On-Line Guide to Prolog Programming - Roman Bartak (1998) * Prolog Tutorials - James Power and Alex Monaghan (1996) * Prolog Programming Tutorial * SICStus Prolog User's Manual - SICS (Oct. 1998) * GNU Prolog Manual - Daniel Diaz (Sep. 2002) * SWI-Prolog Reference Manual - Jan Wielemaker ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ PVM * PVM FAQ * PVM: A User's Guide and Tutorial for Networked Parallel Computing * Advanced Tutorial on PVM 3.4 * Parallel Processing using PVM * Parallel Processing using PVM ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Python * The Whole Python FAQ (Oct. 2002) * Python Quick Reference - Simon Brunning * Python Tutorial - Guido van Rossum (Apr. 2002) * An Introduction to Python - Jeff Bauer * Python Programming for Beginners - Jacek Artymiak (May 2000) * Non-Programmers Tutorial for Python - Josh Cogliati (2002) * Getting Started With Python - Mitchell L. Model (Jul. 2002) * Learn to Program Using Python - Richard Baldwin * Python Short Course - Richard P. Muller (Spring 2000) * Python for Lisp Programmers - Peter Norvig * Python for Newbies - David Borowitz * Dive Into Python: Python for Experienced Programmers - Mark Pilgrim (2002) * How to Think Like a Computer Scientist: Learning with Python - Allen Downey, Jeff Elkner and Chris Meyers (2002) * Thinking in Python - Bruce Eckel (Dec. 2001) * Python Cookbook * Python HOWTO Documents + Tuples, Index and Slice + Nested Tuples * Python Reference Manual - Guido van Rossum (Apr. 2002) * Python Library Reference - Guido van Rossum (Apr. 2002) * Python Style Guide - Guido van Rossum * Python Performance Tips - Skip Montanaro (May 2002) * Extending and Embedding the Python Interpreter - Guido van Rossum (Apr. 2002) * The What, Why, Who, and Where of Python - Aaron R. Watters (Nov. 1996) * Python 101: + The Other Scripting Language that Starts with a "P" - Evelyn Mitchell (Sep. 1999) + Cheat Sheet: A Quick Reference Document for Newcomers - Evelyn Mitchell (Feb. 2000) + Testing Your Code: Discovering PythonUnit, a Unit Testing Framework in Python - Evelyn Mitchell (Dec. 1999) * Charming Python - David Mertz + My First Web-Based Filtering Proxy: Converting Text to HTML Using Txt2Html + Using State Machines: Algorithms and Programming Approaches in Python (Aug. 2000) + Text Processing in Python: Tips for Beginners + The Dynamics of DOM: A Closer Look at Python's xml.dom Module + Tinkering with XML and Python: An Introduction to XML Tools for Python + Inside Python's Implementations: Interviews with the Creators of Vyper and Stackless Python + Curses Programming: Tips for Beginners + Getting Version 2.0: The New Features + TK Programming in Python: Tips for Beginners using Python's GUI Library + Reloading on the Fly: Dynamically Reloading Modules in Long-Running Processes + Inside JPython and Python for .NET * Instant Python - Magnus Lie Hetland (Jul. 2002) * Numeric Python Tutorial - David Ascher (Oct. 1996) * Instant Hacking: Learn How to Program With Python (Jul. 2002) * Learning to Program Using Python - Alan Gauld * Practical ILU with Python: A Tutorial * Tkinter: + An Introduction to Tkinter - Fredrik Lundh (1999) + Tkinter Life Preserver - Matt Conway + TK Programming in Python: Tips for Beginners using Python's GUI Library - David Mertz (Dec. 2000) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ REBOL * REBOL How-To * REBOL Core User's Guide * REBOL Script Library * REBOL/View User's Guide * REBOL and the Shell * REBOL the Rebel ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Regular Expressions * So What's a $#!%% Regular Expression, Anyway?! - Vikram Vaswani and Harish Kamath (Apr. 2000) * Regular Expressions Explained - Jan Borsodi (Oct. 2000) * Python Regular Expression HOWTO - A. M. Kuchling * NLTK Tutorial: Regular Expressions - Steven Bird * Larger Regular Expressions - Gunnstein Lye (May 2001) * Using Regular Expressions - David Mertz (Sep. 2000) * Regular Expressions Tutorial - Miloslav Nic * Common Applications of Regular Expressions - Richard Lowe * Matchmaking with Regular Expressions - Benedict Chng * Using Regular Expressions - Stephen Ramsay * Using Regular Expressions - SiteScope (1996-2002) * 12 Reasons to Learn and Use Regular Expressions - Edward Abbott (2002) * Utilizing Regular Expression SubMatches - Scott Mitchell * Perl Regular Expression Tutorial - Carl Franklin and Gary Wisniewski (1994-1996) * Perl 5 Regular Expression Description - Tom Christiansen (Feb. 1996) * Perl Regular Expressions: Quick Start - Mark Kvale (1999-2002) * Perl Regular Expressions: Expanded Tutorial - Mark Kvale (2000) * Regular Expressions in Java - Steven Brandt * VIM Regular Expressions - Oleg Raisky * Stripping HTML Tags Using Regular Expressions - Scott Mitchell * Validating Form Input Using Regular Expressions - John R. Lewis (Feb. 2001) * Server-Side Validations Using Regular Expressions - Prasanna Pattam ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Rexx * Rexx FAQ (Apr. 2002) * An Introduction to the REXX Programming Language - Vladimir Zabrodsky (Apr. 2002) * REXX/imc Tutorial - Ian Collier * Classic Rexx Tutorial - Keith Watts (Nov. 2002) * REXX: The Language - Kyla Computing (2002) * REXX Info - Elliot Spencer * Introduction to Object REXX Programming * The NetRexx User's Guide - IBM (1996,2000) * The NetRexx Language Definition - Supplement - IBM (2000) * Advanced Object REXX Programming * A Look at OREXX - Gerald Goertzel * On the Road with Object REXX - Mike Baryla (1995) * A Crash Course in REXX * REXX, the Developer's Best Friend - Paul Gallagher * Advanced REXX Programming - Charles Daney (May 1994) * Common REXX Pitfalls - Quercus Systems (Sep. 1995) * IBM Redbooks: + OS/2 REXX: From Bark to Byte - Oscar Cepeda et al. (Dec. 1993) + Creating Java Applications using NetRexx - Ueli Wahli (Sep. 1997) * The Regina REXX Interpreter Manual - Anders Christensen (May 2002) * TCP/IP Socket Programming with REXX * Guide to Writing CGI Scripts in REXX and Perl - R. Cottrell (Jul. 1998) * Writing World-Wide Web CGI Scripts in REXX - R. Cottrell (Mar. 1996) * A Brief History of the REXX Standard - Brian Marks * RexxLA Newsletter ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ RPC * Remote Procedure Calls I. Sun RPC - Francisco Fernandez * Programming in C - A. D. Marshall (Mar. 1999) + Remote Procedure Calls + Protocol Compiling and Lower Level RPC Programming * AIX Communications Programming Concepts: Remote Procedure Call (Oct. 1997) * Programming with ONC RPC - DEC (Mar. 1996) + Introduction to RPC + Writing RPC Applications with the rpcgen Protocol Compiler + RPC Programming Interface * Internet Protocols: Remote Procedure Call (RPC) - Rhys Haden (2001) * Programming with Remote Procedure Calls - Caldera (Jun. 2001) * Remote Procedure Calls in Linux - LJ (Oct. 1997) * Comparing Remote Procedure Calls - John Barkley (Oct. 1993) * RFC Documents: + RFC 1050 - Remote Procedure Call Protocol Specification - Sun (Apr. 1988) + RFC 1057 - Remote Procedure Call Protocol Specification Version 2 - Sun (Jun. 1988) + RFC 1831 - Remote Procedure Call Protocol Specification Version 2 - R. Srinivasan (Aug. 1995) * XML-RPC: + XML-RPC for Newbies - Dave Winer (Jul. 1998) + XML-RPC HOWTO - Eric Kidd (2001) + Exploring XML-RPC - Jon Udell (Aug. 1999) + XML-RPC Specification - Dave Winer (Jun. 1999) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Ruby * Ruby Language FAQ - Shugo Maeda et al. (May 2002) * Ruby User's Guide - Mark Slagell * An Introduction to Ruby - Colin Steele (Oct. 2001) * Programming in Ruby - Dave Thomas and Andy Hunt (Jan. 2001) * Ruby: Productive Programming Language - Pjotr Prins (Mar. 2002) * Ruby Language Reference Manual - Yukihiro Matsumoto * Programming Ruby: The Pragmatic Programmer's Guide - David Thomas and Andrew Hunt * Programming in the Ruby Language - Joshua Drake (Jul. 2001) * Ruby: A New Language - Maya Stodte (Feb. 2000) * The Ruby Programming Language * Thirty-seven Reasons I Love Ruby - Hal Fulton * Becoming a Software Developer - Pete McBreen 1. Ruby for the Nuby 2. Test Driven Development with Ruby 3. Version Control for Fun and Profit 4. Understanding Use Cases and Requirements 5. Creating Acceptance Tests from Use Cases 6. Design and Programming 7. Ruby for the Internet Nuby * Ruby Garden Wiki * Ruby Weekly News * The Great Computer Language Shootout - Doug Bagley * PLEAC ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Samba * Samba: An Introduction - Chris Hertel et al. (Nov. 2001) * Using Samba - R. Eckstein, D. Collier-Brown and P. Kelly (Nov. 1999) * Samba Project Documentation: HOW-TO Collection - Samba Team (Apr. 2002) * Samba Man Pages * The Unofficial Samba HOW-TO - David Lechnyr (Nov. 2002) * The Story of Samba: Linux's Stealth Weapon - Christopher Hertel and Luke Leighton (Sep. 1999) * Samba: Opening Windows Everywhere - Mike Warfield (Spring 1999) * Using Samba as a PDC - Andrew Bartlett (Feb. 2002) * Understanding the Network Neighborhood - Christopher Hertel (May 2001) * Just What is SMB? (V1.2) - Richard Sharpe (Oct. 2002) * SMB HOW-TO - David Wood (Apr. 2000) * Introduction to Samba - Daniel Robbins 1. Key Concepts (Jun. 2000) 2. Compiling, Installing and Configuring Samba for Your Environment (Jul. 2000) * Introducing Samba - John Blair (Jul. 1998) * More Adventures with Samba - Dave Nelson (Jan. 1998) * Linux Networking: Exploring Samba - William Wong * Samba Configuration - Eric Seigne (Mar. 2002) * Easy Steps to Samba: Linux Orbit HOWTO * Samba 2.0.x Troubleshooting Guide - Paul Green (May 2002) RTF format only. * Samba's Encrypted Password Support - John Blair (Dec. 1998) * Using Samba to Mount Windows 95 - Jonathan Stroud (Nov. 1997) * Troubleshooting a Samba Server - Jeff Christensen (Apr. 2000) * Configuring Samba Server as a Primary Domain Controller - Jeff Christensen (Mar. 2000) * Samba Tips - Paul Wagner and Andy Lindeman (Nov. 1996) * Samba Fun - Craig Sawyer (2002) * Samba, Wint95, NT and HP Jetdirect - Eugene Blanchard (Dec. 1999) * Using LDAP for Samba Authentication - Tom Syroid (May 2002) * Using Samba as a Primary Domain Controller - Tom Syroid (Apr. 2002) * Doing the NIS/NT Samba - Jeremy Allison (Oct. 1998) * Implementing CIFS: The Common Internet Filesystem - Christopher R. Hertel (1999-2002) A detailed guide to the basic workings of Microsoft's SMB/CIFS protocol suite. Covers NBT, SMB, NBNS/WINS, the Network Neighborhood, and Authentication. Provides all the information needed to build a working SMB/CIFS client to interoperate with Samba and MS-Windows Servers. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Scheme * Scheme FAQ (V. 1.30) - Mark Kantrowitz and Barry Margolin (Apr. 1997) * An Introduction to Scheme and Its Implementation - Paul R. Wilson (Jan. 1998) * How to Design Programs: An Introduction to Programming and Computing - Matthias Felleisen et al. (2001) * The Scheme Programming Language (2nd Ed.) - R. Kent Dybvig (1996) * Teach Yourself Scheme in Fixnum Days - Dorai Sitaram (Oct. 2002) * MIT Scheme + User's Manual + Reference Manual + SOS Reference Manual * Revised (5) Report on the Algorithmic Language Scheme - Richard Kelsey et al. (Mar. 2001) * The Scheme Programming Language - Greg J. Badros (Jun. 1999) * The Scheme Language - Stephen Bloch (1998) * A Scheme Tutorial for GIMP Users - Dov Grobgeld (Feb. 2002) * Scheme Tutorial - Catharina Candolin (Sep. 2001) * Scheme Tutorial - A. Aaby (1996) * Lecture Notes on the Principles of Programming Languages - Shriram Krishnamurthi and Matthias Felleisen (1997) * Chez Scheme User's Guide - R. Kent Dybvig (1998) * DrScheme Programming Environment Manual (Aug. 2000) * MzScheme Language Manual - Matthew Flatt (Aug. 2000) * The PACT Scheme Language - Stewart Brown and Dennis Braddy (Feb. 2000) * Elk Scheme Documentation Elk is an implementation of the Scheme programming language. In contrast to existing, stand-alone Scheme systems Elk has been designed specifically as an embeddable, reusable extension language subsystem for applications written in C or C++. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ SCSI * The Official SCSI FAQ - Gary Field (1994-2001) * SCSI Introduction - David Risley (1999) * An Introduction to SCSI Drivers - Alan Cox (Aug. 1998) * How SCSI Works - Jeff Tyson * SCSI Explained - Advanced Horizons (1996-2001) * SCSI Tutorial - Charles Kozierok (1997-2001) * Advanced SCSI Drivers And Other Tales - Alan Cox (Sep. 1999) * The Linux SCSI Generic HOW-TO - Douglas Gilbert (2002) * Linux SCSI Programming HOW-TO - Heiko Eissfeldt (May 1996) * Linux SG FAQ - Douglas Gilbert (Jun. 2002) * The Linux SCSI Generic Driver - Douglas Gilbert (Aug. 2002) * General SCSI Docs (Apr. 1999) This document is an attempt to fully describe the SCSI subsystem in the Linux kernel. At the time of this writing, the document is incomplete in the sense that there are many sections of this document that are not yet written. * SCSI Termination Tutorial - Allan Hughes (May 2000) * SCSI and IDE: Overview and Comparison - Markus Westergren and Mattias Sandgren (1998) * The Mysteries of Various SCSI Bus Configurations or SCSI-1, -2, -3? - Howard McKinney * SCSI Guide - DELEC * SCSI Cabling Tutorial * STA-Endorses SCSI Terms and Terminology * SCSI Reference Charts * SCSI Common Codes and Values - T10 Committee ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ security * Encryption and Security Tutorial * Digital Signature Guidelines Tutorial * Mike's PGP Tutorial * Introduction to Privacy and the Internet ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ sed "Sed is the ultimate stream editor. If that sounds strange, picture a stream flowing through a pipe. Okay, you can't see a stream if it's inside a pipe. That's what I get for attempting a flowing analogy. You want literature, read James Joyce. Anyhow, sed is a marvelous utility. Unfortunately, most people never learn its real power. The language is very simple, but the documentation is terrible. The on-line manual pages for sed are five pages long, and two of those pages describe the 34 different errors you can get. A program that spends as much space documenting the errors that it does documenting the language has a serious learning curve." - Bruce Barnett (from Sed) * sed FAQ #1 - DREAMWVR * sed FAQ #2 - Eric Pement et al. (Apr. 2000) * Sed - Bruce Barnett * Sed by Example - Daniel Robbins 1. Get to Know the Powerful UNIX Text Editor (Sep. 2000) 2. How to Further Take Advantage of the UNIX Text Editor (Oct. 2000) 3. Taking It to the Next Level: Data Crunching, Sed Style (Nov. 2000) * sed Tutorial - A Small Tutorial About sed * sed - The Stream Editor * Handy One-Liners for sed - Eric Pement (Mar. 2001) * Do It With sed - Carlos Jorge G. Duarte (Sep. 1996) * sed - A Non-Interactive Text Editor - Lee E. McMahon (1978) * Introduction to UNIX's sed Editor - F. Curtis Michel * SED and Regular Expressions * SED as a Pipe Tool - Softpanorama * An Introduction to sed - Andrew M. Ross * Sed Tutorial - Donovan Rebbechi * The seder's Grab-Bag * sed - A Stream Editor - Ken Pizzini (Jun. 1998) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Serial Programming * Serial Programming for POSIX Compliant Operating Systems ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ SGML * A Gentle Introduction to SGML * SGML FAQs * The SGML Primer * The SGML Puzzle: The Pieces and How They Fit Together * What is SGML and How Does It Help? * SGML: Getting Started * A Gentle Guide to the DocBook * Installing and Using SGMLtools-Lite: The Key to DocBook ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Shells "What is a shell, anyway? It's simple, really. The UNIX operating system is a complex collection of files and programs. UNIX does not require any single method or interface. Many different techniques can be used. The oldest interface, which sits between the user and the software, is the shell. Twenty five years ago many users didn't even have a video terminal. Some only had a noisy, large, slow hard-copy terminal. The shell was the interface to the operating system. Shell, layer, interface, these words all describe the same concept. By convention, a shell is a user program that is ASCII based, that allows the user to specify operations in a certain sequence. There are four important concepts in a UNIX shell: * The user interacts with the system using a shell. * A sequence of operations can be scripted, or automatic, by placing the operations in a script file. * A shell is a full featured programming language, with variables, conditional statements, and the ability to execute other programs. It can be, and is, used to prototype new programs. * A shell allows you to easily create a new program that is not a "second-class citizen," but instead is a program with all of the privileges of any other UNIX program." - Bruce Barnett (from Sh) * The Unix Shell Guide [Bourne, Korn, C] - Norman Buchanan and Douglas Gingrich (1996) * Shell Differences FAQ [All] - Brian Blackmore et al. (Jul. 1997) * Working in the the Shell Environment [Bourne, Korn, C] (Feb. 2002) * AIX Version 4.3 System User's Guide: Shells (Oct. 1997) * Unix/Linux Shell Command Cross-Referencing [All] This is a three page PDF file. * Unix Shell Quote Tutorial [Bourne, C] - Bruce Barnett (2001) * Consultix Shell Quoting Guidelines [Bourne, C, Korn] - Tim Maher (1995) * Command and Shell User's Guide [Bourne, C, Korn] - DEC (Aug. 1994) + Shell Overview + Shell Features * Shell Portability + Choosing a Shell for Portable UNIX Scripts - Richard Anderson (1998-2002) + Good Shell Coding Practices [Bourne, Korn] - Heiner Steven (1998-2002) + GNU Autoconf, Automake and Libtool - Gary Vaughan et al. (Oct. 2000) * bash + Advanced Bash Scripting Guide: An In-Depth Exploration of the Gentle Art of Shell Scripting - Mendel Cooper (Sep. 2002) + Bash by Example - Daniel Robbins 1. Fundamental Programming in Bash (Mar. 2000) 2. More Bash Programming Fundamentals (Apr. 2000) 3. Exploring the Ebuild System (May 2000) + Learning the Shell - William Shotts, Jr. (2000-2002) + Writing Shell Scripts - William Shotts, Jr. (2000-2002) + The Linux Terminal: A Beginner's Bash - Ramon Cash (Nov. 2001) + Working More Productively with bash 2.x - Ian Macdonald (Oct. 2002) + Linux Shell Scripting Tutorial - Vivek G. Gite (Mar. 2001) + Functions and Aliases in Bash - Pat Eyler (May 2000) + BASH FAQ - Chet Ramey et al. (Sep. 2002) + GNU Bash Reference Manual - Chet Ramey and Brian Fox (Apr. 1998) + Introduction to Shell Scripting - Ben Okopnik (Jun. 2000) + The Deep, Dark Secrets of Bash - Ben Okopnik (Jul. 2000) + Configuring the Bash Shell + Bash Programming Cheat Sheet - ph34r + bash man page - Brian Fox and Chet Ramey (1991) + Bourne/Bash: Shell Programming Introduction - Rick Dearman (Feb. 1998) + Extending the Bash Prompt - Giles Orr (Aug. 1999) + Improve Bash Shell Scripts Using Dialog - Mihai Bisca (May 1999) + Shell Prompt Customization - Jose (Nov. 2000) * Bourne (sh) + An Introduction to the Unix Shell - Stephen Bourne + Sh - Bruce Barnett + UNIX Bourne Shell Programming (Feb. 1991) + The Unix Shell Guide: The Bourne Shell - Norman Buchanan and Douglas Gingrich (1996) + Bourne Shell Programming - Andrew Arensburger (1998) + Bourne Shell Programming - Roger Hampel (Feb. 1998) + Bourne Shell Scripting - Martin Cracauer (Jan. 2000) + Unix Shell Scripting (1996) + Shell Script Programming - Matz Kindahl (Jun. 2002) + Bourne Shell - Richard Rummel and William Farra + Bourne Shell Scripting Online Course + Bourne Shell Scripting Tricks - Paul Balyoz (Sep. 1999) + Bourne Shell Examples + The Traditional Bourne Shell Family - Sven Mascheck + Characteristic Common Properties of Traditional Bourne Shells - Sven Maschek * csh + csh (C) Man Page - William Joy (Feb. 1994) + An Introduction to the C Shell - William Joy + Basic Scripting with the Csh - P. Walker + Csh Programming Considered Harmful - Tom Christiansen (Oct. 1996) + Csh - Bruce Barnett (Sep. 2001) + Top Ten Reasons NOT to Use the C Shell - Bruce Barnett (Sep. 2001) + C Shell Tutorial - Ben Yoshimo (Aug. 2002) + C Shell Introduction (Feb. 1998) + A Brief Introduction To C Shell Variables - Norman Matloff (Jan. 2001) + UNIX Shell Scripts - Norman Matloff (Jul. 2002) + Csh Startup FAQ - Anthony Thyssen + Csh One-Liners + C Shell Examples * tcsh + tcsh Man Page - Ken Greer et al. (Jul. 1993) + tcsh FAQ + Tcsh: An Enhanced C Shell + Features of the TCSH Shell - Jesper Pederson (Mar. 1997) * Korn + Getting the Most from Your Shell [pdksh] - Paul Dunne (Apr. 1999) + What is the KornShell Language? + KSH-93 FAQ + The New Korn Shell - ksh93 - David Korn, Charles Northrup and Jeffery Korn + Korn Shell Programming - Philip Brown (2000) + UNIX Korn Shell Memento + Korn Shell Examples * Z-Shell FAQ - P. W. Stephenson (1995-2001) * Writing UNIX Scripts * Unix 101: How to Write a Shell Script - Kathy R. * UNIX Shell Patterns - Jim Coplien et al. (1996) "Shell has emerged as a family of programming languages for the UNIX Operating System in the same sense that JCL emerged as a programming language for mainframe job control in the 1960s. It is a family of languages because we find variant syntaxes and capabilities in the Bourne shell, the Korn shell, the C shell, and others. Most of the patterns described here apply equally well to all these variants. These patterns do not form a full pattern language nor are they a comprehensive collection of patterns for the "architecture" of a Shell program. They cover frequent Shell programming problems that often are resolved only with expert insight." * Shell Command Language Index The Open Group Single UNIX Specification's definition of the XSI Shell Command Language. * Shell Functions and Path Variables - Stephen Collyer + Simplifying the Maintenance of Your Path Variables (Mar. 2000) + A Detailed Description of the Addpath Function (Apr. 2000) + A Continued Introduction to Path Variables and Elements (May 2000) * The Zsh Workshop - Larry P. Schrof * A User's Guide to the Z-Shell - Peter Stephenson (Jun. 1999) * Rc - The Plan 9 Shell - Tom Duff (1995) Rc is a command interpreter for Plan 9 that provides similar facilities to UNIX's Bourne shell, with some small additions and less idiosyncratic syntax. * Emacs Shell (Eshell) "Eshell is a command shell implemented entirely in Emacs Lisp. It invokes no external processes beyond those requested by the user. It is intended to be a functional replacement for command shells such as bash, zsh, rc, 4dos; since Emacs itself is capable of handling most of the tasks accomplished by such tools." * hush FAQ - Jaco van Ossenbruggen (May 1997) "The standard interpreter associated with the hush library is a shell, called hush, including a number of the available extensions of Tcl/Tk and widgets developed by ourselves (such as a www and a video widget). The hush library offers a C++ interface to the Tcl/Tk toolkit and its extensions. It allows the programmer to employ the functionality of Tcl/Tk in a C++ program." * scsh FAQ - Michel Schinz (Nov. 2002) Scsh is a Scheme shell, i.e. a Unix shell which uses Scheme as its scripting language. * Man pages: + sh (Bourne) + csh (C) - William Joy (Feb. 1994) + bash (GNU) - Brian Fox and Chet Ramey + ksh 88 (Korn) (Mar. 1997) + ksh 93 (Korn) (Mar. 1997) + rc - Tom Duff + zsh (Z) - Paul Falstad + tcsh - Ken Greer et al. (Jul. 1993) + pdksh (Public Domain Korn) - Charles Forsyth et al. (Aug. 1996) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Smalltalk * Smalltalk FAQ - David N. Smith (Jul. 1996) * Smalltalk Frequently Asked Questions - Vikas Malik (1994) * Smalltalk Free Books Project + Smalltalk and Object Orientation: An Introduction - John Hunt (1997) + Smalltalk by Example: The Developer's Guide - Alex Sharp (1997) + The Taste of Smalltalk - Ted Kaehler and Dave Patterson (May 1986) + The Joy of Smalltalk - Ivan Tomek (Sep. 2000) * Smalltalk Programming Tutorial - John McGuinn (2002) * Diving in to Smalltalk - Chris Phoenix * A Tutorial for GNU Smalltalk - Andrew Valencia * Basic Aspects of Squeak and the Smalltalk-80 Programming Language (Jun. 1998) * IBM Smalltalk Tutorial - Kheng-Khoon Khor (1995) * Smalltalk Tutorial for Java Programmers - Giovanni Giorgi (Jan. 2002) * Smalltalk Idioms - Aoki Atsushi * Back to the Future: The Story of Squeak, a Practical Smalltalk Written in Itself - Dan Ingalls et al. * Smalltalk Wikipedia ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Sockets * UNIX Socket FAQ * Unix Programming FAQ * Linux Network Programming, Part 1 - BSD Sockets - Ivan Griffin and John Nelson (Feb. 1998) * Beginner's Guide to Sockets * BSD Sockets: A Quick And Dirty Primer - Jim Frost (Feb. 1990) * BSD Sockets Concepts * Programmer's Guide BSD Sockets Programming Interface * Beej's Guide to Network Programming: Using Internet Sockets - Brian Hall * High-Performance Programming Techniques on Linux and Windows - Dr. Edward Bradbord (Nov. 2001) * Berkeley UNIX System Calls and Interprocess Communication - Lawrence Besaw (Jan. 1991) * An Introductory 4.4BSD IPC Tutorial - Stuart Sechrest (1993) * An Advanced 4.4BSD IPC Tutorial - Samuel Leffler et al. (1993) * Introduction to Socket Programming - Pedro Bueno and Antonio Pires de Castro Junior (Nov. 1999) * Introduction to Network Functions in C - Simon Amor (1996-2002) * An Introduction to Socket Programming - Reg Quinton (May 1997) * The World of select() - Spencer Low (1997-2000) * Java sockets: + Sockets Programming in Java - Qusay Mahmoud + Java Sockets 101 - Roy Miller and Adam Williams (Aug. 2001) + The Java Tutorial: All About Sockets (1995-2002) + Network Programming: Sockets - Richard Baldwin (Feb. 1998) + Java Socket Tutorial - Ken Baclawski (1998) + Secure Your Sockets with JSSE (May 2001) + Introducing Nonblocking Sockets - Giuseppe Naccarato (Sep. 2002) + Java Network Programming: Sockets for Servers - Elliotte Harold (Aug. 2000) + Client-Server Programming with Java Sockets - Jinhua Guo + Transporting Objects over Sockets - Qusay Mahmoud (Dec. 2001) * Perl sockets: + Perl and Sockets - Mike Mull (Mar. 1997) + Perl in a Nutshell: Sockets - Ellen Siever et al. (Jan. 1999) + Perl, Sockets and TCP/IP Networking + Network Programming in Perl - Sander Wahls (2000-2001) * Python sockets: + Socket Programming HOWTO - Gordon McMillan + socket: Low-Level Networking Interface + Programming in Python with Medusa and the Async Sockets Library - Samuel Rushing (Apr. 1999) * Winsock Programmer's FAQ * RFC Documents: + RFC 129 - Socket Name Structure (Apr. 1971) + RFC 147 - Definition of a Socket (May 1971) + RFC 322 - Well Known Socket Numbers (Mar. 1972) + RFC 349 - Proposed Standard Socket Numbers (May. 1972) + RFC 433 - Socket Number List (Dec. 1972) + RFC 503 - Socket Number List (Apr. 1973) + RFC 2292 - Advanced Sockets API for IPv6 (Feb. 1998) + RFC 2553 - Basic Socket Interface Extensions for IPv6 (Mar. 1999) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ SQL * Introduction to Structured Query Language - James Hoffman (1997) * A Gentle Introduction to SQL - Andrew Cumming (1999-2002) * AboutSQL - John Paul Ashenfelter + Getting Started with SQL (Oct. 2000) + What's the Big Deal About SQL? (Oct. 2000) + Introducing SELECT (Oct. 2000) + Filtering SELECTed Data with WHERE (Nov. 2000) + INSERTing Data (Nov. 2000) + UPDATE That Data! (Dec. 2000) + DELETE Tips and Tricks (Dec. 2000) + Where to Use WHERE (Jan. 2001) + Using Functions (Jan. 2001) + Aggregate Functions (Jan. 2001) + Controlling Data Display with ORDER BY (Feb. 2001) + Group By (Feb. 2001) + The "Key" to Good SQL (Mar. 2001) + Good Relations (Mar. 2001) + Types of Relationships (Mar. 2001) + JOINed at the Hip (May 2001) + More on JOINs (Jun. 2001) + Types of JOINs (Jun. 2001) + The Outer Limits of SQL JOINs (Jun. 2001) + Self-Inflicted SQL (Jul. 2001) + SQL Subqueries (Jul. 2001) + Introducing SQL Sets (Aug. 2001) + Data Definition Language (Aug. 2001) + Working with Tables (Sep. 2001) + SQL Data Types (Sep. 2001) * SQL for Web Nerds - Philip Greenspun * SQL Tutorial - Chuo-Han Lee (Jul. 2002) * SQL Tutorial - W3Schools.com * SQL Tutorial - BayCon Group * SQL Course - SQLCourse2.com * SQL Tutorial I - Introduction to SQL and Installation of PostgreSQL - Manuel Soriano (May 1998) * SQL Tutorial II - Basic SQL Statements - Manuel Soriano (Jul. 1998) * SQL Tutorial and Interpreter * Teach Yourself SQL in 21 Days (2nd Ed.) - Ryan Stephens et al. * Speaking SQL - Part 1 - icarus (Dec. 2000) * Speaking SQL - Part 2 - icarus (Jan. 2001) * Integrating SQL with CGI, Part 1 - Reuven Lerner (Oct. 1997) * Integrating SQL with CGI, Part 2 - Reuven Lerner (Nov. 1997) * Comparing Data Sets with SQL - Jonathan Gennick (Apr. 2002) * Apples and Oranges: A Linux DBMS Comparison - Matthias Warkus + Introducing the Series (Nov. 1999) + The Database Design (Nov. 1999) + Evaluating a Wide Range of Factors (Nov. 1999) * MySQL and PostgreSQL Compared - Tim Perdue * MySQL: + MySQL Introduction - David Axmark and Michael Widenius (Nov. 1999) + Beginning MySQL Tutorial - W. J. Gilmore (Apr. 1999) + The Complete MySQL Tutorial - Brian Liebaugh + Data Integrity Using MySQL and PHP - Part 1 - Mark Gerow + Data Integrity Using MySQL and PHP - Part 2 - Mark Gerow + MySQL: A Database Server + Setting Up a MySQL Based Website - Part 1 - Andrew Chen + Setting Up a MySQL Based Website - Part II - Andrew Chen + Simple Connection with PHP to MySQL (Aug. 2000) + PHP/MySQL Tutorial - Graeme Merrall + Optimizing MySQL - W. J. Gilmore (Jan. 2001) + MySQL Table Joins - W. J. Gilmore (Jul. 1999) + The MySQL Grant Tables - W. J. Gilmore (Mar. 1999) + An Introduction to Database Normalization, Part 1 - W. J. Gilmore (Nov. 2000) + An Introduction to Database Normalization, Part 2 - W. J. Gilmore (Dec. 2000) + MySQL and ODBC - W. J. Gilmore (Feb. 2001) + Managing a Simple Mailing List using PHP and MySQL (May. 2002) * PostgreSQL: + PostgreSQL Documentation - PostgreSQL Development Team (1996-2001) o Tutorial o User's Guide o Administrator's Guide o Programmer's Guide o Reference Manual o Developer's Guide + PostgreSQL HOWTO + Installing PostgreSQL - Jeff MacDonald (Oct. 2000) + PostgreSQL--the Linux under the Databases - Rolf Herzog (Feb. 1998) + Optimizing PostgreSQL - Ericson Smith + Getting Started with OpenACS - Don Baccus "The OpenACS toolkit is a PostgreSQL port of the ArsDigita Community System, a comprehensive Open Source toolkit for building Web sites backed by Oracle." * DBI: + A Short Guide to DBI - Mark-Jason Dominus (Oct. 1999) + DBI FAQ-o-Matic + DBI FAQ (Feb. 2000) + Programming with the DBI - A. Descartes and T. Bunce (Feb. 2000) + DBI: A Database Interface for Perl5 - A. Descartes + Perl DBI Examples - Jeff Baker (Oct. 1999) + DBI: The Neophyte's Guide - A. Descartes (1999) + Advanced DBI - Tim Bunce (1999) + Getting Serious with the Perl DBI - Tim Bunce (1998) + Integrating Perl and Databases - Tim Bunce (1997) + Point/Counterpoint: o DBIx::Recordset vs. DBI - Terrence Brannon (Feb. 2001) o DBI is OK - chromatic (Mar. 2001) * NoSQL Tutorial - Giuseppe Paterno (Nov. 1999) * Beagle SQL, A Client/Server Database for Linux - Rob Klein (Feb. 1998) * Using mSQL in a Web-Based Production Environment - B. Scott Burkett (Jun. 1997) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ SSI * SSI Tutorial * NCSA HTTPd Server Side Includes * The Server Side Includes Tutorial ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Standard (and Nonstandard) ML * Programming in Standard ML - Robert Harper (1997-2000) The author says these online notes are obsolete, although a more current version is available in PS and PDF format. * Programming in Standard ML '97: An On-Line Tutorial - Stephen Gilmore (Apr. 2000) * A Gentle Introduction to ML - Andrew Cumming (1998) * Four Lectures on Standard ML - Mads Tofte * Essentials of Standard ML Modules - Mads Tofte * Tips for Computer Scientists on Standard ML - Mads Tofte * SML/NJ: + Standard ML of New Jersey User's Guide + SML/NJ FAQ + Notes on Programming SML/NJ - Riccardo Pucella + Using the SML/NJ System - Peter Lee et al. * Objective Caml: + Introduction to Objective Caml + The Caml Language + Introduction to the Objective Caml Programming Language - Jason Hickey (Sep. 2002) + Using, Understanding and Unraveling the OCaml Language - Didier Remy (2000) + Functional Programming Using Caml Light - Michel Mauny + What is Caml? - Pierre Weis (Jan. 1996) + Objective Caml FAQ + Caml Programming Guidelines - Pierre Weis (Sep. 1998) + Caml Quick Reference Guide - Pierre Weis (Jul. 1996) + The Caml Light System, Documentation and User's Guide - Xavier Leroy (Dec. 1997) + A C++/Java Programmer's Introduction to Objective Caml - Stephan Houben * Introduction to Functional Programming - Michael Gordon ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ STL * Introduction to STL, Standard Template Library - Scott Field (Nov. 1998) * An Overview of the Standard Template Library - G. Bowden Wise (Dec. 1995) * C++ Standard Template Library Overview - Rob Kremer * An Introduction to the Standard Template Library (STL) - Carlos Moreno (1999-2002) * C++ and the STL (Standard Template Library) (Feb. 2002) * STL Newbie Guide - Mumit Khan (Oct. 1995) * The Standard Template Library Tutorial - Johannes Weidl (Apr. 1996) * A Tiny STL Primer - David Harvey (Nov. 1997) * Effective STL - David Harvey (Jun. 1997) * A Modest STL Tutorial - Jak Kirman * STL Tutorial - Phil Ottewell (May 2002) * Standard Template Library Programmer's Guide - Hewlett-Packard (1994) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Tcl/Tk * comp.lang.tcl FAQ * Tcl/Tk Man Pages * Tcl/Tk for Programmers - J. Adrian Zimmer (Aug. 2001) * TclTutor - Clif Flynt * The Tcl'ers Wiki + Beginning Tcl + Intermediate Tcl + Advanced Tcl + Beginning Tk * Tcl Cookbook * Tcl/Tk Quick Reference Guide - Paul Raines * Practical Programming in Tcl and Tk - Brent Welch (1999) * An Introduction to Tk - Charles Vidal (Nov. 2000) * Tcl/Tk: The Swiss Army Knife of Web Applications - Bill Schongar (Nov. 1998) * Programming Using Tcl/Tk - E. J. Friedman-Hill * Introduction to Programming with Tcl - Team Neihaus (Sep. 1999) * Introduction to the Tcl/Tk Programming Language - Keith Waclena (Jun. 1997) * Rapid Prototyping with Tcl/Tk - Richard Schwaninger (May 1998) * The Tcl Syntax - Brent Welch (Sep. 1999) * Tcl/Tk Programming Idioms - Nat Pryce ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TCP/IP * TCP/IP FAQ - Part 1 - Chris Peckham et al. (Feb. 1999) * TCP/IP FAQ - Part 2 - Chris Peckham et al. (Dec. 1998) * Introduction to the Internet Protocols - Steven Newton (Jan. 1994) * TCP/IP and IPX Routing Tutorial - Sangoma Technologies * Daryl's TCP/IP Primer: Addressing and Subnetting on the Near Side of the Net - Daryl Banttari (Apr. 2002) * TCP/IP Tutorial and Technical Overview - IBM * RFC 1180 - A TCP/IP Tutorial - T. Socolofsky and C. Kale (Jan. 1991) * TCP/IP for Idiots Tutorial - Fred Mallett (1996) * Understanding TCP/IP Tutorial - Julian Moss * The Basics of TCP/IP - Selena Sol (Aug. 1999) * Internet Protocols - Cisco (1992-2002) * An Overview of TCP/IP Protocols and the Internet - Gary Kessler (Oct. 2002) * IPv6: + IPv6 FAQ (Dec. 1999) + IPv6: The New Internet Protocol - William Stallings + Linux IPv6 FAQ/HOWTO - Eric Osborne + IPv6 and Linux HOWTO - Peter Bieringer (Nov. 2002) + NetBSD IPv6 Networking + IP Next Generation Overview - Robert Hinden (1995) + RFC Documents: o RFC 2133 - Basic Socket Interface Extensions for IPv6 - R. Gilligan et al. (Apr. 1997) o RFC 2292 - Advanced Sockets API for IPv6 - W. Stevens et al. (Feb. 1998) * Teach Yourself TCP/IP in 14 Days (2nd Ed.) * T/TCP: TCP for Transactions - Mark Stacey et al. (Nov. 1999) * IP Address Subnetting Tutorial - Ralph Becker (1996-2002) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ TeX * LaTeX for Secretaries ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Threads * The obligatory warnings: + Threads Considered Harmful - moshez (Nov. 2002) + Why Threads Are a Bad Idea (for Most Purposes) - John Ousterhout + Computational Counterpoint - Tom Christiansen (Sep. 1999) * Threads FAQ * POSIX Threads Explained + Part 1: A Simple and Nimble Tool for Memory Sharing + Part 2: The Little Things Called Mutexes + Part 3: Improve Efficiency with Condition Variables * Getting Started with POSIX Threads * Introduction to Multi-Threaded Programming * Pthreads - Overview and Manual * LinuxThreads FAQ * LinuxThreads Programming * POSIX Thread Libraries * Multithreaded Programming * What is Multi-Threading? * Multi-Threaded Programming with POSIX Threads * Thread-Specific Data and Signal Handling in Multi-Threaded Applications ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ UNIX * History + UNIX and Multics (1995) - Tom Van Vleck + UNIX Past (1997) - The Open Group + History of UNIX (1994) - Ronda Hauben + The Evolution of the UNIX Time-Sharing System (1974) - Dennis Ritchie + The UNIX Time-Sharing System - A Retrospective (1978) - Dennis Ritchie + The UNIX Time-Sharing System (1978) - Dennis Ritchie and Ken Thompson * UNIX FAQ * UNIXhelp for Users * UNIX - The Bare Minimum * A Basic UNIX Tutorial * Coping with UNIX: An Interactive Survival Kit * The UNIX Programming Environment * STScI UNIX Users Guide * Using the UNIX Operating System * Intermediate UNIX Training * Compiling C and C++ Programs on UNIX Systems - gcc/g++ * Introduction to UNIX Signals Programming * Manipulating Files and Directories in UNIX * Introduction to UNIX Course Notes * Introduction to UNIX * Basic Introduction to UNIX * Learning UNIX * Advanced Introduction to UNIX * UNIX System Administration * UNIX Man Pages Online * Programming the Shell * Networking/Internet with UNIX * UNIX Unleashed * UNIX Unleashed: Internet Edition * UNIX Unleashed: System Administrator's Edition ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ vi * An Introduction to Display Editing with Vi - William Joy and Mark Horton * UNIX is a Four Letter World and Vi is a Two Letter Abbreviation - Christopher Taylor (1993-2001) * An Extremely Quick and Simple Introduction to the Vi Text Editor - Norm Matloff (Nov. 1998) * vi FAQ - Part 1 - E. Larry Lidz et al. (Jan. 2003) * vi FAQ - Part 2 - E. Larry Lidz et al. (Jan. 2003) * Vi Helpfile - Karlon West (1995) * The Vi/Ex Editor - Walter Alan Zintz + Vi Editor Fundamentals + Line-Mode Addresses + The Global Command + The Subtle Substitute Command + Take Control of Your Editing Environment + Addresses and Columns + The Little "R" and "r": The Fine Points of Those Replacement Commands + Indent, Like a Typewriter + Take Charge with Macros * vi Quick Reference and Tutorial * Vi Quick Reference - Ying Zhang (Mar. 1999) * Vi Reference - Maarten Litmaath * vi Tutorial - Purdue ECN (Mar. 2003) * Mastering the vi Editor - Ben Yoshino (Aug. 2002) * Vi Macros - Fred Buck et al. (1989) * The Vi Lovers Home Page - Thomer Gil (Nov. 2002) * The Vi Editor and Its Clones - Sven Guckes * VimDoc Project + Vim User Manual - Bram Moolenaar (Mar. 2002) + Vim Book - Steve Oualline + Hypertext + PDF (572 pages) * Vim FAQ (Dec. 2002) * Vim Scripts * Vim Tips Revisiting VIM - Andy Kahn (Apr. 1998) elvis Manual - Steve Kirkendall (1995) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ VRML * VRML Primer and Tutorial * An Introduction to VRML * Introduction to VRML * Introduction to VRML 2.0 * The Easy VRML Tutorial * VRML 97 Tutorial * VRML 2.0 Tutorial * VRML Audio Tutorial ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ XDR "A set of library routines that enable C programmers to describe arbitrary data structures in a machine-independent way." - External Data Representation: Technical Notes * RFC 1014 - XDR: External Data Representation Standard - SUN (Jun. 1987) * RFC 1790 - An Agreement Between the Internet Society and Sun Microsystems, Inc. in the Matter of ONC RPC and XDR Protocols - V. Cerf (Apr. 1995) * RFC 1832 - XDR: External Data Representation Standard - R. Srinivasan (Aug. 1995) * XDR/RPC Protocol Specification - Caldera (2001) * eXternal Data Representation Overview for Programming (in AIX Version 4.3 Communications Programming Concepts, Oct. 1997) * External Data Representation: Technical Notes - HP * Cisco IOS for S/390 RPC/XDR Programmer's Reference (1989-1998) * FXDR - David W. Pierce "FXDR is a library that allows you to make calls to the XDR (eXternal Data Representation) routines from Fortran." * AutoXDR: Automated XDR Interfaces * xdrlib -- Encode and decode XDR data (from Python Library Reference, Oct. 2002) * External Data Representation (in DODS User Guide, Version 1.10, Tom Sgouros, Dec. 2001) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ X11 * comp.windows.x FAQ (9/96) * Complete X Window System man Pages (10/98) A set of HTMLized X11 man pages with internal crosslinks. * X Window System Technical Glossary * Using X11 Windows - Norman Matloff (1/01) * X Windows Version 11.5: A Concise Description - Tim Love (1993) * Configuring X - Joel McCarty (3/98) * X Widget FAQ - Richard Offer (10/98) * XFree86 FAQ (11/99) * Beginning with X - Jonathan Abbey (6/92) This is a PDF document. * Introduction to X Windows - R. B. Rodger (5/94) * The X Window User HOWTO - Ray Brigleb (9/99) * How to Program Using the X Window System - Jaap Boender (10/00) * An Introduction to X11 User Interfaces - Grant Edwards (95) * X Window System Administration - Jay Ts (2/00) * Looking Through X Windows - Rubin Landau, et al. Part of Coping with UNIX: A Survival Guide. * X Windows/Motif Programming Course Documentation - A. D. Marshall (1997) * X Window Guide - Jeff Pitchers (5/95) * X Windows Version 11.5: A Concise Description * Xlib: + Xlib HTML Manual - Christophe Tronche + Xlib Programming: A Short Tutorial - Christophe Tronche + Basic Graphics Programming with the Xlib Library + Beginner Xlib Tutorial - George Staplin + Xlib JPEG Tutorial - George Staplin + Using Xlib with Tcl/Tk - George Staplin * Xt: + comp.windows.x.intrinsics (Xt) FAQ (3/95) + End-User Customization of Xt Applications - Jean-Michel Leon + Debuggin X Toolkit Resources with editres - Kenton Lee (11/94) + X Toolkit and Xlib Application Resources - Kenton Lee (8/95) + Xt Components: An Alternative to Writing Compound Widgets - David Bainbridge + Using Xt for Inter-Application Communication - David B. Lewis * Writing Portable X Code - Stephen Gildea * X Application Programming Model - Kenton Lee (6/95) * The 40 Most Common X Programming Errors (And How to Avoid Repeating Them) - Kenton Lee (6/91) * X Window System Application Performance Tuning - Kenton Lee (7/94) * Securing X Windows - John Fisher (7/95) * X Security - Francois Staes * Taming the X Display Manager (xdm) - Miles O'Neal (7/96) * Programming with XView - Michael Hall (3/98) * Developing Imaging Applications with XIE - Syd Logan (9/98) * X11 Toolkits/Wrappers: + GTK+: o GTK+ FAQ - Tony Gale et al. (2/01) o GTK V1.2 Tutorial - Tony Gale and Ian Main (3/01) o GTK+/Gnome Application Development - Havoc Pennington (99) o An Introduction to the GIMP Tool Kit - Otto Hammersmith (3/98) o The GIMP Toolkit - Peter Mattis et al. (8/98) o Drawing and Event Handling in GTK - Owen Taylor (10/97) o The Wonders of Glib: Making C Programming Easier - George Lebl (4/00) o GTK+ 2.0 Reference APIs: # GLib Reference Manual # GDK Reference Manual # GTK+ Reference Manual # GObject Reference Manual # Pango Reference Manual # GdkPixbuf Reference Manual - Federico Quintero (00) o GTK+ 1.2 Reference APIs: # GLib Reference Manual # GDK Reference Manual # GTK+ Reference Manual o Creating GTK+ Widgets with GOB: An Easier Way to Derive New GTK+ Widgets - George Lebl (7/2000) o Internationalization in GTK+ - Owen Taylor (99) + Qt: o Qt FAQs o Qt On-Line Reference Documentation # Qt Tutorial # Qt API Structure Overview + Motif: o LessTif: # LessTif FAQ # LessTif man Pages # Inside LessTif - Harold Albrecht (7/97) o Motif Programming Manual (2nd Ed.) - D. Heller, P. Ferguson and D. Brennan (Feb. 1994) o Motif Reference Manual (2nd Ed.) - A. Fountain and P. Ferguson (Feb. 2000) o Motif Programming Manual for Motif 2.1 - A. Fountain, J. Huxtable, P. Ferguson and Dan Heller (Dec. 2001) o Motif Reference Manual for Motif 2.1 - A. Fountain and P. Ferguson (Dec. 2001) o Motif FAQ - Kenton Lee (7/00) o Introduction to Motif Application Development - Marshall Brain o X/Motif Programming o Motif/Lesstif Application Development o Open Motif: # Open Motif FAQ (12/00) # Open Motif Datasheet # Open Motif CVS Tree o Motif 2.1 Guides/References (in PS and PDF format): # Motif 2.1 Programmer's Guide # Motif 2.1 Programmer's Reference - Vol. 1 # Motif 2.1 Programmer's Reference - Vol. 2 # Motif 2.1 Programmer's Reference - Vol. 3 # Motif 2.1 Widget Writer's Guide o Motif 1.2 Guides/References: # Motif 1.2 User's Guide # Motif 1.2 Style Guide # Motif 1.2 Programmer's Guide # Motif 1.2 Programmer's Reference o CDE: # Open Group CDE/Motif FAQ # CDE FAQ - Aditya Talwar (5/00) # A Common Desktop Environment for Platforms Based on the UNIX Operating System - Brian Cripe et al. (4/96) # Accessing and Administering Applications in CDE - Anna Ellendman and William Yoder (4/96) + JX: o JX Tutorials ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ XML XML is the Extensible Markup Language. It is designed to improve the functionality of the Web by providing more flexible and adaptable information identification. It is called extensible because it is not a fixed format like HTML (a single, predefined markup language). Instead, XML is actually a `metalanguage' - a language for describing other languages - hich lets you design your own customized markup languages for limitless different types of documents. XML can do this because it's written in SGML, the international standard metalanguage for text markup systems (ISO 8879). - XML FAQ * XML FAQ - Peter Flynn, ed. * W3C XML Home Page * A Layman's View of XML [ Part 1 | Part 2 | Part 3 | Part 4 | Part 5 | Part 6 ] * The XML Revolution: Technologies for the Future Web - Anders Moller and Michael I. Schwartzbach * Working with XML: The Java API for XML Parsing (JAXP) Tutorial * An Introduction to Perl's XML::XSLT Module * MathML MathML is a low-level specification for describing mathematics as a basis for machine to machine communication. + W3C MathML Home Page * SVG SVG is a language for describing two-dimensional graphics and graphical applications in XML. + W3C SVG Home Page + SVG Wiki + SVG on the Rise - Dean Jackson + Mobile SVG Profiles: SVG Tiny and SVG Basic SVG profiles suitable for cellphones (Tiny) and PDAs (Basic). + SVG Print A version of SVG specifically suited to hard-copy output. + SVG Implementations * X3D X3D is a powerful and extensible open file format standard for 3D visual effects, behavioral modelling and interaction. It provides an XML-encoded scene graph and a language-neutral Scene Authoring Interface (SAI). The XML encoding enables 3D to be incorporated into web services architectures and distributed environments, and facilitates moving 3D data between applications. The Scene Authoring Interface allows real time 3D content and controls to be easily integrated into a broad range of web and non-web applications. + Web3D Consortium + Extensible 3D: XML Meets VRML - Len Bullard * XSL XSL is a family of recommendations for defining XML document transformation and presentation. It consists of three parts: + XSL Transformations (XSLT), a language for transforming XML; + the XML Path language (XPath), an expression language used by XSLT to access or refer to parts of an XML document; and + XSL Formatting Objects (XSL-FO), an XML vocabulary for specifying formatting semantics. + W3C XSL Home Page + XSLT Tutorial - Miloslav Nic + XSL-FO Tutorial + XSL FAQ - Dave Pawson * XUL The XML User Interface Language (XUL) is a markup language for describing user interfaces. + XulPlanet ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Miscellaneous * Implementing a Scripting Engine: + Part 1: Overview + Part 2: The Lexical Analyzer + Part 3: The Parser + Part 4: The Symbol Table and Syntax Tree + Part 5: The Semantic Checker and Intermediate Code Generator + Part 6: Optimization + Part 7: The Virtual Machine + Part 8: Executable Code + Part 9: Advanced Subjects * 8051 Assembly Tutorial * 80x86 Assembly Language Programming Tutorial * Biotiming Tutorial * A tutorial on character code issues * Cosmology Tutorial * Genetic Tutorial * GNAT Reference Manual * Imlib Programmer's Guide * INTERCAL Programming Language Revised Reference Manual * Modem Tutorial * MOO Programming Tutorial * Quantum Computation: A Tutorial * Relativity Tutorial * The Soar 8 Tutorial Home Page * Speech Analysis Tutorial * Basic SUIF Programming Guide * VHDL Synthesis Tutorial * ZPL Programming Guide The original version of this document resides at http://stommel.tamu.edu/~baum/programming.html. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________