The Advanced Bash Scripting Guide is both a reference and a tutorial on shell scripting. This comprehensive book, the equivalent of 1,000+ print pages, covers almost every aspect of shell scripting. It contains 382 profusely commented illustrative examples, a number of tables, and a cross-linked index/glossary. Not just a shell scripting tutorial, this book also provides an introduction to basic programming techniques, such as sorting and recursion. Included scripts are the Game of Life, a Perquackey variant, a Morse code trainer, and an implementation of the Gronsfeld Cipher. This book is suited for both individual study and classroom use. It covers Bash, up to and including version 4.2. Note that users of miniaturized single-board computers running Linux, such as the Raspberry Pi and the Beagle Bone, would find this Guide useful for learning and running Bash scripts to explore and expand the capabilities of these small, but powerful machines.
BRL-CAD is a powerful constructive solid geometry solid modeling system that includes an interactive geometry editor, ray-tracing support for rendering and geometric analysis, path-tracing for realistic image synthesis, network distributed framebuffer support, and image and signal-processing tools.
CMUCL is a free, high performance implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. CMUCL provides a sophisticated native code compiler; a powerful foreign function interface; an implementation of CLOS; the Common Lisp Object System; which includes multimethods and a metaobject protocol; a source-level debugger and code profiler; and an Emacs-like editor implemented in Common Lisp. CMUCL is maintained by a team of volunteers collaborating over the Internet, and is mostly in the public domain.
ICI is a general purpose interpretive programming language that has dynamic typing and flexible data types with the flow control constructs and operators of C. It is designed for use in many environments, including embedded systems, as an adjunct to other programs, as a text-based interface to compiled libraries, and as a cross-platform scripting language with good string-handling capabilities.
Jhead is a command line driven utility for extracting digital camera settings from the Exif format files used by many digital cameras. It handles the various confusing ways these can be expressed, and displays them as F-stop, shutter speed, etc. It is also able to reduce the size of digital camera JPEGs without loss of information, by deleting integral thumbnails that digital cameras put into the Exif header. If you need to add Exif support to a program, this is a simple program to cut and paste from. Many projects, including PHP, have reused code from this utility.
TEA Total is a collection of extremely small encryption tools. At the heart of TEA Total is the TEA (Tiny Encryption Algorithm): a fast and secure 128-bit private key algorithm which was developed and placed in the public domain by David Wheeler and Roger Needham of the Cambridge Computer Laboratory.
XCmail is a MIME and multi POP3 capable mailtool for X11 using the Xclasses X11 layout library. Its main purpose is to read and write mail, allowing any kind of data to be attached. It can handle MIME types, has helpers to show different types, and can encode and decode binary data into ASCII to allow it to be transported as mail over the Internet. It has many built-in functions such as 2 vCards, unlimited POP3 servers, SMTP, SMTP after POP3, SMTP-AUTH (RFC2554), addressbook, encoders, filters, a special spam filter, spell checker, xface, and a new "virtual folder" concept. It also uses external programs to enhance its feature set. XCmail can be extended through a plugin interface.
netscript is a portable/multi-platform, lightweight TCP/UDP socket scripting system. It is intended to automate situations, built on a word-to-word ruleset response system. It includes wildcard support, character replacement, random replacement, argument inclusion, server timeout, initial send, display altering, multiple character dump formats, telnet protocol support, logging, program to socket dumping, executable ruleset support, reverse binding, module support, data truncation, data formatting, permission options, virtual hosting support, history storage, dynamic storage variables, directory placement, character omitting, timed rules, background support, syslog support, routing support, socket options, interactive mode, and graphical user interface support.