Philosophically, I advocate using free and open source software
(sometimes called FOSS). I highly
encourage you to try to install a GNU/Linux system on your computer
and begin to reap the benefits of a new wave of excellence in
computing.
Useful computer links
-
OpenOffice - Nearly all of us
do word processing and use an office suite. OpenOffice is a free,
open source equivalent of Microsoft Office that runs on Linux,
Windows, and Macs and can read and write the standard Microsoft format
files. In many respects it is nicer than Microsoft Office (such as
having the ability to save documents as pdf files). It uses open
standards to read/write files unlike the closed proprietary Microsoft
products. Thus, using it advances the goals of openness and sharing,
which especially helps the developing world. For many reasons, I
encourage you to give it a try before buying another Microsoft Office
upgrade. After all, you have nothing to lose since it is free.
-
Firefox - the
best and most secure browser out there that is also standards
compliant. It blocks popups nicely. Runs on Linux, Windows, and
Macs. Firefox is significantly faster than Internet Explorer, and
much more extensible. Konqueror is another great choice
of browser if you use Linux. It's a snappy way to do file
management, and is even a universal viewing application.
-
Thunderbird -
The best graphical email client bar none. Cross-platform (Windows,
Linux, Mac), powerful, and international.
-
Ubuntu - Instead of running
proprietary Windows or Apple software, I choose to run Linux, which is
a very powerful operating system that is free and open-source. Linux
is a great environment for simple tasks like web browsing or word
processing and also excellent for advanced tasks like web serving and
programming. There are many flavors of Linux available. Ubuntu is an
outstanding choice. You can get a CD of Ubuntu mailed to free of
charge by clicking here. Or
you can download it from their website and burn it on to a CD. (If
you download Linux from the web, it comes in an "iso" format. This
can be burned onto a CD on Windows using the following, very easy to
use program: isorecorder.)
After you restart your computer with the Ubuntu CD, you have the
choice to partition your hard drive so that can switch between running
Windows or Linux anytime. I highly encourage you to give it a try.
If you'd like an alternative to Ubuntu, try the Fedora Project, which is the
community-based version of the enterprise-class Redhat Linux. I've been running
Linux for about 8 years and have thoroughly enjoyed it. Besides
saving thousands of dollars, the stability and productivity gains have
been incredible.
-
R Project - this is a free,
open source project for statistical and mathematical computing. If
you are a scientist, you should pick one main language to completely
master for your analysis needs. For most scientists, R should be that
language (or possibly Python). It is a solid application with a
brilliant community supporting it. Having R as your main analysis
language along with knowing an auxillary scripting language (like
Python) is probably the best way to go. Also, R is famous for its
ability to make high-quality graphics and plots. Click here for a display
of some examples. R also has lots of useful libraries available for
download through CRAN. R is
based on the S/Splus programming language. According to Frank
Harrell, chair of the biostatistics department at Vanderbilt
University, R and Splus are about 10 years ahead of SAS. Click here
and here
for reading about comparing R to SAS.
-
Python - An excellent general
purpose scripting language. Python is a mature language that can be
elegantly used to do basically anything. It's superior for web
design, shell scripting, file manipulation, database interaction, and
as a general programming language. I have programmed in many
different languages over the years -- Perl, Java, C++, Visual Basic,
Matlab, Pascal -- and learned Python after those. I found it by far
the simplest, most elegant, most readable, and easiest to remember of
all the languages that I had used. It is high level, which is good
because you get a lot done per line of code that you write. If you'd
like to read some of the merits and accolades of Python, click
here or here.
It's a very clean language that is simple, easy to maintain,
cross-platform (including Linux, Unix, Windows, and OS X) and also
object oriented. These features make it probably the best language
for beginners to learn as well as for developers building large
projects. Python is used in very demanding environments, such as
Google, Red Hat, and at NASA for mission-critical systems. If you'd
like to learn Python, here are two pages full of good learning
material: this
one is for non-programmers while this
one is for those with some programming experience. Some people
even prefer Python
over Matlab for scientific computing.
Here is an article by Travis Oliphant gently introducing Numpy, a
library to do powerful scientific computing in Python. Here is a
slightly dated link
on the merits of using Python in a scientific setting, especially over
Perl.
- SAGE -
While R was developed by statisticians, SAGE was developed by pure
mathematicians (especially William Stein) with a very interesting
philosophy. SAGE developers set out to collect the leading
open-source mathematical components and bring them together powered by
python. Their slogan is "building the car, not reinventing the
wheel." While much younger than R, SAGE has taken the mathematical
world by storm. SAGE has the promise of being a replacement for
Matlab, Mathematica, and Maple. One great strength of SAGE is also is
very active community and mailing lists.
-
Bioconductor - An open
source tool for analyzing bioinformatic and genomic data. It is a
set of libraries that run on top of R.
-
RPy - A nice way to call R
from Python.
-
Gnucash - Take control of your
finances! And please don't spend hundreds of dollars trying to do so.
Gnucash is better and more reliable than its competitors, not to mention
open source and free.
-
Zope,
Plone, and
Django - These
powerful programs are application servers, content management
platforms, and web design tools that are based on Python. If
you are in web design, web services, etc. you will be impressed.
-
PostgreSQL - A powerful open
source database.
-
LyX - A powerful document processor
for writing scientific documents with formulas and equations in them.
Based on the venerable LaTeX system, but more user-friendly.
-
Beamer - A way to
make very nice presentations using LaTeX instead of Powerpoint. Click
here
for a tutorial.
-
TekniaGreek
- A high-quality, free Greek font for Windows or Macintosh platforms
-
Gimp - a free application that does
much of what Adobe Photoshop does.
-
ImageMagick - a free and
powerful application for image file conversion and modification. It
is ideal for manipulating large numbers of images in a batch fashion.
Click here
to read more about what it can do.
-
Scribus - an award-winning page
layout application, similar to Adobe Illustrator
-
Creative Commons
- Not only computer related, this is a great way to
license almost anything: books, photographs, etc.
-
Ogg Vorbis - an open, patent-free
way to encode audio. This should be preferred to the MP3 format that
is restricted and patent-encumbered.
-
Emacs Speaks
Statistics - Definitely use this environment when you are doing R.
It's fantastic for debugging, stepping through code, name-completion, etc.
-
TeXmacs
-
ColorTheme
- an easy way to get many aesthetically pleasing color
configurations for Emacs.
-
Zsh - It pays dividends for those of
us who use Linux/Unix to learn one shell very well. The best two
shells are bash and zsh. (It's probably not worth your time to learn
csh, tcsh, or ksh since bash and zsh are better than all others.) Zsh
is the most powerful of all while bash is the standard for Linux and
OS X (as well as POSIX compliant). Once you learn zsh well you
probably won't want to go back.
Note that Matlab® is a registered trademark of the Mathworks.
A few helpful documents:
Back to home