From charlesreid1

All programs listed on this page are free or open-source... unless they have a big dollar sign next to them.


My Build Procedure

When I build programs from source, I use the following setup:

  • Programs are all installed in the ~/pkg directory
  • Tarballs are downloaded to ~/pkg/tarballs
  • Tarballs are untarred to ~/pkg/sources using the command:
tar xvzf program-x.x.x.tar.gz -C ../sources/
  • The usual configure/make/make install procedure is performed, but the configure line used is put into a script named runconfigure.program-x.x.x.operating-system.sh, and I put notes into the configure file's comments, so that I have a detailed record of:
    • What configure line options I used
    • Whether I used a non-standard series of steps, took any extra steps (e.g. make test), or had to install any dependencies
    • The date I last modified the configure line
  • The program is installed to pkg/program/x.x.x/ using the --prefix=$HOME/pkg/program/x.x.x configure option
  • (Optional) Once the program is installed, I add pkg/program/x.x.x/bin to my $PATH by adding the following line to my $HOME/.profile:
export PATH="${PATH}:${HOME}/pkg/program/x.x.x/bin"
  • Alternately, I can create a link to the "standard version" for my system in $HOME/pkg/program/std, which links to the most up-to-date version of the program; that way, I can install 2 or 3 or more versions of the program, but have the standard version point to the one I want to use. This way, I don't have to update my $HOME/.profile every time, because the .profile contains:
export PATH="${PATH}:${HOME}/pkg/program/std/bin"

Unix System Utilities

Unix system utility Wikipedia description
Aptitude
Awk Programming language for text processing wikipedia:awk
Bash The standard Unix shell wikipedia:bash
Emacs One of the standard Unix text editors, and much more wikipedia:emacs
Sed A cousin to awk, a programming language for text processing wikipedia:sed
SSH Method for creating connections with remote computers wikipedia:secure shell
Vim A minimal, customizable Unix text editor wikipedia:vim (text editor)
Xargs Program to pipe lists of arguments, one-by-one, to other commands wikipedia:xargs

Programs Built From Source

See also, my procedure for setting up a new Mac: Mac OS X Lion

Program Link to webpage
Apache http://httpd.apache.org/
Boost http://www.boost.org/
Cantera http://sourceforge.net/projects/cantera/
Chkrootkit http://www.chkrootkit.org/
Class library for numbers (cln) http://www.ginac.de/CLN/
CMake http://www.cmake.org/
Conkeror http://conkeror.org/InstallationOSX
ctags http://ctags.sourceforge.net/
Doxygen http://www.stack.nl/~dimitri/doxygen/
Emacs http://www.gnu.org/software/emacs/
GNU debugger (gdb) http://www.gnu.org/software/gdb/
Ginac http://www.ginac.de/
googlecl https://code.google.com/p/googlecl/
gnu plotting program (gnuplot) http://www.gnuplot.info
gnu privacy guard (gpg) http://www.gnupg.org/
HDF5 http://www.hdfgroup.org/HDF5/
Hypre http://acts.nersc.gov/hypre/
LAM MPI http://www.lam-mpi.org
OpenMPI http://www.open-mpi.org/
PERK-LINUX (Parametrical Empirical Krigging) http://www.stat.osu.edu/~comp_exp/perk-v0r4.notes
Petsc http://www.mcs.anl.gov/petsc/petsc-as/
PHP http://www.php.net/
Ruby http://www.ruby-lang.org/en/
Snort http://www.snort.org/
Subversion http://subversion.tigris.org/
Sundials https://computation.llnl.gov/casc/sundials/main.html
Trillinos http://trilinos.sandia.gov/
XULRunner https://developer.mozilla.org/en/Getting_started_with_XULRunner
Zend Framework http://framework.zend.com/download/latest

OS-Agnostic Binary Programs

Program Description Website
Audacity a nice audio recording/editing program http://audacity.sourceforge.net/
ffmpeg all-in-one video processing swiss-army-knife http://www.ffmpeg.org/
ffmpegx GUI interface for ffmpeg http://www.ffmpegx.com/
Fink Package manager for Mac OS X; makes installing many Unix-based programs much less of a hassle http://fink.org
Gimp open-source image editor http://www.gimp.org/
Git a version control system, differs from subversion in a number of ways, designed with a focus on making it easy to branch and merge http://git-scm.com/
Handbrake similar to ffmpegx, a GUI interface for converting different video formats http://handbrake.fr/
Lapack Linear algebra package for matrix and vector operations http://www.netlib.org/
LyX a really handy GUI WYSIWYM Latex editor http://www.lyx.org/
Matlab computational package http://www.mathworks.com
Octave open-source Matlab alternative http://www.gnu.org/software/octave/
Open Office open-source Microsoft Office alternative http://www.openoffice.org/
Python programming language http://www.python.org/
Sage open-source Matlab, Maple, Mathematica alternatives rolled into a Python Swiss Army Knife contained on a VMWare image so it can run cross-platform http://www.sagemath.org/
TexMaker Latex text editor http://www.xm1math.net/texmaker/
VLC open-source video player that can play just about any video format http://www.videolan.org/vlc/
VirtualBox virtual computer program http://www.virtualbox.org/
Wireshark Wireless network traffic analyzer http://www.wireshark.org/
x11vnc a nice VNC program that allows me to set up a remote desktop server (you can then connect to it using your VNC client of choice, I use Chicken of the VNC on a Mac). http://www.karlrunge.com/x11vnc/

Mac-Only Software

This table is old. Some of the tools have been superseded by others. See instead, my procedure for setting up a new Mac: Mac OS X Lion

Program Description Webpage
Aquamacs version of Emacs that uses Aqua (Mac window style) http://aquamacs.org/

Chicken of the VNC

remote desktop (or VNC) client for Mac http://sourceforge.net/projects/cotvnc/
Chmox utility to read .chm files http://chmox.sourceforge.net/
Disk Inventory X gives you a graphical depiction of what's using space on your hard drive http://www.derlien.com/
DollarSign.png Divvy Nice Mac utility to easily resize windows.

If you decide to keep using it without paying, it will show you a popup message every couple of times you open it.

I spent $15 to buy it, and it is worth every penny. I use it more than I use Quicksilver (which is really saying something).

http://www.mizage.com/divvy/
DjView utility to read .djvu files (ebook format) http://djvu.sourceforge.net/
DynDNS Syncs IP information with DynDNS servers; allows computers with dynamic IP address to run a web server that DynDNS "knows about" http://www.dyndns.com/
Evernote program to take notes, and sync them with a server, on the cloud http://www.evernote.com/
Fink a content-management system (like yum or aptitude) for Mac http://www.finkproject.org/
Fugu GUI interface for ftp/ssh/etc to a remote client (Don't use "Son of Fugu", it's not as good as Fugu) http://rsug.itd.umich.edu/software/fugu/
Inkscape open-source image editor http://inkscape.org/
iTerm alternative to Mac's "Terminal" application (a really nice feature is its full-screen mode: good way to eliminate distractions) http://iterm.sourceforge.net/
MacFuse allows you to mount various file systems on your Mac https://code.google.com/p/macfuse/
MacFusion GUI for using MacFuse to mount different filesystem types http://www.macfusionapp.org/
Mac The Ripper used to rip DVDs to your hard drive (extracts to VIDEO_TS and AUDIO_TS, not .mov or .avi, but you can open the VIDEO_TS and AUDIO_TS contents with most DVD players) http://www.macupdate.com/info.php/id/14414/mactheripper
MacPorts Don't use Macports, it tries to compile everything, every single last dependency, EVERYTHING, from source (this includes programs that take 5 hours to compile and are already available on your machine and on your path - like gcc). Building anything using MacPorts takes at least 2 hours and MacPorts is a complete waste of time.

I highly recommend Fink. If you're already using MacPorts, I suggest you abandon ship and join Fink... before it's too late.

MacVim version of Vim that uses Aqua (Mac window manager) https://code.google.com/p/macvim/
MPlayer media player for Mac http://www.mplayerhq.hu/design7/news.html
Shark C++ profiler for Mac Simple tutorial: http://tuvix.apple.com/tools/sharkoptimize.html

Getting started: http://bit.ly/a4XYEv

Advanced profiling: http://bit.ly/9ffZd7

Saturn another profiler for Mac http://adrianboeing.blogspot.com/2010/02/profiling-on-mac-osx-with-saturn.html