The three principle virtues of a programmer are
Laziness, Impatience, and Hubris.
There are two ways of constructing a software design:
One way is to make it so simple that there are obviously no deficiencies, and
the other way is to make it so complicated that there are no obvious
deficiencies. The first method is far more difficult.
in the Face of Complexity - the Challenge of High-end Scientific Programming,
2001, by Gary Ferland, my contribution to Spectroscopic challenges of photoionized plasmas, ASP Conference 247
Links to the open source software movement:
The home page of the Open Source
Slashdot a rumor mill for hackers
O'Reilly Open Source Center
Free Software Foundation
The Apache Project
Cygwin - GNU on Win32 distributed by
The Linux Documentation Project
iMatix software tools
Perl is an excellent platform-independent way to automatically interact with a computer. I
use Perl scripts to completely test Cloudy every night after it is changed and
to do other housekeeping activities.
(The full test suite must be run anytime anything changes to catch bugs as soon as they are introduced.)
The Perl Institute
The Activestate distribution (the one
I use - includes an excellent debugger)
On Usenet at comp.lang.perl
CPAN - Comprehensive Perl Archive Network,
lots of Perl scripts
The Perl data language,
PDL, extends Perl to do matrix math
SMTP email can be sent from Perl on nt/w2k using
Blat to send email
from Windows through SMTP and is open source
Cloudy uses MPI for parallel computing. Here is the MPI
MPI - The
Complete Reference. An on-line book on MPI.
The PACS Training Course on MPI.
Graphical top-ends for much of the Cloudy analysis tools are being developed
using Tcl/Tk. This provides a simple cross platform way to build a
The Active State
Visual Tcl/Tk, a Visual Basic-like
tcl developer exchange
Tcl/Tk contributed source
Other free software
Adobe for PDF,
Ghostscript and GSview (its graphical front end for Windows) for PostScript,
and the gv front end
MiKTeX is a port of the TeX environment to Win95 and NT. The gsview
download also includes the ps2epsi translator, which is needed to convert
pc-generated postscript into the encapsulated postscript needed by the LaTex
Need to make your modern Word or WordPerfect document look like old-fashioned
Latex?? Design Science, the makes
offer a port of the Computer Modern fonts to the
TrueType. They are free
but you need to register.
Editpad is a Windows 95/NT text editor.
editor gives an algorithmic view of a program.
VIM is an improved Vi available for free
vi lovers homepage has links to
this and more. This is the editor I use.
EMACS ported to
BK ReplacEm - replaces text across
Eluent tools provides a graphical front end
to sed to edit an entire collection of files. I use these tools every day.
The Cygwin (Redhat) port of gcc
(click on "install now"). This includes many GNU utilities and
The djgpp port of the GNU C++ compiler
to dos. This link includes other gnu stuff as well.
MinGW: Minimalist GNU For Windows
list of IDEs for gcc.
Al Stevens' IDE for gcc, called Quincy
LCC-Win32 is an independent
development of a C/Fortran environment. The binary is free.
Pacific C, a simple
The command line version of the Borland
C++ compiler is free.
Splint is an open source lint for C
Object Outline from Bumble Bee Software
produces reports of relationships between routines and objects
X11 Servers for Windows:
WeirdX is a pure Java implementation
XFree86 from Cydwin
Cygwin ports the Unix
environment to Windows.
The Unix Reconstruction Project -
rewrites Unix tools in Perl
wxWindows is a cross-platform GUI
The Secure Shell for connecting to other
machines, and file transfers, is free for educational use
Mindterm does ssh and scp
Calc98 is a
simulated hand calculator that also does extensive conversions. A great deal of
its power is not obvious at first, so be sure to read the html help file.
Project Gutenberg - making all public domain literature openly available.
Literate Programming is a web
site dedicated to clear programming style, and methods of creating
rtf2latex converts an
rtf file (which Word can create) into LaTex
real programmers use
The source and executables for Super Star Trek, a
descendant of a game I
played in the early 1970s on a mighty CDC 6600 using a paper TTY.
Some shareware/commercial software I use
The following software is not free, but evaluation downloads are.
MS Visual Studio,
Cloudy is developed with this IDE/C++ compiler
Visual SlickEdit runs on may platforms
and has great power. This is the editor I use.
Eluent Tools, file and directory editing,
and it integrates with Visual Studio.
MKS Toolkit, brings a Korn
shell and Unix tools into the NT environment.
WinZip can compress and decompress zip, gzip, and tar files.
WS_FTP is an ftp client.
L0phtCrach by L0pht Heavy Industries
can discover passwords on any Microsoft machine if it has enough time and
physical access to the box. It should only be used for morally justifiable
purposes such as correcting errors in your merit evaluation on the Chair's or
Dean's computer, or your salary stored on the Comptroller's machine.
UltraEdit, a programmer's editor
ZoneAlarm is a personal firewall
Repositories of scientific software, with sources
Atlas is a self-optimizing
The object oriented numerics
GAMS, NIST's Guide to Available Mathematical
The Netlib Repository at UTK & ORNL
The TOMS Repository at
Numerical analysis FAQ
page, has many hints about web resources.
The Blitz++ Numerical Library home
page, a set of C++ classes designed for scientific use. They also have an
Object-Oriented Numerics Page, with
links to lots of scientific software.
POOMA - parallel object-oriented
methods and applications, from Los Alamos
TNT (Template Numerical
Toolkit) is NIST's set of ANSI C++ routines for linear algebra, with source.
They also have lapack++.
Scientific Computing: C++
versus Fortran, describing classes designed for scientific computing in C++.
mathematical computation in C or C++.
The SNIPPETS collection of C codes with
Scientific Applications for Linux (SAL)
has many codes with sources
iMatix has an open source Standard Function
Boost is a free peer-reviews portable C++
C & C++
The chairman of AT&T
Said, "Your graduate physics degree
Is not worth a penny,
Of your kind we've too many.
Perhaps you can program in C?"
Steve Langer, from the ASP