Gene Cooperman's
Computer Science Information
Think of these pages as my current set of bookmarks, except that I've
made them public, in case somebody else finds them useful.
-
El portal de los inginieros en informática (Excellent!!)
- Soft411.net
(Listing of software by keyword)
-
Cool hacking articles
(e.g.
C optimizations et al.;
e.g.: cat /proc/cpuinfo; cat /proc/meminfo)
- WaybackMachine.org
(see sites as they previously were)
-
Front for the Mathematics ArXiv
- arXiv.org e-Print archive
- CiteSeer (indexes papers and citations)
-
N.U. Library Gateway (includes Ingenta, formerly UnCover)
-
DBLP Bibliography
(alt
or alt2)
-
CS Bibliographic Projects and Resources
-
Welcome directory (FAQ's)
-
High Performance Software (HiPerSoft)
-
Analysis of SpamThru bot controller
-
Publications of Joe Stewart (spam analysis)
- Spamcop.net
- Anti-SPAM group
-
Computing Languages (UK)
- Haskell
(pure functional, strongly typed language with lazy evaluation
--- reminiscent of PROLOG and pure Scheme,
with a tutorial, A Gentle
Introduction to Haskell; and extensive Wiki, e.g.
Haskell Books)
-
Common Lisp the Language, 2nd Edition
-
Common Lisp the Language, 2nd Edition (alt)
-
ANSI Common LISP standard: discussion record
-
General LISP archive (incl. CLISP, Cltl2, dpAnsii, etc.)
- GCL
(GNU Common LISP)
-
ECL (Embeddable Common Lisp)
(or alt)
- EcoLISP
(alt)
(with thread support, KCL derivative)
- CLISP
(or alt)
-
CLiCC: The Common Lisp to C Compiler
(standalone C applications, no EVAL)
-
Some LISP tools
- PERL home page
(also see PERL tutorials/references)
- Transformer Links
-
The C++ Virtual Library
-
C++ Annotations (Excellent!! For knowledgeable users of C core,
basics, pointers, structs, arrays, etc.)
- cppreference.com
(for brief summary of libraries, STL, I/O, string class)
-
comp.lang.c Frequently Asked Questions
-
Annotations for ANSI C Standard
-
Programming in C (high quality pointers,
including ANSI C grammar for
Yacc
and Lex)
-
The C Book (based on ANSI C 91 standard)
-
Dinkum C/C++ Library Reference
-
Sergey Bratus's C++ pointers
-
C++ Public Review Document (1997, html)
-
C++ Draft Standard (November 1996 Working Paper)
-
C++ Standard ANSI Draft/ISO Working Papers
-
Using and Porting GNU CC
-
Intel C++ compiler for Linux (free for non-commercial)
(features
such as profile-guided optimization)
-
Pointers to STL sites (Standard Template Library for C++)
- Boost (library of useful routines
for C++, including serialization)
- Documentation
of Java classes and methods
- JDance
("online Java information center", pointers to info on the Web)
- Java books (some may be free via Safari subscription)
-
Java API
for all Java classes (Standard Edition v. 1.4.2)
(Sun Microsystems, Java 2 Patform, Standard Edition v. 1.4.2)
-
Java example programs to download (java.io, java.lang, java.util,
etc.)
-
Java Precisely (with old edition available for free download;
essential points of Java, with matching concept and example,
in only about 100 pages)
-
Effective Java (by Joshua Bloch, good for advanced Java,
with sample chapters on Substitutes for C Constructs, and
Methods Common to All Objects)
- Java Tutorials
by Sun Microsystems
- BDD (Binary Decision Diagram)
-
Formal (Finalized) Specifications of OMG (Object Management
Group), including many Corba standards
-
OOP Design Page
- Unified
Modeling Language Resource Center
-
Booch Method Overview
Parallel Stuff
- Parallel research projections (that are interesting to me)
- Declarative Networking
(use of P2, a datalog-like language, that allows one to declare
a small number of rules of a protocol and infer the rest:
e.g., 47 rules to implement distributed hash tables)
-
PCOMP (Parallel Computation, excellent)
- Planet-lab.org
(donate two computers and get free access to huge network for
parallel computation)
- Beowulf.org
- Beowulf Underground
-
Parallel Software and Applications
-
Benchmarks:
- Condor
(submission of remote jobs, automatic nice, migration, etc.)
- no-ip.com (free subdomains redirecting to
dynamic DNS, and other (for fee) services)
- PlanetLab
(sharing of CPUs; an alternative to the Grid)
- MOSIX
(transparently load balances: application runs on available node
of cluster)
- Rocks Cluster Distribution
(with
introduction;
automatically set up Redhat Linux on cluster using Redhat Kickstart)
-
XEmacs: A Portable Unexec Replacement (For
checkpointing, emacs unexec.c provides a classical
system-dependent solution, but an alternative is to
create one or more large initial static buffer plus
a redefined malloc that uses memory in the static buffer;
and then do all memory allocation into the static buffer.
On dump, write to file, on revive, copy to original absolute address.
-
Checkpointing Research at Tennessee
PEACE, code from Seth Robertson, paper on fault interpretation, etc.)
-
Scalable Coherent Interface (SCI) (allowing fast remote memory access)
- Tutorials on DSM and
other topics (by Veljko Milutinovic)
-
Bill McColl Home Page (Publications on making
parallel programming more practical, BSP, chair of
Oxford Parallel group (industry-academia)
-
BSP Worldwide Organization for development of BSP
as both accurate complexity model and for programming
tools providing architecture-independent interface
to parallel programming
- Cilk project
(primarily for shared memory architecture)
- BRICS
(Semantics of programming and parallelism)
- Orca Parallel Programming
Language (Henri Bal, compiler allows objects to be replicated
directly by run-time system)
-
Proceedings of Parallel Curricula Conference
-
Distributed Cluster Computing Environments
-
High Performance Computing and Communications Glossary
-
Topic area Parallel Processing (with some conferences and
recent books on parallel computing)
-
IEEE ParaScope (lots of links to parallel computing)
-
ACTS Tools (ScaLAPACK, PETSc, etc.)
- PyACTS Documentation
(Python binding for ACTS)
-
Freely Available Software for linear Algebra on the Web
(EXCELLENT: LAPACK, direct/iterative, preconditioners,
sparse packages, BLAS, distributed solvers, etc.)
-
HPF: The High Performance Fortran Home Page (Rice U.)
- PIN,
tool for dynamic instrumentation of executables
- DYNINST API (also for
dynamic instrumentation of executables)
-
Supercomputing and Parallel Computing Resources (CMU and other)
-
Distributed Shared Memory (tutorial)
-
Quarks (free DSM system from U. of Utah)
-
The Berkeley NOW project
- NSF Center, San Diego
- NSF Center, NCSA
(National Computer Science Alliance, Urbana-Champaign)
- NSF Center, NPACI
(National Partnership for Advanced Computational Infrastructure,
San Diego)
- MPI Forum
-
GloMoSim (network simulator based on Parsec, which is a
parallel event simulator)
-
IBM C++ Compiler
- MPI man pages
- MPICH implementation
- LAM implementation of MPI
- PVM Home Page
- XPVM Home Page
- p4
(WWW, Argonne)
- mpi, p4, upshot (ftp, Argonne)
-
Hotlist for Scientific Computing
-
SCV at B.U. (SCV = Scientific Computing and Visualization;
account requests and
administration;
facilities part of Mariner
project -- New England metacenter)
-
Linux Community Development System (IBM S/390 mainframe, 10 CPU's)
- National Coordination Office for HPCC
- Welcome to NCSA
-
National Computational Science Alliance
- Earth Simulator
(NEC Supercomputer)
-
Design Patterns for Concurrent, Parallel, and Distributed Systems
-
Designing and Building Parallel Programs (on-line book) by
Ian Foster
- Concert C
-
The CC++ Programming Language
-
The CC++ Programming Language (alt.)
-
Compositional C++
-
Legion Home Page (World-wide virtual computer)
(with its own startup company:
Applied Metacomputing LLC)
- The Globus Project
(technologies for computational grid)
- AMWAT (GRID middleware)
-
Distributed Linear Algebra on Networks of Workstations
(Caltech CS-TR-94-14)
- I-WAY Home Page
-
HPC Challenge Applications (I-WAY)
- Split-C (ftp, Berkeley)
-
Free Software for MIMD Parallel Computers
- Cornell Theory Center
(NSF Supercomputers)
Bioinformatics
- BioCoRE
(consortium to encourage collaborations, like freshmeat, etc.)
Symbolic Algebra Packages
- SAGE (Software for
Algebra and Geometry Experimentation: glues together
GAP,
(Groups, Algebra and Programming),
Maxima
(general symbolic algebra, like MAPLE and Mathematica),
GMP (GNU Multiple Precision
arithmetic),
MPFR
(mult. prec. floating point, support for interval arithmetic),
PARI
(algebraic number theory),
NTL (Number Theory
Library),
Singular
(Gröbner bases and algebraic geometry),
Gnuplot
(for graphings, see also, R, Octave and Jgraph (search
for Jgraph on this page),
Octave,
Numerical Python (for efficient numerical analysis),
etc.,
and some non-free packages (
Magma,
MAPLE,
Mathematica),
via Python and some glue code)
- GAP (U.K.)
(Groups, Algorithms, and Programming)
-
Overview of MAGMA
-
MAGMA manual
- Eamonn O'Brien's
Algebra Database in BibTeX
-
Rob Wilson's atlas of finite group representations
-
John Bray's list of group presentations
- HTL (finite field arithmetic)
- Macsyma Inc.
- MuPAD (symbolic algebra system)
- Yacas,
Yet Another Computer Algebra System (RULE-BASED SYSTEM:
free system, real and
complex polynomials and elementary functions, symbolic limits,
derivatives and (limited) integration, symbolic solution of (simple)
equations, and some special mathematical functions)
- Macaulay 2
Researchers/groups with some interesting home pages
(not an exhaustive list :-) )
(to be continued)
On-line C.S./technical books
-
Safari Tech Books Online (Requires Northeastern U. account;
includes O'Reilly, Novell Press,
Addison Wesley, Prentice Hall, Sun Press, SAMS, Microsoft Press,
Macromedia Press, Adobe Press, etc.)
-
List of Free Online Books, Tutorials and Lecture Notes
-
Links to free math books (from PlanteMath)
-
Other Free books (besides GNU manuals)
-
GNU gcc readings on systems info
-
Principles of Computerized Tomographic Imaging
-
Elementary Calculus: An Approach Using Infinitesimals
by Jerome Keisler (rigorous infinitesimals instead of epsilon-delta)
-
Introduction to Modern Cryptography
-
Beej's Guide to Network Programming: Using Internet Sockets,
by Brian "Beej" Hall
-
A compendium of NP optimization problems
(from book, Complexity and Approximation)
-
Introduction to the New Mainframe: z/OS Basics
-
C++ Annotations, by Frank B. Brokken
(Excellent!! For knowledgeable users of C core,
basics, pointers, structs, arrays, etc.)
-
The Art of UNIX Programming (by Eric Steven Raymond),
excellent overview of style and philosophy in UNIX
-
Thinking in Java/C++/Patterns/Enterprise Java
by Bruce Eckel
(excellent tutorial-style books for intermediate programmers;
Note also Thinking in C# by Larry O'Brien
and Bruce Eckel, Prentice Hall 2003, hardcopy only)
(Also available here)
-
Java Precisely, by Peter Sestoft (with
full book)
-
On Lisp. Advanced Techniques for Common Lisp, by Paul Graham
- Linkers and Loaders
by John Levine (and
for-sale copy)
-
Linux Online Books
-
Handbook of Applied Cryptography,
by Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone
-
Data Mining Survivor: Data Mining Dekstop Survival Guide
(see also
Data Mining Catalogue)
- Graph Theory, by Reinhard Diestel
- Abstract Algebra
by Beachy and Blair
-
Templates for the Solution of Linear Systems, 2nd Edition
(Numerical Analysis)
-
Iterative methods for sparse linear systems;
and Numerical Methods for Large Eigenvalue Problems,
both by Yousef Saad
-
Permutation Group notes and preprints (excellent;
part of more diffuse
Permutation groups resources, all maintained by Peter Cameron)
-
Art of Assembly Language Programming (Intel assembly)
-
DevCentral Learning Center (tutorials)
-
International Legal Protection for Software
- Resampling method (statistics)
-
Designing and Building Parallel Programs (Online)
-
Implementing Mathematics with the Nuprl Proof Development System
-
Linear Algebra Applications
- Also, see Common LISP books
-
O'Reilly Nutshell books
-
Linux Tutorial: POSIX Threads
(see also
NPTL-Design.pdf)
-
Bil Lewis's course slides on threads (excellent)
(see also his
Omniscient Debugger, A Java debugger that can move backwards
through debugged program)
-
SmartGDB (not under current active development?)
-
Simultaneous Multithreading (SMT) Home Page
(a combination of ILP and TLP -- when insufficient ILP,
other threads are executed)
-
HyperThreading (Intel) (Intel implementation of SMT
(Simultaneous MultiThreading),
for most recent Intel processors)
On-line C.S./technical courses
On-line C.S. course syllabi
-
The Tab Completion Grade Book (Sourceforge,
Cross Platform based on Java)
-
OpenGrade, Cross Platform (based on Perl, for
Linux and Windows but Windows version not officially supported)
-
Ggradebook (GNU Gradebook, requires GTK-1.2 (sic) or later
and dates on files are from 2000)
Useful off-line books (not an exhaustive list :-) )
- David R. Butenhof. Programming with POSIX threads. Addison Wesley,
1997
-
Java Precisely (with old edition available for free download;
essential points of Java, with matching concept and example,
in only about 100 pages)
-
Effective Java (by Joshua Bloch, good for advanced Java,
with sample chapters on Substitutes for C Constructs, and
Methods Common to All Objects)
- Effective C++, Addison-Wesley Profesional Computing Series, Scott
Meyers, 1998 (Second edition)
- More Effective C++, Addison-Wesley Profesional Computing Series, Scott
Meyers, 1996
- Design Patterns: Elements of Reusable Object-Oriented Software,
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides,
Addison-Wesley, 1995
- Refactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck (Contributor), John Brant (Contributor),
William Opdyke, Don Roberts
(with
online catalog of refactorings)
- Algorithmic
Number Theory
-
Randomized Methods in Computation
- G.H. Golub and C.F. Van Loan, Matrix Computations,
third edition, Johns Hopkins University Press, 1996.
(to be continued)
Ordering technical books on-line
Academic Journals
Miscellaneous
Solaris
GNU (GNU home page
with search)
- GNU ftp site
- GNU software (including some with no html manual, some that are
GPL, but not GNU)
-
GNU gcc readings on systems info
-
GNU software download (or
non-GNU software download;
or
mirrors at bottom of page,/a>)
- GNU manuals
- Some of these links are to specific version numbers. Check above
for latest version.
- Free Software Directory
of Free Software Foundation
-
gcc C compiler
(see also gcj,
gcc for Java, and especially
The GCJ FAQ)
-
Using and Porting GNU Fortran (w/ gcc-2.95)
-
GNU C Preprocessor (cpp)
(also try "gcc -E")
-
The GNU C library (glibc, libc.a) (with
software distribution; also good info for some C/UNIX
internals: malloc/free, obstack, descriptors/streams, sockets, device
files, tty internals, search/sort/pattern match, date/time,
signals, setjmp/longjmp, NSS(Name Service Switch: UNIX databases
such as DNS), assert, variadic functions)
-
Using LD, the GNU linker (also note LDD for finding the library
dependencies of an existing binary (executable or shared object;
LD can be downloaded as part of the
binutils distribution))
- ELF, symbol versioning,
thread-local storage, etc. (by Ulrich Drepper; click on "ELF")
-
Debugging with GDB (including internals manual)
-
DDD - Data Display Debugger
(graphical front-end for gdb and other debuggers)
-
GNU gprof (see also
gcov)
-
Using as (gas - GNU assembler)
- For assembly with
source file listing, try
"gcc -c -g -Wa,-alh,-L file.c > file.s", or
"gcc -c -g -Wa,-ahls=file.s file.c"
(man as:
-al: emit assembly listing, -ah: emit high level C/C++ source;
-L: keep local symbols; NOTE: "-g" is required, and "-S" is purposely
omitted, since high level C/C++ source is apparently emitted only
as part of full compilation)
- CGEN
(generator of assemblers, disassemblers and simulators,
including IA-32, SPARC, etc.)
-
LIB BFD, the Binary File Descriptor Library
-
libtool (for managing shared libraries,
w/ software)
-
GCC (gcc) online documentation
(also see assembly
with source file listing)
-
GNU C Compiler Internals (Wikibook)
-
G++ Internals (e.g. name mangling algorithm, etc.)
- lint and cpp are also bundled into gcc;
Try "gcc -Wall -Wextra", "gcc -pedantic" for lint, and "gcc -E" for cpp
(and see "gcc -traditional-cpp"); What about /*NOTREACHED*/, etc.?;
Try "cpp -dM ANY_FILE" to see predefined macros.)
-
indent (some other C/C++ beautifiers are:
GC GreatCode, artistic
style, and the old UNIX cb)
-
GMP (GNU MP, or Multiple Precision library)
-
GNU Autoconf
-
GNU make
-
Bison (and
flex (a scanner generator) -- patterned after yacc and lex )
-
GNU Emacs manual
-
GNU TexInfo
-
GNUshogi
- GNU Go (game)
-
RFC for NFS Version 4 (also see
paper on NFS 4)
- Midnight Commander File
Manager
(can also look inside tar, rpm and other archive formats)
-
Scientific Applications on Linux (SAL)
- GSL - GNU Scientific
Library (includes special functions, linear algebra (and BLAS
support), integration, differential equation solver, permutations,
combinations, FFTs, histograms, interpolation and extrapolation,
minimization, root-finding, least squares fits, physical
constants, etc.; also, see
GSL manual)
- GNU R Project
(Statistics and graphics project, good graphing environment)
-
TeXmacs (scientific text editor, plotting, spread sheet, etc.)
- Gnuplot Central
(not at GNU site)
-
The Plotutils Package
-
Jgraph (simpler than gnuplot, supports bar graphs, also
distributed from Debian and SAL)
- xfig, fig and
associated software
(also xfig manual)
-
Bash Reference manual (Bourne-Again Shell)
-
GNU Wget Manual (Copy tree of URL's to local disk)
-
GNU maxima (no html manual?)
- Open Source licenses
(GPL, LGPL, BSD, etc.)
-
GNU Lesser General Public License
and
GNU Library GPL (less restrictive)
(public copyright for linking a library to an application)
-
Creative Commons License (non-commercial, sharable text)
- Cygwin
(Port of GNU gcc, bash, and related utilities to Windows;
Includes API interface for Windows)
- SEE ALSO: MKS/Windows, teraterm (for Windows),
S. Bratus
home page
-
putty download page (and pscp, ssh clients for Windows)
- Perl Home Page (also see
CPAN, Comprehensive
Perl Archive Network; not GNU, but they should be)
- Python
(with
Python Reference Manual)
- SciPy
(Matlab-like functionality: graphing, plotting], optimization,
special functions,
genetic algorithms, linear algebra, ODE solvers),
NumPy
(for speeding up array operations, matrix manipulations, stats),
Twisted
(event-driven networking framework: à la wrapper around
select system call),
PyRex (mixes Python and C data types, and copiles code
into C extension module for speed),
server.py (networking),
userball.py (games),
wxPython (GUIs, web interfaces),
bounce.py (visualization),
Talks at PyCon that teach how to be better programmers
-
Python Cheat Sheet
- A Byte of Python
(pdf, good introduction to Python)
-
Python Quick Reference (pdf, odt (openoffice))
-
Python Quick Reference
- Thinking in Python
- Dive Into Python
(pdf/html download, or
online version)
- Python Quick
Referece 2.4 (well done, compact)
(or
Python Quick Reference 2.1
or Python Quick Reference 2.2)
-
Python Library Reference (including modules)
-
Python Tutorial
- Thinking in
Python (a more advanced book and still incomplete, but
good expository style)
-
GNU Hurd Reference Manual (UNIX Kernel replacement
supporting Mach microkernel)
-
GNU Portable Threads (GNU Pth)
(non-preemptive user space threads; optional API for pthreads;
does _not_ take advantage of multiple processors))
>non-GNU pthreads packages follow:
-
LinuxThreads library (Note that Linux currently uses
NPTL (New Posix Threads Library), and not LinuxThreads
implementation of pthreads.)
-
Example of ptrace usage
-
Tracing tricks with ptrace
- NOT NECESSARILY GNU, BUT SHOULD BE
- PGP
-
The Single UNIX Specification, Version 2
(copyright 1997 by The Open Group)
- Internet Software
Consortium (ISC) (nonprofit corporation for
"reference implementations of core Internet protocols",
including
code useful for developers)
- Octave Home Page
(Matlab-like language -- GPL;
and
free Octave book)
- Scilab Home Page
(Another Matlab-like language -- GPL)
-
Internet Software Consortium (memory leak)
(including
libefence (electric fence), search on it from this page.)
-
LeakTracer - trace and analyze memory leaks in C++ programs
- Valgrind
(for finding memory leaks, etc., but also for profiling:
--lead-check=yes --num-callers=8 --gdb-attach=yes
--show-reachable=yes )
-
Cooperative Bug Isolation Project (automatically getting end-user
feedback)
- UMLGraph
(declarative specification of UML diagrams)
- Open Source Hosting
- Freshmeat.net
(open software development, pointers to open source projects
with ratings)
-
FreeSoftware.com (open source software, and meta directory)
-
DiskSim Simulation Environment
- cacheprof
(simulates cache of one's choice, and produces annotated
source code about cache misses, plus per-procedure summaries)
-
Calibrator (measures cache, TLB, latencies, etc.)
-
OProfile (Linux kernel module, enabling system-wide
low-overhead profiling, without wrapper, etc.)
- Rightmark Memory Analyzer
(reports on cache, TLB, CPU model, etc.: assoc., num cache blocks, etc.)
- strace,
truss (based on ptrace system call): not part of GNU,
but it should be
- Doxygen
(generates code browser with links for C++, C, Java and others;
generates HTML or latex,
with description)
- LXR
(code browser; SourceForge: Project Info - LXR Cross Referencer)
- sourceware.org
(web CVS access to many software projects: gcc, glibc, ...)
- Bonsai
Bonsai -- the art of effectively controlling trees
(CVS web interface
(see intro),
with "cvsblame" to read CVS comments about why lines were changed)
-
MIT distribution site for PGP
- TTH
(TeX to HTML, excellent at converting TeX and LaTeX math)
Productivity Stuff for text manipulation
- (pnm is "lingua franca" for UNIX/Linux graphics);
see
Webslide for webifying postscript files
- html2ps
- Others:
-
Ghostscript, Ghostview and GSview (gv)
(Aladdin Ghostscript provides postscript to pdf translation)
- mpack/munpack
- Mutt.org (small, powerful mail client)
- zoo.tgz and other files
makeinfo (from texinfo to info),
texi2dvi,
texi2html,
dvips (and dvi2fax?)
(IMPORTANT: Use "dvips -P cmz -t letter" to avoid
fuzzy fonts in pdf),
dvi2tty (to text),
ps2ps (Ghostscript PostScript "distiller", simplifies postscript
into something more likely to print correctly.)
latex2html
(see also TTH (TeX-To-Html)),
pdftex and pdflatex (part of tetex distribution, bypass font issues
of converting tex->dvi->postscript->pdf),
rvterm (sp?),
tgif (for 2-D drawing and
image manip.: e.g.: gif -&get; vector drawing),
jpeg2ps,
also see
pointers to other tools
- Image restoration and enhancement
Intro talks about
Linux, LaTeX, and other UNIX tools.
Linux ( Linux Home Page)
-
Linux FAQ
- SEE ESPECIALLY list of Linux online books;
for example: Rute User's Tutorial and Exposition
-
Linux Unleashed (book with good introduction)
-
The Linux Documentation Project Works (all LDP docs)
-
Linux Articles (O'Reilly Network)
-
LDP HOWTO index
-
The Linux Documentation Project: Guides (LDP Guides)
-
The Linux Documentation Project: FAQs (LDP FAQs)
-
Single list of HOWTO's
-
Linux Installation HOWTO
- Linux HOWTO's (old?)
(help doc's on "installing Linux, Installing mail, etc.")
-
Linux Hardware Compatibility HOWTO
(or
alt)
- New Seagate drives to not support Linux or Mac
(and Ubuntu reports problems with NVIDIA graphics cards,
as of Jan., 2008)
- Linux Hardware Database
(alt URL),
contains many models, be sure to also click on user "reports")
- Guide to IP Layer Network
Administration with Linux
(includes IP (layer 3), iproute2, ip tunnel, tcng (Traffic
Control Next Generation),
traffice control (shaping, scheduling, dropping),
etc.))
-
Scanners, still cameras, video cameras, etc.
-
Captive by Jan Kratochvil (uses Windows's own ntfs driver
for read/write access to NTFS)
- Linux NTFS Project
(Linux does read/write to FAT16/32, but mostly read for NTFS;
but also see here; For documentation of NTFS internals, see
here)
-
LinuxPrinting.org
(also look at
LinuxPrinting.org Printer Database to find your printer, and
then choose appropriate driver)
-
FAQ on Linux NTFS
(question 3.2 is on software to let Windows read Linux ext2/ext3)
-
Linux Wireless HOWTO (WiFi and networking)
- Modem-HOWTO
- cell phone as USB modem
(requires USB Data Cable)
- Bochs
(emulate another Intel IA-32 based PC O/S in a window in the current
one, à la VMware, VirtualPC, etc.; also handles
x86-64)
- Qemu
(similar to Bochs, but requires IA-32 architecture, higher speed;
includes free O/S zoo of other O/S images prebuilt to run under
Qemu; included in Debian)
-
Xen (like Qemu, but operates using a microkernel to host,
checkpoint, and even migrate guest O/S's; supports Linux,
but not Windows, and may be harder to use than Qemu;
See also
example of using Xen to test Debian upgrade)
- lguest
(paravirtualization, small (5000 lines), kernel module)
- KVM
(KVM now in Linux kernel; support for virtualization
using newer virtualization support of Intel/AMD)
- User Mode Linux
(UML; needs no kernel modification)
-
Plex86 (similar to Bochs, but requires IA-32 architecture,
higher speed, see also
Lightweight Plex86)
- ReactOS
(free Windows NT emulator, which could run, for example, on top
of Bochs in a Linux window, or in its own partition)
- Wine HQ (run Windows
applications as windows directly in Linux)
- Linux Knowledge Base
-
Ghostscript output devices (Linux printer drivers,
with
printer compatibility)
- Linux Ghostscript printer compatibility list
-
Digital Camera Setup (Waikato Linux Users Group)
-
BSD 4.4 book by McKusick, Bostic, Karels, Quarterman
(Chapter 2, Design Overview)
- FreeBSD and Linux kernel source code
(via LXR)
- alt. Linux kernel source code
(with alt)
-
Linux Device Drivers (book)
- KernelNewbiew.org
(with stuff about the Linux kernel)
-
Advanced Linux Programming (with IPC, threads, etc.;
book is also available as free download from Web page)
-
Linux from Scratch (LFS) (online book, tells how to download
and install Linux pieces)
- Linux vendors (and sources of free contrib software)
- Linux compatibility (The general rule is watch out for shortcuts
that vendors use to replace hardware by Windows software drivers.)
-
General hardware compatibility (Linux HOWTO)
-
Linux on Laptops (setup for different models)
- Supported graphics cards (Xfree86)
- No WinModem, SoftModem, Windows printers, etc.
(these usually depend on proprietary Windows-based software drivers)
(search for Linux Modem Compatibility Database)
- true 3-button mouse (not emulated with Windows driver) ---
(2-button mice can be used, but you need to simultaneously
press both buttons to emulate the middle button for X-windows)
- sound card (for example, avoid DSP-based "integrated" sound using
CPU and Windows-based software driver)
-
Linux Information
(including
man pages)
-
Linux Administration Made Easy
-
TrinityOS: A Guide to Configuring Your Linux Server
-
Linux + Windows HOWTO
- LINUXISO.org
(Copies of CD ISO images for most Linux distributions)
See:
- NOTE: If starting with a Windows computer, you will
need to repartition, and resize the ntfs partition. (An alternative
is "Wubi: Ubuntu inside Windows" (see below).) To do it by
partitioning with free software,
ntfresize 1.9.0 or later is recommended. This is included
in Debian Sarge, Mandrake 10.1, and many other distributions
(see previous link).
- Alternatively, one can avoid repartitioning by using the Wubi Ubuntu installer to install Ubuntu inside Windows.
This makes it easy to remove this Linux (using add/remove from the control
panel), but if Windows fails to work, Ubuntu may also fail.
- Gentoo Linux
- Debian Linux
-
Ubuntu Linux (based on Debian, but easier install/configuration,
includes recent versions of packages; product of company, but
freely available; fairly popular choice of Linux;
good
Wiki documentation)
- Fedora/Redhat Linux
- The LiveCD List
- Damn Small Linux
(50 MB, on business card CD, based on Knoppix)
- Feather Linux
(64 MB, on business card CD, based on Knoppix;
alt)
- Helix
(data recovery, computer forensics, vulnerability analysis)
- Knoppix Linux (LiveCD,
runs directly from bootable CD-ROM)
-
Kanotix (Variation of Knoppix; easy install to hard disk;
includes latex (tetex);
monthly updates based on latest "Debian unstable"; after install
to hard disk, use dselect, etc., to continue to update from web)
- Morphix (LiveCD, easily installable to
hard disk; modules making it easy for many others
to create derivative versions)
- Elive (Live CD,
shows off Enlightenment desktop manager, eye candy)
- Gentoo Linux
- Mandriva (formerly Mandrake;
see also Mandrake Move LiveCD)
- OpenSolaris CDs (OpenSolaris kernel instead of Linux kernel, but
combines Solaris features (e.g. dtrace), SMF, Zones with Linux/GNU
utilities)
- BeleniX
(OpenSolaris with some added GNU utilies)
- Nexenta
(OpenSolaris kernel and runtime libraries
with Debian GNU package system on top of it)
- SEE ALSO Linux versions of Windows software
- SEE ALSO Linux Tutorials
for end users (and many other
Linux portals)
- Linuxbegin.ru
is a great site for Linux beginners (but in Russian)
- Packages for Linux
- Debian (.deb) and .rpm ar the two most common package systems.
- A third alternative is Klik, which bundles all dependent packages,
usgin more disk space, but avoiding dependency issues.
- Autopackage (The name says it all.)
- RPM (originally Redhat Package Mangement)
- www.rpm.org
(repository of packages for Linux, checking dependencies)
- RPM Find.net
- RPM Search
- RPM Livna.org
Repository of additional packages, e.g.: mplayer, xine, videolan-client,
xmms-mp3; whose licenses may be problematic for free software
- Cygwin
(Linux utilities operating directly under Windows;
see also
Cygwin User's Guide)
-
Damn Small Linux
-
Knoppix Linux (LiveCD)
(w/
ISO images and w/
Knoppix tutorial in German)
- Morphix (with pointers to derivates)
(robust package system -- especially for building from source;
excellent choice when you want to frequently get the latest version
and not have to do a Linux distribution upgrades)
- Debian
(Excellent technical documentation)
-
Debian Linux on Averatec 3200
-
Downloading Debian CD/DVD images
-
Debian GNU/Linux Desktop Survival Guide
- Debian Documentation
(and More docs)
-
Debian installation instructions
(or
text version)
- Debian FAQ
(extensive, review first)
-
Debian New Maintainers' Guide (How to write Debian .deb packages;
from DDP
Developers' Manuals)
- Debian post-install reference
(with testing version)
- Wajig
(simplifies some common Debian system administration tasks)
-
Debian packages (list, search, view contents, etc.;
note also non-free, Contrib, etc., that are not on Debian CDs,
but are available)
- Debian GNU/Linux
Hardware Compatibility List
- NOTE:
dpkg-source to unpack Debian source packages
and apt-get source PKG to get source
-
Some questions and answers on Debian
- One recommends: "apt-get install discover hotplug aptitude"
discover - PCI device detection, hotplug - USB hotplug support,
aptitude - a better package management software
- see also apt-cache: apt-cache search keyword1 keyword2 ...;
apt-cache show pkg1_name pkg2_name ...
-
Debian CD images (suitable for CD burners)
-
Debian floppy boot and kernel images
- Debian documentation
- http://src.openresources.com/debian/
(Debian individual source files in html)
-
DDP Developers' Manuals (for authoring Debian packages,
start with
New Maintainers' Guide)
-
Mandriva Linux (formerly Mandrake; uses RPM packages)
- Red Hat Software, Inc.
(commercial, only)
(see Fedora
Project,
or Fedora Home Page,
or LinuxInstall.org
(also for Fedora))
- RPM Livna.org
(packages with problematic licensing, for use with Fedora/Red Hat)
-
Red Hat RPM's (contrib packages)
- www.rpm.org
-
Pre-configured Linux PC's
- Linux man pages
-
Linux (SLUG, good Linux help features)
- The Linux Kernel Archives
Productivity Stuff for Linux
- SEE ALSO Linux versions of Windows software
- Annotated Guide to XML
(by O'Reilly & Associates and Seybold Publications)
-
Extensible Markup Language (XML)
- XML 1.0 Specification
-
Explanation of XML
-
Annotated XML(requires Javascript) (or
XML
without Javascript)
- related XML technologies
- XML 1.0 spec
(eXtensible Markup Language, subset of SGML,
includes DTD (document type definition)
for verifying correct format of document)
- XML Protocol
(peer-to-peer communication via XML)
- XML Schema
(replacement for DTD, defining structure and content of XML document)
- XMLQuery
(extracting data from XML documents)
-
XML Linking (linking resources, e.g.: embedding remote documents,
includes XPath (addressing into XML tree), XPointer (reference fragment
of XML doc using XPath),
XML Base (compatibility with HTML), XLink (hot links for embedding))
- RDF
(Resource Description Format, e.g.: replacement for
META tag for HTML document keywords)
- DOM
(Document Object Model, standard for dynamic HTML)
- CSS
(Cascading Style Sheets)
- XSL
(language for expressing stylesheets)
- XSLT
(language for transforming XML documents, tree transformations)
- XHTML
(extension of HTML to standard including newer technologies)
-
S5: A Simple Standards-Based Slide Show System
(based on XHTML, CSS, and JavaScript)
- MathML
(Mathematical Markup Language, representing math expressions
in HTML)
- SMIL
(Synchronized Multimedia Integration Language,
multimedia onthe Web, e.g. Shockwave)
- SVG
(Scalable Vector Graphics, diagram drawing/plotting in XHTML)
- XML Signature and Canonicalization
(cryptographic signatures, author verification, etc.)
-
Simple Object Access Protocol (SOAP)
(XML-style marshaling of structured data,
à la XDR; also encapsulation of RPC call as remote method call)
- Firefox browser
- Oleo spreadsheet
- AFS
Productivity Stuff for Windows
-
Emacs (and pointers to many other UNIX utilities)
- GSView
(view postscript and pdf on Windows -- also needs
ghostscript)
-
Ghostscript home page
-
GhostScript-to-PDF converter (ps2pdf, note also pdflatex and pdftex
from TeTeX; IMPORTANT: Use "dvips -P cmz -t letter" to avoid
fuzzy fonts in pdf)
- dvipdfm
(dvi to pdf translator)
-
Tips on ssh for windows (including Teraterm Pro/ttssh - a better
terminal emulator)
-
MikTeX (Others , e.g. tetex, tex-k, also exist)
- Tiny Personal Firewall
(I know. Not UNIX stuff, but I didn't have another section for it.)
-
VNC (Virtual Network Computing) to create connection to
UNIX X-windows session from Windows
(with
Win32 viewer, et al.
and optional
port forwarding through an ssh client)
- FreeZip
(free unzipping, ~ 250KB)
- Midnight Commander
(powerful file system browser for Windows, UNIX/Linux, etc.)
-
ISO Recorder (for burning images; also
Padus DiscJuggler,
free trial limited to 1x Burn Speed)
-
Security and other useful Windows software
(free and/or cheap; protect against viruses, spyware, trojan horses,
popup windows, and other features of the Windows world -- in French,
but well worth reading)
Java, etc.
HTML, etc.
Distributed Computing
PC/computer and trade magazines